QRenderStateSet Class

class Qt3DRender::QRenderStateSet

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

ヘッダー #include <QRenderStateSet>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake QT += 3drender
QML で RenderStateSet
を継承しています: Qt3DRender::QFrameGraphNode
ステータス非推奨

パブリック関数

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 オブジェクトのリストを返します。

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