X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=scene.c;h=c650c057dc9db23128a1c7de063239157a8f406b;hp=d794a0f1976ffd061a33b679e98a4053977bf932;hb=55bfed85b24a4fe5471d3fca580e3b86cd74e21d;hpb=4907cd758a8f2d227b76fb82e557487b1197d0be diff --git a/scene.c b/scene.c index d794a0f..c650c05 100644 --- a/scene.c +++ b/scene.c @@ -110,7 +110,6 @@ void processLightEvents(int id) { * @param id ID of object selected */ void processObjectEvents(int id) { - // **NOTE: For the testing phase, only have the teapot addSceneObject(id); glutPostRedisplay(); } @@ -120,7 +119,10 @@ void processObjectEvents(int id) { * @param id ID of texutre selected */ void processTextureEvents(int id) { - + if ( curObject >= 0 ) { + sceneObjs[curObject].texture = id; + glutPostRedisplay(); + } } /** @@ -168,7 +170,7 @@ void makeMenu() { glutAddMenuEntry("Position/Scale", M_POSITION_SCALE); glutAddMenuEntry("Rotation/Texture Scale", M_ROTATION_TEXTURE_SCALE); //glutAddSubMenu("Material", materialMenu); - //glutAddSubMenu("Texture", textureMenu); + glutAddSubMenu("Texture", textureMenu); glutAddSubMenu("Ground texture", gTextureMenu); //glutAddSubMenu("Lights", lightMenu); glutAddMenuEntry("Exit", M_EXIT); @@ -390,13 +392,10 @@ void display() { SceneObject so = sceneObjs[i]; // Apply rotation vector - GLfloat* rv = &so.rotation.vector; - printf("%f, %f, %f\n", rv[0], rv[1], rv[2]); - glRotatef(so.rotation.amount, rv[0], rv[1], rv[2]); + glRotatef(so.rotation.amount, so.rotation.vector[0], so.rotation.vector[1], so.rotation.vector[2]); // Apply scaling vector - GLfloat* sv = &so.scale; - glScalef(sv[0], sv[1], sv[2]); + glScalef(so.scale[0], so.scale[1], so.scale[2]); // Apply translation vector glTranslatef(so.x, so.y, so.z);