8

在 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;
   ...
}

可以在 GLSL 中使用和编译这样的函数签名吗?
如果没有,有没有其他选择?

4

1 回答 1

7

是的,这是合法的 GLSL 代码。

这并不意味着它一定会编译,但它是合法代码。话虽如此,最好只返回数组(您也可以这样做),而不是将其作为输出参数传递。

于 2013-05-22T09:11:18.080 回答