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::None | 0 | デフォルト値。レンダブルは指定されたノードに対してのみ作成されます。 |
QSSGRenderHelpers::CreateFlag::Recurse | 0x1 | レンダラブルは各ノードとその子ノードに対して作成されます。 |
QSSGRenderHelpers::CreateFlag::Steal | 0x2 | レンダラブルはエンジンから取得され、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.