【问题标题】:XNA: How to get the BackBuffer RenderTargetXNA:如何获取 BackBuffer RenderTarget
【发布时间】:2011-12-11 12:53:40
【问题描述】:

在 XNA 中,我需要获取对 BackBufferRenderTarget(2D) 的引用,以便将其绘制为纹理或将其 Usage 更改为 Usage.PreserveContents,是否有任何方法允许我要这样做吗?

【问题讨论】:

  • 您能否更改您的绘图代码以绘制到具有保留内容的纹理,然后将其绘制到每帧的后备缓冲区?那应该更快。我依稀记得在 XNA 4.0 中获取后缓冲纹理的速度非常慢(如果可以的话)。

标签: c# xna directx


【解决方案1】:

查看this blog post,了解 XNA 4.0 中 ResolveBackBuffer 发生了什么。

基本上,您应该只使用渲染目标。

如果你真的需要后台缓冲区,你可以使用GetBackBufferData。但它只适用于 HiDef 配置文件。

如果需要修改back-buffer的RenderTargetUsage,需要回复PreparingDeviceSettings,修改GraphicsDeviceInformation.PresentationParameters.RenderTargetUsage。 (这在this blog post中有解释。)

请注意,不建议将其更改为远离默认值。正确的解决方案是修复设置和绘制到渲染目标的顺序。

【讨论】:

    猜你喜欢
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2017-02-14
    相关资源
    最近更新 更多