Qt+openGL学习记录(5)`加入定时器开启自动旋转,绘制三维简单对象`

简单三维形状的绘制

这一部分没有多大的难度,就是在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
一起学习,分享资料,共同解决问题。

学习使用latex,顺便每天晚上把学习的体会写一下。加了个油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值