【Unity Shader】 Alpha测试
介绍
Alpha测试:符合条件的像素显示出来,不符合的丢掉
一、fixed function shader的透明通度测试
ShaderLab: Legacy Alpha Testing
语法
- 关闭Alpha测试
AlphaTest Off
渲染所有的像素(默认)或者…
2. 开启Alpha测试
AlphaTest comparison AlphaValue
设置alpha测试,根据alpha值筛选符合条件的像素进行渲染
Comparison Alpha测试的比较命令
- Greater
Only render pixels whose alpha is greater than AlphaValue. - GEqual
Only render pixels whose alpha is greater than or equal to AlphaValue. - Less
Only render pixels whose alpha value is less than AlphaValue. - LEqual
Only render pixels whose alpha value is less than or equal to from AlphaValue. - Equal
Only render pixels whose alpha value equals AlphaValue. - NotEqual
Only render pixels whose alpha value differs from AlphaValue. - Always
Render all pixels. This is functionally equivalent to AlphaTest Off. - Never
Don’t render any pixels.
- Greater
开启alpha测试,只渲染alpha值大于0.5的像素:
Shader "Hidden/alphatest"
{Properties{_MainTex ("Texture", 2D) = "white" {}}SubShader{// No culling or depthCull Off ZWrite Off ZTest Always// alphatest// AlphaTest OffAlphaTest Greater 0.5Pass{SetTexture[_MainTex]}}
}
二、可编程shader的透明度测试
ShaLab的AlphaTest命令在shader2.0中是不起作用的。
由于可编程shader会对纹理采样,可以直接操作纹理的透明通道值,因此也不需要AlphaTest命令。而fixed function shader不会纹理采样,只能依靠AlphaTest命令进行Alpha测试。
同样,开启alpha测试,只渲染alpha值大于0.5的像素:
Shader "Hidden/alphatest2"
{Properties{_MainTex ("Texture", 2D) = "white" {}}SubShader{// No culling or depth//Cull Off ZWrite Off ZTest AlwaysBlend SrcAlpha OneMinusSrcAlphaPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}sampler2D _MainTex;fixed4 frag (v2f i) : SV_Target{fixed4 col = tex2D(_MainTex, i.uv);if(col.a < 0.5 ){return fixed4(0,0,0,0);}else{return col;}return col;}ENDCG}}
}
【Unity Shader】 Alpha测试相关推荐
- Unity Shader 模板测试
模板测试和深度测试很相似: 1.如果模板测试不通过,则该像素会被舍弃 2.有模板缓冲区,每像素对应存放一个8位整数(0-255) 3.模板测试也是一个比较值的过程,将参考值和模板缓冲的值进行比较 当然 ...
- Unity Shader - ddx/ddy偏导函数测试,实现:锐化、高度图、Flat shading应用、高度生成法线
文章目录 ddx, ddy 说明 DirectX - ddx, ddy OpenGL - dFdx, dFdy 伪代码表示 可用它来做什么 简单的边缘突出应用 Shader 边缘突出-锐化-增加差值 ...
- 【浅墨Unity3D Shader编程】之四 热带雨林篇: 剔除、深度测试、Alpha测试以及基本雾效合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/41923661 作者:毛星云(浅墨) ...
- 【Unity Shader】实现透明度测试和透明度混合
本篇开始将进行<入门精要>初级篇最后一部分的学习,完成透明效果的学习. 1 Unity中实现透明效果的方法 一个像素的RGBA参数中的最后一项A指的就是透明度Alpha.在之前的实践中,一 ...
- unity shader学习---透明度测试,透明度混合
unity实现透明效果 效果图 理论 Alpha Test Alpha Blend 改进 开启深度写入的半透明效果 双面渲染的透明效果 代码部分 效果图 Alpha Test Alpha Test W ...
- 【Unity3D Shader编程】之四 热带雨林篇: 剔除、深度测试、Alpha测试以及基本雾效合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/41923661 作者:毛星云(浅墨) ...
- 【Unity3D Shader编程】之四 热带雨林篇 剔除 深度测试 Alpha测试以及基本雾效合辑
分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 本系列文章由@浅墨 ...
- Unity3D Shader编程】之四 热带雨林篇: 剔除、深度测试、Alpha测试以及基本雾效合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/41923661 作者:毛星云(浅墨) ...
- Unity Shader 之 透明效果
本文引用 Unity Shader入门精要 开启透明混合后,一个物体被渲染到屏幕上时,每个片元除了颜色值和深度值外,还有--透明度.透明度为1,则完全不透明,透明度为0,则完全不会显示. 在Unity ...
- unity shader入门精要_Unity Shader 入门(一):渲染流水线
一.参考与说明(需要写在开始东西): 1.1 Unity Shader 入门紧要学习 candycat1992/Unity_Shaders_Bookgithub.com 1.2 还有一些图形学的历史 ...
最新文章
- jexus防止产生 *.core文件
- 嵌套向量中断控制器NVIC和系统控制块SCB特性
- Spring Cloud构建微服务架构(四)分布式配置中心
- android怎么关应用程序,如何关闭Android应用程序?
- Java客户端操作HBase:创建表代码示例
- 周末包邮送书和小红包中奖名单公布
- mysql 列 随机数_mysql mmp 某字段插入随机数!(说不定那天就忘记了,存下来再说)...
- springcloud服务网关Netflix Zuul入门简介
- 右键菜单显示项的可见度控制 c# 1614605595
- 机器学习 正则化(regularization)
- 从毕业生当中看人与人的差距
- 批处理(bat)xcopy详解
- 无线局域网和蜂窝移动网络_苹果调整 iPhone 移动数据下载限制:从 150 MB 升至 200 MB...
- 修改解锁植物大战僵尸所有模式、关卡、金钱
- css border实现渐变
- 001电机的分类:不骗你,如果你没读这篇文章,可能都不知道还有这种类型的电机!
- Java之颜色工具-yellowcong
- 滴滴宋世君:数据分析师究竟是做什么的?
- VMware14详细安装带软件
- 【整理】C#中GridView隐藏指定列的方法
热门文章
- 杜兰大学计算机专业,杜兰大学计算机科学
- 华为笔记本电脑home键和end键快捷方式
- 核磁共振基本原理——核磁共振现象
- P1251 餐巾计划问题 解题报告
- 弱电安防监控系统的安装要点
- 基于python的饭店点餐外卖管理系统#毕业设计
- 乐观的态度使工作充满激情
- 搜狗主动推送python脚本(自动登录免验证码)
- 用计算机求算术平方根的按键顺序,6.1 .2 用计算器求算术平方根及算术平方根的应用...
- java detach_jQuery中detach()方法用法实例