Logo闪白边效果

Shader "Custom/LogoShader" {
    Properties {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader {
        Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Opaque" }
        Blend SrcAlpha OneMinusSrcAlpha
            pass{
        CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"
            sampler2D _MainTex;
            float4 _MainTex_ST;

            struct v2f{
                float4 pos:SV_POSITION;
                float2 uv:TEXCOORD0;
            };

            v2f vert(appdata_base v){
                v2f o;
                o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
                o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
                return o;
            }

            float inFlash(float angle, float2 uv, float xLength, int interval, int beginTime, float offX, float loopTime){
                float brightness = 0;
                float angleInRad = 0.017444 * angle;
                float currentTime = _Time.y;
                int currentTimeInt = _Time.y/interval;
                currentTimeInt *= interval;
                float currentTimePassed = currentTime - currentTimeInt;

                if(currentTimePassed > beginTime){
                    float xBottomLeftBound;
                    float xBottomRightBound;
                    float xPointLeftBound;
                    float xPointRightBound;
                    float x0 = currentTimePassed - beginTime;
                    x0 /= loopTime;
                    xBottomRightBound = x0;
                    xBottomLeftBound = x0 - xLength;

                    float xProjL;
                    xProjL = (uv.y)/tan(angleInRad);

                    xPointLeftBound = xBottomLeftBound - xProjL;
                    xPointRightBound = xBottomRightBound - xProjL;
                    xPointLeftBound += offX;
                    xPointRightBound += offX;
                    if(uv.x > xPointLeftBound && uv.x<xPointRightBound){
                        float midness = (xPointLeftBound+xPointRightBound)/2;
                        float rate = (xLength - 2*abs(uv.x-midness))/(xLength);
                        brightness = rate;
                    }
                }
                brightness = max(brightness, 0);
                float col = float4(1,1,1,1) * brightness;

                return brightness;
            }

            float4 frag(v2f i):COLOR{
                float4 outp;
                float4 texCol = tex2D(_MainTex, i.uv);

                float tmpBrightness;
                tmpBrightness = inFlash(75, i.uv, 0.15f, 2.5f, 0.5f, 0.15, 1.2f);
                if(texCol.w>0.5)
                    outp = texCol + float4(1,1,1,1)*tmpBrightness;
                else
                    outp = float4(0,0,0,0);

                return outp;
            }

        ENDCG
        }
    }
    FallBack "Diffuse"
}
时间: 2024-11-10 11:48:53

Logo闪白边效果的相关文章

EDIUS中怎样快速制作闪白和闪黑效果?

常常在编辑视频的时候,会根据情景需要添加闪黑或者闪白效果.那在EDIUS非线性编辑软件中,闪白/闪黑效果需要如何制作呢?本文涉及的EDIUS工具有色块和转场溶化,快来看看小编如何用这两样做出你想要的效果吧. 查看更多内容请直接前往:http://www.ediuschina.com/jiqiao/edius-shanbai-shanhei.html 1.在素材库面板空白区域右击,选择“新建素材”>“色块”: 2.在弹出的“色块”对话框中,点击第一个颜色选项,在弹出的“色彩选择”对话框中选择“白色

页面闪白的解决方案

为公司客户端做了三个html页面,但是加载的时候会有闪白的情况出现,为解决这个问题 增加了loading...显示来避免闪白,客户端定义了两个方法,一个是开始显示loading,一个是通知结束loading:那么页面放在那里调用呢 确实走了几个弯路,一开始将开始函数放在了页面头部,结束函数放在了body的onload里面,效果不是很好,还是会有短暂的闪白出现: 怀疑是页面没有加载完成,提前结束了,后来加入定时器并判断图片是否加载结束,再执行结束函数,效果依然不理想: 最后一个同事提出将开始放在点

MT6755 使用R63350 IC 出现唤醒概率性闪白,并导致ESD FAIL

现象描述. 手机自动灭屏后按power键或home 键点亮屏幕,概率性上方有白色的一道,还会闪两三下屏.使用的LCM IC是:r63350, (FHD VDO)屏,附件为mtklog看看是什么原因? dear custom: 若關閉 ESD check 對問題現象有改善 是否可以協助把 frontporch 加大測試一下 謝謝 1. 加大 vertical_frontporch params->dsi.vertical_frontporch = 24; hi mtk: 单独修改 params->

Xamarin.Android splash页面瞬间响应_避免APP启动闪白屏

Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ.微信.微博等客户端,点击之后都是瞬间响应Splash启动页,差别在哪里呢. 其实就算你onCreate啥都不做,仍然会闪一下白屏,因为初始化解析界面时需要一定时间,解决方法是自定义Theme. 自定义如下 <style name="AppSplash" parent="android:Theme&

android开发之提高应用启动速度_splash页面瞬间响应_避免APP启动闪白屏

Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ.微信.微博等客户端,点击之后都是瞬间响应Splash启动页,差别在哪里呢. 其实就算你onCreate啥都不做,仍然会闪一下白屏,因为初始化解析界面时需要一定时间,解决方法是自定义Theme. 自定义如下 <style name="AppSplash" parent="android:Theme&

Android动画——仿vivo X6闪充动画效果

做程序猿这么久一直没有写博客,是不正常的,故以此为第一篇博客,开始我的博客生涯. 前不久,看到一篇博客,关于X6闪充动画的效果,是一个叫什么“瓶子盖子”写的,暂时就叫这个名字吧,具体名字没记清(sorry).跑了一下他的代码,发现各种卡顿...一查他的代码发现,在死循环里面不停地new Message(),不卡有鬼了...当然,我并没有对他有不敬的意思,只是想改良一下效果. 先上vivo X6闪充真机效果图: 充电时会不停地旋转,效果绚丽. 下面讲讲实现原理: 该动画实际上是由四条弧线,和中间的

vue 移动端,页面左右页面切换效果(切换过程中会出现白屏效果,布吉岛怎么优化,后来就发布前就弃用了)

<transition name="left"> <router-view v-if="getCms" class="Router"/> </transition> data() { names: 'left' } watch: { '$route'(to, from) { if (to.index < from.index) { this.names = "right" } else

简单CSS技巧实现的Logo动画效果(很像导航栏上经常运用的效果,但有差别)

之前不少人提过说要实现像阿里百秀Logo那样的动画效果,为了满足广大用户的需求,这里就简单做个演示.东西相对较简单,所以不要认为你搞不定它. 下面是演示的案例代码 1 <style> 2 .imlogo{ 3 display:block; 4 width:160px; 5 height:80px; 6 background:#FF5E52 url(logo2.png) center 22px no-repeat; /* 写法一般是 先水平位置 ,然后垂直位置*/ 7 -webkit-trans

App 冷启动与热启动及启动白屏优化

介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果.那么,先来看看什么叫冷启动和热启动. 冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动. 热启动:指 app 没有被后台杀死,仍然在后台运行,通常我们再次去打开这个 app,这种启动方式叫热启动. 那么,何为闪屏页呢?这个大家一般都知道,我们 app 也非常常见的.比如微信.QQ 等等应用,你将这些应用清除掉它们的后台运行的情况下,再去打开.这时候会出现一个闪屏页,类似我们的背景页.这个页面停留的时间