码迷,mamicode.com
首页 > 其他好文 > 详细

【ShaderLab】Cookbook阅读笔记01

时间:2017-06-23 10:32:17      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:ide   shader   img   slide   efault   spec   unity   log   isp   

《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类型:

  1. Numbers and Sliders

    name ("display name", Range (min, max)) = number
    name ("display name", Float) = number
    name ("display name", Int) = number
  2. Colors and Vectors

    name ("display name", Color) = (number,number,number,number)
    name ("display name", Vector) = (number,number,number,number)
  3. 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

标签:ide   shader   img   slide   efault   spec   unity   log   isp   

原文地址:http://www.cnblogs.com/liez/p/7068029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!