Fixed Function Shader

Fixed Function Shader

Shaderlab基本结构

shder"name"{
	//为shader定制属性,可在检视面板编辑
	[Properties]
	//shader主体,有且只有一个
	SubShaders
	//当subshaders不可执行时会运行
	[FallBack]
}

Shaderlab代码

//shader学习步骤 1. 2. 3. 4. 。。。
Shader "Custom/Shader1"
{
	//1.
	properties{
		//属性名称("显示在面板上的名称",类型)=默认值
		_Color("color",Color) = (1,1,1,1)   //颜色

		//_Vector("vector",Vector) = (1,2,3,4) //向量类型

		//_Int("int",Int) = 123//整数

		//_Float("float",Float) = 5.5 //小数

		//_Range("range",Range(1,10)) = 10  //范围

		//_2D("texture",2D) = "white"{}  //white指的是在没有图片的时候使用的颜色

		//_Cube("cube",Cube) = "white"{}//天空盒

		//_3D("texture",3D) = "white"{}//3d纹理

		_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)=""
	}
    
    SubShader
    {
		//2.
		//pass渲染通道
		pass {
		//3.
		//颜色属性()固定值 []参数值
		//color(1,1,1,1)
			//color[_Color]
		//光加入颜色,场景中物体处于片状
		//4.
		//加入material材质
			material{
			//材质漫反射
				diffuse[_Color]
			//6.
			//只加入灯光不真实需要加入环境光
				ambient[_Ambient]
			//7.
			//光滑物体的高光部分
				specular[_Specular]
			//8.
			//描述高光反射的区域范围
				shininess[_Shininess]
			//9.
			//自发光
				emission[_Emission]
			}
		//5.
		//只加入diffuse漫反射会导致颜色修改不能用因为没有光照
			lighting on
		//7.
		//独立的镜面高光
			separatespecular on
		//10.
		//贴图采样,一个settexture只能一个参数
			settexture[_MainTex]
			{
			//合并,primary定点光照计算过后的结果
				combine texture * primary double
			}
		//11.
		//第二张纹理
			settexture[_SecondTex]
			{
				//合并,previous之前所有计算和采样过后的结果
				combine texture * previous double
			}
		}
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值