我知道这两种都是纹理过滤的方法,但是钳位和包裹之间有什么区别?哪一个更好?
编辑:我尝试了两种集成显卡,发现AnisotropicWrap显示的FPS低于AnisotropicClamp。难道AnisotropicWrap渲染的纹理比AnisotropicClamp更好?
最佳答案
采样器状态负责告诉图形设备如何将纹理坐标转换为纹理像素。假设您有一个四边形多边形,其UV坐标的排列如下:
(0, 0) (1, 0)
o----------o
| |
o----------o
(0, 1) (1, 1)
纹理坐标的范围为[0,1]。渲染后,纹理的左上角将出现在多边形的左上角,纹理的右下角将出现在多边形的右下角,依此类推。
现在说您按如下方式布置UV坐标:
(-1, -1) (2, -1)
o----------o
| |
o----------o
(-1, 2) (2, 2)
怎么了?没有正确的方法将这些坐标映射到纹理,因为它们不在我们的[0,1]范围内!
答案是,您必须通过指定
WRAP
或CLAMP
采样器状态来告诉设备正确的方法。CLAMP
状态将纹理坐标限制在[0,1]范围内;坐标超出此范围的像素将显示最接近的有效纹理像素。另一方面,
WRAP
状态假定纹理坐标是循环的。 1.5的坐标将被视为0.5,-0.25的坐标将被视为0.75,依此类推。这将导致纹理包裹,使其具有平铺外观。