首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

unityshaderLab中fixed function惯用指令

2012-10-08 
unityshaderLab中fixed function常用指令ShaderLab中常用的fixedFunction.SubShader{Tags{QueueTransp

unityshaderLab中fixed function常用指令
ShaderLab中常用的fixedFunction.

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"
}
}
}

热点排行