Technique QML Type

テクニックをカプセル化します。詳細...

Import Statement: import Qt3D.Render 2.8
In C++: QTechnique
Inherits:

Node

Status: Deprecated

プロパティ

詳細な説明

Technique は、RenderPass オブジェクト、FilterKey オブジェクト、Parameter オブジェクト、GraphicsApiFilter の集合を指定し、これらを合わせて、指定されたグラフィックス API がレンダリングできるレンダリング技法を定義します。フィルタキーは、TechniqueFilter 、FrameGraph の特定の部分で特定のテクニックを選択するために使用されます。テクニックに定義されたパラメータは、RenderPass で定義されたパラメータ(同名)をオーバーライドしますが、RenderPassFilterTechniqueFilter 、Material、Effect のパラメータによってオーバーライドされます。

複数のバージョンの Graphical API をターゲットとする Effect を作成する場合は、graphicsApiFilter を設定した複数の Technique ノードを作成し、それぞれをターゲットとするバージョンの 1 つに一致させると便利です。実行時に、Qt3D レンダラーは、どのグラフィックス API バージョンがサポートされているか、および(指定されている場合)FrameGraph 内で指定されたTechniqueFilter を満たすFilterKey ノードに基づいて、最も適切な Technique を選択します。

注意: OpenGL をレンダリングのためのグラフィックス API として使用する場合、Qt3D は実行時にQSurfaceFormat::defaultFormat() が返すQSurfaceFormat に依存して、利用可能な最も適切な GL バージョンを決定します。QSurfaceFormat をカスタマイズする必要がある場合は、QSurfaceFormat::setDefaultFormat() を忘れずに適用してください。ビューにQSurfaceFormat を設定しても、Qt3D 関連のレンダリングには影響しないでしょう。

注意: Technique ノードを無効にすることはできません。

Technique {
    id: gl3Technique
    parameters: [
        Parameter { name: "color"; value: "orange" }
    ]
    filterKeys: [
        FilterKey { name: "renderingStyle"; value: "forward" }
    ]
    graphicsApiFilter: {
        api: GraphicsApiFilter.OpenGL
        profile: GraphicsApiFilter.CoreProfile
        majorVersion: 3
        minorVersion: 1
    }
    renderPasses: [
        RenderPass {
            id: firstPass
            shaderProgram: ShaderProgram {
                // ...
            }
        },
        RenderPass {
            id: secondPass
            shaderProgram: ShaderProgram {
                // ...
            }
        }
    ]
}

EffectRenderPassTechniqueFilterも参照して ください。

プロパティ ドキュメント

filterKeys : list<FilterKey>

このテクニックを有効にするフィルタキーのリストを指定します。


graphicsApiFilter : GraphicsApiFilter [read-only]

使用するグラフィックス API フィルタを指定します。


parameters : list<Parameter>

テクニックが使用するパラメータを指定します。


renderPasses : list<RenderPass>

このテクニックが使用するレンダーパスを指定します。


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