RenderPass QML Type

封装一个渲染传递。更多

Import Statement: import Qt3D.Render 2.9
In C++: QRenderPass
Inherits:

Node

Status: Deprecated

属性

详细说明

渲染通行证(RenderPass)指定了 Technique 使用的单个渲染通行证(着色器程序执行实例)。一个渲染通道由ShaderProgramFilterKey 对象列表、RenderState 对象列表以及Parameter 对象列表组成。

当引用的FilterKey 节点中至少有一个与RenderPassFilter 中的FilterKey 节点相匹配,或 FrameGraph 中没有RenderPassFilter 时,RenderPass 将使用给定的RenderState 和参数节点执行ShaderProgram

If the RenderPass defines a Parameter, it will be overridden by a Parameter with the same name if it exists in any of the Technique, Effect, Material,TechniqueFilter,RenderPassFilter associated with the pass at runtime.这对于定义合理的默认值仍然非常有用。

在渲染时,通过累积 FrameGraph 分支中所有RenderStateSet 节点定义的状态,为 FrameGraph 的每个叶节点记录基本渲染状态。每个 RenderPass 可通过指定自己的RenderState 节点来重载此基本呈现状态。

Technique {
    filterKeys: [
        FilterKey { name: "renderingStyle"; value: "forward" }
    ]
    graphicsApiFilter: {
        api: GraphicsApiFilter.OpenGL
        profile: GraphicsApiFilter.CoreProfile
        majorVersion: 3
        minorVersion: 1
    }
    renderPasses: [
        RenderPass {
            id: pass
            shaderProgram: ShaderProgram {
                // ...
            }
            parameters: [
                Parameter { name: "color"; value: "red" }
            ]
            renderStates: [
                DepthTest {}
            ]
        }
    ]
}

另请参阅 RenderPassFilter,FilterKey,Parameter,RenderState,EffectTechnique

属性文档

filterKeys : list<FilterKey>

保存允许使用此渲染传递的过滤器密钥。


parameters : list<Parameter>

持有该渲染传递使用的着色器参数值。


renderStates : list<RenderState>

持有该渲染传递使用的渲染状态。


shaderProgram : ShaderProgram

保存此渲染传递使用的着色器程序。


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