Shader简单例子之溶解
来源:互联网 发布:解答数学题的软件 编辑:程序博客网 时间:2024/04/28 19:31
Shader "Custom/s2" {Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _CanKaoTex ("单通道的图",2D) = "white"{}//这张图呢 试验的话 随便找个 只有R通道 的图片即可.(当然可可以只有B,也可以不仅仅有R通道,只是去这张图的R值进行是否溶解的一个判断标准 //写汉字只是为了更好理解. _RongJieTime ("完全溶解所需时间 (Second)",Float) = 2 } SubShader { Tags { "RenderType"="Opaque" } Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" uniform sampler2D _MainTex; uniform sampler2D _CanKaoTex; uniform float _RongJieTime; struct vertexOutput{ float4 pos : SV_POSITION; float2 uv:TEXCOORD0; }; vertexOutput vert(appdata_full v) {vertexOutput o;o.pos = mul (UNITY_MATRIX_MVP, v.vertex);o.uv = MultiplyUV( UNITY_MATRIX_TEXTURE0, v.texcoord );return o; } float4 frag(v2f_img i):COLOR { //随时间的增加,应该溶解的标识.(这里只是正好用时间去比较,实际上它和颜色值无关) float shoudRongJie = saturate(_Time.y / _RongJieTime);//saturate为cg封装的函数,作用是应该是相当于clamp的意思,把计算出来的值小于0的都为0,大于1的都为1 //参考图的R通道值 float cankaoTexPassR = tex2D(_CanKaoTex,i.uv).r; //参考图上对应的R值较小的部分先开始溶解. if(cankaoTexPassR <= shoudRongJie) { discard; } float4 texColor = tex2D(_MainTex,i.uv); return texColor; } ENDCG } } FallBack Off }和上一篇的挖孔是一个道理,主要用discard命令实现
0 0
- Shader简单例子之溶解
- Shader 做mesh简单的溶解效果
- 【UE4 shader】溶解shader
- shader溶解特效
- [Unity Shader]溶解效果
- Shader简单例子之挖孔
- OpenGL Shader简单例子
- Unity Shader Example 7 (溶解)
- shader实例溶解,燃烧效果
- 模型分解(瓦解、溶解...)Shader
- Unity Shader-死亡溶解效果
- Unity Shader-死亡溶解效果
- Shader forge 屏幕效果、溶解
- shader编程学习(3)溶解
- 【UE4 shader】溶解后更换材质
- 一个简单的GLSL Shader例子
- 一个简单的GLSL Shader例子【转】
- 一个简单的GLSL Shader例子
- 字符串比较
- 个人随笔JQuery tree的seajs.use(['dialog','$', 'dialog.css'], function(Dialog, $) {}
- Java NIO系列教程(三) Buffer
- C#设计模式
- Combinations - LeetCode 77
- Shader简单例子之溶解
- TCP并发服务器,每个客户一个子进程
- 《C++ primer 》第五版 第六章 笔记
- Copley驱动器控制永磁同步电机设置步骤1
- HDU 1087 Super Jumping! Jumping! Jumping!
- qt字体 QFontComboBox 字体下拉列表框
- W3School-JS-动态原型方式定义类或对象中示例的BUG
- error: std::ios_base::ios_base(const std::ios_base&)’是私有的
- 认识自己——失败的原因