转载地址:https://blog.youkuaiyun.com/l_andy/article/details/42456963
一、相机模拟过程
首先是用相机模拟说明openGL的投影原理。下面这个图应该是把原理解释得比较透彻的一个了。
实际上,从三维空间到二维平面,就如同用相机拍照一样,通常都要经历以下几个步骤 (括号内表示的是相应的图形学概念):
第一步,将相机置于三角架上,让它对准三维景物(视点变换,Viewing Transformation,对应openGL是glLookAt,从哪里看?)。
第二步,将三维物体放在适当的位置(模型变换,Modeling Transformation,对应openGL是各种transform/scal/rotate,比如物体移动旋转缩放等。)。
第三步,选择相机镜头并调焦,使三维物体投影在二维胶片上(投影变换,Projection Transformation,对应openGL就是gluPerspective/glOrtho等)。
第四步,决定二维像片的大小(视口变换,Viewport Transformation,对应openGL就是glViewport等)。
这样,一个三维空间里的物体就可以用相应的二维平面物体表示了,也就能在二维的电脑屏幕上正确显示了。