Unity Shader(固定管线着色器)

 固定管线着色器(SubShader中必须写Pass通道)

        Shader指令顺序图

                

        Rander Setup

                Properties

Properties

浮点数(Float)_FloatValue("一个浮点数",float) = 0.4
范围浮点数(Range)_RangeValue("一个范围浮点数",Range(1,100)) = 50
四维数(Vector)_VectorValue("一个四维数",Vector) = (1,1,1,1)
颜色(Color)_ColorValue("一个颜色值",Color) = (1,0,0,1)
2阶贴图(2D)_Texture2D("一个2阶贴图",2D) = ""{}
非2阶贴图(Rect)_TextureRect("一个非2阶贴图",Rect) = ""{}
立方体贴图(Cube)_TextureCube("一个立方体贴图",Cube) = ""{}

                Color

固定渲染一个颜色():Color(0,0,0.6,1)
固定渲染一个可变颜色[]:Color[_MainColor]

                Material

前提需要开启顶点光照      →      Lighting On/Off(开启/关闭顶点光照)

Material

漫反射颜色(Diffuse)
环境光反射颜色(Ambient)

前提:需要开启镜面反射(SeparateSpecular On | Off)

光泽度(Shininess)

高光颜色(Specular)
自发光颜色(Emission)

                设置多边形剔除

                        Cull Back/Front/Off

                深度测试(判断该模型的深度,满足时渲染模型)

                        前提:需要写入深度缓冲

ZWrite On | OffOn(开启的话,如果满足判断就只会渲染模型框架不会渲染颜色)
Off(关闭的话,如果满足判断即可渲染模型也可渲染颜色)

                        ZTest

ZTestLess(小于)、LEqual(小于等于)
Greater(大于)、GLqual(大于等于)
Equal(等于)、NotEqual(不等于)

Always(渲染所有像素。这在功能上等同于 AlphaTest Off。)

Never(不渲染任何像素)
        Pass
		{
			//  进行深度测试,当前像素的深度大于缓存里的深度
			//  说明当前像素在缓存像素的后面
			//  通俗来讲就是被挡住了
			ZTest Greater
			//  关闭深度缓存
			ZWrite Off

			//  被挡住渲染该颜色
			Color(1,0,0,1)
		}

		Pass
		{
			//  进行深度测试,当前像素的深度小于或等于缓存里的深度
			//  说明当前像素不在缓存像素的后面
			//  通俗来讲就是没有被挡住了
			ZTest LEqual
			
			//  没被挡住渲染该颜色
			Color(0,0,1,1)
		}

                 什么是深度?

顶点&像素距离摄像机的距离距离越近深度越小
距离越远深度越大

                Blend(混合)

Blend(混合)

Alpha(混合):Blend SrcAlpha OneMinusSrcAlpha
相加:Blend One One
比较柔和的相加:Blend One OneMinusDstColor
乘法:Blend DstColor Zero
2倍乘法:Blend DstColor SrcColor
开启透明混合:Blend SrcAlpha OneMinusSrcAlpha

                Tags

SubShader标签Queue

测试需要关闭ZTest        
级别1000Background    后台
2000Geometry    几何体(默认)
3000Transparent    透明
4000Overlay        覆盖
Tags{"Queue" = "Transparent+1"}

        TextureSetup

                 SetTexture[TexturePropertyName]{TextureBlock}

前提Lighting On

stc【颜色源】

Primary是来自光照计算的颜色或是它绑定时的顶点颜色
Texture是在SetTexture中被定义的纹理的颜色
Previous是上一次Set Texture的结果
Constant是被ConstantColor定义的颜色固定颜色:constantColor(1,1,1,1)

combine

暗:combine src1 * src2

亮:combine src1 + src2

       combine src1 - src2

combine src1 lerp(src2) src3
双倍/四倍————Double \ Quad
RGB与A分离
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值