Parameter QML Type
Bietet Speicherplatz für ein Paar aus Name und Wert. Dieses wird auf eine Shader-Uniform abgebildet. Mehr...
Import Statement: | import Qt3D.Render 2.8 |
In C++: | QParameter |
Status: | Deprecated |
Eigenschaften
Detaillierte Beschreibung
Ein Parameter kann von einem RenderPass, Technik, Effekt, Material, TechniqueFilter, RenderPassFilter referenziert werden. Je nachdem, welcher Shader für einen bestimmten Rendering-Schritt ausgewählt ist, wird der in einem Parameter enthaltene Wert zur Laufzeit konvertiert und hochgeladen, wenn der Shader eine Uniform mit einem Namen enthält, der mit dem des Parameters übereinstimmt.
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;
Hinweis: Es muss sichergestellt werden, dass der von einem Parameter umschlossene Wert tatsächlich in den Wert umgewandelt werden kann, den die tatsächliche Uniform erwartet. Die Angabe eines als int gespeicherten Wertes, wenn die tatsächliche Shader-Uniform vom Typ float ist, könnte zu undefiniertem Verhalten führen.
Hinweis: Wenn die Ziel-Uniform ein Array ist, sollte der Name der Name der Uniform mit angehängter [0] sein.
Hinweis: Der Parameterknoten kann nicht deaktiviert werden.
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];
Wenn es um Texturunterstützung geht, sollte der Parameterwert auf die entsprechende texture Unterklasse gesetzt werden, die dem Sampler-Typ der Shader-Uniform entspricht.
Parameter { name: "diffuseTexture" value: Texture2D { ... } } // Works with the following GLSL uniform shader declaration // uniform sampler2D diffuseTexture
Siehe auch Qt3DRender::QAbstractTexture.
Eigenschaft Dokumentation
name : string |
Gibt den Namen des Parameters an
value : QVariant |
Legt den Wert des Parameters fest
© 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.