[Maya 材质教程]电视机波纹shader
来源:vacce华设 作者: 发布时间:2007-06-01

   输入

if (samplerInfo.pixelCenterY % 2)

{

tvNoise.outColorR = 0;

tvNoise.outColorG = 0;

tvNoise.outColorB = 0;

}

else

{

tvNoise.outColorR = rand (1);

tvNoise.outColorG = rand (1);

tvNoise.outColorB = rand (1);

}
   简单解释一下这是个条件语句if……else,如果if后面的括号里的成立(或者是正确的,或者说=1)就执行紧跟着后面的{}里面的内容。否则的话(就是不成立,不正确,=0)就执行else后面的{}里面的内容%是求余符号,例如:求余数3除以2余数是1,11除以3余数是2,samplerInfo.pixelCenterY % 2这句是说samplerInfo.pixelCenterY采回来的值去除以2,如果这个samplerInfo.pixelCenterY是奇数得话,那么这个式子的结果肯定是1,如果这个samplerInfo.pixelCenterY是偶数得话,那么这个式子的结果肯定是0,(偶数都是可以被2整除得)。实际上这就是判断一下奇偶性,如果是奇数,结果是1,那么,TvNoise.outColorR = 0;

tvNoise.outColorG = 0;

tvNoise.outColorB = 0;所以tvNoise.outColor就是黑色,如果是偶数,结果是1,那么就是个随机的颜色,rand(1)在0~1之间随机的取一个数,这样就得到了间条的效果,奇数行是黑色,偶数行是随机的颜色。