简单三维形状的绘制
这一部分没有多大的难度,就是在paintGL()函数中多绘制几个三角形,几个矩形,从而形成人眼看到的立体形状。主要还是深刻的理解glRotatef()这个函数是如何旋转对象的。
下面是部分程序,
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glLoadIdentity();//每次绘制时,都要重新加载 mode view matrix
/*开始绘制多个三角形,形成立体的金字塔形*/
glTranslatef( x,y, z ); //对相机进行x,y,z方向的移动
glRotatef(rotateTri,1.0,.0,.0); //对下面的三角形进行旋转,显示的是旋转后的形状
glBegin( GL_TRIANGLES );
//绘制不同颜色的三角形,组成金字塔形
glColor3f( 1.0, 0.0, 0.0 );
glVertex3f( 0.0, 1.0, 0.0 );
glColor3f( 0.0, 1.0, 0.0 );
glVertex3f( -1.0, -1.0, 1.0 );
glColor3f( 0.0, 0.0, 1.0 );
glVertex3f( 1.0, -1.0, 1.0 );
glColor3f( 1.0, 0.0, 0.0 );
glVertex3f( 0.0, 1.0, 0.0 );
glColor3f( 0.0, 0.0, 1.0 );
glVertex3f( 1.0, -1.0, 1.0 );
glColor3f( 0.0, 1.0, 0.0 );
glVertex3f( 1.0, -1.0, -1.0 );
glColor3f( 1.0, 0.0, 0.0 );
glVertex3f( 0.0, 1.0, 0.0 );
glColor3f( 0.0, 1.0, 0.0 );
glVertex3f( 1.0, -1.0, -1.0 );
glColor3f( 0.0, 0.0, 1.0 );
glVertex3f( -1.0, -1.0, -1.0 );
glColor3f( 1.0, 0.0, 0.0 );
glVertex3f( 0.0, 1.0, 0.0 );
glColor3f( 0.0, 0.0, 1.0 );
glVertex3f( -1.0, -1.0, -1.0 );
glColor3f( 0.0, 1.0, 0.0 );
glVertex3f( -1.0, -1.0, 1.0 );
glEnd();
还是上个动态图吧,继续学习ing
你在寻找一起学习Qt+openGL的小伙伴吗?
加群吧:QQ Group:159336168
一起学习,分享资料,共同解决问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。