首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >样本方法复杂度HLSL。O(1),O(n)?

样本方法复杂度HLSL。O(1),O(n)?
EN

Stack Overflow用户
提问于 2013-02-07 10:43:29
回答 1查看 981关注 0票数 2

大家好。我想知道是否有人知道HLSL纹理采样函数的复杂性,比如tex2d和DX10/11等效项。如果纹理所在的位置是像素数组,那么访问像素的复杂度是恒定不变的,但它使用UV来访问像素,所以我不知道函数的复杂度。有人知道吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-07 16:39:00

O(1)

我不知道HLSL采样在内部是如何工作的,但我最近为一个自定义网格类构建了自己的(正在工作的)采样器。性能差异是由插值方法的选择引起的:

点采样器

点采样器使用nearest-neighbour interpolation。当然,该算法的性能非常好,因为UV只是简单地四舍五入到最接近的整数像素索引。

线性采样器

这种方式会产生更好的效果,因为它使用了linear interpolation。假设UV指向四个像素之间的位置。然后在正方形的顶部像素上执行lerp,在底部像素上执行另一个,并在结果上执行第三个像素。由于这种滤波涉及4个像素和12个浮点插值,因此速度不如点采样。

各向异性采样器

各向异性过滤器产生(当前)最高质量的结果。它是可用类型中最慢的。

  • Texture filtering - Wikipedia
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14742653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档