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

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

有帮助吗?

解决方案

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

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

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top