shader入门基础知识七
shader入门基础知识七
- content
cg 流程控制与循环
在前面的章节中shader 入门基础知识五提到过,cg 不支持 switch ,break,default,goto 等关键字,这里不再尝试,下面对 if else 和 for while 进行尝试。
如图,我们对于模型坐标小于 0 的地方给与红色,大于 0 的地方给与绿色,得到的是渐变从红到绿的颜色。 原因是片元着色器的输入是对着色器输出插值后的结果,因此结果是渐变的。
如图,count=30 的时候我们把颜色赋值成红色,否则绿色,显示红色则说明前面的循环都得到了有效的执行。 这里前面提过 cg 支持 bool,和相关的运算符,三目运算符也是支持的。
本文由作者按照 CC BY 4.0 进行授权