gpt4 book ai didi

c++ - D3D11_BUFFER_SRV - 如何使用它?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:01 25 4
gpt4 key购买 nike

在 DirectX11 中,在为缓冲区创建着色器资源 View 时;我们必须填写 D3D11_BUFFER_SRV 结构。

结构如下:

typedef struct D3D11_BUFFER_SRV {
union {
UINT FirstElement;
UINT ElementOffset;
};
union {
UINT NumElements;
UINT ElementWidth;
};
} D3D11_BUFFER_SRV;

我似乎找不到任何文档来说明我应该使用每个 union 中的哪个字段以及何时使用,甚至找不到它们的真正含义。 MSDN 页面 ( http://msdn.microsoft.com/en-us/library/windows/desktop/ff476094%28v=vs.85%29.aspx ) 对每个字段都提供了相当明显的描述,但没有太大帮助。

最佳答案

据我所知,对于结构化缓冲区,D3D11 总是将这些 union 中的值解释为第一个索引条目数,这意味着您总是想使用FirstElementNumElements

ElementWidth 似乎不需要,因为元素大小已使用 D3D11_BUFFER_DESC::StructureByteStride 声明。此外,文档具有误导性,因为 FirstElement 实际上是第一个元素的索引,而不是字节偏移量。

其他两个值真的没有理由。我唯一的猜测是,此结构旨在用于其他地方,可能与说明如何解释 union 的标志结合使用,但我从未见过它以任何其他方式使用。

关于c++ - D3D11_BUFFER_SRV - 如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com