C++ opengl 矩阵的压栈与出栈
生活随笔
收集整理的這篇文章主要介紹了
C++ opengl 矩阵的压栈与出栈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
矩陣的壓棧與出棧
讓兩個重合的三角形,分開
程序運行截圖如下:
?
偽代碼如下:
void Init() {//設置當前矩陣glMatrixMode(GL_PROJECTION); //設置為投影矩陣(對矩陣造成影響的代碼,都會影響當前矩陣)//第一個參數是垂直方面的視角,第二個是寬和高的比,第三個是最近可以看到的距離,第四個是最遠距離gluPerspective(50.0f, 800.0f / 600.0f, 0.1f, 1000.0f);glMatrixMode(GL_MODELVIEW);//把當前矩陣切換為模型視圖矩陣glLoadIdentity(); //加載一個單位矩陣 }void Draw() {glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity(); //把模型矩陣換位單位矩陣glPushMatrix();glTranslatef(-1.0f, 0.0f, 0.0f);glBegin(GL_TRIANGLES);glColor4ub(255, 0, 0, 255); glVertex3f(-0.5f, -0.25f, -5.0f);glColor4ub(0, 0, 255, 255); glVertex3f(0.5f, -0.25f, -5.0f);glColor4ub(0, 255, 0, 255); glVertex3f(0.0f, 0.5f, -5.0f);glEnd();glPopMatrix();glPushMatrix();glTranslatef(1.0f, 0.0f, 0.0f);glBegin(GL_TRIANGLES);glColor4ub(255, 0, 0, 255); glVertex3f(-0.5f, -0.25f, -5.0f);glColor4ub(0, 0, 255, 255); glVertex3f(0.5f, -0.25f, -5.0f);glColor4ub(0, 255, 0, 255); glVertex3f(0.0f, 0.5f, -5.0f);glEnd();glPopMatrix(); }?
總結
以上是生活随笔為你收集整理的C++ opengl 矩阵的压栈与出栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt学习笔记-简单的UDP广播包聊天室
- 下一篇: C++工作笔记-对继承的进一步认识