在着色器中检测背景颜色

时间:2013-07-17 07:51:39

标签: shader xna-4.0 hlsl

是否可以(在着色器中)更改与背景颜色相同的像素颜色?

由于

编辑: 背景颜色为白色。因此,在Pixel Shader中将每个像素颜色与白色颜色进行比较是不可能的,如果相等则只需将其替换为所需的颜色?

1 个答案:

答案 0 :(得分:0)

是的,但只是间接的方式。您必须将场景渲染到渲染目标上。然后使用rendertarget作为输入纹理在后备缓冲区上渲染全屏幕,然后运行像素着色器,将通过着色器常量指定的颜色替换为另一种颜色。请记住,任何类型的多重采样都会导致边界出现光晕,因为背景颜色不再是原始颜色。