OpenGL没有“相机”。如果您不使用任何变换(或者所有变换矩阵都是单位矩阵),那么您必须指定标准化设备空间中的顶点坐标。
标准化设备空间是一个独特的立方体,左、下、近为(-1,-1,-1),右、上、远为(1,1,1)。
因此,顶点坐标 (x) 的第一个分量定义从左侧 (-1) 到右侧 (1) 的位置。第二个分量 (y) 定义从底部 (-1) 到顶部 (1) 的位置,第三个分量 (z) 定义从近处 (-1) 到远处 (1) 的深度。
因此“向上向量”是(0,1,0)。
通常,场景的每个网格都由模型矩阵、视图矩阵和投影矩阵进行变换。最后将投影场景映射到视口。
投影、视图和模型矩阵相互作用,在视口上呈现场景的对象(网格)。模型矩阵定义场景世界空间中单个对象(网格)的位置方向和比例。视图矩阵定义了场景内观察者(查看者)的位置和观看方向。投影矩阵定义了投影到视口上的相对于观察者(查看者)的面积(体积)。
如果您谈论“相机”,那么您指的是视图矩阵。视图矩阵将顶点坐标从世界空间变换到视图空间。如果你想要一个不同的世界坐标系,那么你必须定义一个适当的视图矩阵。
归档时间: |
|
查看次数: |
853 次 |
最近记录: |