DirectX纹理共享:相同的数据,不同的格式?

时间:2013-03-22 21:32:22

标签: directx sharpdx

我正在使用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()来获取具有相同格式的纹理。如何使用不同的格式创建纹理?

1 个答案:

答案 0 :(得分:0)

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

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