uniform 修辞的变量的值是从外部传入的,所以在Cg 程序(顶点程序和片段程序)中通常使用uniform 参数修辞函数形参,不容许声明一个用uniform 修辞的局部变量!
顶点位置坐标传入顶点着色程序中转化为四元向量,最后一元数据为1,而顶点法向量传入顶点着色程序中转化为四元向量,最后一元数据为0。
如果函数没有返回值,函数的返回类型一定要是void
数组类型变量作为函数形参,可以是一维的也可以是多维的,并且不必声明数组长度,即Unsized Array。例如:
float myFunc( float vals[])
{
float sum = 0.0;
for(int i = 0; i< vals.length; i++)
{
sum += vals[i];
}
return sum;
}
数组形参不必指定长度。如果指定了函数中形参数组的长度,那么在调用该函数时实参数组的长度和形参数组的长度必须保持一致
如果函数的形参数组是多维数组,其声明方式和上面是一样的,可以不指定长度;如果指定形参数组长度,则实参数组长度必须保持一致。