if ( buttonSelected == GLUT_LEFT_BUTTON ) {\r
// w: left/right, h: near/far\r
\r
- // **NOTE: Currently a work in progress\r
+ // **NOTE: Currently a work in progress, does not work correctly\r
+ float angler = 2 * M_PI * ( (rotate*camRotateFactor)/360.0 );\r
printf("cam angle: %f\n", rotate*camRotateFactor);\r
- sceneObjs[curObject].x += diffx * sin(rotate*camRotateFactor);\r
- sceneObjs[curObject].z += diffx * cos(rotate*camRotateFactor);\r
+\r
+ sceneObjs[curObject].x += diffx * cos(angler) * 0.1;\r
+ sceneObjs[curObject].z += diffx * sin(angler) * 0.1;\r
+\r
+ sceneObjs[curObject].x += diffy * sin(angler) * 0.1;\r
+ sceneObjs[curObject].z += diffy * cos(angler) * 0.1;\r
\r
} else if ( buttonSelected == GLUT_MIDDLE_BUTTON ) {\r
// w: big/small\r
break;\r
\r
case STATE_OBJECT_ROTATION_TEXTURE_SCALE:\r
+\r
if ( buttonSelected == GLUT_LEFT_BUTTON ) {\r
// w: rotate on y\r
sceneObjs[curObject].rotation.y += diffx * rotateFactor;\r
+\r
// h: rotate on x\r
sceneObjs[curObject].rotation.x += diffy * rotateFactor;\r
+\r
} else if ( buttonSelected == GLUT_MIDDLE_BUTTON ) {\r
// w: rotate on x\r
sceneObjs[curObject].rotation.x += diffx * rotateFactor;\r
+\r
// h: texture scale\r
float max = (float)height/texscaleFactor;\r
float scaling = (diffy + max) / max;\r
sceneObjs[curObject].texture.scale *= scaling;\r
+\r
}\r
+ \r
break;\r
\r
}\r
glPushMatrix();\r
SceneObject so = sceneObjs[i];\r
\r
+ // Apply translation vector\r
+ glTranslatef(so.x, so.y, so.z);\r
+\r
// Apply independant rotation vectors\r
glRotatef(so.rotation.x, 1.0, 0.0, 0.0);\r
glRotatef(so.rotation.y, 0.0, 1.0, 0.0);\r
// Apply scaling vector\r
glScalef(so.scale[0], so.scale[1], so.scale[2]);\r
\r
- // Apply translation vector\r
- glTranslatef(so.x, so.y, so.z);\r
-\r
// Apply texture\r
if ( so.texture.id > 0 ) {\r
getTexture(so.texture.id);\r
glBindTexture(GL_TEXTURE_2D, 0);\r
glPopMatrix();\r
}\r
- \r
\r
// Draw a white ball over the light sources\r
glDisable(GL_LIGHTING);\r
\r
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);\r
\r
- glutInitWindowSize(500, 500);\r
- glutCreateWindow("Scene Editor");\r
+ glutInitWindowSize(width, height);\r
+ glutCreateWindow("Scene Editor - Ashley Tyndall (20915779), Jenna de la Harpe (20367932)");\r
\r
glShadeModel(GL_SMOOTH); // Enables Smooth Shading\r
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background\r