Q:如何在Qml着色器效果中将均匀的float数组传递给片段着色器?
它可以与常规属性一起使用,例如>
property var myValue: 0.4; [...] fragmentShader: " uniform float myValue; void main() { vec4 col = vec4(myValue, 0, 0.0, 1.0); gl_FragColor = vec4(col); }"
但不包含实像数组。
import QtQuick 2.0
ShaderEffect {
id: shader
width: 400
height: 400
property var myArray: [0.4, 0.5, 1.0];
fragmentShader: "
uniform float myArray[2];
void main()
{
vec4 col = vec4(myArray[0], 0, 0.0, 1.0);
gl_FragColor = vec4(col);
}"
}
问:如何在Qml着色器效果中将均匀的float数组传递给片段着色器?它与常规属性(例如var myValue:0.4;)一起工作。 [...] fragmentShader:“统一浮动myValue;无效...
不幸的是,目前尚不可能,您可以在此处检查问题并对其进行表决:https://bugreports.qt.io/browse/QTBUG-50493