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
e8046aa
..
e58ec7e
100644
(file)
--- a/
scene.c
+++ b/
scene.c
@@
-184,16
+184,15
@@
void makeMenu() {
*/
\r
void windowReshape(int w, int h) {
\r
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
\r
*/
\r
void windowReshape(int w, int h) {
\r
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
\r
-
/*
glMatrixMode(GL_PROJECTION);
\r
+ glMatrixMode(GL_PROJECTION);
\r
glLoadIdentity();
\r
glLoadIdentity();
\r
- if (w <= h)
\r
- glFrustum(
near, far, near*(GLfloat)h/(GLfloat)
w,
\r
-
far*(GLfloat)h/(GLfloat)w, -100, 100
);
\r
+ if (w <= h)
\r
+ glFrustum(
-near, far, -near*(GLfloat) h / (GLfloat)
w,
\r
+
far*(GLfloat) h / (GLfloat) w, nearClip, farClip
);
\r
else
\r
else
\r
- glFrustum(near*(GLfloat)w/(GLfloat)h,
\r
- far*(GLfloat)w/(GLfloat)h, near, far, nearClip, farClip);
\r
- glMatrixMode(GL_MODELVIEW);
\r
- glLoadIdentity();*/
\r
+ glFrustum(-near*(GLfloat) w / (GLfloat) h,
\r
+ far*(GLfloat) w / (GLfloat) h, near, far, nearClip, farClip);
\r
+ glMatrixMode(GL_MODELVIEW);
\r
}
\r
\r
/**
\r
}
\r
\r
/**
\r
@@
-294,18
+293,14
@@
void motion(int x, int y) {
*/
\r
void display() {
\r
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
\r
*/
\r
void display() {
\r
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
\r
+ glMatrixMode(GL_MODELVIEW);
\r
glLoadIdentity();
\r
glLoadIdentity();
\r
- //gluLookAt(
\r
- // 0.0, 0.0, 30.0, /* eye is at (x,y,z) */
\r
- // 0.0, 0.0, 0.0, /* center is at (x,y,z) */
\r
- // 0.0, 1.0, 0.0 /* up is in postivie Y direction */
\r
- // );
\r
\r
\r
- //gl
Translatef(camx, camy, camz);
\r
-
\r
- //
**NOTE: Currently this rotation function is all that moves the camera off
\r
- //
the flat surface. Need to integrate function into gluLookAt
\r
- //
glRotatef(rot, 1.0, 0.0, 0.0
);
\r
+ //gl
uLookAt(
\r
+ // -30.0, -30.0, -30.0, /* eye is at (x,y,z) */
\r
+ //
/ 0.0, 0.0, 0.0, /* center is at (x,y,z) */
\r
+ //
0.0, 1.0, 0.0 /* up is in postivie Y direction */
\r
+ //
);
\r
\r
/* Reposition the light source. */
\r
lightPosition[0] = 12*cos(lightAngle);
\r
\r
/* Reposition the light source. */
\r
lightPosition[0] = 12*cos(lightAngle);
\r
@@
-315,9
+310,11
@@
void display() {
\r
glPushMatrix();
\r
\r
\r
glPushMatrix();
\r
\r
- /* Perform scene rotations based on user mouse input. */
\r
+ /* Perform scene rotations based on user mouse
/keyboard
input. */
\r
glRotatef(angle, 0.0, 1.0, 0.0);
\r
glRotatef(angle, 0.0, 1.0, 0.0);
\r
- glRotatef(angle2, 1.0, 0.0, 0.0); //**NOTE: Only one degree of freedom
\r
+ glRotatef(angle2, 1.0, 0.0, 0.0);
\r
+ glTranslatef(camx, camy, camz);
\r
+ glRotatef(rot, 1.0, 0.0, 0.0);
\r
\r
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
\r
\r
\r
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
\r
\r
@@
-327,15
+324,15
@@
void display() {
\r
// Draw teapot for a test object
\r
glPushMatrix();
\r
\r
// Draw teapot for a test object
\r
glPushMatrix();
\r
- glTranslatef(0.0,
1.0, 0.0); // **NOTE: Teapot
does not rest on surface
\r
- glColor3f(0.
5, 0.5, 0.5
);
\r
- glutSolidTeapot(
25
);
\r
+ glTranslatef(0.0,
0.5, 0.0); // **NOTE: Teapot currently
does not rest on surface
\r
+ glColor3f(0.
0, 0.0, 0.0
);
\r
+ glutSolidTeapot(
1
);
\r
glPopMatrix();
\r
\r
// Draw a white ball over the light source
\r
glPushMatrix();
\r
glDisable(GL_LIGHTING);
\r
glPopMatrix();
\r
\r
// Draw a white ball over the light source
\r
glPushMatrix();
\r
glDisable(GL_LIGHTING);
\r
- glColor3f(1.0, 1.0,
1
.0);
\r
+ glColor3f(1.0, 1.0,
0
.0);
\r
glTranslatef(lightPosition[0], lightPosition[1], lightPosition[2]);
\r
glutSolidSphere(1.0, 50, 50);
\r
glEnable(GL_LIGHTING);
\r
glTranslatef(lightPosition[0], lightPosition[1], lightPosition[2]);
\r
glutSolidSphere(1.0, 50, 50);
\r
glEnable(GL_LIGHTING);
\r
@@
-350,33
+347,24
@@
void display() {
* init function; sets initial OpenGL state
\r
*/
\r
void init() {
\r
* init function; sets initial OpenGL state
\r
*/
\r
void init() {
\r
- //glMatrixMode(GL_PROJECTION);
\r
- //glLoadIdentity();
\r
-
\r
- //gluPerspective(
\r
- // 60.0, /* field of view in degree */
\r
- // 1.0, /* aspect ratio */
\r
- // nearClip, /* Z near */
\r
- // farClip /* Z far */
\r
- // );
\r
-
\r
- glMatrixMode(GL_MODELVIEW);
\r
- glLoadIdentity();
\r
-
\r
glLightfv(GL_LIGHT0, GL_POSITION, light0_pos);
\r
glLightfv(GL_LIGHT0, GL_AMBIENT, ambient0);
\r
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse0);
\r
glLightfv(GL_LIGHT0, GL_SPECULAR, specular0);
\r
glLightfv(GL_LIGHT0, GL_POSITION, light0_pos);
\r
glLightfv(GL_LIGHT0, GL_AMBIENT, ambient0);
\r
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse0);
\r
glLightfv(GL_LIGHT0, GL_SPECULAR, specular0);
\r
+ glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, direction0);
\r
+
\r
+ glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 90.0);
\r
+
\r
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, glightmodel);
\r
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, glightmodel);
\r
- glEnable(GL_LIGHT0);
\r
- glEnable(GL_LIGHTING);
\r
- glEnable(GL_COLOR_MATERIAL);
\r
- glColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE );
\r
- glMaterialfv( GL_FRONT_AND_BACK, GL_SPECULAR, specular0);
\r
- glMaterialfv( GL_FRONT_AND_BACK, GL_EMISSION, emission0);
\r
\r
\r
-
\r
+ glMaterialfv(GL_FRONT, GL_AMBIENT, ambient);
\r
+ glMaterialfv(GL_FRONT, GL_DIFFUSE, diffuse);
\r
+ glMaterialfv(GL_FRONT, GL_SPECULAR, specular);
\r
+ glMaterialfv(GL_FRONT, GL_EMISSION, emission0);
\r
+ glMaterialf(GL_FRONT, GL_SHININESS, shine);
\r
\r
\r
+ glEnable(GL_LIGHT0);
\r
+ glEnable(GL_LIGHTING);
\r
}
\r
\r
/**
\r
}
\r
\r
/**
\r
@@
-407,6
+395,7
@@
int main(int argc, char **argv) {
glShadeModel(GL_SMOOTH); // Enables Smooth Shading
\r
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background
\r
glClearDepth(1.0f); // Depth Buffer Setup
\r
glShadeModel(GL_SMOOTH); // Enables Smooth Shading
\r
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background
\r
glClearDepth(1.0f); // Depth Buffer Setup
\r
+ glDepthRange(0,1);
\r
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
\r
glDepthFunc(GL_LEQUAL); // the type
\r
glEnable(GL_CULL_FACE);
\r
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
\r
glDepthFunc(GL_LEQUAL); // the type
\r
glEnable(GL_CULL_FACE);
\r
@@
-426,4
+415,4
@@
int main(int argc, char **argv) {
init();
\r
\r
glutMainLoop();
\r
init();
\r
\r
glutMainLoop();
\r
-}
\r
+}
\ No newline at end of file
UCC
git Repository :: git.ucc.asn.au