diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/testApp.cpp | 4 | ||||
| -rw-r--r-- | src/viewpoint.cpp | 37 | ||||
| -rw-r--r-- | src/viewpoint.h | 4 |
3 files changed, 31 insertions, 14 deletions
diff --git a/src/testApp.cpp b/src/testApp.cpp index 089e677..e9ae5ee 100644 --- a/src/testApp.cpp +++ b/src/testApp.cpp @@ -10,8 +10,8 @@ void testApp::setup(){ glEnable (GL_DEPTH_TEST); glShadeModel (GL_SMOOTH); - /* initialize lighting */ - glEnable (GL_LIGHTING); + // initialize lighting + //glEnable (GL_LIGHTING); glColorMaterial (GL_FRONT_AND_BACK, GL_DIFFUSE); glEnable (GL_COLOR_MATERIAL); diff --git a/src/viewpoint.cpp b/src/viewpoint.cpp index 39e8d32..62d5f64 100644 --- a/src/viewpoint.cpp +++ b/src/viewpoint.cpp @@ -17,19 +17,26 @@ void viewpoint::setup(int ln,float w, float h, float x, float y) { vars=new keyVar[8]; //void set(char _keyInc,char _keyDec,float _val,float _speed,float _accel,float accelTime); - vars[0].set('w','s',17.25,0.5,2.0,3.0); - vars[1].set('g','d',0.0,100,3.0,3.0); - vars[2].set('r','v',112,100,3.0,3.0); - vars[3].set('t','c',0.0,100,3.0,3.0); - vars[4].set('u','n',0.0,1.0,3.0,3.0); - vars[5].set('j','h',0.0,1.0,3.0,3.0); - vars[6].set('o','l',1000.0,200,3.0,3.0); - vars[7].set('q','a',0,0.0001,2.0,3.0); + vars[0].set('w','s',17.25,0.5,1.0,3.0); + vars[1].set('g','d',0.0,10,1.0,3.0); + vars[2].set('r','v',112,10,1.0,3.0); + vars[3].set('t','c',0.0,10,1.0,3.0); + vars[4].set('u','n',0.0,10,1.0,3.0); + vars[5].set('j','h',0.0,10,1.0,3.0); + vars[6].set('o','l',1000.0,10,1.0,3.0); + vars[7].set('q','a',0,1,1.0,3.0); //camera.setPosition(0,0,vars[6].getVal()); + + getLightPosition=new GLfloat[4]; + + light.enable(); + light.setPointLight(); } //-------------------------------------------------------------- void viewpoint::setLight(){ + //glLoadIdentity(); + //glPushMatrix(); target.setPosition(vars[1].getVal(),vars[2].getVal(),vars[3].getVal()); /* target.rotate(vars[4].getInc(),1,0,0); @@ -39,12 +46,18 @@ void viewpoint::setLight(){ camera.orbit(vars[5].getVal(), vars[4].getVal(), vars[6].getVal(), target); camera.lookAt(target,ofVec3f(0,1,0)); - ofVec3f lp=camera.getGlobalPosition(); + //glPopMatrix(); + //ofVec3f lp=camera.getGlobalPosition(); + light.setPosition(camera.getGlobalPosition()); + /* GLfloat lightPosition[] = {lp.x, lp.y, lp.z,1}; GLfloat lightColour[] = {0.99, 0.99, 0.99, 0.5}; + glLightfv(lightNum, GL_POSITION, lightPosition); glLightfv(lightNum, GL_DIFFUSE, lightColour); glEnable(lightNum); + glGetLightfv(lightNum,GL_POSITION, getLightPosition); + */ } //-------------------------------------------------------------- void viewpoint::begin(){ @@ -108,9 +121,9 @@ void viewpoint::end(){ ofPopMatrix(); - //ofSetHexColor(0xFFFFFF); - //ofDrawBitmapString("camera: "+ofToString(camera.getX(), 2)+","+ofToString(camera.getY(), 2)+","+ofToString(camera.getZ(), 2), 10, ofGetHeight()-30); - //ofDrawBitmapString("light: "+ofToString(camera.getX(), 2)+","+ofToString(camera.getY(), 2)+","+ofToString(camera.getZ(), 2), 10, ofGetHeight()-30); + ofSetHexColor(0xFFFFFF); + ofDrawBitmapString("camera: "+ofToString(camera.getX(), 2)+","+ofToString(camera.getY(), 2)+","+ofToString(camera.getZ(), 2), 10, ofGetHeight()-30); + ofDrawBitmapString("light: "+ofToString(light.getX(), 2)+","+ofToString(light.getY(), 2)+","+ofToString(light.getZ(), 2), 10, ofGetHeight()-18); } //-------------------------------------------------------------- diff --git a/src/viewpoint.h b/src/viewpoint.h index 2a43a2d..20da42d 100644 --- a/src/viewpoint.h +++ b/src/viewpoint.h @@ -39,5 +39,9 @@ class viewpoint { int lightNum; GLfloat lightColour[]; + + GLfloat* getLightPosition; + + ofLight light; }; |
