C++ opengl 复合运动
生活随笔
收集整理的這篇文章主要介紹了
C++ opengl 复合运动
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
繪制場景之前要確保當(dāng)前模型視圖矩陣是單位矩陣
先旋轉(zhuǎn)后移動 與 先移動后旋轉(zhuǎn) 有不同的結(jié)果,矩陣沒有交換律
?
程序運行截圖如下:
?
源碼如下(先移動再旋轉(zhuǎn)):
void Draw() {glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity();glPushMatrix();glTranslatef(0.0f, 0.0f, -5.0f);glPushMatrix();glRotatef(30.0f, 0.0f, 1.0f, 0.0f);glBegin(GL_TRIANGLES);glColor4ub(255, 0, 0, 255); glVertex3f(-0.5f, -0.25f, 0.0f);glColor4ub(0, 0, 255, 255); glVertex3f(0.5f, -0.25f, 0.0f);glColor4ub(0, 255, 0, 255); glVertex3f(0.0f, 0.5f, 0.0f);glEnd(); }程序運行截圖如下:
?
下面是先旋轉(zhuǎn),后移動:
程序運行截圖如下:
代碼如下:
void Draw() {glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity();glPushMatrix();glRotatef(30.0f, 0.0f, 1.0f, 0.0f);glPushMatrix();glTranslatef(0.0f, 0.0f, -5.0f);glBegin(GL_TRIANGLES);glColor4ub(255, 0, 0, 255); glVertex3f(-0.5f, -0.25f, 0.0f);glColor4ub(0, 0, 255, 255); glVertex3f(0.5f, -0.25f, 0.0);glColor4ub(0, 255, 0, 255); glVertex3f(0.0f, 0.5f, 0.0f);glEnd();glPopMatrix();glPopMatrix(); }?
總結(jié)
以上是生活随笔為你收集整理的C++ opengl 复合运动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt文件编码转换工具(三) Qt界面设计
- 下一篇: Qt文档阅读笔记-The Meta-Ob