SubRenderPass QML Type
親のRenderPass と同じレンダリングターゲット内に、作業の一部をレンダリングします。詳細...
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.11 |
| Inherits: |
プロパティ
- renderPass : RenderPass
詳細な説明
SubRenderPassは、Command の一種であり、RenderPass を、同じレンダリングターゲットを共有しつつ、個別に設定可能なより小さな部分に分割します。どのテクスチャにレンダリングするか(ColorAttachment およびDepthTextureAttachment を介して)、およびパスがいつ開始されるか(したがって、レンダリングターゲットがいつクリアされるか)を制御できるのは、親のRenderPass のみです。 SubRenderPassは、独自のレンダリングターゲットやクリア設定を設定することはできません。これらは常に親パスから継承されます。
SubRenderPassが制御できるのは、何が どのようにレンダリングされるかです。SubRenderPassには独自のcommands があるため、RenderablesFilter を使用してオブジェクトのサブセットを選択したり、PipelineStateOverride を使用して深度/ブレンド状態を変更したり、別のmaterialMode を使用したりすることができます。
典型的な用途は、フォワードレンダリングパイプラインです。この場合、単一のカラーパスが、背景、不透明オブジェクト、透明オブジェクトそれぞれに対して個別の SubRenderPass を使用します。これら 3 つのサブパスはすべて、同じカラーテクスチャと深度テクスチャに書き込みを行いますが、それぞれが異なるパイプライン状態を持っています:
RenderPass {
id: mainColorPass
commands: [
// Render targets are set at the parent RenderPass level only
ColorAttachment { name: "color0"; target: colorTexture },
DepthTextureAttachment { target: depthTexture },
// Sub-pass 1: render the skybox background
SubRenderPass { renderPass: skyboxSubPass },
// Sub-pass 2: opaque objects with depth testing and writing
SubRenderPass { renderPass: opaqueSubPass },
// Sub-pass 3: transparent objects with blending, no depth write
SubRenderPass { renderPass: transparentSubPass }
]
}
// Sub-passes share mainColorPass's render target
RenderPass {
id: skyboxSubPass
passMode: RenderPass.SkyboxPass
}
RenderPass {
id: opaqueSubPass
commands: [
RenderablesFilter { renderableTypes: RenderablesFilter.Opaque }
]
}
RenderPass {
id: transparentSubPass
commands: [
RenderablesFilter { renderableTypes: RenderablesFilter.Transparent },
PipelineStateOverride {
blendEnabled: true
depthWriteEnabled: false
}
]
}RenderPass 、RenderablesFilter 、およびPipelineStateOverrideも参照してください 。
プロパティのドキュメント
renderPass : RenderPass
このコマンドが処理される際に、サブパスとして実行されるRenderPass です。
© 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.