+ // Draw sceneObjs array\r
+ glPushMatrix();\r
+ for ( int i = 0; i < nObjects; i++ ) {\r
+ SceneObject so = sceneObjs[i];\r
+\r
+ // Apply rotation vector\r
+ vector* rv = so.rotation.vect;\r
+ glRotatef(so.rotation.parameter, *rv[0], *rv[1], *rv[2]);\r
+\r
+ // Apply scaling vector\r
+ vector* sv = so.scale;\r
+ glScalef(*sv[0], *sv[1], *sv[2]);\r
+\r
+ // Apply translation vector\r
+ glTranslatef(so.x, so.y, so.z);\r
+\r
+ // Apply texture\r
+ if ( so.texture > 0 ) {\r
+ getTexture(so.texture);\r
+ glBindTexture(GL_TEXTURE_2D, so.texture);\r
+ } else {\r
+ getTexture(0);\r
+ glBindTexture(GL_TEXTURE_2D, 0);\r
+ }\r
+\r
+ // Draw actual object\r
+ if ( so.mesh > 0 ) {\r
+ // drawMesh();\r
+ } else if ( so.mesh == -1 ) { // a mesh of -1 draws the teapot\r
+ // The teapot does not obey the right-hand rule\r
+ glFrontFace(GL_CW);\r
+ glutSolidTeapot(1);\r
+ glFrontFace(GL_CCW);\r
+ }\r
+\r
+ glBindTexture(GL_TEXTURE_2D, 0);\r
+ }\r
+ glPopMatrix();\r
+\r
+ // Draw a white ball over the light source\r