OpenGL的视图变换模型变换投影变换视口变换

Posted 1024 Planet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL的视图变换模型变换投影变换视口变换相关的知识,希望对你有一定的参考价值。

产生目标场景的过程类似于用照相机进行拍照:

(1) 把照相机固定在三角架上,并让他对准场景从不同位置观察场景(视图变换)

      gluLookAt

(2) 对场景进行安排,使各个物体在照片中的位置是我们所希望的 移动,旋转或者放大缩小场景中的物体(模型变换)

      glTranslate* ,glRotate* ,glScale*

(3) 选择照相机镜头,并调整放大倍数(调焦) 显示物体时,可以选择物体是如何投影到屏幕上(投影变换)

      glFrustum , gluPerspective , glOrtho

(4) 确定照片的大小,放大照片还是缩小照片 把图形画下来,是要占据整个屏幕还是屏幕的一部分(视口变换)

      glViewPort

 

注意:视图变换必须出现在模型变换之前, 但可以在绘图之前的任何时候执行投影 变换和视口变换,

如果OpenGL中不设置模型,投影,视口,所绘制的几何图形的坐标只能是-1到1(X轴向右,Y轴向上,Z轴垂直屏幕)。

 

默认为视图模型变化 glMatrixMode(GL_MODELVIEW);

默认投影变换为 glOrtho

以上是关于OpenGL的视图变换模型变换投影变换视口变换的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL中的投影与变换的案例说明详细!(几何变换=>投影变换=>裁剪=>视口变换,包含常用的函数!)

OpenGL:光照模型视图投影变换

WebGL或OpenGL关于模型视图投影变换的设置技巧

OpenGL学习脚印: 坐标变换过程(vertex transformation)

详解OpenGL的坐标系投影和几何变换

现代 OpenGL 投影视图模型转换不起作用