【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 (相机位向量 ...
随机推荐
- Spring Boot实现SAAS平台的基本思路
一.SAAS是什么 SaaS是Software-as-a-service(软件即服务)它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器 上,客户可以根据自己实际需求,通 ...
- CSS的优先级理解
样式的优先级 多重样式(Multiple Styles):如果外部样式.内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况. 一般情况下,优先级如下: (外部样式)External styl ...
- diff 比较两个文件的不同
1.命令功能 diff 逐行比较文件内容,并输出文件差异. 2.语法格式 diff option file1 file2 diff 选项 文件1 文件2 参数说明 参数 参数说明 ...
- git如何将本地文件关联到远程服务器
很多时候,当我们关联git服务器的时候,本地都有可能会有一些开发的东西需要同步上去.那怎么样设置同步呢!跟我来做,简易配置: git本地关联远程项目: 第一步:选择目录 ...
- ztree点击加号+触发ajax请求
之前做的时候一直是点击节点才触发ajax事件,配置如下:发现点击节点前面的“+”没有反应,后来发现,应该添加一个折叠的事件. onExpand:zTreeOnClick事件和onClick的一样. v ...
- bean获取Spring容器
Person.java public class Person implements ApplicationContextAware{ private String name; private int ...
- Ubuntu 16.04 + GTX970 + cuda8.0.44安装配置等问题(转)
参考:https://blog.csdn.net/u010094199/article/details/54380086 参考:https://blog.csdn.net/jonms/article/ ...
- 从MapGIS K9到MapGIS 10到MapGIS 10.3 Server
- Oracle Select语句
Oracle Select语句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,将学习如何使用Oracle SELECT语句从单个表中查询数据. ...
- linux/Unix下的vim/vi指令的使用方法
概述 以下这篇文章介绍的是关于vim的使用方法,由于我本身对linux没有太多的研究,写下的这篇文章纯属是在实际中经常使用vim指令,想通过这篇文章记录下来,方便以后使用时查找方便.个人认为,对于普通 ...