【发布时间】:2012-05-31 09:21:32
【问题描述】:
OpenGL 固定函数管道是否计算视图空间中的光照?
如果答案是肯定的,那么它如何应对不均匀比例的视图转换?实际上,它如何处理包含任何比例的视图转换?
如果这是真的,那么缩放视图空间将导致不同的光到顶点的距离,这意味着点光源的光照强度将随着视图矩阵的缩放而改变。
世界空间中的光照将使计算的点光强度独立于视图空间缩放,但需要:
- 向 API 提供对象到世界矩阵(例如在 DirectX 中,灯光位置在世界空间中指定)。
- API 在绘制时转换所有几何图形两次。一次通过 world*view*proj 进入剪辑空间,然后再次通过世界,以计算世界空间中顶点的光照。
一般情况下,您可以在固定功能照明管道上挖掘任何额外的背景信息,以获得良好的答案并获得积分。
【问题讨论】: