阶段3D仿射纹理与正确的透视分割



使用透视矩阵时,Stage3D究竟是如何进行正确的纹理映射的?

除了UV之外,没有其他信息从顶点传递到片段程序,所以我只能假设它是幕后的东西。

我正在用20x20三角形网格扭曲纹理,以避免仿射映射效果,但不应该使用内置的透视分割来获得相同的效果吗?

当顶点坐标转换到剪辑空间时,顶点的W分量将以透视正确的方式提供插值纹理坐标的系数。据我所知,这是OpenGL截头体矩阵为您提供的"魔法",3D硬件应该在插值过程中使用此值。Stage3D库不能保证如何为UV坐标的片段着色器执行插值。

值得注意的是,据报道,一些OpenGL ES 1.1规格的Android手机不支持透视正确纹理。因此,即使Stage3D确实支持它,不同设备之间也会有所不同。

最新更新