#include "testApp.h" //-------------------------------------------------------------- void testApp::setup(){ mesh=morphmesh(); //mesh.loadfile("Bird-test1.xml"); if (mesh.loadMesh("Bird-test.xml")) printf("mesh loaded with %i vertices, %i face indices, %i targets\n",mesh.getNumVertices(),mesh.getNumIndices(),mesh.getNumTargets()); else printf("XML not parsed\n"); texture.loadImage("texture2.jpg"); xr=yr=0; xo=yo=0; glEnable(GL_DEPTH_TEST); //movieExporter.setup(); } //-------------------------------------------------------------- void testApp::update(){ } //-------------------------------------------------------------- void testApp::draw(){ //calculate morph targets float segment=(sin(ofGetElapsedTimef())*0.5)+0.5; vector targets; vector weights; targets.push_back("bird 2"); weights.push_back(segment); targets.push_back("bird"); weights.push_back(1.0-segment); //printf("drawing %f %f\n",segment,1.0-segment); ofBackground(0,0,0); bindTexture(texture); ofPushMatrix(); ofTranslate(ofGetWidth()/2,ofGetHeight()/2); ofRotate(xr,0,1,0); ofRotate(yr,1,0,0); ofRotate(180,1,0,0); ofScale(2.0,2.0,2.0); mesh.draw(targets,weights); ofPopMatrix(); unbindTexture(texture); ofSetHexColor(0xFFFFFF); ofDrawBitmapString("fps: "+ofToString(ofGetFrameRate(), 2), 10, 15); } //-------------------------------------------------------------- void testApp::keyPressed(int key){ switch (key){ case 'a': //if (movieExporter.isRecording()) movieExporter.stop(); //else movieExporter.record(); break; case 'z': break; } } //-------------------------------------------------------------- void testApp::keyReleased(int key){ } //-------------------------------------------------------------- void testApp::mouseMoved(int x, int y ){ } //-------------------------------------------------------------- void testApp::mouseDragged(int x, int y, int button){ xr+=(x-xo); yr+=(y-yo); xo=x; yo=y; } //-------------------------------------------------------------- void testApp::mousePressed(int x, int y, int button){ xo=x; yo=y; } void testApp::mouseReleased(int x, int y, int button){ } //-------------------------------------------------------------- void testApp::windowResized(int w, int h){ } //-------------------------------------------------------------- void testApp::gotMessage(ofMessage msg){ } //-------------------------------------------------------------- void testApp::dragEvent(ofDragInfo dragInfo){ }