本地缓冲区结构体

结构体 QRhiBuffer::NativeBuffer

包含有关缓冲区底层原生资源的信息。 更多...

公共变量

const void *[3]对象
intslotCount

详细描述

成员变量文档

const void *[3] NativeBuffer::objects

此变量包含一个指针数组的数组,指向原生对象句柄。

在 OpenGL 中,原生句柄是一个 GLuint 值,因此 objects 数组中的元素是指向 GLuint 的指针。在 Vulkan 中,原生句柄是一个 VkBuffer,因此数组的元素是指向 VkBuffer 的指针。在 Direct3D 11 和 Metal 中,元素是指向 ID3D11Buffer 或 MTLBuffer 指针的指针。在 Direct3D 12 中,元素是指向 ID3D12Resource 的指针。

注意:要注意的是,即使是原生类型本身是指针,这些元素始终是指向原生缓冲区句柄类型的指针。(因此,在 Vulkan 中,即使 VkBuffer 本身是 64 位架构中的指针,元素也是 VkBuffer *).

int NativeBuffer::slotCount

指定对象数组中的有效元素数。

实际值可以是 0、1、2 或 3。0 表示 QRhiBuffer 没有任何原生缓冲区对象。这种情况可以在 QRhiBuffer 使用 UniformBuffer 时发生,如果底层 API 不支持(或后端选择不使用)原生统一缓冲区。1 常用于不可变和静态类型(但某些后端可能不同)。2 或 3 在类型为动态时典型(但某些后端可能不同)。

另请参阅:QRhi::currentFrameSlot() 和 QRhi::FramesInFlight

© 2024 The Qt Company Ltd. 本文件包含的文档贡献是该所有者的版权。此处提供的文档受 GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为其所有者的财产。