中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenGL Shader如何實現等待標識效果

發布時間:2021-07-21 14:34:18 來源:億速云 閱讀:138 作者:小新 欄目:移動開發

這篇文章主要為大家展示了“OpenGL Shader如何實現等待標識效果”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“OpenGL Shader如何實現等待標識效果”這篇文章吧。

結果如下:

OpenGL Shader如何實現等待標識效果

代碼:

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  
}

以上是“OpenGL Shader如何實現等待標識效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦甸市| 达孜县| 常德市| 陆丰市| 綦江县| 广州市| 平和县| 清水河县| 通化市| 米林县| 梓潼县| 准格尔旗| 司法| 天全县| 石家庄市| 宣威市| 常熟市| 永德县| 和林格尔县| 惠州市| 澄迈县| 怀仁县| 金华市| 蕲春县| 岳阳市| 年辖:市辖区| 尚义县| 武义县| 石首市| 陆丰市| 金湖县| 兰坪| 元阳县| 莆田市| 甘南县| 中宁县| 青川县| 绍兴市| 南江县| 铁岭县| 鄯善县|