OPENGL模型与投影变换

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

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

(1)把照相机固定在三角架上,并让他对准场景

   从不同位置观察场景(视图变换)

(2)对场景进行安排,使各个物体在照片中的位置是我们所希望的

   移动,旋转或者放大缩小场景中的物体(模型变换)

(3)选择照相机镜头,并调整放大倍数(调焦)

   显示物体时,可以选择物体是如何投影到屏幕上(投影变换)

(4)确定照片的大小,放大照片还是缩小照片

   把图形画下来,是要占据整个屏幕还是屏幕的一部分(视口变换)

三大变换:(都是通过操作矩阵来实现的)

1、模型视图变换

在进行模型视图变换之前,应先设置当前操作的矩阵为"模型视图矩阵",通过设置glMatrixMode( GL_MODELVIEW),在进行变换

之前把当前矩阵设置为单位矩阵glLoadIdentity();如果不进行单位化,所有的后续操作都是在当前矩阵的前提下进行的。

2、投影变换

投影变换即定义一个可视空间,可视空间以外的物体不会被绘制到屏幕上(从现在起,坐标不在是-1.0到1.0了)

OpenGL支持两种投影,透视投影和正投影,通过设置glMatrixMode( GL_PROJECTION )来操作投影矩阵。

你可能感兴趣的:(OpenGL)