获得像TEXCOORD0这样的模糊颜色坐标



我正在努力掌握HLSL。。。我理解如何指定一个特定的像素来提取纹理颜色,但这忽略了色调,使用COLOR0作为函数的输入,我可以获得像素的色调。。据我所知,我无法访问我认为称为COLORCOORD0的某种属性,这样我就可以获取周围像素的色调。

如何从函数当前处理的像素以外的像素中提取色调?

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

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

(按建议动议答复)。

XNA Bloom Sample是一个很好的模糊示例。

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

您也可以将采样缩小到一半,然后再进行上采样,使用双线性滤波来获得额外的模糊,而不需要更多的纹理采样。

最新更新