UnityShader 入门记录篇(一)

UnityShader入门 首先还是要多谢shader女神乐乐的书  以及论坛上的各个博文 

扒了一天 总算是对shader有了一个初步的了解 

 根据程序一通百通的原理  

为了方便理解 自己做了关系对应  

shader编程  其实就i跟我们平时写c#编程一样 

不同的是 里面声明函数 以及变量的方式 在shader里面改变了一下 

1   shader的脚本名称  这是为了方便管理 自己尽量去分类 

Shader "MyShade/shadertest"      可以随意明名   斜杠表示分层关系 

 

2 定义属性   c#里面有公共变量  私有变量   而shader里面呢  是这样的  

Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        _MainColor("MainColor",color)=(1,1,1,1)
    }

Properties   是所有属性设置     当前shader脚本里面所要用到的变量 都要在这里去定义  (萌新入门级的理解 如有不妥,请指出)

例如 {}里面第一行  设置了一个texture     _MainTex  是我们在下面函数中要拿来用的  相当于c#的变量  

"Texture"   这是 为了方便界面话调试   会在控制面板上显示 (找到材质球  你改变"Texture"的字符串会发现控制面板上的会跟着变化)  2D是表示 这是一个2的阶数的图片信息   例如  2*2    64*64 256*256大小的图片   "white"   代表的是默认值  白色    值的话是(1,1,1,1),   方便渲染  不会影响其他图形的叠加

3 SubShader (shader主体,shader的实现)   这里就相当于我们acn#里's面的h函数(方法了)   

 

Tags 是一个标签   设备会读取这些标签 标签的信息是 什么时候调用该shader进行渲染

lod    全名Level of Detail    可以根据设备性能进行画面调整

pass  shader的实现     可以有多个pass     每个pass相当于通道   因为市面上显卡设备众多, 有好的 差的  兼容 支持不一样 所以 要准备多个pass  以便去适配    当程序运行时候  有且只有一个pass执行  

暂且更新到此    还有下文  待有时间继续更新 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值