QSSGRenderHelpers Class

QtQuick3D レンダラブルの設定とレンダリングのためのヘルパー関数を含むクラスです。詳細...

Header: #include <QSSGRenderHelpers>
Since: Qt 6.7

パブリックタイプ

enum class CreateFlag { None, Recurse, Steal }
flags CreateFlags

静的パブリックメンバー

QSSGPrepResultId commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)
QSSGRenderablesId createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)
QSSGPrepContextId prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)
void prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)
void renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

詳細説明

メンバー型ドキュメント

enum class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags.

定数説明
QSSGRenderHelpers::CreateFlag::None0デフォルト値。レンダブルは指定されたノードに対してのみ作成されます。
QSSGRenderHelpers::CreateFlag::Recurse0x1レンダラブルは各ノードとその子ノードに対して作成されます。
QSSGRenderHelpers::CreateFlag::Steal0x2レンダラブルはエンジンから取得され、QtQuick3D によってレンダリングされることはありません。

注意:{ QSSGRenderHelpers::CreateFlag::Steal}{Steal}フラグがセットされていない状態でQSSGRenderHelpers::createRenderables() を呼び出すと、ノードが複製され、QtQuick3D はそのノードのコピーを通常通りレンダリングします。

CreateFlags 型はQFlags<CreateFlag> の typedef です。CreateFlag 値の OR の組み合わせを格納します。

メンバ関数のドキュメント

[static] QSSGPrepResultId QSSGRenderHelpers::commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)

レンダラブルに必要な変更が行われると、データはレンダラの準備完了としてマークされます。

準備結果の ID を返します。

frameData prepId, 、renderablesId lodThreshold

prepareRenderables() およびrenderRenderables()も参照して ください。

[static] QSSGRenderablesId QSSGRenderHelpers::createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)

ノード ID のリストを受け取り、レンダラーでさらに処理できるレンダラブルを作成します。リストにノードがない場合、またはレンダリング可能なノードがない場合、返される ID は無効になります。

デフォルトでは、この関数は再帰処理を行わず、nodes の子もリストに含まれます。再帰を有効にするには、flags 引数にRecurse フラグを渡します。

作成されたレンダラブルの ID を返します。

frameData,prepId

CreateFlags およびprepareForRender()も参照してください

[static] QSSGPrepContextId QSSGRenderHelpers::prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)

prepareForRender()は、このレンダーエクステンションに関連するレンダーデータに関する情報を収集し、保存するためのコンテキストを作成します。

同じノードを複数回レンダリングするが、マテリアルやカメラが異なるなどプロパティが異なる場合は、新しいコンテキストが必要になります。1つのエクステンションに複数のコンテキストを作成するには、slot 引数を使用します。デフォルトのコンテキストはスロット0 に作成されます。

準備コンテキストへの ID を返します。

frameData ext を参照してください、cameraId

commit()も参照してください

[static] void QSSGRenderHelpers::prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)

renderRenderables を呼び出す前に、レンダラブルに必要な描画呼び出しデータを準備します。

準備結果の ID を返します。

frameData renderPassDescriptor, , 、ps prepId filter

renderRenderables()も参照してください

[static] void QSSGRenderHelpers::renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

レンダラブルをレンダリングする。

frameData,prepId

prepareRenderables()も参照

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