2

我正在尝试掌握 HLSL ...我了解如何指定特定像素以从中获取纹理颜色,但这会忽略色调,使用COLOR0作为函数的输入我可以获得像素的色调但是..据我所知,我无法访问我认为会被调用的某种属性,COLORCOORD0以便我可以获取周围像素的颜色。

您将如何从函数当前处理的像素以外的像素中获取颜色?

另外,x 和 y 坐标使用什么单位?如果我没记错的话,我记得很久以前读过那{0f, 0f}将是窗口的中心,{-1f, -1f}将是左上角,{1f, 1f}将是右下角;它是否正确?这是否意味着您的着色器会因人而异,具体取决于他们使用的游戏窗口的大小?

4

2 回答 2

1

XNA Bloom Sample是您寻找如何进行模糊的好例子的地方。

基本上,您将场景渲染到渲染目标。通过一个方向(水平或垂直)的多次点击模糊着色器将其反弹到另一个目标,然后通过另一个方向的模糊着色器将其绘制到屏幕上。

您还可以将采样降低到一半大小,然后进行上采样,使用双线性过滤来获得额外的模糊,而无需更多的纹理采样。

于 2012-09-04T05:41:18.503 回答
1

您需要首先将(未模糊的)场景渲染为纹理,然后,要绘制模糊场景,从该纹理中的周围点查找值以便能够执行此操作。

(按照建议移至答案)。

于 2012-09-04T08:21:44.130 回答