OpenGL Shader實(shí)例分析(3)等待標(biāo)識(shí)效果
本文實(shí)例為大家分享了OpenGL Shader實(shí)例,等待標(biāo)識(shí),不過(guò)效率估計(jì)不是很高。結(jié)果如下:

代碼:
Shader "stalendp/waitIcons" {
CGINCLUDE
#include "UnityCG.cginc"
#pragma target 3.0
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 = v.texcoord.xy;
return o;
}
fixed calcDot(fixed a, fixed ca, fixed2 uv) {
a /= 57.295779513;
ca /= 57.295779513;
fixed tt = 180/57.295779513;
uv = (fixed2(cos(a), sin(a)) * 0.2+ uv)*10;
fixed adit = tt*2*step(tt, a-ca);
fixed r = 1-step(ca + adit, a);
r *= lerp(0.2, -1, saturate((ca-a+adit)/25))*2;
return smoothstep(r-0.2, r, length(uv.xy));
}
fixed4 frag(v2f input) : COLOR0 {
float2 uv = input.uv.xy - float2(0.5);
float rx = fmod(uv.x, 0.4);
float ry = fmod(uv.y, 0.4);
float mx = step(0.4, abs(uv.x));
float my = step(0.4, abs(uv.y));
float alpha = 1- mx*my*step(0.1, length(half2(rx,ry)));
alpha*=0.9;
fixed4 foreColor = fixed4(1);
fixed4 bgColor = fixed4(fixed3(0.4),alpha);
fixed4 result = bgColor;
fixed ca = fmod(_Time.y, 2)*180;
bgColor = lerp(foreColor, bgColor, calcDot(0, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(30, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(60, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(90, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(120, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(150, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(180, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(210, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(240, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(270, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(300, ca, uv));
bgColor = lerp(foreColor, bgColor, calcDot(330, ca, uv));
return bgColor;
}
ENDCG
SubShader {
LOD 200
Tags {"Queue" = "Transparent"}
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
ENDCG
}
}
FallBack Off
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 實(shí)現(xiàn)ListView的點(diǎn)擊變色的實(shí)例
這篇文章主要介紹了Android 實(shí)現(xiàn)ListView的點(diǎn)擊變色的實(shí)例的相關(guān)資料,主要實(shí)現(xiàn)Android listveiw ItemClickListener寫(xiě)入變色的功能,需要的朋友可以參考下2017-07-07
Android向Excel寫(xiě)入數(shù)據(jù)導(dǎo)出U盤(pán)并發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了Android將數(shù)據(jù)寫(xiě)入Excel格式導(dǎo)出U盤(pán)、發(fā)送郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
如何在Android中實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能
隨著移動(dòng)端用戶越來(lái)越依賴視頻、文件下載以及大文件傳輸,斷點(diǎn)續(xù)傳作為一種有效節(jié)省帶寬和提高用戶體驗(yàn)的技術(shù)應(yīng)運(yùn)而生,本項(xiàng)目旨在實(shí)現(xiàn)一個(gè)基于?Android?的斷點(diǎn)續(xù)傳功能,需要的朋友可以參考下2025-04-04
Android編程實(shí)現(xiàn)攝像頭臨摹效果的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)攝像頭臨摹效果的方法,涉及Android權(quán)限控制、布局及攝像頭功能調(diào)用等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
Android評(píng)分控件RatingBar使用實(shí)例解析
這篇文章主要為大家詳細(xì)介紹了Android評(píng)分控件RatingBar使用實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10

