大家好。我想知道是否有人知道HLSL纹理采样函数的复杂性,比如tex2d和DX10/11等效项。如果纹理所在的位置是像素数组,那么访问像素的复杂度是恒定不变的,但它使用UV来访问像素,所以我不知道函数的复杂度。有人知道吗?
发布于 2013-02-07 16:39:00
O(1)
我不知道HLSL采样在内部是如何工作的,但我最近为一个自定义网格类构建了自己的(正在工作的)采样器。性能差异是由插值方法的选择引起的:
点采样器
点采样器使用nearest-neighbour interpolation。当然,该算法的性能非常好,因为UV只是简单地四舍五入到最接近的整数像素索引。
线性采样器
这种方式会产生更好的效果,因为它使用了linear interpolation。假设UV指向四个像素之间的位置。然后在正方形的顶部像素上执行lerp,在底部像素上执行另一个,并在结果上执行第三个像素。由于这种滤波涉及4个像素和12个浮点插值,因此速度不如点采样。
各向异性采样器
各向异性过滤器产生(当前)最高质量的结果。它是可用类型中最慢的。

https://stackoverflow.com/questions/14742653
复制相似问题