能否将固定大小的数组作为 GLSL 函数参数传递?

问题描述 投票:0回答:1

在 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中使用和编译吗?
如果没有的话有什么替代方案吗?

arrays function glsl parameter-passing
1个回答
8
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.