summaryrefslogtreecommitdiff
path: root/morpher/src/testApp.cpp
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2012-03-28 16:28:45 +0100
committerTim Redfern <tim@eclectronics.org>2012-03-28 16:28:45 +0100
commit623e1924aeea83ea70c8ae7f645b067f17a293ea (patch)
tree6016c770098ef923e6fac0be12040703d99fcbb2 /morpher/src/testApp.cpp
parenta47b39541a7f60dfdda921c9598abe947e1e6ad9 (diff)
mesh loader and morpher working
Diffstat (limited to 'morpher/src/testApp.cpp')
-rw-r--r--morpher/src/testApp.cpp47
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){