问:如何在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);
}"
}
最佳答案
不幸的是,目前尚不可能,您可以在此处检查问题并对其投票:https://bugreports.qt.io/browse/QTBUG-50493
关于c++ - 如何在Qml着色器效果中将均匀的float数组传递给片段着色器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58170581/