topical media & game development

talk show tell print

lib-of-vs-addons-ofxObjLoader-example-src-testApp.cpp / cpp



  include <testApp.h>
  
  //--------------------------------------------------------------
  void testApp::setup(){         
    
    //set background to black
    ofBackground(255,255,200);  
    
    //for smooth animation
    ofSetVerticalSync(true);
    
  
    //turn on alpha blending for colors
    ofEnableAlphaBlending();
  
    //load some obj files from disk
    crane.loadFile("crane.obj");
  
    bMousePressed = false;
  }
  
  //--------------------------------------------------------------
  void testApp::update(){
  }
  
  //--------------------------------------------------------------
  void testApp::draw(){
    ofSetupScreen();
    
    //draw in middle of the screen
    glTranslatef(ofGetWidth()/2,ofGetHeight()/2,0);
  
    //tumble according to mouse
    glRotatef(mouseY,1,0,0);
    glRotatef(mouseX,0,1,0);
  
    //scale large enough to see the model
    float s = min(ofGetWidth(),ofGetHeight())*0.4;
    glScalef(s,s,s);
  
    if (bMousePressed == false){
                      
          //draw the model
          glColor4f(0.5,1,0,0.4);//lime color
          crane.fillFaces();//first the faces
          
          glColor4f(0,0.8,0,1);//outline
          crane.outlineFaces();//then the edges.
        
    } else {
      
          glColor4f(0,0.1,0,0.5);//outline
          crane.outlineFaces();//then the edges.
          
          //wanna see the vertices?
          glColor4f(0,0,0,0.85);
          glPointSize(1);
          crane.pointVertices();
    }
    
  }
  
  //--------------------------------------------------------------
  void testApp::keyPressed  (int key){ 
    //loop through all the crane's vertices and scramble each point a
    //little bit.
    for(int i=0;i<crane.vertices.size();i++){
      crane.vertices[i].x += ofRandomf()*0.1;
      crane.vertices[i].y += ofRandomf()*0.1;
      crane.vertices[i].z += ofRandomf()*0.1;
    }
    
  }
  
  //--------------------------------------------------------------
  void testApp::mouseMoved(int x, int y ){
    
  }
  
  //--------------------------------------------------------------
  void testApp::mouseDragged(int x, int y, int button){
    
  }
  
  //--------------------------------------------------------------
  void testApp::mousePressed(int x, int y, int button){
       bMousePressed = true;
  }
  
  //--------------------------------------------------------------
  void testApp::mouseReleased(){
       bMousePressed = false;
  }
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.