【发布时间】:2008-10-19 20:04:42
【问题描述】:
我正在考虑通过新的 D3DImage 将我拥有的一些 D3D 代码与 WPF 集成,如所述 here:
我的问题是:像素着色器在离屏表面上工作吗?
【问题讨论】:
标签: wpf direct3d pixel-shader
我正在考虑通过新的 D3DImage 将我拥有的一些 D3D 代码与 WPF 集成,如所述 here:
我的问题是:像素着色器在离屏表面上工作吗?
【问题讨论】:
标签: wpf direct3d pixel-shader
渲染到屏幕外表面通常比直接渲染到后台缓冲区的限制更少。将屏幕外表面与 D3DImage 一起使用的唯一限制是它必须是 32 位 RGB/ARGB 格式(取决于您的平台)。除此之外,硬件所提供的一切都由您随意支配。
事实上,大量着色器效果利用屏幕外表面进行多通道或全屏后期处理。
【讨论】:
我不知道 WPF 是否有什么特别之处,但总的来说是的,像素着色器可以在屏幕外的表面上工作。
【讨论】:
对于某些效果,需要渲染到不同的表面 - 例如,在着色器渲染的场景前进行玻璃折射。像素着色器无法访问当前屏幕内容,因此必须首先将视图渲染到缓冲区,然后将其用作折射着色器通道中的纹理,以便它可以从正在计算的像素以外的像素获取背景颜色。
【讨论】: