QForwardRenderer 类

class Qt3DExtras::QForwardRenderer

QForwardRenderer 提供了一个前向渲染器的默认 帧图 实现。更多...

头文件 #include <QForwardRenderer>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmakeQT += 3dextras
由以下实例化 ForwardRenderer
继承 Qt3DRender::QTechniqueFilter

属性

公共函数

Qt3DRender::QClearBuffers::BufferTypebuffersToClear() const
Qt3DCore::QEntity *camera() const
QColorclearColor() const
QSizeexternalRenderTargetSize() const
floatgamma() const
boolisFrustumCullingEnabled() const
boolshowDebugOverlay() const
QObject *surface() const
QRectFviewportRect() const

公共槽

voidsetBuffersToClear(Qt3DRender::QClearBuffers::BufferType)
voidsetCamera(Qt3DCore::QEntity *camera)
voidsetClearColor(const QColor &clearColor)
voidsetExternalRenderTargetSize(const QSize &size)
voidsetFrustumCullingEnabled(bool enabled)
voidsetGamma(float gamma)
voidsetShowDebugOverlay(bool showDebugOverlay)
voidsetSurface(QObject *surface)
voidsetViewportRect(const QRectF &viewportRect)

信号

voidbuffersToClearChanged(Qt3DRender::QClearBuffers::BufferType)
voidcameraChanged(Qt3DCore::QEntity *camera)
voidclearColorChanged(const QColor &clearColor)
voidexternalRenderTargetSizeChanged(const QSize &size)
voidfrustumCullingEnabledChanged(bool enabled)
voidgammaChanged(float gamma)
voidshowDebugOverlayChanged(bool showDebugOverlay)
voidsurfaceChanged(QObject *surface)
voidviewportRectChanged(const QRectF &viewportRect)

详细描述

前向渲染是OpenGL传统上使用的渲染方法。它直接在后台缓冲区中逐个渲染对象,并在每个对象上应用着色。

QForwardRenderer是一个单叶FrameGraph树,其中包含一个Qt3DRender::QViewport,一个Qt3DRender::QCameraSelector,以及一个Qt3DRender::QClearBuffers。QForwardRenderer有一个默认的筛选器键,键名为"renderingStyle",值为"forward"。如果您需要筛选方案,请基于此筛选器键进行。

默认情况下,视口占用整个屏幕,清除颜色为白色。还启用了视锥剔除。

属性文档

buffersToClear : Qt3DRender::QClearBuffers::BufferType

保留要清除的当前缓冲区。默认值为ColorDepthBuffer

访问函数

Qt3DRender::QClearBuffers::BufferTypebuffersToClear() const
voidsetBuffersToClear(Qt3DRender::QClearBuffers::BufferType)

通知器信号

voidbuffersToClearChanged(Qt3DRender::QClearBuffers::BufferType)

camera : Qt3DCore::QEntity*

保留用于渲染场景的当前相机实体。

注意:相机是一个具有QCameraLens作为其组件之一的QEntity。

访问函数

Qt3DCore::QEntity *camera() const
voidsetCamera(Qt3DCore::QEntity *camera)

通知器信号

voidcameraChanged(Qt3DCore::QEntity *camera)

clearColor : QColor

保留场景的当前清除颜色。在渲染之前,帧缓冲区被初始化为清除颜色。

访问函数

QColorclearColor() const
voidsetClearColor(const QColor &clearColor)

通知器信号

voidclearColorChanged(const QColor &clearColor)

externalRenderTargetSize : QSize

包含外部渲染目标的尺寸。当渲染不针对窗口表面(如surface中的设置)时,相关外部渲染目标。

访问函数

QSizeexternalRenderTargetSize() const
voidsetExternalRenderTargetSize(const QSize &size)

通知器信号

voidexternalRenderTargetSizeChanged(const QSize &size)

frustumCulling : bool

指示渲染器是否将视锥体裁剪应用于场景。

访问函数

boolisFrustumCullingEnabled() const
voidsetFrustumCullingEnabled(bool enabled)

通知器信号

voidfrustumCullingEnabledChanged(bool enabled)

gamma : float

包含将应用于场景的伽玛值。

访问函数

floatgamma() const
voidsetGamma(float gamma)

通知器信号

voidgammaChanged(float gamma)

showDebugOverlay : bool

如果为真,将在场景上渲染调试覆盖层。它将显示关于运行时渲染状态的详细信息,让用户开启和关闭日志等。

访问函数

boolshowDebugOverlay() const
voidsetShowDebugOverlay(bool showDebugOverlay)

通知器信号

voidshowDebugOverlayChanged(bool showDebugOverlay)

surface : QObject*

包含当前渲染表面。

访问函数

QObject *surface() const
voidsetSurface(QObject *surface)

通知器信号

voidsurfaceChanged(QObject *surface)

viewportRect : QRectF

包含当前归一化视口矩形。

访问函数

QRectFviewportRect() const
voidsetViewportRect(const QRectF &viewportRect)

通知器信号

voidviewportRectChanged(const QRectF &viewportRect)

© 2024 The Qt Company Ltd. 本文档中包含的贡献的文档版权属于其各自的拥有者。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可第1.3版的条款许可的。Qt及其相关徽标是The Qt Company Ltd在芬兰和/或其他国家的商标。所有其他商标均是各自所有者的财产。