渲染阶段 QML 类型

封装一个渲染阶段。 更多...

导入声明import Qt3D.Render 2.7
实例化 QRenderPass
继承

Node

属性

详细描述

渲染阶段指定单个渲染阶段 - 着色程序执行的一个实例 - 由技术使用。渲染阶段由一个 ShaderProgram 和一个 FilterKey 对象的列表、一个 RenderState 对象的列表和一个 Parameter 对象的列表组成。

渲染阶段在至少一个被引用的 FilterKey 节点与 RenderPassFilter 中的任何一个 FilterKey 节点匹配或当 FrameGraph 中没有 RenderPassFilter 时,使用给定的 RenderState 和 Parameter 节点执行 ShaderProgram

如果渲染阶段定义了一个 Parameter,则在运行时如果在任何技术、效果、材质、技术过滤器渲染阶段过滤器相关联的 passes 中存在具有相同名称的 Parameter,则将覆盖它。这仍然可以用于定义合理的默认值。

在渲染时间,记录每个 FrameGraph 的叶子节点的基本渲染状态,通过累积 FrameGraph 分支中所有 渲染状态集 节点定义的状态。每个渲染阶段可以通过指定自己的 渲染状态 节点来覆盖此基本渲染状态。

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 {}
            ]
        }
    ]
}

另见渲染阶段过滤器过滤器键参数渲染状态效果技术

属性文档

filterKeys : 列表<过滤器键>

包含使此渲染阶段可用的过滤器键。


parameters : 列表<参数>

存储由渲染通道使用的着色器参数值。


renderStates : 列表<RenderState>

存储用于渲染通道的渲染状态。


shaderProgram : ShaderProgram

存储用于此渲染通道的着色器程序。


© 2024 Qt公司。此处包含的文档贡献版权归各自所有者所有。所提供的文档是根据自由软件基金会发布的《GNU自由文档许可证》第1.3版许可的。Qt及其相关标志是芬兰和/或其他地区的Qt公司商标。所有其他商标均为各自所有者的财产。