OpenGL图形旋转

GLfloat        rtri;                        // 用于三角形的角度
GLfloat        rquad;                        // 用于四边形的角度
int DrawGLScene(GLvoid)                                // 从这里开始进行所有的绘制
{
   
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);            // 清除屏幕和深度缓存
   
    glLoadIdentity();                            // 重置当前的模型观察矩阵
    glTranslatef(-1.5f,0.0f,-6.0f);                    // 左移 1.5 单位,并移入屏幕 6.0
    glRotatef(rtri,0.0f,1.0f,0.0f);                // 绕Y轴旋转三角形
    //平滑着色
    glBegin(GL_TRIANGLES);                            // 绘制三角形
        glColor3f(1.0f,0.0f,0.0f);                // 设置当前色为红色
        glVertex3f( 0.0f, 1.0f, 0.0f);                    // 上顶点
        glColor3f(0.0f,1.0f,0.0f);                // 设置当前色为绿色
        glVertex3f(-1.0f,-1.0f, 0.0f);                    // 左下
        glColor3f(0.0f,0.0f,1.0f);                // 设置当前色为蓝色
        glVertex3f( 1.0f,-1.0f, 0.0f);                    // 右下
    glEnd();        




    glLoadIdentity();                    // 重置模型观察矩阵
    glTranslatef(1.5f,0.0f,-6.0f);                        // 右移1.5单位
    glRotatef(rquad,1.0f,0.0f,0.0f);            //  绕X轴旋转四边形
    //单一着色
    glColor3f(0.5f,0.5f,0.5f);                // 设置当前色为灰色
    glBegin(GL_QUADS);                            //  绘制正方形
        glVertex3f(-1.0f, 1.0f, 0.0f);                    // 左上
        glVertex3f( 1.0f, 1.0f, 0.0f);                    // 右上
        glVertex3f( 1.0f,-1.0f, 0.0f);                    // 左下
        glVertex3f(-1.0f,-1.0f, 0.0f);                    // 右下
    glEnd();


    rtri+=0.5f;                        // 增加三角形的旋转变量
    rquad-=0.5f;                        // 减少四边形的旋转变量


    return TRUE;                                //  一切 OK
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值