QNoDraw 类
class Qt3DRender::QNoDraw当一个 Qt3DRender::QNoDraw 节点存在于 FrameGraph 分支中时,这将阻止渲染器渲染任何原始图形。 更多...
头文件 | #include <QNoDraw> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake | QT += 3drender |
实例化自 | 无绘制 |
继承自 | Qt3DRender::QFrameGraphNode |
公共函数
QNoDraw(Qt3DCore::QNode *parent = nullptr) |
详细描述
Qt3DRender::QNoDraw 应在 FrameGraph 需要设置一些渲染状态或清除一些缓冲区,而不需要绘制任何网格时使用。它具有与拥有不匹配场景中任何可用 Qt3DRender::QRenderPass 实例的 Qt3DRender::QRenderPassFilter 相同的效果,但实际上进行过滤的开销很低。
当禁用时,一个 Qt3DRender::QNoDraw 节点不会阻止场景渲染。因此,切换启用属性是一个使 Qt3DRender::QNoDraw 激活或不活跃的方法。
通常将 Qt3DRender::QNoDraw 作为 Qt3DRendeR::QClearBuffers 节点的子节点使用,以防止在存在多个渲染通道时绘制场景。
Qt3DRender::QViewport *viewport = new Qt3DRender::QViewport(); Qt3DRender::QCameraSelector *cameraSelector = new Qt3DRender::QCameraSelector(viewport); Qt3DRender::QClearBuffers *clearBuffers = new Qt3DRender::QClearBuffers(cameraSelector); clearBuffers->setBuffers(Qt3DRender::QClearBuffers::ColorDepthBuffer); Qt3DRender::QNoDraw *noDraw = new Qt3DRender::QNoDraw(clearBuffers); Qt3DRender::QRenderPassFilter *mainPass = new Qt3DRender::QRenderPassFilter(cameraSelector); .... Qt3DRender::QRenderPassFilter *previewPass = new Qt3DRender::QRenderPassFilter(cameraSelector); ....
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。本提供的文档由自由软件基金会根据 GNU 自由文档许可协议版本 1.3 许可。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰和/或世界其他地区的商标。所有其他商标均为其各自所有者的财产。