W3cubDocs

/Qt 5.11

Parameter QML Type

Provides storage for a name and value pair. This maps to a shader uniform. More...

Import Statement: import Qt3D.Render 2.0
Instantiates: QParameter

Properties

Detailed Description

A Parameter can be referenced by a RenderPass, Technique, Effect, Material, TechniqueFilter, RenderPassFilter. At runtime, depending on which shader is selected for a given step of the rendering, the value contained in a Parameter will be converted and uploaded if the shader contains a uniform with a name matching that of the Parameter.

Parameter {
    name: "diffuseColor"
    value: "blue"
}

// Works with the following GLSL uniform shader declarations
// uniform vec4 diffuseColor;
// uniform vec3 diffuseColor;
// uniform vec2 diffuseColor;
// uniform float diffuseColor;

Note: some care must be taken to ensure the value wrapped by a Parameter can actually be converted to what the real uniform expect. Giving a value stored as an int where the actual shader uniform is of type float could result in undefined behaviors.

Note: when the targeted uniform is an array, the name should be the name of the uniform with [0] appended to it.

Parameter {
    name: "diffuseValues[0]"
    value: [0.0, 1.0. 2.0, 3.0, 4.0, 883.0, 1340.0, 1584.0]
}

// Matching GLSL shader uniform  declaration
// uniform float diffuseValues[8];

When it comes to texture support, the Parameter value should be set to the appropriate texture subclass that matches the sampler type of the shader uniform.

Parameter {
    name: "diffuseTexture"
    value: Texture2D { ... }
}

// Works with the following GLSL uniform shader declaration
// uniform sampler2D diffuseTexture

See also Qt3DRender::QAbstractTexture.

Property Documentation

name : QString

Specifies the name of the parameter

value : QVariant

Specifies the value of the parameter

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5/qml-qt3d-render-parameter.html