我正在使用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()
来获取具有相同格式的纹理。如何使用不同的格式创建纹理?
答案 0 :(得分:0)
这是不可能的。纹理本身必须具有相同的数据类型。
但是,您可以创建无类型纹理,并使用特定视图来访问数据,就像它具有特定格式一样。请参阅Strong vs Weak Typing。