您的位置:首页 > 移动开发 > Unity3D

Unity Shader (四)Alpha测试(alpha test)

2017-01-10 15:53 162 查看
前言:经过片段处理的像素,这个时候理论上要去经过混合运算了,但是为了优化混合,程序还可以使用alpha测试进行像素剔除。

AlphaTest的分类

Greater/GEqual/Less/LEqual/Equal/NotEqual/Always/Never

常用:AlphatTest一般用于具有凹型物体,比如树叶

代码

Shader "Custom/Alpha Test" {
Properties {
//定义一个贴图
_MainTex ("Base (RGB)", 2D) = "white" {}
_CutOff("Alpha cutoff", Range(0, 1)) =0.5
}
SubShader
{

Pass
{
alphatest greater[_CutOff]
SetTexture [_MainTex]
{
Combine texture * primary  //正面赋予贴图
}
}
}
FallBack "Diffuse"
}


例子跟之前的一样,一个道童,这里不截图了,当_cutoff =1 的时候你会发现道童不渲染了,也就是没有比alpha值还大的像素了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: