diff options
Diffstat (limited to 'src/viewpoint.cpp')
| -rw-r--r-- | src/viewpoint.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/viewpoint.cpp b/src/viewpoint.cpp index 1635cfd..6a12c99 100644 --- a/src/viewpoint.cpp +++ b/src/viewpoint.cpp @@ -48,8 +48,15 @@ double viewpoint::getSetting(const string& setting){ //-------------------------------------------------------------- void viewpoint::setLight(){ target.setPosition(vars[1].getVal(),vars[2].getVal(),vars[3].getVal()); - camera.orbit(vars[5].getVal(), vars[4].getVal(), vars[7].getVal(), target); - camera.lookAt(target,ofVec3f(0,1,0).rotate(vars[6].getVal(),ofVec3f(0,0,1))); + //camera.orbit(vars[5].getVal(), vars[4].getVal(), vars[7].getVal(), target); + ofVec3f p(0, 0, vars[7].getVal()); + //p.rotate(ofClamp(vars[2].getVal(), -89, 89), ofVec3f(1, 0, 0)); + p.rotate(vars[4].getVal(), ofVec3f(1, 0, 0)); + p.rotate(vars[5].getVal(), ofVec3f(0, 1, 0)); + p += target.getPosition(); + camera.setPosition(p); + + camera.lookAt(target,ofVec3f(0,1,0).rotate(vars[6].getVal(),ofVec3f(0,0,1)).rotate(vars[5].getVal(),ofVec3f(0,1,0))); light.setPosition(camera.getGlobalPosition()); } void viewpoint::setDefaults(){ @@ -111,7 +118,7 @@ void viewpoint::end(bool showStats){ if (showStats) { ofSetHexColor(0xFFFFFF); - ofDrawBitmapString("camera: "+ofToString(camera.getX(), 2)+","+ofToString(camera.getY(), 2)+","+ofToString(camera.getZ(), 2), window.x+10, window.y+window.height-30); + ofDrawBitmapString("camera: "+ofToString(camera.getX(), 2)+","+ofToString(camera.getY(), 2)+","+ofToString(camera.getZ(), 2)+" "+ofToString(vars[5].getVal())+"deg", window.x+10, window.y+window.height-30); ofDrawBitmapString("light: "+ofToString(light.getX(), 2)+","+ofToString(light.getY(), 2)+","+ofToString(light.getZ(), 2), window.x+10, window.y+window.height-18); } } |
