W cieniującego GLSL, chcę utworzyć funkcję, która wygląda nieco jak poniżej:Czy można przekazać tablicę o stałym rozmiarze jako parametr funkcji GLSL?
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;
...
}
Czy taki podpis funkcja być wykorzystywane i opracowywane w GLSL?
Jeśli nie, czy są jakieś alternatywy?
Masz rację. Znalazłem również informacje w specyfikacji: http://www.opengl.org/registry/doc/GLSLangSpec.4.30.6.pdf#page=35 – wil
Dlaczego lepiej jest zwrócić tablicę? czy jest jakaś optymalizacja kompilatora przy użyciu lokalnego i zwracanie tego zamiast modyfikowania zmiennej w miejscu? –