【问题标题】:Can pixel shaders be used when rendering to an offscreen surface?渲染到屏幕外表面时可以使用像素着色器吗?
【发布时间】:2008-10-19 20:04:42
【问题描述】:

我正在考虑通过新的 D3DImage 将我拥有的一些 D3D 代码与 WPF 集成,如所述 here:

我的问题是:像素着色器在离屏表面上工作吗?

【问题讨论】:

    标签: wpf direct3d pixel-shader


    【解决方案1】:

    渲染到屏幕外表面通常比直接渲染到后台缓冲区的限制更少。将屏幕外表面与 D3DImage 一起使用的唯一限制是它必须是 32 位 RGB/ARGB 格式(取决于您的平台)。除此之外,硬件所提供的一切都由您随意支配。

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

    【讨论】:

      【解决方案2】:

      我不知道 WPF 是否有什么特别之处,但总的来说是的,像素着色器可以在屏幕外的表面上工作。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-06-25
          • 2012-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-10
          • 1970-01-01
          相关资源
          最近更新 更多