在WPF中,我想使用像素着色器来修改合成图像,即覆盖在先前阴影图像之上的新图像。除了有数据(想想数学函数 - 正弦波等)之外,新图像作为一个很大程度上透明的图像出现。无论如何,这个过程需要非常快速地重复 - 用新图像组合当前着色的纹理,然后对合成图像进行着色。问题是我不知道如何从我的着色器中访问以前着色的纹理。
答案 0 :(得分:2)
基本上,您需要在着色器中添加Texture2D
变量,然后将该参数设置为您在绘制新参数之前需要访问的纹理(我不确定WPF中的该过程)。你做这样的事情:
//blahblahblah variables here
Texture2D PreviousTexture;
Sampler PreviousTextureSampler = Sampler2D { Texture = PreviousTexture; };
//blahblahblah code here
然后您可以通过tex2D
调用对纹理进行采样。