このページでは

QSSGRenderHelpers Class

QtQuick3D のレンダラブルの設定およびレンダリングを行うためのヘルパー関数を格納するクラス。詳細...

Header: #include <qssgrenderhelpers.h>
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 QSSGNodeIdList &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::Steal0x2Renderableはエンジンから取得されるものであり、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 QSSGNodeIdList &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に作成されます。

prep コンテキストの 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()も参照してください 。

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