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