日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

11.Wave Shader

發布時間:2023/12/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11.Wave Shader 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個shader是在這位博主點擊打開鏈接的文章基礎上進行修改得到的,原作是在shadertoy網站上。不得不說,被shadertoy上的大神們震精了,真的是令我嘆為觀止,啥也不說了,慢慢學吧。

shader的效果:


Shader的代碼如下,甚是短小精悍

Shader "Study/11_Waves" { //see https://www.shadertoy.com/view/4dsGzH Properties{_Color("Main Color", Color) = (1,1,1,0.5)}SubShader{Tags{ "Queue" = "Transparent" "RenderType" = "Transparent" } Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"float4 _Color;struct v2f{float4 pos : SV_POSITION;float4 srcPos : TEXCOORD0;};float4 _MainTex_ST;v2f vert(appdata_base v){v2f o;o.pos = mul(UNITY_MATRIX_MVP, v.vertex);o.srcPos = ComputeScreenPos(o.pos);return o;}half4 frag(v2f i) : COLOR{fixed3 COLOR1 = fixed3(0.0,0.0,0.3);fixed3 COLOR2 = fixed3(0.5,0.0,0.0);float BLOCK_WIDTH = 0.03;float2 uv = (i.srcPos.xy / i.srcPos.w);fixed3 final_color = fixed3(1,1,1);fixed3 bg_color = fixed3(0,0,0);fixed3 wave_color = fixed3(0,0,0);// TO create the waves float wave_width = 0.01;uv = -1.0 + 2.0*uv;uv.y += 0.1;for (float i = 0.0; i<7.0; i++){uv.y += (0.07 * sin(uv.x + i / 7.0 + _Time.y));wave_width = abs(1.0 / (150.0 * uv.y));wave_color += fixed3(wave_width * 1.9, wave_width, wave_width * 1.5);}final_color = bg_color + wave_color;return fixed4(final_color, 1.0);}ENDCG}} }

這個shader精髓,是數學的魅力,原博主也只是簡單的分析了一下,最精髓的其實是這個for循環里的這三行,其他的就不細說了,參考那位博主的文章吧。

uv.y += (0.07 * sin(uv.x + i / 7.0 + _Time.y)); wave_width = abs(1.0 / (150.0 * uv.y)); wave_color += fixed3(wave_width * 1.9, wave_width, wave_width * 1.5);

這三行只能用精妙來形容。整個shader,不僅僅是位移,連發光效果的顏色都是通過短短這三句來控制的。

第一行,根據uv.x和繪制線的條數來控制uv.y,+=號保證了多條線的間隔。如果是等于號,則相同的uv.x下將得到同樣的color,效果就會類似是一個移動的大長方體:



第二行,根據uv,y計算線的寬度。這又很精妙。。。運用除法運算,1除以uv,y和一個常數的積。當uv,y大于一個常數后,也就是乘積大于1之后,寬度將永遠是0,第三行最后計算出來的color也是背景色,這就是控制顯示范圍和線條寬度變化的地方。


第三行就不說了,根據寬度計算顏色,因為寬度不同,計算出的顏色也會不同。而因為uv,y隨著時間變化,寬度也會變化,所以最終呈現出這么絢麗的效果。

真的,我都驚呆了,給那些大神們獻上膝蓋。

總結

以上是生活随笔為你收集整理的11.Wave Shader的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产91丝袜在线播放0 | 波多野结衣一区二区三区免费视频 | 精品一区二区久久久久蜜桃 | 春色激情站 | 波多野结衣毛片 | 一级片在线免费 | 成人黄色免费看 | 日本免费一区二区视频 | 按摩ⅹxxx性hd中国 | 亚洲精品h | 久久综合福利 | 伊人久久精品一区二区三区 | 大奶子在线观看 | 91色爱| 黄色一级免费看 | 国内成人精品 | 在线精品视频播放 | 婷婷免费| 中国av一区| 午夜伦理福利视频 | 日本精品网 | 色欲无码人妻久久精品 | 午夜aaa片一区二区专区 | 欧美日韩h | 色偷偷人人澡人人爽人人模 | 国产欧美日韩在线观看 | 三年在线观看视频 | 好色婷婷 | 欧美一区二区视频免费观看 | 精品一二三四 | 岛国精品在线 | 波岛野结衣 | 亚洲最大看欧美片网站 | 黄色一极毛片 | 黄色免费网站视频 | 91人人草| 亚洲国产精品女人久久久 | 少妇高潮久久久 | 麻豆tube| 在线观看成人黄色 | 在线播放亚洲精品 | 亚洲视频在线免费 | 成人黄色在线观看 | 欧美亚洲一区二区三区四区 | 少妇欧美激情一区二区三区 | 日本三级韩国三级三级a级按摩 | 免费大片黄在线观看 | 久久国产一级 | 欧美午夜剧场 | 国产污污视频 | 尤物视频在线观看国产性感 | 中文字幕久久av | 国产精品99精品无码视亚 | 国产精品探花在线观看 | 国产成人久久77777精品 | 国产在线网站 | 成人网久久| 欧美精品亚洲 | 一区二区三区四区五区av | 泽村玲子在线 | 日本色网址 | 色综合亚洲 | 啪啪网免费 | 成人在线不卡视频 | 特黄一级大片 | 美女被捅个不停 | 天天操天天干天天插 | 天天免费视频 | 大粗鳮巴久久久久久久久 | 麻豆小视频 | 丰满少妇xbxb毛片日本 | 性欧美色图 | 亚洲aⅴ网站 | 九九久久精品视频 | 国产va| 国产美女精品久久 | 亚洲熟女乱色一区二区三区久久久 | 在线观看国产黄 | 亚洲美女精品 | 中文区中文字幕免费看 | 欧美一级在线视频 | 成人动漫在线观看视频 | 夜色在线视频 | 成人做爰视频www | 在线免费观看欧美大片 | 亚洲国产欧美在线观看 | 国语对白做受69按摩 | 亚洲无线观看 | 亚洲性一区 | www.99av| 国产丰满美女做爰 | 国产一区二区三区免费在线观看 | 九九久久精品视频 | www日韩在线观看 | 最近中文字幕免费mv视频7 | ass亚洲尤物裸体pics | 国产成人精品免高潮在线观看 | 国产96在线 | 亚洲 | 欧美jizzhd欧美18 |