이 페이지에서

Qt3DExtras::QForwardRenderer Class

class Qt3DExtras::QForwardRenderer

QForwardRenderer는 포워드 렌더러의 기본 FrameGraph 구현을 제공합니다. 더 보기...

헤더: #include <qforwardrenderer.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
QML에서: 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는 Qt3DRender::QViewport, Qt3DRender::QCameraSelector 및 Qt3DRender::QClearBuffers 를 포함하는 단일 리프 FrameGraph 트리입니다. 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)

Notifier 신호:

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

이 값이 true인 경우, 씬 위에 디버그 오버레이가 표시됩니다. 이 오버레이는 런타임 렌더링 상태에 대한 상세 정보를 표시하고, 사용자가 로깅을 켜거나 끌 수 있게 해줍니다.

액세스 함수:

bool showDebugOverlay() const
void setShowDebugOverlay(bool showDebugOverlay)

Notifier 시그널:

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)

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