2D笛卡尔坐标 (通常指平面坐标)
3D笛卡尔坐标
视口:在显示器的屏幕窗口上定义一个对齐的矩形的视口,OpenGL会自动建立世界窗口和视口的变换(包括缩放和平移)。当世界窗口中所有对象都被绘制时,对象在世界窗口中的部分会被自动地映射到视口中————换句话说,被映射到屏幕坐标中,即像素在显示器上的坐标。
OpenGL投影方式 (透视投影和正投影)
正投影:相当于直面镜子看到侧影像。
透视投影:相当于人眼直接看到的事物,会呈现出近大远小的影像效果。
OpenGL坐标变换
坐标系介绍
世界坐标系: 世界坐标系是系统的绝对坐标系,世界坐标系始终是固定不变的。就如同人在地球上某一位置的经纬度一样,在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的。你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定:窗口范围按此单位恰好是(-1,-1)到(1,1),即屏幕左下角坐标为(-1,-1),右上角 坐标为(1,1)。
物体坐标系:每个物体独立的坐标系,当物理产生移动或者方向变化时,该物体的坐标系都会随之改变。
惯性坐标系:惯性坐标系的原点和物体坐标原点重合,但是惯性坐标系的轴平行于世界坐标系的轴。
OpenGL 每一次定点着色后,我们的可见定点都为标准化设备坐标。每一个订单的x,y,Z都应该在-1到1之间,超出范围的点不可见。
通常我们给定的坐标范围会在顶点着色器变换为设备坐标,然后再将设备坐标传入光栅器,将它们变换为屏幕上的二维坐标和像素。