mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-10 11:45:09 +00:00
7cb592fc69
* Spaceball cleanup and small bug fix * Replace old hit sound in spaceball * Camera filters * added 9 new filters, including 3 types of sepia * oops * remark * normalization of fade out and fade in on filters are by 100 * GenerateFilterTypeEnum comments
108 lines
2.3 KiB
Text
108 lines
2.3 KiB
Text
// Amplify Color - Advanced Color Grading for Unity
|
|
// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
|
|
|
|
Shader "Hidden/RenderMask"
|
|
{
|
|
Properties
|
|
{
|
|
_MainTex ("", 2D) = "white" {}
|
|
_Cutoff ("", Float) = 0.5
|
|
_COLORMASK_Color ("", Color) = (1,1,1,1)
|
|
}
|
|
|
|
CGINCLUDE
|
|
#pragma multi_compile _ PIXELSNAP_ON
|
|
#pragma multi_compile _ STEREO_INSTANCING_ON
|
|
#pragma multi_compile _ UNITY_SINGLE_PASS_STEREO
|
|
#include "UnityCG.cginc"
|
|
#include "Common.cginc"
|
|
|
|
fixed _Cutoff;
|
|
fixed4 _COLORMASK_Color;
|
|
|
|
struct v2f_mask
|
|
{
|
|
float4 pos : SV_POSITION;
|
|
float2 uv : TEXCOORD0;
|
|
#if UNITY_VERSION >= 550
|
|
UNITY_VERTEX_OUTPUT_STEREO
|
|
#endif
|
|
};
|
|
|
|
v2f_mask vert( appdata_base v )
|
|
{
|
|
v2f_mask o;
|
|
#if UNITY_VERSION >= 550
|
|
UNITY_SETUP_INSTANCE_ID( v );
|
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
|
|
#endif
|
|
o.pos = CustomObjectToClipPos( v.vertex );
|
|
o.uv = TRANSFORM_TEX( v.texcoord, _MainTex );
|
|
#ifdef PIXELSNAP_ON
|
|
o.pos = UnityPixelSnap( o.pos );
|
|
#endif
|
|
return o;
|
|
}
|
|
ENDCG
|
|
|
|
SubShader
|
|
{
|
|
Tags { "Queue"="Geometry" "IgnoreProjector"="True" "RenderType"="Opaque" }
|
|
Blend Off Lighting Off Fog { Mode Off }
|
|
ColorMask RGB
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
|
|
fixed4 frag( v2f_mask i ) : SV_Target
|
|
{
|
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( i );
|
|
return _COLORMASK_Color;
|
|
}
|
|
ENDCG
|
|
}
|
|
}
|
|
SubShader
|
|
{
|
|
Tags { "Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout" }
|
|
Blend Off Lighting Off Fog { Mode Off }
|
|
ColorMask RGB
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
|
|
fixed4 frag( v2f_mask i ) : SV_Target
|
|
{
|
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( i );
|
|
clip( UNITY_SAMPLE_SCREENSPACE_TEXTURE( _MainTex, i.uv ).a - _Cutoff );
|
|
return _COLORMASK_Color;
|
|
}
|
|
ENDCG
|
|
}
|
|
}
|
|
SubShader
|
|
{
|
|
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
Cull Off ZWrite Off Lighting Off Fog { Mode Off }
|
|
ColorMask RGB
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
|
|
fixed4 frag( v2f_mask i ) : SV_Target
|
|
{
|
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( i );
|
|
return fixed4( _COLORMASK_Color.rgb, UNITY_SAMPLE_SCREENSPACE_TEXTURE( _MainTex, i.uv ).a );
|
|
}
|
|
ENDCG
|
|
}
|
|
}
|
|
}
|