QRenderStateSet Class

class Qt3DRender::QRenderStateSet

QRenderStateSetFrameGraph ノードは、フレームグラフ分岐の実行中に適用されるQRenderState オブジェクトのセットを指定する方法を提供します。詳細...

Header: #include <QRenderStateSet>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: RenderStateSet
Inherits: Qt3DRender::QFrameGraphNode
Status: Deprecated

パブリック関数

void addRenderState(Qt3DRender::QRenderState *state)
void removeRenderState(Qt3DRender::QRenderState *state)
QList<Qt3DRender::QRenderState *> renderStates() const

詳細説明

QRenderStateSet に設定された状態は、QRenderPass に設定できるマテリアルごとの状態とは逆に、グローバルに設定されます。 デフォルトでは、空の QRenderStateSet は、実行時にすべてのレンダリング状態が無効になります。QRenderState ステートを追加すると、実行時にそのレンダリングステートが明示的に有効になります。

RenderStateSet は、アクティブなフレームグラフに追加されると有効になります:

// using namespace Qt3DRender;

Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity();

QRenderSettings *renderSettings = new QRenderSettings();

QViewport *viewport = new QViewport();
QCameraSelector *cameraSelector = new QCameraSelector(viewport);

QClearBuffers *clearBuffers = new QClearBuffers(cameraSelector);
clearBuffers->setBuffers(QClearBuffers::ColorDepthBuffer);

QRenderStateSet *renderStateSet = new QRenderStateSet(cameraSelector);
QCullFace *cullFace = new QCullFace(renderStateSet);
cullFace->setMode(QCullFace::Front);
renderStateSet->addRenderState(cullFace);

renderSettings->setActiveFrameGraph(viewport);

rootEntity->addComponent(renderSettings);

QRenderState およびQRenderPassも参照してください

メンバ関数 ドキュメント

void QRenderStateSet::addRenderState(Qt3DRender::QRenderState *state)

QRenderStateSet インスタンスに新しいQRenderState state を追加します。

注意: QRenderStateSet インスタンスにQRenderState の状態を設定しないと、レンダリング時にすべてのレンダリング状態が無効になります。

void QRenderStateSet::removeRenderState(Qt3DRender::QRenderState *state)

QRenderStateSet インスタンスからQRenderState state を削除します。

QList<Qt3DRender::QRenderState *> QRenderStateSet::renderStates() const

QRenderStateSet インスタンスを構成するQRenderState オブジェクトのリストを返します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。