RenderPass QML Type
RenderPass 类型定义了用于渲染 3D 内容的自定义渲染通行证。更多
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.11 |
| Inherits: |
属性
- augmentShader : url
- clearColor : color
- commands : list<RenderCommand>
- depthClearValue : real
- materialMode : RenderPass::MaterialModes
- overrideMaterial : Material
- passMode : RenderPass::PassMode
- renderTargetFlags : RenderPass::RenderTargetFlags
- stencilClearValue : int
详细说明
通过 RenderPass,您可以在渲染管道中定义自定义渲染步骤。您可以指定各种属性,如透明色、材质模式和覆盖材质。此外,你还可以定义一个渲染命令列表,以指定渲染的执行方式。
向着色器公开数据
与 "效果 "和 "自定义材质 "一样,RenderPass 也会自动向着色器公开和更新用户定义的属性。
属性文档
augmentShader : url
当materialMode 设置为AugmentMaterial 时,该属性将保存用于渲染传递的增强着色器 URL。
着色器文件应包含一个具有以下签名的函数:
void MAIN_FRAGMENT_AUGMENT() {
// Custom shader code here
}此函数将与此渲染传递中被渲染对象所使用材质的现有片段着色器相结合。允许用户使用自定义代码增强现有的材质着色器。
clearColor : color [default: Qt.black]
该属性用于保存渲染传递的透明色。
commands : list<RenderCommand>
此属性包含渲染传递的渲染命令列表。
列表中的命令会按照它们在列表中出现的顺序执行。
注: RenderPass 和 Effects 的命令相似但不相同,只有那些标记为兼容的命令才能与此RenderPass 一起使用。
另请参阅 renderTargetBlend,PipelineStateOverride,RenderablesFilter,RenderPassTexture,ColorAttachment,DepthTextureAttachment,DepthStencilAttachment 和AddDefine 。
depthClearValue : real [default: 1.0]
此属性用于保存渲染传递的深度清除值。
materialMode : RenderPass::MaterialModes [default: RenderPass.OriginalMaterial]
此属性用于保存渲染传递的材质模式。
| 常量 | 说明 |
|---|---|
RenderPass.OriginalMaterial | 使用对象的原始材质。 |
RenderPass.AugmentMaterial | 使用自定义着色器代码增强原始材质。 |
RenderPass.OverrideMaterial | 使用用户指定的material 替换原始材质。 |
overrideMaterial : Material
当materialMode 设置为OverrideMaterial 时,此属性将保存用于渲染传递的覆盖材质。
passMode : RenderPass::PassMode [default: RenderPass.UserPass]
此属性用于保存渲染传递的传递模式。
除了标准的用户渲染通道外,Qt Quick 3D 还支持用户手动触发内部渲染通道,以渲染天空盒和 2D 项目。
| 常数 | 说明 |
|---|---|
RenderPass.UserPass | 用户指定的渲染传递。 |
RenderPass.SkyboxPass | Qt Quick 3D 的内置天空盒渲染通道。 |
RenderPass.Item2DPass | Qt Quick 3D 内置的 2D 项目渲染通道。 |
renderTargetFlags : RenderPass::RenderTargetFlags [default: RenderPass.RenderTargetFlags.None]
此属性用于保存渲染传递的渲染目标标志。
可能的值有
| 常量 | 说明 |
|---|---|
RenderPass.RenderTargetFlags.None | 无特殊行为。 |
RenderPass.RenderTargetFlags.PreserveColorContents | 在帧间保留渲染目标的颜色内容。 |
RenderPass.RenderTargetFlags.PreserveDepthStencilContents | 在帧间保存渲染目标的深度和模板内容。 |
RenderPass.RenderTargetFlags.DoNotStoreDepthStencilContents | 渲染后不存储渲染目标的深度和模板内容。 |
另请参阅 QRhiTextureRenderTarget::Flags 。
stencilClearValue : int [default: 0]
该属性用于保存渲染传递的模板清除值。
© 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.