wpf – 如何在像素着色器中访问先前着色的纹理?


WPF中,我想使用像素着色器来修改合成图像,即覆盖在先前阴影图像之上的新图像.除了有数据(想想数学函数 – 正弦波等)之外,新图像作为一个很大程度上透明的图像出现.无论如何,这个过程需要非常快速地重复 – 用新图像组合当前着色的纹理,然后对合成图像进行着色.问题是我不知道如何从我的着色器中访问以前的着色纹理. 最佳答案 基本上,您需要在着色器中添加Texture2D变量,然后将该参数设置为您在绘制新参数之前需要访问的纹理(我不确定WPF中的该过程).你做这样的事情:

//blahblahblah variables here
Texture2D PreviousTexture;
Sampler PreviousTextureSampler = Sampler2D { Texture = PreviousTexture; };
//blahblahblah code here

然后你可以用tex2D调用对纹理进行采样.

点赞