shader入门基础知识四
shader入门基础知识四
- content
Cg 入门
Cg 关键字 in,out,inout
- in:修辞一个形参只是用于输入,进入函数体时被初始化,且该形参值的改变不会影响实参值,这是典型的值传递方式。
- out:修辞一个形参只是用于输出的,进入函数体时并没有被初始化,这种类型的形参一般是一个函数的运行结果;
- inout:修辞一个形参既用于输入也用于输出,这是典型的引用传递。
- out是可以被 return 代替的
创建 shader
创建如图所示 shader,并且创建一个材质,游戏中创建一个 cube,将材质赋给 cube,将得到如下所示的颜色
颜色解释
NDC 是一个长宽高取值范围为[-1,1]的立方体,因此 obj_pos 的分量取值范围也是[-1,1] 颜色取值范围是[0,1],小于 0 的取 0,因此获得下图所示的颜色
shader debug 时用到的假彩色图像技术也是类似如此,通过将数据映射到[0,1]范围作为颜色输出到屏幕上,然后通过屏幕颜色来判断数据是否正确。
本文由作者按照 CC BY 4.0 进行授权