2013-03-22 54 views
1

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

换一种方式:

// 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

纹理本身必须是相同的数据类型。但是,您可以创建无类型纹理并使用特定视图来访问数据。 – 2013-03-22 22:28:00

+0

@NicoSchertler感谢您的评论。我一开始并不理解无纹理的纹理,但经过一堆阅读和试验后,我发现你完全正确。 – shoelzer 2013-03-25 18:01:58

回答

0

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

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

相关问题