break;\r
\r
case STATE_LIGHT_1_MOVE:\r
- case STATE_LIGHT_2_MOVE:;\r
+ case STATE_LIGHT_2_MOVE:\r
+ ; // Semi-colon required to allow variable declaration below\r
\r
int i = 0;\r
if ( manipulateState == STATE_LIGHT_2_MOVE ) i = 1;\r
\r
if ( buttonSelected == GLUT_LEFT_BUTTON ) {\r
+ // w: left/right, h: near/far\r
float angler = 2 * M_PI * ( (rotate*camRotateFactor)/360.0 );\r
- lightObjs[i].position[0] += diffx * cos(angler) * leftrightFactor + diffy * cos(M_PI/2 + angler) * nearfarFactor;\r
- lightObjs[i].position[2] += diffx * sin(angler) * leftrightFactor + diffy * sin(M_PI/2 + angler) * nearfarFactor;\r
- \r
+ lightObjs[i].position[0] += diffx * cos(angler) * lleftrightFactor + diffy * cos(M_PI/2 + angler) * lnearfarFactor;\r
+ lightObjs[i].position[2] += diffx * sin(angler) * lleftrightFactor + diffy * sin(M_PI/2 + angler) * lnearfarFactor;\r
\r
} else if ( buttonSelected == GLUT_MIDDLE_BUTTON ) {\r
+ // w: increase/decrease some light param\r
+ // **NOTE: Currently not implemented\r
\r
+ // h: up/down\r
+ lightObjs[i].position[1] -= diffy * updownFactor;\r
}\r
\r
break;\r
glDepthRange(0,1);\r
glEnable(GL_DEPTH_TEST); // Enables Depth Testing\r
glDepthFunc(GL_LEQUAL); // the type\r
- glEnable(GL_NORMALIZE);\r
+ glEnable(GL_CULL_FACE);\r
glLineWidth(2.0);\r
\r
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);\r
glutMotionFunc(motion);\r
\r
makeMenu();\r
-\r
initializeLights();\r
-\r
- /* Initial light 0 position. */\r
- lightObjs[0].position[0] = 4;\r
- lightObjs[0].position[1] = 5;\r
- lightObjs[0].position[2] = 6;\r
- lightObjs[0].position[3] = 0.0;\r
-\r
- /* Initial light 1 position. */\r
- lightObjs[1].position[0] = -4;\r
- lightObjs[1].position[1] = 5;\r
- lightObjs[1].position[2] = -6;\r
- lightObjs[1].position[3] = 0.0;\r
+ initializeState();\r
\r
glutMainLoop();\r
}
\ No newline at end of file