u3d无锯齿遮罩shader-可用于ugui
生活随笔
收集整理的這篇文章主要介紹了
u3d无锯齿遮罩shader-可用于ugui
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
圖片.png
圖片.png // 遮罩shaderShader "Custom/CircleMask" {Properties{_MainTex("MainTex", 2D) = "white" {}_MaskTex("MaskTex", 2D) = "white" {}[HideInInspector]_Cutoff("Alpha cutoff", Range(0,1)) = 0.5//MASK SUPPORT ADD_StencilComp("Stencil Comparison", Float) = 8_Stencil("Stencil ID", Float) = 0_StencilOp("Stencil Operation", Float) = 0_StencilWriteMask("Stencil Write Mask", Float) = 255_StencilReadMask("Stencil Read Mask", Float) = 255_ColorMask("Color Mask", Float) = 15//MASK SUPPORT END}SubShader{Tags{"IgnoreProjector" = "True""Queue" = "Transparent""RenderType" = "Transparent"}//MASK SUPPORT ADDStencil{Ref[_Stencil]Comp[_StencilComp]Pass[_StencilOp]ReadMask[_StencilReadMask]WriteMask[_StencilWriteMask]}ColorMask[_ColorMask]//MASK SUPPORT ENDPass{Name "FORWARD"Tags{"LightMode" = "ForwardBase"}Blend SrcAlpha OneMinusSrcAlphaZWrite OffCGPROGRAM #pragma vertex vert #pragma fragment frag #define UNITY_PASS_FORWARDBASE #include "UnityCG.cginc" #pragma multi_compile_fwdbase #pragma only_renderers d3d9 d3d11 glcore gles #pragma target 3.0uniform sampler2D _MainTex; uniform float4 _MainTex_ST;uniform sampler2D _MaskTex; uniform float4 _MaskTex_ST;struct VertexInput {float4 vertex : POSITION;float2 texcoord0 : TEXCOORD0;};struct VertexOutput {float4 pos : SV_POSITION;float2 uv0 : TEXCOORD0;};VertexOutput vert(VertexInput v) {VertexOutput o = (VertexOutput)0;o.uv0 = v.texcoord0;o.pos = UnityObjectToClipPos(v.vertex);return o;}float4 frag(VertexOutput i) : COLOR{// Lighting:float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(i.uv0, _MainTex));float3 finalColor = _MainTex_var.rgb;float4 _MaskTex_var = tex2D(_MaskTex,TRANSFORM_TEX(i.uv0, _MaskTex));return fixed4(finalColor,_MaskTex_var.a);}ENDCG}}FallBack "Diffuse" }
圖片.png // 遮罩shaderShader "Custom/CircleMask" {Properties{_MainTex("MainTex", 2D) = "white" {}_MaskTex("MaskTex", 2D) = "white" {}[HideInInspector]_Cutoff("Alpha cutoff", Range(0,1)) = 0.5//MASK SUPPORT ADD_StencilComp("Stencil Comparison", Float) = 8_Stencil("Stencil ID", Float) = 0_StencilOp("Stencil Operation", Float) = 0_StencilWriteMask("Stencil Write Mask", Float) = 255_StencilReadMask("Stencil Read Mask", Float) = 255_ColorMask("Color Mask", Float) = 15//MASK SUPPORT END}SubShader{Tags{"IgnoreProjector" = "True""Queue" = "Transparent""RenderType" = "Transparent"}//MASK SUPPORT ADDStencil{Ref[_Stencil]Comp[_StencilComp]Pass[_StencilOp]ReadMask[_StencilReadMask]WriteMask[_StencilWriteMask]}ColorMask[_ColorMask]//MASK SUPPORT ENDPass{Name "FORWARD"Tags{"LightMode" = "ForwardBase"}Blend SrcAlpha OneMinusSrcAlphaZWrite OffCGPROGRAM #pragma vertex vert #pragma fragment frag #define UNITY_PASS_FORWARDBASE #include "UnityCG.cginc" #pragma multi_compile_fwdbase #pragma only_renderers d3d9 d3d11 glcore gles #pragma target 3.0uniform sampler2D _MainTex; uniform float4 _MainTex_ST;uniform sampler2D _MaskTex; uniform float4 _MaskTex_ST;struct VertexInput {float4 vertex : POSITION;float2 texcoord0 : TEXCOORD0;};struct VertexOutput {float4 pos : SV_POSITION;float2 uv0 : TEXCOORD0;};VertexOutput vert(VertexInput v) {VertexOutput o = (VertexOutput)0;o.uv0 = v.texcoord0;o.pos = UnityObjectToClipPos(v.vertex);return o;}float4 frag(VertexOutput i) : COLOR{// Lighting:float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(i.uv0, _MainTex));float3 finalColor = _MainTex_var.rgb;float4 _MaskTex_var = tex2D(_MaskTex,TRANSFORM_TEX(i.uv0, _MaskTex));return fixed4(finalColor,_MaskTex_var.a);}ENDCG}}FallBack "Diffuse" }
總結
以上是生活随笔為你收集整理的u3d无锯齿遮罩shader-可用于ugui的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 影像采集-拍照 (用自己的插件 )简单逻
- 下一篇: node + express + mys