文章

shader入门基础知识七

shader入门基础知识七
  • content

cg 流程控制与循环

在前面的章节中shader 入门基础知识五提到过,cg 不支持 switch ,break,default,goto 等关键字,这里不再尝试,下面对 if else 和 for while 进行尝试。

流程控制 流程控制

如图,我们对于模型坐标小于 0 的地方给与红色,大于 0 的地方给与绿色,得到的是渐变从红到绿的颜色。 原因是片元着色器的输入是对着色器输出插值后的结果,因此结果是渐变的。

流程控制 流程控制

如图,count=30 的时候我们把颜色赋值成红色,否则绿色,显示红色则说明前面的循环都得到了有效的执行。 这里前面提过 cg 支持 bool,和相关的运算符,三目运算符也是支持的。

本文由作者按照 CC BY 4.0 进行授权