技术QML类型
封装了一个技术。 更多...
导入声明 | import Qt3D.Render 2.7 |
实例化 | QTechnique |
属性
- filterKeys : list<FilterKey>
- graphicsApiFilter : GraphicsApiFilter
- parameters : list<Parameter>
- renderPasses : list<RenderPass>
详细描述
技术指定了一组 RenderPass 对象、FilterKey 对象、参数对象和一个 GraphicsApiFilter,它们一起定义了给定图形API可以渲染的渲染技术。过滤器密钥被 TechniqueFilter 用于在FrameGraph的特定部分选择特定的技术。在技术上定义的参数会覆盖在 RenderPass 中定义的具有相同名称的参数,但会被 RenderPassFilter、TechniqueFilter、材质和效果中的参数覆盖。
当创建针对多个图形API版本的Effect时,为每个技术节点创建几个技术节点,每个节点都设置了与之匹配的目标版本的一个 graphicsApiFilter 是有用的。在运行时,Qt3D渲染器将根据支持的图形API版本以及(如果指定)满足FrameGraph中特定 TechniqueFilter 的 FilterKey 节点来选择最适合的技术。
注意:当使用OpenGL作为渲染的图形API时,Qt3D依赖于运行时由 QSurfaceFormat 返回的 QSurfaceFormat::defaultFormat(),以决定哪个是最合适的GL版本。如果您需要自定义 QSurfaceFormat,请务必使用 QSurfaceFormat::setDefaultFormat() 应用它。在视图中设置 QSurfaceFormat 可能对Qt3D相关的渲染没有影响。
注意:技术节点不能被禁用。
Technique { id: gl3Technique parameters: [ Parameter { name: "color"; value: "orange" } ] filterKeys: [ FilterKey { name: "renderingStyle"; value: "forward" } ] graphicsApiFilter: { api: GraphicsApiFilter.OpenGL profile: GraphicsApiFilter.CoreProfile majorVersion: 3 minorVersion: 1 } renderPasses: [ RenderPass { id: firstPass shaderProgram: ShaderProgram { // ... } }, RenderPass { id: secondPass shaderProgram: ShaderProgram { // ... } } ] }
另请参阅:Effect,RenderPass 和 TechniqueFilter。
属性文档
graphicsApiFilter : 图形API过滤器 |
指定正在使用的图形API过滤器
© 2024 Qt公司。本文档中的文档贡献是其各自所有者的版权。本文档提供的内容是根据由自由软件基金会发布的GNU自由文档许可协议第1.3版条款授权的。Qt及其相关标志是芬兰及/或其他国家Qt公司的商标。所有其他商标均为各自所有者的财产。