QForwardRenderer 类
class Qt3DExtras::QForwardRendererQForwardRenderer 提供了一个前向渲染器的默认 帧图 实现。更多...
头文件 | #include <QForwardRenderer> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3dextras) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
qmake | QT += 3dextras |
由以下实例化 | ForwardRenderer |
继承 | Qt3DRender::QTechniqueFilter |
属性
|
|
公共函数
Qt3DRender::QClearBuffers::BufferType | buffersToClear() const |
Qt3DCore::QEntity * | camera() const |
QColor | clearColor() const |
QSize | externalRenderTargetSize() const |
float | gamma() const |
bool | isFrustumCullingEnabled() const |
bool | showDebugOverlay() const |
QObject * | surface() const |
QRectF | viewportRect() const |
公共槽
void | setBuffersToClear(Qt3DRender::QClearBuffers::BufferType) |
void | setCamera(Qt3DCore::QEntity *camera) |
void | setClearColor(const QColor &clearColor) |
void | setExternalRenderTargetSize(const QSize &size) |
void | setFrustumCullingEnabled(bool enabled) |
void | setGamma(float gamma) |
void | setShowDebugOverlay(bool showDebugOverlay) |
void | setSurface(QObject *surface) |
void | setViewportRect(const QRectF &viewportRect) |
信号
void | buffersToClearChanged(Qt3DRender::QClearBuffers::BufferType) |
void | cameraChanged(Qt3DCore::QEntity *camera) |
void | clearColorChanged(const QColor &clearColor) |
void | externalRenderTargetSizeChanged(const QSize &size) |
void | frustumCullingEnabledChanged(bool enabled) |
void | gammaChanged(float gamma) |
void | showDebugOverlayChanged(bool showDebugOverlay) |
void | surfaceChanged(QObject *surface) |
void | viewportRectChanged(const QRectF &viewportRect) |
详细描述
前向渲染是OpenGL传统上使用的渲染方法。它直接在后台缓冲区中逐个渲染对象,并在每个对象上应用着色。
QForwardRenderer是一个单叶FrameGraph树,其中包含一个Qt3DRender::QViewport,一个Qt3DRender::QCameraSelector,以及一个Qt3DRender::QClearBuffers。QForwardRenderer有一个默认的筛选器键,键名为"renderingStyle",值为"forward"。如果您需要筛选方案,请基于此筛选器键进行。
默认情况下,视口占用整个屏幕,清除颜色为白色。还启用了视锥剔除。
属性文档
buffersToClear : Qt3DRender::QClearBuffers::BufferType
保留要清除的当前缓冲区。默认值为ColorDepthBuffer
访问函数
Qt3DRender::QClearBuffers::BufferType | buffersToClear() const |
void | setBuffersToClear(Qt3DRender::QClearBuffers::BufferType) |
通知器信号
void | buffersToClearChanged(Qt3DRender::QClearBuffers::BufferType) |
camera : Qt3DCore::QEntity*
保留用于渲染场景的当前相机实体。
注意:相机是一个具有QCameraLens作为其组件之一的QEntity。
访问函数
Qt3DCore::QEntity * | camera() const |
void | setCamera(Qt3DCore::QEntity *camera) |
通知器信号
void | cameraChanged(Qt3DCore::QEntity *camera) |
clearColor : QColor
保留场景的当前清除颜色。在渲染之前,帧缓冲区被初始化为清除颜色。
访问函数
QColor | clearColor() const |
void | setClearColor(const QColor &clearColor) |
通知器信号
void | clearColorChanged(const QColor &clearColor) |
externalRenderTargetSize : QSize
包含外部渲染目标的尺寸。当渲染不针对窗口表面(如surface中的设置)时,相关外部渲染目标。
访问函数
QSize | externalRenderTargetSize() const |
void | setExternalRenderTargetSize(const QSize &size) |
通知器信号
void | externalRenderTargetSizeChanged(const QSize &size) |
frustumCulling : bool
指示渲染器是否将视锥体裁剪应用于场景。
访问函数
bool | isFrustumCullingEnabled() const |
void | setFrustumCullingEnabled(bool enabled) |
通知器信号
void | frustumCullingEnabledChanged(bool enabled) |
gamma : float
包含将应用于场景的伽玛值。
访问函数
float | gamma() const |
void | setGamma(float gamma) |
通知器信号
void | gammaChanged(float gamma) |
showDebugOverlay : bool
如果为真,将在场景上渲染调试覆盖层。它将显示关于运行时渲染状态的详细信息,让用户开启和关闭日志等。
访问函数
bool | showDebugOverlay() const |
void | setShowDebugOverlay(bool showDebugOverlay) |
通知器信号
void | showDebugOverlayChanged(bool showDebugOverlay) |
surface : QObject*
包含当前渲染表面。
访问函数
QObject * | surface() const |
void | setSurface(QObject *surface) |
通知器信号
void | surfaceChanged(QObject *surface) |
viewportRect : QRectF
包含当前归一化视口矩形。
访问函数
QRectF | viewportRect() const |
void | setViewportRect(const QRectF &viewportRect) |
通知器信号
void | viewportRectChanged(const QRectF &viewportRect) |
© 2024 The Qt Company Ltd. 本文档中包含的贡献的文档版权属于其各自的拥有者。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可第1.3版的条款许可的。Qt及其相关徽标是The Qt Company Ltd在芬兰和/或其他国家的商标。所有其他商标均是各自所有者的财产。