In einem GLSL Shader, ich möchte eine Funktion erstellen, die ein bisschen wie folgt aussieht:Können Sie ein Array fester Größe als GLSL-Funktionsparameter übergeben?
void MyFunction(out float results[9])
{
float value0 = 3.1546;
float value1 = 42; // whatever value
/* ... long, complicated code ... */
results[0] = value0;
results[1] = value1;
results[2] = value2;
...
}
Kann eine solche Funktion Signatur verwendet und in GLSL kompiliert werden?
Wenn nein, gibt es Alternativen?
Sie haben Recht. Ich fand die Info auch in der Spezifikation: http://www.opengl.org/registry/doc/GLSLangSpec.4.30.6.pdf#page=35 – wil
Warum ist es wahrscheinlich besser, das Array zurückzugeben? gibt es einige Compiler-Optimierung mit einem lokalen und Rückgabe, anstatt eine Variable vor Ort zu ändern? –