D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT个实际定义?

时间:2013-08-14 16:37:07

标签: directx-11

常量缓冲区的D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT限制意味着它必须是最大D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT字节大小,还是它真的是一些元素?即最大字节大小为D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT *元素大小(16字节)?

1 个答案:

答案 0 :(得分:1)

这是可以在单个常量缓冲区中寻址的四个分量浮点向量的最大大小。它不是可以存储的许多任意数据元素,因为这取决于元素占用的矢量的组件数量。在回答您的问题时,是的,D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT*(4*sizeof(float))是可用于任何一个常量缓冲区的最大字节数。为什么你需要这些信息不是很清楚,但这里无论如何。

注:

DirectX 10和11就是这种情况,但11.1则不然。在DirectX 11.1中,可以创建大于限制(64K)的常量缓冲区,但不能一次更新。对于前4096个元素,必须使用* SetConstantBuffers以64K的块更新它们;对于任何最多4096个元素的集合,必须使用* SetConstantBuffers1更新它们。

相关问题