【问题标题】:XNA Rendering to a Texture2DXNA 渲染到 Texture2D
【发布时间】:2011-08-06 23:40:37
【问题描述】:

那么我如何将一个texture2d 渲染到另一个呢?我很确定它是可能的。

【问题讨论】:

    标签: c# xna texture2d


    【解决方案1】:

    【讨论】:

    • 不错的文章。但是它说“最后一行检索渲染目标的内容并将其放入我们的纹理中!”。这似乎是一个常见的混乱来源。在 XNA 4.0 中,RenderTarget2D 是 Texture2D。如果您想要一份数据副本,您必须将其实际复制出来(即:GetData/SetData);您不能只将其转换为 Texture2D,因为它仍然是同一个渲染目标。
    • @Andrew 但是,如果您不需要访问数据,您可以将渲染目标视为 Texture2D,例如将其传递给 SpriteBatch.Draw。只是想确保澄清这一点。
    • 当然。我刚刚看到有几个人认为将其转换为 Texture2D 的行为会创建一个副本 - 它不会。
    【解决方案2】:

    我认为这样做可以:

        Color[] bits = new Color[TextureSource.Width * TextureSource.Height];
        TextureSource.GetData(bits);
        TextureCopy.SetData(bits);
    

    如果我明白你所说的正确渲染的意思。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多