git.ucc.asn.au
/
atyndall
/
cits2231.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(no commit message)
[atyndall/cits2231.git]
/
scene.c
diff --git
a/scene.c
b/scene.c
index
ccb5dac
..
d794a0f
100644
(file)
--- a/
scene.c
+++ b/
scene.c
@@
-25,17
+25,14
@@
void processMainEvents(int id) {
\r
switch (id) {
\r
case M_ROTATE_MOVE_CAMERA:
\r
void processMainEvents(int id) {
\r
switch (id) {
\r
case M_ROTATE_MOVE_CAMERA:
\r
- // Do stuff
\r
+ manipulateState = STATE_CAMERA_ROTATE_MOVE;
\r
break;
\r
break;
\r
-
\r
case M_POSITION_SCALE:
\r
case M_POSITION_SCALE:
\r
- // Do stuff
\r
+ manipulateState = STATE_OBJECT_POSITION_SCALE;
\r
break;
\r
break;
\r
-
\r
case M_ROTATION_TEXTURE_SCALE:
\r
case M_ROTATION_TEXTURE_SCALE:
\r
- // Do stuff
\r
+ manipulateState = STATE_OBJECT_ROTATION_TEXTURE_SCALE;
\r
break;
\r
break;
\r
-
\r
case M_EXIT:
\r
exit(EXIT_SUCCESS);
\r
\r
case M_EXIT:
\r
exit(EXIT_SUCCESS);
\r
\r
@@
-115,6
+112,7
@@
void processLightEvents(int id) {
void processObjectEvents(int id) {
\r
// **NOTE: For the testing phase, only have the teapot
\r
addSceneObject(id);
\r
void processObjectEvents(int id) {
\r
// **NOTE: For the testing phase, only have the teapot
\r
addSceneObject(id);
\r
+ glutPostRedisplay();
\r
}
\r
\r
/**
\r
}
\r
\r
/**
\r
@@
-165,10
+163,10
@@
void makeMenu() {
\r
// Construct main menu
\r
glutCreateMenu(processMainEvents);
\r
\r
// Construct main menu
\r
glutCreateMenu(processMainEvents);
\r
-
//
glutAddMenuEntry("Rotate/Move Camera", M_ROTATE_MOVE_CAMERA);
\r
-
//
glutAddSubMenu("Add object", objectMenu);
\r
-
//
glutAddMenuEntry("Position/Scale", M_POSITION_SCALE);
\r
-
//
glutAddMenuEntry("Rotation/Texture Scale", M_ROTATION_TEXTURE_SCALE);
\r
+ glutAddMenuEntry("Rotate/Move Camera", M_ROTATE_MOVE_CAMERA);
\r
+ glutAddSubMenu("Add object", objectMenu);
\r
+ glutAddMenuEntry("Position/Scale", M_POSITION_SCALE);
\r
+ glutAddMenuEntry("Rotation/Texture Scale", M_ROTATION_TEXTURE_SCALE);
\r
//glutAddSubMenu("Material", materialMenu);
\r
//glutAddSubMenu("Texture", textureMenu);
\r
glutAddSubMenu("Ground texture", gTextureMenu);
\r
//glutAddSubMenu("Material", materialMenu);
\r
//glutAddSubMenu("Texture", textureMenu);
\r
glutAddSubMenu("Ground texture", gTextureMenu);
\r
@@
-206,6
+204,8
@@
void mouse(int button, int state, int x, int y) {
} else if ( state == GLUT_UP ) {
\r
buttonSelected = -1;
\r
}
\r
} else if ( state == GLUT_UP ) {
\r
buttonSelected = -1;
\r
}
\r
+ startx = x;
\r
+ starty = y;
\r
break;
\r
}
\r
}
\r
break;
\r
}
\r
}
\r
@@
-291,7
+291,6
@@
void motion(int x, int y) {
}
\r
\r
starty = y;
\r
}
\r
\r
starty = y;
\r
- printf("zoom is %f, y is %d starty is %d\n", zoom, y, starty);
\r
startx = x;
\r
\r
break;
\r
startx = x;
\r
\r
break;
\r
@@
-386,17
+385,18
@@
void display() {
drawFloor();
\r
\r
// Draw sceneObjs array
\r
drawFloor();
\r
\r
// Draw sceneObjs array
\r
- glPushMatrix();
\r
- for ( int i = 0; i < nObjects; i++ ) {
\r
+ for ( int i = 0; i < nObjects; i++ ) {
\r
+ glPushMatrix();
\r
SceneObject so = sceneObjs[i];
\r
\r
// Apply rotation vector
\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
+ GLfloat* rv = &so.rotation.vector;
\r
+ printf("%f, %f, %f\n", rv[0], rv[1], rv[2]);
\r
+ glRotatef(so.rotation.amount, rv[0], rv[1], rv[2]);
\r
\r
// Apply scaling vector
\r
\r
// Apply scaling vector
\r
-
vector* sv =
so.scale;
\r
- glScalef(
*sv[0], *sv[1], *
sv[2]);
\r
+
GLfloat* 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 translation vector
\r
glTranslatef(so.x, so.y, so.z);
\r
@@
-406,7
+406,6
@@
void display() {
getTexture(so.texture);
\r
glBindTexture(GL_TEXTURE_2D, so.texture);
\r
} else {
\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
glBindTexture(GL_TEXTURE_2D, 0);
\r
}
\r
\r
@@
-421,8
+420,9
@@
void display() {
}
\r
\r
glBindTexture(GL_TEXTURE_2D, 0);
\r
}
\r
\r
glBindTexture(GL_TEXTURE_2D, 0);
\r
- }
\r
- glPopMatrix();
\r
+ glPopMatrix();
\r
+ }
\r
+
\r
\r
// Draw a white ball over the light source
\r
glPushMatrix();
\r
\r
// Draw a white ball over the light source
\r
glPushMatrix();
\r
UCC
git Repository :: git.ucc.asn.au