【发布时间】:2010-05-17 16:10:13
【问题描述】:
在 WPF 中,我想使用像素着色器来修改合成图像,即覆盖在先前着色图像之上的新图像。新图像以基本上透明的图像出现,除了有数据的地方(想想数学函数 - 正弦波等)。无论如何,这个过程需要快速重复 - 用新图像组合当前着色的纹理,然后对合成图像进行着色。问题是我不知道如何从我的着色器中访问以前着色的纹理。
【问题讨论】:
标签: wpf shader pixel-shader
在 WPF 中,我想使用像素着色器来修改合成图像,即覆盖在先前着色图像之上的新图像。新图像以基本上透明的图像出现,除了有数据的地方(想想数学函数 - 正弦波等)。无论如何,这个过程需要快速重复 - 用新图像组合当前着色的纹理,然后对合成图像进行着色。问题是我不知道如何从我的着色器中访问以前着色的纹理。
【问题讨论】:
标签: wpf shader pixel-shader
基本上,您需要在着色器中添加一个Texture2D 变量,然后将该参数设置为您在绘制新纹理之前需要访问的纹理(我不确定 WPF 中的该过程)。你可以这样做:
//blahblahblah variables here
Texture2D PreviousTexture;
Sampler PreviousTextureSampler = Sampler2D { Texture = PreviousTexture; };
//blahblahblah code here
然后您可以使用tex2D 调用对纹理进行采样。
【讨论】: