QSSGRenderExtension Class
拡張バックエンドノードの実装のための基底クラス。詳細...
| Header: | #include <qssgrenderextensions.h> |
| Since: | Qt 6.7 |
| Inherited By: |
パブリック型
| enum class | RenderMode { Standalone, Main } |
| enum class | RenderStage { PreColor, PostColor } |
パブリック関数
| virtual QSSGRenderExtension::RenderMode | mode() const = 0 |
| virtual bool | prepareData(QSSGFrameData &data) = 0 |
| virtual void | prepareRender(QSSGFrameData &data) = 0 |
| virtual void | render(QSSGFrameData &data) = 0 |
| virtual void | resetForFrame() = 0 |
| virtual QSSGRenderExtension::RenderStage | stage() const = 0 |
プロテクトされた関数
| QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags) |
「QQuick3DRenderExtension」も参照してください 。
メンバ型のドキュメント
enum class QSSGRenderExtension::RenderMode
レンダリング拡張モードを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QSSGRenderExtension::RenderMode::Standalone | 0 | レンダリングコードは、レンダリング準備フェーズ中に完全に記録されます。これは通常、先行するレンダリング拡張機能のために何らかの出力が生成されていることを意味します。このモードを使用する場合、フレームの準備フェーズ中に `prepareRender()` および `render()` の両関数が呼び出されます。 |
QSSGRenderExtension::RenderMode::Main | 1 | レンダリングコードは、メインのレンダリングパス内で記録されます。このモードでは、prepareRender() はフレームの準備フェーズで呼び出され、render() はフレームのレンダリングフェーズで呼び出されます。 |
enum class QSSGRenderExtension::RenderStage
拡張機能が呼び出される順序を指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QSSGRenderExtension::RenderStage::PreColor | 0 | レンダリングコードは記録され、メイン(カラー)パスの前に実行されます。 |
QSSGRenderExtension::RenderStage::PostColor | 1 | レンダリングコードは、メイン(カラー)パスの前に記録および実行されます。 注: RenderStageは 、RenderMode がMain に設定されている場合にのみ関連します。 |
メンバ関数のドキュメント
[protected] QSSGRenderExtension::QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)
ユーザーが拡張機能のユーザー定義型とフラグを指定できるコンストラクタ。
注: ユーザー定義の拡張機能の場合、 型は QSSGRenderGraphObject::BaseType::User と 0 から 4095 までの値の組み合わせでなければなりません。
注: QSSGRenderGraphObject::BaseType::Extension型は 、指定されたinType に自動的に追加されます。
注: 拡張機能がグラフィックリソースを割り当てる場合、inFlags には Flags::HasGraphicsResources が含まれている必要があります。
[pure virtual] QSSGRenderExtension::RenderMode QSSGRenderExtension::mode() const
この拡張機能で使用されるレンダリングモードを返します。
[pure virtual] bool QSSGRenderExtension::prepareData(QSSGFrameData &data)
シーンの「data 」が収集された後、現在のフレームにおけるレンダリングデータやレンダリング処理が行われる前に呼び出されます。
Dirty 状態を返します。レンダリングが必要な未処理のデータがある場合は、true を返します。
注: 準備フェーズおよびレンダリングフェーズ中にエンジンによって作成・収集されるデータの多くは フレーム単位のものであり、次のフレームの開始時に解放されるか、解放済みであるとみなされるべきです。
「QSSGFrameData」も参照してください 。
[pure virtual] void QSSGRenderExtension::prepareRender(QSSGFrameData &data)
レンダリング用のデータを準備します。レンダリングに必要なdata を構築・収集します。このレンダリングよりも前にスケジュールされていたレンダリング拡張機能はすべて処理済みです。さらに、モードがRenderMode::Standalone であるレンダリング拡張機能は、成功した場合、完全に完了しています。
注: 準備フェーズおよびレンダリングフェーズ中にエンジンから作成・収集されたデータの多くは フレーム単位のものであり、次のフレームの開始時に解放されるか、解放済みであるとみなされるべきです。
QSSGFrameDataも参照してください 。
[pure virtual] void QSSGRenderExtension::render(QSSGFrameData &data)
レンダリングパスを記録します。拡張機能mode に応じて、この関数はフレームの prepare フェーズまたは render フェーズのいずれかで呼び出されます。
data を使用して、アクティブな `QRhi ` オブジェクトを取得できるレンダリングコンテキストにアクセスします。
QSSGRenderExtension::RenderModeも参照してください 。
[pure virtual] void QSSGRenderExtension::resetForFrame()
新しいフレームが開始されるたびに呼び出されます。この時点で、前のフレームからのデータはすべてクリアしておく必要があります。
[pure virtual] QSSGRenderExtension::RenderStage QSSGRenderExtension::stage() const
このレンダリング拡張機能が使用されるステージを返します。
© 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.