Unity Shader 基础知识(二)

本文详细介绍了Unity Shader中的四个重要指令:AlphaTest用于根据Alpha值过滤fragment;BlendOp改变颜色混合方式,如Max、Min等;ColorMask控制输出颜色通道;以及GrabPass实现屏幕抓取效果,常用于镜面反射等高级视觉效果。通过理解并应用这些指令,可以提升Unity Shader的定制化能力。
摘要由CSDN通过智能技术生成

一、一些不常用的通用指令:

之前忘了说,上一篇所说的通用指令和这些通用指令,几乎都可以单独使用在一个PASS中,即可以写成这种格式:

		Pass
		{
			BlendOp Min			// 定义混合方法
			Blend SrcAlpha OneMinusSrcAlpha 	// 定义Alpha混合模式
			AlphaTest GEqual [_Float]	// 定义Alpha测试条件
                        //其他CG代码
                 }

1.     AlphaTest指令(通道指令):AlphaTest是用来在吸入到帧上之前,做最后一层过滤,对fragment函数所产生的最终颜色的Alpha值进行一个条件比较,满足条件的,才会写入到帧中,不满足的,直接过滤掉。 AlphaTest的格式为:AlphaTest Greater 0.5 ,其中,Greater就是大于的意思,并且Greater可以替换为GEqual,Equal,NotEqual,Less,Lequal,Always,Never,这些词的意思如果不知道的,百度一下。比较关键字后面跟着的值0.5,可以使任意浮点数,并且可以再运行时决定,即这个地方可以填一个变量,这个变量可以使Properties模块里面所定义的变量。但特别需要注意的是,变量名称需要用一对[]括起来,例如:AlphaTest Greater [_Float]

2.    BlendOp指令:上一篇文中说过,在Blend指令中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值