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



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

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

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

最新更新