【问题标题】:DirectX texture sharing: same data, different formats?DirectX 纹理共享:相同的数据,不同的格式?
【发布时间】:2013-03-28 21:31:06
【问题描述】:

我正在使用 SharpDX,但这确实是一个通用的 DirectX 问题。我有一个 D3D10 Texture2D。如何创建指向相同像素数据但指定不同像素格式的 D3D11 Texture2D?

换一种说法:

// These two textures need to share the same pixel data
D3D10.Texture2D tex10; // Description.Format = B8G8R8A8_UNorm
D3D11.Texture2D tex11; // Description.Format = R32_UInt

我知道如何获取 DXGI 资源接口,然后调用OpenSharedResource() 以获取具有相同格式的纹理。如何创建具有不同格式的纹理?

【问题讨论】:

  • 纹理本身必须是相同的数据类型。但是,您可以创建无类型纹理并使用特定视图来访问数据。
  • @NicoSchertler 感谢您的评论。一开始我对无类型纹理有点不理解,但是经过大量阅读和实验后,我发现您完全正确。

标签: directx sharpdx


【解决方案1】:

这是不可能的。纹理本身必须具有相同的数据类型。

但是,您可以创建无类型纹理,并使用特定视图访问数据,就好像它具有特定格式一样。见Strong vs Weak Typing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2023-03-07
    • 2023-03-03
    • 2011-02-26
    相关资源
    最近更新 更多