Esempio n. 1
0
 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();
 }
Esempio n. 2
0
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;
}
Esempio n. 3
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();
}
Esempio n. 4
0
GLuint createSnowman() {
	GLuint snowManDL;
	snowManDL = glGenLists(1);
	glNewList(snowManDL, GL_COMPILE);
	drawSnowMan();
	glEndList();
	return(snowManDL);
}
Esempio n. 5
0
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();
}
Esempio n. 6
0
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();
		}
}
Esempio n. 9
0
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);
}