[Unity Shader] Fixed Function Shader

Shader "Custom/FixedFunction" {
	

	Properties{

		//自身颜色

		_Color("Main Color",color) = (1,1,1,1)

		//暗部颜色

		_Ambient("Ambient",color)=(0.3,0.3,0.3,0.3)

		//高光颜色

		_Specular("Specular",color)=(1,1,1,1)

		//高光区域范围

		_Shininess("Shininess",range(0,8)) = 4

		//自发光

		_Emission("Emission",color)=(1,1,1,1)
	}


	SubShader {


		pass {

		material{

			diffuse[_Color]

			ambient[_Ambient]

			specular[_Specular]

			shininess[_Shininess]

			emission[_Emission]

	        }

			//开启光照模型

			lighting on

			//开启高光分离

			separatespecular on

    }

  }

}
FixedFunctionShaderTransparent

Shader "Custom/FixedFunction2" {


	Properties{

		//自身颜色

		_Color("Main Color",color) = (1,1,1,1)

		//暗部颜色

		_Ambient("Ambient",color) = (0.3,0.3,0.3,0.3)

		//高光颜色

		_Specular("Specular",color) = (1,1,1,1)

		//高光区域范围

		_Shininess("Shininess",range(0,8)) = 4

		//自发光

		_Emission("Emission",color) = (1,1,1,1)

		//纹理属性
		_MainTex("MainTex",2D) = ""{}

		//第二张纹理属性
		_SecondTex("SecondTex",2D) = ""{}

		//不通过纹理Alpha来控制透明度
		_Constant("ConstanColor",color)=(1,1,1,0.3)
	}


		SubShader{
		//标签来设置渲染队列顺序
		Tags{"Queue"="Transparent"}  //透明


		pass {

			Blend SrcAlpha OneMinusSrcAlpha  //Alpha blending

		material{

			diffuse[_Color]

			ambient[_Ambient]

			specular[_Specular]

			shininess[_Shininess]

			emission[_Emission]

		}

			//开启光照模型

			lighting on

			//开启高光分离

			separatespecular on

			//设置纹理属性
			settexture[_MainTex]
		{
			combine texture * primary double  //primary代表先前计算的顶点光照的颜色
		}

			settexture[_SecondTex]
		{
			constantColor[_Constant]

			combine texture * previous double,texture * constant //previous代表之前所有计算的光照颜色
		}

	}

  }

}







      
      


    
    



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值