渲染到屏幕外表面时可以使用像素着色器吗?

时间:2008-10-19 20:04:42

标签: wpf direct3d pixel-shader

我正在考虑通过新描述的D3DImage将一些D3D代码与WPF集成 here:

我的问题是:像素着色器是否在屏幕外表面上工作?

3 个答案:

答案 0 :(得分:6)

渲染到屏幕外表面通常不如直接渲染到后台缓冲区。使用带有D3DImage的屏幕外表面的唯一限制是它必须采用32位RGB / ARGB格式(取决于您的平台)。除此之外,硬件所提供的一切都可供您使用。

事实上,大量的着色器效果利用了屏幕外表面进行多通道或全屏幕后处理。

答案 1 :(得分:1)

我不知道WPF是否有任何特殊之处,但总的来说,像素着色器可用于屏幕外表面。

答案 2 :(得分:0)

对于某些效果,需要渲染到不同的表面 - 例如,在着色器渲染场景前面的玻璃折射。像素着色器无法访问当前屏幕内容,因此视图必须首先渲染到缓冲区,然后在折射着色器传递中用作纹理,以便它可以从计算的像素以外的像素中获取背景颜色。 / p>