diff options
| author | Tim Redfern <tim@eclectronics.org> | 2012-03-28 16:28:45 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2012-03-28 16:28:45 +0100 |
| commit | 623e1924aeea83ea70c8ae7f645b067f17a293ea (patch) | |
| tree | 6016c770098ef923e6fac0be12040703d99fcbb2 /morpher/src/testApp.cpp | |
| parent | a47b39541a7f60dfdda921c9598abe947e1e6ad9 (diff) | |
mesh loader and morpher working
Diffstat (limited to 'morpher/src/testApp.cpp')
| -rw-r--r-- | morpher/src/testApp.cpp | 47 |
1 files changed, 41 insertions, 6 deletions
diff --git a/morpher/src/testApp.cpp b/morpher/src/testApp.cpp index aac34cc..41b04eb 100644 --- a/morpher/src/testApp.cpp +++ b/morpher/src/testApp.cpp @@ -1,10 +1,20 @@ #include "testApp.h" -#include "morphmesh.h" - //-------------------------------------------------------------- void testApp::setup(){ - + mesh=morphmesh(); + //mesh.loadfile("Bird-test1.xml"); + if (mesh.loadfile("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(); } //-------------------------------------------------------------- @@ -16,8 +26,27 @@ void testApp::update(){ //-------------------------------------------------------------- void testApp::draw(){ + //calculate morph targets + float segment=(sin(ofGetElapsedTimef())*0.5)+0.5; + vector<float> weights; + weights.push_back(segment); + 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(weights); + ofPopMatrix(); + unbindTexture(texture); + + ofSetHexColor(0xFFFFFF); + ofDrawBitmapString("fps: "+ofToString(ofGetFrameRate(), 2), 10, 15); } //-------------------------------------------------------------- @@ -25,6 +54,8 @@ void testApp::keyPressed(int key){ switch (key){ case 'a': + //if (movieExporter.isRecording()) movieExporter.stop(); + //else movieExporter.record(); break; case 'z': break; @@ -43,12 +74,16 @@ 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){ |
