天天看點

Nehe第四課

主要用來旋轉圖形:

1.定義兩個變量用來存儲角度

GLfloat rtri;             //三角形旋轉角度

GLfloat rquak; //正方形旋轉角度

2.函數glRotatef(rtri,1.0f,0.0f,0.0f)用來設定如何旋轉

3.旋轉之後,要重置模型矩陣glLoadIdentity();此時焦點回到螢幕中心

4.glTranslatef(1.5f,0.0f,-6.0f);用來移到新的位置

5.設定每次旋轉的角度

rquak += -1.5f;

rtri +=1.0f;

源代碼:

int DrawGLScene(GLvoid)								// 從這裡開始進行所有的繪制
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);			// 清除螢幕和深度緩存
	glLoadIdentity();							// 重置目前的模型觀察矩陣
	
	glTranslatef(-1.5f,0.0f,-6.0f);
	glRotatef(rtri,1.0f,0.0f,0.0f);
	glBegin(GL_TRIANGLES);
		glColor3f(1.0f,0.0f,0.0f);
		glVertex3f(0.0f,1.0f,0.0f);
		glColor3f(0.0f,1.0f,0.0f);
		glVertex3f(-1.0f,-1.0f,0.0f);
		glColor3f(0.0f,0.0f,1.0f);
		glVertex3f(1.0f,-1.0f,0.0f);
	glEnd();

	glLoadIdentity();
	glTranslatef(1.5f,0.0f,-6.0f);
	glRotatef(rquak,0.0f,1.0f,0.0f);
	glColor3f(0.0f,0.0f,1.0f);
	glBegin(GL_QUADS);
		glVertex3f(-1.0f,1.0f,0.0f);
		glVertex3f(1.0f,1.0f,0.0f);
		glVertex3f(1.0f,-1.0f,0.0f);
		glVertex3f(-1.0f,-1.0f,0.0f);
	glEnd();
	rquak += -1.5f;
	rtri +=1.0f;
	return true;								// 繼續運作
}           

繼續閱讀