首页 > 代码库 > Glow Shader
Glow Shader
【Glow Shader】
Glow Shader基于BlurShader来实现。总的来说分为2步:
1、利用BlurShader渲染出BlurTexture。
2、将BlurTexture与SrcTexture累加在一起。此步利用GlowShader。
本质就是第二步,将SrcTexture的颜色与BlurTexture的颜色累加在一起。
下面列出实现中的细节。
1、Blur Iteration、Blur Spread参数与BlurShader中的一致。
2、GlowIndensity的实现。
本质是提高BlurShader的颜色亮度。代码如下:
Glow 完整 Sahder 如下:
Shader "Hidden/GlowCompose" {Properties { ("Glow Amount", Color) = (1,1,1,1) _MainTex ("", 2D) = "white" {}}Category { ZTest Always Cull Off ZWrite Off Fog { Mode Off } Blend One One Subshader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma fragmentoption ARB_precision_hint_fastest #include "UnityCG.cginc" struct v2f { float4 pos : POSITION; half2 uv : TEXCOORD0; }; float4 _MainTex_TexelSize; float4 _BlurOffsets; v2f vert (appdata_img v) { v2f o; o.pos = mul (UNITY_MATRIX_MVP, v.vertex); o.uv = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord.xy); return o; } sampler2D _MainTex; fixed4 _Color; fixed4 frag( v2f i ) : COLOR { return 2.0f * _Color * tex2D( _MainTex, i.uv ); } ENDCG } } SubShader { Pass { SetTexture [_MainTex] {constantColor [_Color] combine constant * texture DOUBLE} } }}Fallback off}
Glow Shader
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。