OpenGL之渲染大小球自转和公转的效果
生活随笔
收集整理的這篇文章主要介紹了
OpenGL之渲染大小球自转和公转的效果
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
效果展示
整體思路與步驟拆分
- 渲染繪制綠色方格地板部分;
- 渲染繪制中心位置的紅色大球,并實(shí)現(xiàn)其自轉(zhuǎn);
- 渲染繪制隨機(jī)位置的50個(gè)靜態(tài)小球和一個(gè)圍繞紅色大球公轉(zhuǎn)的動(dòng)態(tài)藍(lán)色球;
- 渲染實(shí)現(xiàn)動(dòng)態(tài)藍(lán)色球繞紅色大球的公轉(zhuǎn);
- 實(shí)現(xiàn)移動(dòng)觀察者(camera),仍能觀察紅色大球自轉(zhuǎn)及動(dòng)態(tài)藍(lán)色球圍繞紅球公轉(zhuǎn)的效果;
重點(diǎn)函數(shù)
- void gltMakeSphere(GLTriangleBatch& sphereBatch, GLfloat fRadius, GLint iSlices, GLint iStacks); // 初始化球體的三角形批次,參數(shù)依次是:球半徑、片段數(shù)、堆疊數(shù);
- glRotatef(-80.0f, 10.0f, 1.0f, 0.0f) 表示將當(dāng)前圖形沿方向向量(-10,1,0)順時(shí)針旋轉(zhuǎn)80度;
- glTranslatef(0.0f, -20.0f, -40.0f) 表示將當(dāng)前圖形向x軸平移0,向y軸平移-20,向z軸平移-40;
- 如果先旋轉(zhuǎn)在繪制,則是表現(xiàn)為自轉(zhuǎn);而如果先繪制在旋轉(zhuǎn),再移動(dòng)一定距離,是為了到達(dá)繪制公轉(zhuǎn)的地方;
- 在變換坐標(biāo)的時(shí)候,使用的是glT
總結(jié)
以上是生活随笔為你收集整理的OpenGL之渲染大小球自转和公转的效果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: iOS之仿QQ好友列表展开收缩效果的实现
- 下一篇: OpenGL之深入解析纹理的渲染使用