zoukankan      html  css  js  c++  java
  • 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
    }
  • 相关阅读:
    微信推送
    PS学习笔记
    汇编学习笔记
    JAVA学习笔记
    数组作为参数被传递,以及随机数的使用。
    [转]Win7系统中Telnet服务的安装和启动
    电脑高手学习笔记
    Android13.9.15
    C语言9.12
    《将博客搬至CSDN》
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2328965.html
Copyright © 2011-2022 走看看