1
6
我看到你的代码的直接问题是你正在将一个材质球应用到线条本身。像素着色器并不是真的那样工作。不能与被着色像素周围的任何像素交互。所有你得到的是寄存器(位置,颜色,纹理坐标等)和采样器(纹理)的一个像素,正在输出。 要解决此问题,执行模糊效果(例如对于辉光或布鲁姆)的基本过程是将要模糊的场景绘制到渲染目标。然后将该渲染目标用作使用模糊着色器绘制的全屏四边形上的纹理。一个简单的模糊着色器从该纹理获取多个采样-每个采样都有一个稍微偏移的纹理坐标。结果是纹理的模糊图像。 通常重复此过程(现在将render-target-on-a-full-screen-quad渲染到另一个渲染目标),水平和垂直进行一次模糊处理,以使用最少的采样数获得最模糊的效果。 我建议你看看 XNA Bloom Sample . 这里有关于这个过程的更广泛的文档。虽然API是XNA,而不是DirectX,但它们非常相似,都使用HLSL。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |