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)亮度自動(dòng)調(diào)節(jié)
這篇文章主要介紹了Android 如何實(shí)現(xiàn)亮度自動(dòng)調(diào)節(jié),幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下2021-04-04Android圖片添加水印圖片并把圖片保存到文件存儲(chǔ)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android圖片添加水印圖片并把圖片保存到文件存儲(chǔ)的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06務(wù)必掌握的Android十六進(jìn)制狀態(tài)管理最佳實(shí)踐
這篇文章主要為大家介紹了務(wù)必掌握的Android十六進(jìn)制狀態(tài)管理最佳實(shí)踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09android studio的Handler簡(jiǎn)單實(shí)例代碼
今天通過(guò)實(shí)例代碼給大家介紹android studio的Handler簡(jiǎn)單用法,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-10-10Android開(kāi)發(fā) Activity和Fragment詳解
本文主要介紹Android開(kāi)發(fā) Activity和Fragment,這里對(duì)Activity和Fragment的知識(shí)做了詳細(xì)講解,并附簡(jiǎn)單代碼示例,有興趣的小伙伴可以參考下2016-08-08Android 中TextView的使用imageview被壓縮問(wèn)題解決辦法
這篇文章主要介紹了Android 中TextView的使用imageview被壓縮問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04Android編程實(shí)現(xiàn)將tab選項(xiàng)卡放在屏幕底部的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)將tab選項(xiàng)卡放在屏幕底部的方法,涉及Android界面布局、tab設(shè)置及權(quán)限控制相關(guān)操作技巧,需要的朋友可以參考下2017-03-03android獲取屏幕的長(zhǎng)與寬實(shí)現(xiàn)代碼(手寫(xiě))
android中獲取屏幕的長(zhǎng)于寬,參考了網(wǎng)上有很多代碼,但結(jié)果與實(shí)際不符,如我的手機(jī)是i9000,屏幕大小是480*800px,得到的結(jié)果卻為320*533,于此問(wèn)題很是疑惑,于是自己寫(xiě)了幾行代碼,親測(cè)一下,效果還不錯(cuò),需要了解的朋友可以參考下2012-12-12