QForwardRenderer Class

class Qt3DExtras::QForwardRenderer

QForwardRenderer는 포워드 렌더러의 기본 프레임 그래프 구현을 제공합니다. 더 보기...

Header: #include <QForwardRenderer>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
QML에서: ForwardRenderer
상속합니다: Qt3DRender::QTechniqueFilter
상태: Deprecated

속성

공용 기능

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는 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)

© 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.