首页 > 代码库 > 【ShaderLab】Cookbook阅读笔记01
【ShaderLab】Cookbook阅读笔记01
《Unity Shaders and Effects Cookbook》阅读笔记,找了很久ShaderLab的教程......结合官网教程学习ShaderLab。
用一个最简单的Shader展示一下shader代码的结构:
第一行代码Shader后跟的是shader的名字,在给Material添加Shader时根据shader名找到对应shader:
以上这个再简单不过的Shader由Properties部分和SubShader部分构成。
其中Properties定义了一系列Shader中用到的参数,这些参数可以在添加了相应Shader的Material的Inspector面板中看到,例如上述代码中
_Color("Main Color", Color) = (0,1,1,1)
为Material的Inspector添加了一个颜色的GUI元素:
常见Properties类型:
-
Numbers and Sliders
name ("display name", Range (min, max)) = number name ("display name", Float) = number name ("display name", Int) = number
-
Colors and Vectors
name ("display name", Color) = (number,number,number,number) name ("display name", Vector) = (number,number,number,number)
-
Textures
name ("display name", 2D) = "defaulttexture" {} name ("display name", Cube) = "defaulttexture" {} name ("display name", 3D) = "defaulttexture" {}
一个属性定义的结构:
要在SubShader中调用之前Properties中定义的那些变量,需要在SubShader中创建与之具有相同名称的变量。
例如对于前述的_Color,就需要创建
CGPROGRAM
float4 _Color;
注意变量创建在CGPROGRAM之后。
Unity Shaders and Effects Cookbook PDF:http://pan.baidu.com/s/1o8gCtvk (我看的这本是Unity4的,就着文档也能看,就没纠结版本了)
【ShaderLab】Cookbook阅读笔记01
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。