Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

CG 函数

一、无返回值的函数

1. 基本结构

1
2
3
4
void name(in 参数类型 参数名, out 参数类型 参数名)
{
//函数体
}
  • void 返回值
  • name 函数名称
  • in 表示输入参数,表示函数外传入函数的参数,函数内部不会修改,只会使用该参数进行计算,可以有多个
  • out 表示输出参数,表示函数内部传递给函数调用者,在函数内部必须对该参数进行初始化或者修改,允许有多个

2. 注意

  1. in 和 out 都可以省略,省略后就没有相关的限制
  2. 虽然可以省略,但是在编写 Shader 时不建议省略 因为他们可以明确参数的传递方式,同时提高代码的可维护性

二、有返回值的函数

1. 基本结构

1
2
3
4
5
type name(in 参数类型 参数名)
{
//函数体
return 返回值;
}
  • type 返回值类型
  • name 函数名称
  • in 表示输入参数,表示函数外传入函数的参数,函数内部不会修改,只会使用该参数进行计算,可以有多个

2. 注意

  1. 虽然可以使用 out,但是不推荐,除非是自定义的一些逻辑函数
  2. 对于顶点/片元着色器只会使用但返回值的方式进行处理

评论