【发布时间】:2011-10-11 15:33:02
【问题描述】:
每次我喝醉浏览时,我都会看到一个未回答的fwidth 问题。
这让我想知道它的实际设计目的是什么。
阅读文档是:
abs(dFdx(p)) + abs(dFdy(p))
所以 max(dx,dy) 不是经典的 mip 选择。
是否用于替代 mip 选择?但我找不到abs(dx) + abs(dy) 会更好的情况。
一定有一些我完全想念的签名纸或通用算法使用该功能。它一定很受欢迎,因为它进入了 GLSL。
我唯一能想到的是我缺少一些 2d 后置过滤器。
但是什么?
我相信这里有人知道,一旦你看到它就很明显了。
那么:abs(dx) + abs(dy)使用什么算法?
【问题讨论】:
-
你提到的二维后过滤实际上是一个不错的例子。
-
任你挑选。抗锯齿、边缘检测、各向异性过滤。实际上,经过一些 Google 搜索后,我发现了一个使用 here 的示例,它用于 cel 着色着色器的抗锯齿。
-
现在在 cmets 中聊天 :) 我也发现了这些东西,但它似乎还不够重要,不足以使其成为语言。一定有别的东西!对于 2d,我唯一能想到的就是这可能是一个不错的预测。我仍然觉得它有一些明显的东西。
-
@starmole:仅仅因为它对你来说“看起来不重要”并不意味着它不重要。 Bart 为您提供了 4 个场景,其中该函数将是有价值的。无论如何,这应该是一个答案。
-
@starmole 我不知道你希望它有多神奇,才能算重要?在与我提到的场景类似的场景中,它是一种经常使用的函数类型。我不知道它归结为发送到 GPU 的实际“代码”的具体细节,但我可以想象这个单一函数相对于自己评估对 dFdx 和 dFdy 的调用的一些优势。但这纯粹是我的猜测。
标签: opengl graphics rendering glsl shader