PySide6.Qt3DRender.Qt3DRender.QNoDraw

class QNoDraw

当FrameGraph分支中存在QNoDraw节点时,这会阻止渲染器渲染任何图元。更多

PySide6.Qt3DRender.Qt3DRender.QNoDraw 的继承图

概要

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QNoDraw 应该在 FrameGraph 需要设置一些渲染状态或清除一些缓冲区而不需要绘制任何网格时使用。它的效果与拥有一个不匹配场景中任何可用 QRenderPass 实例的 QRenderPassFilter 相同,但没有实际执行过滤的开销。

当禁用时,QNoDraw节点不会阻止场景的渲染。因此,切换启用属性是使QNoDraw激活或失效的一种方式。

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);
....
__init__([parent=None])
Parameters:

parentQNode

构造函数创建一个具有指定parent的实例。