【Unity Shader】---Alpha Blending的意义
Alpha Blending 即Alpha混合
Blending 就是处理透明度的,处理光栅化最后阶段,显示在屏幕上的颜色
1 Blend Off 关闭alpha混合
2 混合公式:Blend SrcFactor DstFactor
SrcFactor 混合源系数 Shader当前计算点的颜色的混合系数
DstFactor 混合目标系数 当前点之前累积的颜色的混合系数
最终颜色 = (Shader计算出的点颜色值 * 源系数)+(点累积颜色 * 目标系数)
3 常用的混合系数
one 1(仅显示RBG值)
zero 0(不参与混合,为(0,0,0,0))
ScrColor 源的RGB值
ScrAlpha 源的alpha值
DstColor 目标的RGB值
DstAlpha 目标的alpha值
OneMinusSrcColor 1减源RGB值
OneMinusScrAlpha 1减源alpha值
OneMinusDstColor 1减目标RGB值
OneMinusDstAlpha 1减目标alpha值
4 几种混合方式案例
Blend zero one 仅显示目标的RGB 无透明通道处理(alpha为1)
Blend one zero 仅显示源的RGB 无透明通道处理(alpha为1)
Blend one one 目标和源的RGB值相加,无透明通道处理(alpha为1)
Blend ScrAlpha zero 仅显示源的颜色(处理透明通道),完全透明的地方显示(0,0,0,1)
Blend ScrAlpha OneMinusScrAlpha 源RGB * alpha + 目标RGB * (1 - alpha)
5 颜色计算规则
(注:r,g,b,a,x,y,z取值范围为[0,1])
(r,g,b)* a = (r * a , g * a , b * a)
(r,g,b)* (x,y,z) = (r * x , g * y , b * z)
(r,g,b)+ (x,y,z) = (r + x , g + y , b + z)
(r,g,b)- (x,y,z) = (r - x , g - y , b - z)
【Unity Shader】---Alpha Blending的意义的更多相关文章
- 【Unity Shaders】Alpha Test和Alpha Blending
写在前面 关于alpha的问题一直是个比较容易摸不清头脑的事情,尤其是涉及到半透明问题的时候,总是不知道为什么A就遮挡了B,而B明明在A前面.这篇文章就总结一下我现在的认识~ Alpha Test和A ...
- (转)【Unity Shaders】Alpha Test和Alpha Blending
转自:http://blog.csdn.net/candycat1992/article/details/41599167 写在前面 关于alpha的问题一直是个比较容易摸不清头脑的事情,尤其是涉及到 ...
- Unity Shader入门精要学习笔记 - 第8章 透明效果
转载自 冯乐乐的 <Unity Shader入门精要> 透明是游戏中经常要使用的一种效果.在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道.当开启透明混合后,当一个物体被渲染 ...
- Unity Shader入门教程(一)
参考文献:http://www.360doc.com/content/13/0923/15/12282510_316492286.shtml Unity Shader是着色器,将纹理.网格信息输入,得 ...
- Unity Shader 入门精要学习 (冯乐乐 著)
第1篇 基础篇 第1章 欢迎来到Shader的世界 第2章 渲染流水线 第3章 Unity Shader 基础 第4章 学习Shader所需的数学基础 第2篇 初级篇 第5章 开始Unity Shad ...
- 【Unity Shader】(五) ------ 透明效果之半透明效果的实现及原理
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题 [Unity Shader学习笔记](三) -- ...
- Unity Shader 之 透明效果
透明效果 透明效果一般有两种实现方法: 第一种,使用透明度测试(Alpha Test) 第二种,使用透明度混合(Alpha Blending) 透明度测试和透明度混合机制: 透明度测试(Alpha T ...
- 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)
写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shad ...
- 【原】Unity Shader VS UDK Material Editor
UDK 的材质编辑器十分好用,毕竟是所见即所得的.虽然unity也有类似第三方插件,但易用性还是差很多,下面主要是,把一些常见表达式概念对应起来. 1. UDK CameraVector (相机位向量 ...
随机推荐
- Java web项目搭建系列之二 Jetty下运行项目
在项目pom.xml文件中添加Jetty运行配置 在pom.xml文件project节点下插入如下代码: <build> <plugins> <plugin> &l ...
- Codeforces1221D. Make The Fence Great Again(dp)
题目链接:传送门 思路: 仔细想一下可以发现:每个位置最多就增加2个高度. 所以就可以有状态: f[i][j]表示保证前i个篱笆都是great时,第i个篱笆增加j的高度所需要的最小花费(1 <= ...
- flask之日志的配置
1. 项目中,日志和配置文件都是单独在一个文件夹中,一般log文件夹和config文件夹,两个文件夹和manage.py在同一个目录下. 2. 配置日志前,先给flask装上script脚本扩展,Fl ...
- WebStorm / IDEA最新激活码2019----100%随时可用
亲测日期:2019.12.24 网址里面有 lookdiv.com 里面的钥匙就是lookdiv.com 或者直接点击备用码 http://lookdiv.com/spare.html 进入可能会比 ...
- 【04】Python 深拷贝浅拷贝 函数 递归 集合
1 深拷贝浅拷贝 1.1 a==b与a is b的区别 a == b 比较两个对象的内容是否相等(可以是不同内存空间) a is b 比较a与b是否指向同一个内存地址,也就是a与b的id是否相 ...
- 移动端300ms兼容问题(移动端经典问题)
移动端300ms延迟原因 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的.于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌 ...
- PHP 大文件上传进度条实现
核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...
- ASP.net 能写一个上传整个文件夹的东东
IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...
- Java——开发环境配置
[1]JDK的安装与卸载 (1)卸载程序 控制面板--添加或删除程序--J2SE Development Kit和J2SE Runtime Envioroment--删除 (2)安装程 ...
- <知识整理>2019清北学堂提高储备D5
今天主讲图论. 前言:图的定义:图G是一个有序二元组(V,E),其中V称为顶集(Vertices Set),E称为边集(Edges set),E与V不相交.它们亦可写成V(G)和E(G). 一.图的存 ...