diff options
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader')
-rw-r--r-- | Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader new file mode 100644 index 00000000..175ae3ba --- /dev/null +++ b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader @@ -0,0 +1,47 @@ +Shader "Hidden/ComputeScreenPos" +{ + Properties + { + _A ("_A", 2D) = "white" {} + } + SubShader + { + Pass + { + CGPROGRAM + #include "UnityCG.cginc" + #pragma vertex vert_img + #pragma fragment frag + + sampler2D _A; + + float4 frag( v2f_img i ) : SV_Target + { + float4 a = tex2D( _A, i.uv ); + float4 screenPos = ComputeScreenPos(a); + return screenPos; + } + ENDCG + } + + Pass + { + CGPROGRAM + #include "UnityCG.cginc" + #pragma vertex vert_img + #pragma fragment frag + + sampler2D _A; + + float4 frag (v2f_img i) : SV_Target + { + float4 a = tex2D(_A, i.uv); + float4 screenPos = ComputeScreenPos(a); + screenPos = screenPos / screenPos.w; + screenPos.z = (UNITY_NEAR_CLIP_VALUE >= 0) ? screenPos.z : screenPos.z* 0.5 + 0.5; + return screenPos; + } + ENDCG + } + } +} |