【一步步学OpenGL 13】 -《相机空间》

教程13

相机空间

【一步步学OpenGL 13】 -《相机空间》_第1张图片

原文: http://ogldev.atspace.co.uk/www/tutorial13/tutorial13.html

CSDN完整版专栏: http://blog.csdn.net/column/details/13062.html


背景

在之前的几个教程我们已经学习了两种变换。第一种是基本变换,用来改变物体的位置(平移变换)、方向(旋转变换)、尺寸(缩放变换),可以将物体至于3d世界任意位置;第二种变换是透视投影变换用于将3d世界的一个顶点位置投射到2d世界(比如:一个平面),一旦坐标置于2d那么就很容易将他们映射到屏幕空间坐标系了。这些坐标实际上是用来将组成物体的图元(点、线、三角形等)光栅化。但还有一个疑惑的问题是相机的位置,在之前所有的教程中我们都默认相机在3d世界的原点位置。实际应用中,我们想自由地将相机放在任何位置并将3d世界的顶点投射到相机前面的平面上,这才能反映出屏幕上相机和物体的正确关系。

在下面的图片中我们可以看到相机处于一个背向我们的位置,在它的前面有一个虚拟的平面并且一个球投射到平面上,相机和平面都有文字标注。由于相机的视野受其视角的限制,2d平面上可见的部分是一个矩形,矩形外面的都会被裁

你可能感兴趣的:(一步步学OpenGL3.3+)