summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader')
-rw-r--r--Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader47
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
+ }
+ }
+}