Qt3DRender::QNoDraw Class
class Qt3DRender::QNoDraw当 FrameGraph 分支中出现Qt3DRender::QNoDraw 节点时,渲染器将无法渲染任何基元。更多
头文件: | #include <QNoDraw> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
在 QML 中: | NoDraw |
继承: | Qt3DRender::QFrameGraphNode |
状态: | 已废弃 |
公共函数
QNoDraw(Qt3DCore::QNode *parent = nullptr) |
详细说明
Qt3DRender::QNoDraw 应在 FrameGraph 需要设置一些渲染状态或清除一些缓冲区而不需要绘制任何网格时使用。它具有与 相同的效果,即该 与场景中任何可用的 实例都不匹配,而不会产生实际执行过滤的开销成本。Qt3DRender::QRenderPassFilter Qt3DRender::QRenderPass
禁用时,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); ....
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.