shaderLab关键字和函数

 
 
 
SubShader{
Tags{"Queue"="Transparent"} //渲染完不透明物体,再渲染当前物体

GrabPass{} //将当前屏幕抓取到_GrabTexture纹理变量中.之后的pass可以使用这张纹理.

Pass{
Name "passName" //给pass起名
Material{
//[]取值符号
Diffuse[_diffuseColor] //反射光,颜色
Ambient[_ambient] //环境光,颜色
Specular[_specularColor] //高光颜色
Shininess[_shininess] //高光强度
Emission[_emissionColor] //自发光,颜色,
}

ColorMaterial AmbientAndDiffuse | Emission //使用顶点颜色,计算顶点光照.
SeparateSpecular On //高光放到pass的最后
ColorMask RGB //开启rgb通道.注意:值rgba的任意组合,值为0时,关闭所有通道,
Cull off //剔除规则,back,front,off
AlphaTest Greater[_Cutoff] //透明测试,greater,GEqual,Less,Lequal,Equal,NotEqual,Always,Never.
Lighting On //光线 on,off
SetTexture[_MainTex]{
Combine primary * texture double,primary * texture
/**组合rgb和a.
rgb部分                 , a部分
primary:顶点颜色,
texture:当前纹理颜色,
previous:上一次当前位置的颜色,
constant: 使用constantColor[_color]赋值后的颜色值.
double : 表示2倍,quad : 4倍.
*/
}
ZWrite off //不写入深度值
Offset -1,-1 //指定深度缓冲的偏移.只能是 常量
ZTest Less //深度测试.
Color(1,1,1,1) //顶点光线关闭后,使用此颜色值
Blend SrcAlpha OneMinusSrcAlpha //alpha混合
/**
Blend off 关闭.
语法:Blend srcFactor dstFactor
One: 全部值
zero:
srcColor: 当前颜色
srcAlpha:
dstColor: 帧缓冲(目标)源颜色
dstAlpha:
OneMinusSrcColor:1 - srcColor
OneMinusSrcAlpha:1 - srcAlpha
OneMinusDstColor:1 - dstColor
OneMinusDstAlpha:1 - dstAlpha
**/
Fog{
mode exp
color[_DiffuseColor]
Density 1
}

BindChannels{ //发送的顶点数据与gpu 寄存器绑定.
Bind "Vertex" vertex
/**
Bind "source" target
source:
vertex,normal,tangent,texcoord,texcoord1,color
target:
vertex,normal,tangent,texcoord0,texcoord1,texcoord,color.
*/
}
Tags{ //控制渲染引擎执行顺序.
"LightMode" = "always"
}
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值