0

我在 d3d11 中创建两个 2dtexture,如下所示: m_device->CreateTexture2D(&D3D11Tex, NULL, &tex1); m_device->CreateTexture2D(&D3D11Tex, NULL, &tex2);

D3D11Tex.ArraySize = 1;//目前使用我读到这个值可以保持为二。

但是我们如何获得 2 个纹理。将 ArraSize 保持为 2 会给我 tex1 和 tex2 中的两个纹理吗?或者 tex1 是大小为 2 的数组。

对此的任何帮助表示赞赏。提前致谢。

4

1 回答 1

0

tex1并且tex2是必须绑定到不同着色器资源槽的独立资源。如果将其中一个设为 2D 纹理数组,您仍将拥有两个着色器资源,其中只有一个在一个数组中有两个 2D 纹理的空间。

请注意,2D 纹理数组需要功能级别 10.0 或更高的硬件。在具有功能级别 9.1、9.2 或 9.3 设备(即 Surface RT、Surface RT 2、Windows phone 8、Shader Model 2.0 视频卡等)的系统上,调用将失败。

于 2015-09-30T18:51:45.460 回答