Ich mache eine Übung in der Shader-Schule, in der ich eine Funktion implementiere, die die n-te Potenz einer Matrix zurückgibt. Selbst wenn ich pass konstanten Parameter n in die folgenden Funktion:Parameter, der in der GLSL-Funktion übergeben wird, wird nicht als Konstante erkannt
mat2 matrixPower(highp mat2 m, const int n) {
if(n==0) {
return mat2(1.0);
} else {
mat2 result = m;
for(int i=1; i < n; ++i) {
result = result * m;
}
return result;
}
}
ich die folgende Fehlermeldung erhalten:
Loop index cannot be compared with non-constant expression
Wie ist das möglich?