本文实例为大家分享了Unity shader实现高斯模糊效果的具体代码,供大家参考,具体内容如下
创新互联成立于2013年,我们提供高端网站建设公司、成都网站制作、成都网站设计公司、网站定制、网络营销推广、微信平台小程序开发、微信公众号开发、seo优化排名服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为餐厅设计企业提供源源不断的流量和订单咨询。正常图:
高斯模糊效果图:
shader代码:
Shader "Custom/GaoSiMoHu" { Properties { _MainTex ("Texture", 2D) = "white" {} _BlurSize("Blur size",Float)=1.0 } SubShader { ZTest Always cull off ZWrite off CGINCLUDE//这个可以使其他pass块都可以使用,而不用在两个pass里都写,减少了写的次数 sampler2D _MainTex; half4 _MainTex_TexelSize; float _BlurSize; struct v2f{ float4 pos:SV_POSITION; half2 uv[5]:TEXCOORD0; }; fixed4 fragBlur(v2f i):SV_Target{ float weight[3]={ 0.4026, 0.2442, 0.0545 }; fixed3 sum = tex2D(_MainTex,i.uv[0]).rgb * weight[0]; for(int it = 1; it < 3; it++){ sum += tex2D(_MainTex,i.uv[it]).rgb * weight[it]; sum += tex2D(_MainTex,i.uv[2 * it]).rgb * weight[it]; } return fixed4(sum,1.0); } ENDCG Pass{ NAME "GAUSSIAN_BLUR_VERTICAL"//这个pass的唯一名字,可以在其他地方调用,usepass + 名字 CGPROGRAM #pragma vertex vertlurVertical #pragma fragment fragBlur #include "UnityCG.cginc" v2f vertlurVertical(appdata_img v){ v2f o; o.pos = UnityObjectToClipPos(v.vertex); half2 uv = v.texcoord; o.uv[0]=uv; o.uv[1]=uv + float2(0.0,_MainTex_TexelSize.y * 1.0) * _BlurSize; o.uv[2]=uv - float2(0.0,_MainTex_TexelSize.y * 1.0) * _BlurSize; o.uv[3]=uv + float2(0.0,_MainTex_TexelSize.y * 2.0) * _BlurSize; o.uv[4]=uv - float2(0.0,_MainTex_TexelSize.y * 2.0) * _BlurSize; return o; } ENDCG } Pass{ NAME "GAUSSIAN_BLUR_HORIZONTAL" CGPROGRAM #pragma vertex vertlurHorizontal #pragma fragment fragBlur #include "UnityCG.cginc" v2f vertlurHorizontal(appdata_img v){ v2f o; o.pos = UnityObjectToClipPos(v.vertex); half2 uv = v.texcoord; o.uv[0]=uv; o.uv[1]=uv + float2(0.0,_MainTex_TexelSize.x * 1.0) * _BlurSize; o.uv[2]=uv - float2(0.0,_MainTex_TexelSize.x * 1.0) * _BlurSize; o.uv[3]=uv + float2(0.0,_MainTex_TexelSize.x * 2.0) * _BlurSize; o.uv[4]=uv - float2(0.0,_MainTex_TexelSize.x * 2.0) * _BlurSize; return o; } ENDCG } } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:Unityshader实现高斯模糊效果-创新互联
URL标题:https://www.cdcxhl.com/article40/dgjjeo.html
成都网站建设公司_创新互联,为您提供外贸网站建设、微信公众号、网站维护、用户体验、App设计、网站策划
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联