美文网首页
shader整体结构-unity~shader(1)

shader整体结构-unity~shader(1)

作者: 不过一书生 | 来源:发表于2019-02-25 11:27 被阅读0次

1.shader脚本里面,除了CG语言模块外,不需要语句结束符号;

2.shader脚本的名字和shader的命名(类似于C#脚本的类),不需要相同,区别于C#脚本;

3.shader脚本中,Properties------定义属性的模块.谨记;

4.例子:_Color("MyColor",Color) = (1,1,1,1)---------------_Color,这是定义属性在脚本中的名字;MyColor,这是属性在inspector面板中的显示名字;Color这是属性的类型;

5.shader语言中,常见的数据定义类型(区别与CG语言模块的实例化属性),包括Color,Vector,Int,Float,Range(min,max),2D,Cube,3D等,其中2D,3D,Cube是纹理类型;

6.shader脚本中的子shader,SubShader,一个shader脚本中可以有多个subshader(至少一个).当显卡运行时,依次选择使用,哪个效果可以实现就用哪个subshader;

7.每个subshader里面至少有一个pass模块,类似于功能模块,注意此模块中的CGPROGRAM-ENDCG,这是CG语言部分,注意符号,此处存在结束符号.

8.CG语言部分,需要把需要的属性实例化,然后使用.

9.Fallback"(shader名字)",该语句是在所有的subshader无法使用时,调用的备用shader.

10.float,half,fixed,都是小数类型,一定情况下可以互换,位数不同,需要合理使用,降低缓存.

PS:QQ交流群:581264959,欢迎加入!

相关文章

网友评论

      本文标题:shader整体结构-unity~shader(1)

      本文链接:https://www.haomeiwen.com/subject/piywyqtx.html