RenderPass QML Type
封装一个渲染传递。更多
Import Statement: | import Qt3D.Render 2.9 |
In C++: | QRenderPass |
Inherits: | |
Status: | Deprecated |
属性
- filterKeys : list<FilterKey>
- parameters : list<Parameter>
- renderStates : list<RenderState>
- shaderProgram : ShaderProgram
详细说明
渲染通行证(RenderPass)指定了 Technique 使用的单个渲染通行证(着色器程序执行实例)。一个渲染通道由ShaderProgram 和FilterKey 对象列表、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,Effect 和Technique 。
属性文档
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.