void renderScene(void) { // Clear Color and Depth Buffers glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Reset transformations glLoadIdentity(); // Set the camera gluLookAt( x, 1.0f, z, x+lx, 1.0f, z+lz, 0.0f, 1.0f, 0.0f); // Draw ground glColor3f(0.9f, 0.9f, 0.9f); glBegin(GL_QUADS); glVertex3f(-100.0f, 0.0f, -100.0f); glVertex3f(-100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, -100.0f); glEnd(); // Draw 36 SnowMen for(int i = -3; i < 3; i++) for(int j=-3; j < 3; j++) { glPushMatrix(); glTranslatef(i*10.0,0,j * 10.0); drawSnowMan(); glPopMatrix(); } glutSwapBuffers(); }
void renderScene(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); camControl(0.05, 0.02, key, mx, my); updateCam(); glBegin(GL_QUADS); glVertex3f(-100.0f, 0.0f, -100.0f); glVertex3f(-100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, -100.0f); glEnd(); for(int i = -3; i < 3; i++) for(int j=-3; j < 3; j++) { glPushMatrix(); glTranslatef(i * 10.0, 0, j * 10.0); drawSnowMan(); glPopMatrix(); } glutSwapBuffers(); key = 0; }
void display(void) { /* basic draw code here */ glClearColor(0.5f,0.5f,1.0f,1.0f); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(x,1.0f,z,x+lx,1.0f,z+lz,0.0f,1.0f,0.0f); glColor3f(0.5f,0.5f,0.5f); glBegin(GL_QUADS); glVertex3f(-100.0f,0.0f,-100.0f); glVertex3f(-100.0f,0.0f,100.0f); glVertex3f(100.0f,0.0f,100.0f); glVertex3f(100.0f,0.0f,-100.0f); glEnd(); for(i=-3; i<3; i++) { for(j=-3; j<3; j++) { glPushMatrix(); glTranslatef(i*10.0,0,j*10.0); drawSnowMan(); glPopMatrix(); } } updateMovement(); glutSwapBuffers(); }
GLuint createSnowman() { GLuint snowManDL; snowManDL = glGenLists(1); glNewList(snowManDL, GL_COMPILE); drawSnowMan(); glEndList(); return(snowManDL); }
void renderScene2(int currentWindow) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPushMatrix(); glColor3f(1.0, 0.0, 0.0); glTranslatef(x, y, z); glRotatef(180 - angle*180.0 / 3.14, 0.0, 1.0, 0.0); glutSolidCone(0.2, 0.8f, 4, 4); glPopMatrix(); // Draw ground glColor3f(0.9f, 0.9f, 0.9f); glBegin(GL_QUADS); glVertex3f(-100.0f, 0.0f, -100.0f); glVertex3f(-100.0f, 0.0f, 100.0f); glVertex3f(100.0f, 0.0f, 100.0f); glVertex3f(100.0f, 0.0f, -100.0f); glEnd(); // Draw 36 SnowMen // call the function that contains the rendering commands for (int i = -3; i < 3; i++) { for (int j = -3; j < 3; j++) { glPushMatrix(); glTranslatef(i*10.0, 0, j*10.0); drawSnowMan(); glPopMatrix(); } } if (currentWindow == subWindow1) { frame++; time = glutGet(GLUT_ELAPSED_TIME); if (time - timebase > 1000) { sprintf(s, "FPS: %4.2f", frame*1000.0 / (time - timebase)); timebase = time; frame = 0; } glColor3f(0.0, 1.0, 1.0); setOrthographicProjection(); glPushMatrix(); glLoadIdentity(); renderBitmapString(30, 15, (void *)font, "IPCA - EDJG - P3D"); renderBitmapString(30, 35, (void *)font, s); renderBitmapString(30, 55, (void *)font, "Esc - Quit"); glPopMatrix(); resetPerspectiveProjection(); } glutSwapBuffers(); }
GLuint createDL() { GLuint snowManDL; //生成一个显示列表号 snowManDL = glGenLists(1); // 开始显示列表 glNewList(snowManDL, GL_COMPILE); // call the function that contains // the rendering commands drawSnowMan(); // endList glEndList(); return(snowManDL); }
GLuint createDL() { GLuint snowManDL; // Create the id for the list snowManDL = glGenLists(1); // start list glNewList(snowManDL,GL_COMPILE); // call the function that contains the rendering commands drawSnowMan(); // endList glEndList(); return(snowManDL); }
// Common Render Items for all subwindows void commonRenderItems() { // Draw ground glColor3f(0.9f, 0.9f, 0.9f); glBegin(GL_QUADS); glVertex3f(-100.0f, 0.0f, -100.0f); glVertex3f(-100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, -100.0f); glEnd(); // Draw 36 SnowMen for(int i = -3; i < 3; i++) for(int j=-3; j < 3; j++){ glPushMatrix(); glTranslatef(i*10.0f, 0.0f, j * 10.0f); drawSnowMan(); glPopMatrix(); } }
GLuint createDL() { GLuint snowManDL, loopDL, teaPotDL, umbrellaDL; snowManDL = glGenLists(1); teaPotDL = glGenLists(1); umbrellaDL = glGenLists(1); loopDL = glGenLists(1); glNewList(snowManDL, GL_COMPILE); drawSnowMan(); glEndList(); glNewList(teaPotDL, GL_COMPILE); drawTeaPot(); glEndList(); glNewList(umbrellaDL, GL_COMPILE); drawUmbrella(); glEndList(); glNewList(loopDL, GL_COMPILE); for (int i = -3; i < 3; i++) for (int j = -3; j < 3; j++) { glPushMatrix(); glTranslatef(i*10.0f, 0, j * 10.0f); switch ((i+j) % 3) { case 0: glCallList(umbrellaDL); break; case 1: glCallList(teaPotDL); break; case 2: glCallList(snowManDL); break; } glPopMatrix(); } glEndList(); return(loopDL); }