材料QML类型

非创建型抽象基类,用于材料。更多...

属性

详细描述

材料提供了一种指定实体渲染的方法。任何方面都可以定义自己的Material子类型,以便Material可以用来描述视觉元素;例如,声音如何反射到元素上,表面的温度,等等。

就其本身而言,材料不会做任何事情。只有当它引用一个Effect节点时,材料才变得有用。

在实践中,经常会发生一个单独的Effect被多个Material组件引用的情况。这样,只创建一次效果、技术、传递和着色器,同时还可以通过添加Parameter实例来指定材质。

在Material上定义的Parameter会覆盖Effect、技术以及RenderPass中定义的同名参数,但会被RenderPassFilterTechniqueFilter中的参数覆盖。

Effect {
    id: effect

    techniques: [
        Technique {
            id: gl3Technique
            graphicsApiFilter {
                api: GraphicsApiFilter.OpenGL
                profile: GraphicsApiFilter.CoreProfile
                majorVersion: 3
                minorVersion: 1
            }
            renderPasses: [
                RenderPass {
                    id: gl3Pass
                    shaderProgram: ShaderProgram {
                        ...
                    }
                }
            ]
        }
    ]
}

Material {
    id: material1
    parameters: [
        Parameter { name: "color"; value: "green" }
    ]
}

Material {
    id: material2
    parameters: [
        Parameter { name: "color"; value: "white" }
    ]
}

另请参阅EffectTechniqueParameter

属性文档

effect : Effect

指定与材质一起使用的效果。


parameters : list<Parameter>

包含由材质使用的参数列表。


© 2024 Qt公司有限公司。本文件中包含的文档贡献归各自所有者所有。提供的文档许可条款为已由自由软件基金会根据GNU自由文档许可1.3版本发布。Qt及其相关标志为芬兰及其/或世界其他国家的Qt公司有限公司的商标。所有其他商标归各自所有者所有。