X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=scene.c;h=fa17c1f0bee7e32b0efdead44b83789fa745fb18;hp=a74a6df231cb8a11b06be9b8b81854841baa84df;hb=700ecfcbbc4af70d352426d9ef65e02673ffefbb;hpb=4b12fdcf72bcba1edd1b30a8c5aa66def470aec5 diff --git a/scene.c b/scene.c index a74a6df..fa17c1f 100644 --- a/scene.c +++ b/scene.c @@ -125,10 +125,13 @@ int lightMoving = 0, lightStartX, lightStartY; /* Time varying or user-controled variables. */ static float jump = 0.0; -static float lightAngle = 0.0, lightHeight = 40; +static float lightAngle = 0.0, lightHeight = 5; GLfloat angle = -150; /* in degrees */ GLfloat angle2 = 30; /* in degrees */ +GLfloat near = -10; +GLfloat far = 10; + /** * Prints out error message when file cannot be read * @param fileName Name of file that could not be read @@ -484,9 +487,6 @@ void makeMenu() { * @param h New height */ void windowReshape(int w, int h) { - GLdouble near = -100.0; - GLdouble far = 100.0; - glViewport(0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); @@ -581,9 +581,9 @@ void drawSquare(int recurseLevel, float x1, float y1, float x2, float y2) { } else { glBegin(GL_QUADS); glVertex3f(x1, 0.0, y1); - glVertex3f(x1, 0.0, y2); - glVertex3f(x2, 0.0, y2); glVertex3f(x2, 0.0, y1); + glVertex3f(x2, 0.0, y2); + glVertex3f(x1, 0.0, y2); glEnd(); } @@ -594,7 +594,7 @@ void drawSquare(int recurseLevel, float x1, float y1, float x2, float y2) { */ void drawFloor() { -drawSquare(0, -1000.0, -1000.0, 1000.0, 1000.0); +drawSquare(0, -100.0, -100.0, 100.0, 100.0); /*if (useTexture) { glDisable(GL_TEXTURE_2D); @@ -613,7 +613,7 @@ void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt( - 0.0, 0.0, 80.0, /* eye is at (x,y,z) */ + 0.0, 0.0, 10.0, /* eye is at (x,y,z) */ 0.0, 0.0, 0.0, /* center is at (x,y,z) */ 0.0, 1.0, 0.0 /* up is in postivie Y direction */ ); @@ -640,7 +640,7 @@ void display() { glPushMatrix(); - //glTranslatef(0.0, 0.0, 0.0); + glTranslatef(0.0, 1.0, 0.0); glutWireTeapot(1); // Draw teapot for test glPopMatrix(); @@ -650,7 +650,7 @@ void display() { /* Draw a yellow ball at the light source. */ glTranslatef(lightPosition[0], lightPosition[1], lightPosition[2]); - glutSolidSphere(1.0, 5, 5); + glutSolidSphere(1.0, 50, 50); glEnable(GL_LIGHTING); glPopMatrix(); @@ -670,15 +670,21 @@ void init() { gluPerspective( 60.0, /* field of view in degree */ 1.0, /* aspect ratio */ - -1000.0, /* Z near */ - 1000.0 /* Z far */ + near, /* Z near */ + far /* Z far */ ); - glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 1); - glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor); - glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 0.1); - glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.05); - glEnable(GL_LIGHT0); + +GLfloat diffuse0[] = {1.0, 1.0, 1.0, 1.0}; +GLfloat ambient0[] = {1.0, 1.0, 1.0, 1.0}; +GLfloat specular0[] = {1.0, 1.0, 1.0, 1.0}; +GLfloat light0_pos[] ={ 1.0, 2.0, 3,0, 1.0}; + +glEnable(GL_LIGHT0); +glLightfv(GL_LIGHT0, GL_POSITION, light0_pos); +glLightfv(GL_LIGHT0, GL_AMBIENT, ambient0); +glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse0); +glLightfv(GL_LIGHT0, GL_SPECULAR, specular0); glEnable(GL_LIGHTING); glMatrixMode(GL_MODELVIEW);