このページでは

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 が従来から採用している方式です。これは、オブジェクトを 1 つずつバックバッファに直接レンダリングし、その都度各オブジェクトのシェーディングを行います。

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.