QRhiReadbackDescription 类

描述一个读取操作(从可能的仅 GPU 内存中读取纹理内容)。更多...

头文件 #include <QRhiReadbackDescription>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
Qt 6.6

公共函数

QRhiReadbackDescription()
QRhiReadbackDescription(QRhiTexture *texture)
intlayer() const
intlevel() const
voidsetLayer(int layer)
voidsetLevel(int level)
voidsetTexture(QRhiTexture *tex)
QRhiTexture *texture() const

详细描述

读取操作的来源可以是 QRhiTexture 或当前目标的 QRhiSwapChain 的当前后备缓冲区。当未设置 texture() 时,将使用 swapchain。否则,指定的 QRhiTexture 被视为来源。

注意: 用于读取的纹理必须使用 QRhiTexture::UsedAsTransferSource 创建。

注意: 用于读取的 swapchain 必须使用 QRhiSwapChain::UsedAsTransferSource 创建。

layer() 和 level() 仅在来源是 QRhiTexture 时适用。

注意: 多采样纹理无法读取。但是,多采样 swapchain 缓冲区的读取是受支持的。

注意: 这是一个 RHI API,具有有限的兼容性保证,有关详细信息,请参阅 QRhi

成员函数说明

[constexpr noexcept] QRhiReadbackDescription::QRhiReadbackDescription()

构建一个空的纹理读取描述。

注意: 默认情况下,源纹理被设置为 null,这仍然是一个有效的读取:它指定要读取当前 swapchain 的后备缓冲区。(当前意味着在提交具有 QRhiResourceUpdateBatch纹理读取QRhiResourceUpdateBatch 时的帧目标 swapchain)

QRhiReadbackDescription::QRhiReadbackDescription(QRhiTexture *texture)

构造一个纹理读取描述,指定读取纹理中层0的级别0。

注意:纹理也可以为null,在这种情况下,此构造函数与无参数变体相同。

int QRhiReadbackDescription::layer() const

返回当前设置的数组层(立方体贴图面、数组索引)。默认为0。

仅适用于读取来源为QRhiTexture时。

另请参阅:setLayer()。

int QRhiReadbackDescription::level() const

返回当前设置的MIP级别。默认为0。

仅适用于读取来源为QRhiTexture时。

另请参阅:setLevel()。

void QRhiReadbackDescription::setLayer(int layer)

设置要读取的数组

另请参阅:layer()。

void QRhiReadbackDescription::setLevel(int level)

设置要读取的MIP级别

另请参阅:level()。

void QRhiReadbackDescription::setTexture(QRhiTexture *tex)

将纹理tex设置为读取操作的源。

设置nullptr也是有效的,在这种情况下,使用当前交换链的当前后缓冲区。(但是,在这种情况下不能在基于非交换链的帧中发出读取操作)

注意: 多采样纹理无法读取。但是,多采样 swapchain 缓冲区的读取是受支持的。

注意: 用于读取的纹理必须使用 QRhiTexture::UsedAsTransferSource 创建。

注意: 用于读取的 swapchain 必须使用 QRhiSwapChain::UsedAsTransferSource 创建。

另请参阅:texture()。

QRhiTexture *QRhiReadbackDescription::texture() const

返回被读取的QRhiTexture。可以设置为nullptr,这表示将使用当前交换链的后缓冲区。(但是,在这种情况下不能在基于非交换链的帧中发出读取操作)

另请参阅:setTexture()。

© 2024 Qt公司有限公司。此文档中的文档贡献归其各自所有者所有。提供的文档受GNU自由文档许可证1.3版的条款许可,由自由软件基金会发布。Qt及其 respective标志是芬兰和全球其他国家的Qt公司的商标。所有其他商标都是其各自所有者的财产。