OpenGL图形旋转

男娘i 2021-12-16 10:19 368阅读 0赞
  1. GLfloat rtri; // 用于三角形的角度
  2. GLfloat rquad; // 用于四边形的角度
  3. int DrawGLScene(GLvoid) // 从这里开始进行所有的绘制
  4. {
  5. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存
  6. glLoadIdentity(); // 重置当前的模型观察矩阵
  7. glTranslatef(-1.5f,0.0f,-6.0f); // 左移 1.5 单位,并移入屏幕 6.0
  8. glRotatef(rtri,0.0f,1.0f,0.0f); // 绕Y轴旋转三角形
  9. //平滑着色
  10. glBegin(GL_TRIANGLES); // 绘制三角形
  11. glColor3f(1.0f,0.0f,0.0f); // 设置当前色为红色
  12. glVertex3f( 0.0f, 1.0f, 0.0f); // 上顶点
  13. glColor3f(0.0f,1.0f,0.0f); // 设置当前色为绿色
  14. glVertex3f(-1.0f,-1.0f, 0.0f); // 左下
  15. glColor3f(0.0f,0.0f,1.0f); // 设置当前色为蓝色
  16. glVertex3f( 1.0f,-1.0f, 0.0f); // 右下
  17. glEnd();
  18. glLoadIdentity(); // 重置模型观察矩阵
  19. glTranslatef(1.5f,0.0f,-6.0f); // 右移1.5单位
  20. glRotatef(rquad,1.0f,0.0f,0.0f); // 绕X轴旋转四边形
  21. //单一着色
  22. glColor3f(0.5f,0.5f,0.5f); // 设置当前色为灰色
  23. glBegin(GL_QUADS); // 绘制正方形
  24. glVertex3f(-1.0f, 1.0f, 0.0f); // 左上
  25. glVertex3f( 1.0f, 1.0f, 0.0f); // 右上
  26. glVertex3f( 1.0f,-1.0f, 0.0f); // 左下
  27. glVertex3f(-1.0f,-1.0f, 0.0f); // 右下
  28. glEnd();
  29. rtri+=0.5f; // 增加三角形的旋转变量
  30. rquad-=0.5f; // 减少四边形的旋转变量
  31. return TRUE; // 一切 OK
  32. }

转载于:https://www.cnblogs.com/tiandsp/archive/2012/01/23/2328965.html

发表评论

表情:
评论列表 (有 0 条评论,368人围观)

还没有评论,来说两句吧...

相关阅读

    相关 图形学渲染管线 opengl

    图形渲染管线是实时渲染的核心组件。渲染管线的功能是通过给定虚拟相机、3D场景物体以及光源等场景要素来产生或者渲染一副2D的图像。如上图所示,场景中的3D物体通过管线转变为屏幕上