Files
BlockSpace-v1.5.0b/Assets/Shader/Hidden_Universal Render Pipeline_XR_XRMotionVector.shader
2026-06-01 17:19:55 +02:00

385 lines
24 KiB
GLSL

Shader "Hidden/Universal Render Pipeline/XR/XRMotionVector"
{
Properties
{
}
SubShader
{
Tags { "RenderPipeline" = "UniversalPipeline" }
Pass
{
Name "XR Camera MotionVectors"
Tags { "RenderPipeline" = "UniversalPipeline" }
Cull Off
Stencil
{
Ref 1
ReadMask 1
WriteMask 1
Comp NotEqual
Pass Keep
Fail Keep
ZFail Keep
}
GpuProgramID 5101
HLSLPROGRAM
// https://docs.unity3d.com/Manual/SL-PragmaDirectives.html
#pragma vertex vert
#pragma fragment frag
#pragma target 4.0
#pragma multi_compile _ STEREO_INSTANCING_ON
#ifndef STEREO_INSTANCING_ON
#define ANY_SHADER_VARIANT_ACTIVE
float4x4 unity_MatrixInvVP;
float4x4 _PrevViewProjMatrix;
float4x4 _NonJitteredViewProjMatrix;
static float4 vertex_uniform_buffer_0[98];
static float4 gl_Position;
static int gl_VertexIndex;
static int gl_BaseVertexARB;
static float4 vertex_output_1;
static float4 vertex_output_2;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
};
struct Vertex_Stage_Output
{
float4 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 vertex_output_2 : TEXCOORD1; // TEXCOORD_1
float4 gl_Position : SV_Position;
};
void vert_main()
{
float vertex_unnamed_34 = mad(float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u), 2.0f, -1.0f);
float vertex_unnamed_37 = mad(float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u), 2.0f, -1.0f);
gl_Position.x = vertex_unnamed_34;
gl_Position.y = vertex_unnamed_37;
gl_Position.z = 0.0f;
gl_Position.w = 1.0f;
precise float vertex_unnamed_55 = vertex_unnamed_37 * vertex_uniform_buffer_0[84u].x;
precise float vertex_unnamed_56 = vertex_unnamed_37 * vertex_uniform_buffer_0[84u].y;
precise float vertex_unnamed_57 = vertex_unnamed_37 * vertex_uniform_buffer_0[84u].z;
precise float vertex_unnamed_58 = vertex_unnamed_37 * vertex_uniform_buffer_0[84u].w;
precise float vertex_unnamed_77 = mad(vertex_uniform_buffer_0[83u].x, vertex_unnamed_34, vertex_unnamed_55) + vertex_uniform_buffer_0[86u].x;
precise float vertex_unnamed_78 = mad(vertex_uniform_buffer_0[83u].y, vertex_unnamed_34, vertex_unnamed_56) + vertex_uniform_buffer_0[86u].y;
precise float vertex_unnamed_79 = mad(vertex_uniform_buffer_0[83u].z, vertex_unnamed_34, vertex_unnamed_57) + vertex_uniform_buffer_0[86u].z;
precise float vertex_unnamed_80 = mad(vertex_uniform_buffer_0[83u].w, vertex_unnamed_34, vertex_unnamed_58) + vertex_uniform_buffer_0[86u].w;
precise float vertex_unnamed_81 = vertex_unnamed_77 / vertex_unnamed_80;
precise float vertex_unnamed_82 = vertex_unnamed_78 / vertex_unnamed_80;
precise float vertex_unnamed_83 = vertex_unnamed_79 / vertex_unnamed_80;
precise float vertex_unnamed_91 = vertex_unnamed_82 * vertex_uniform_buffer_0[95u].x;
precise float vertex_unnamed_92 = vertex_unnamed_82 * vertex_uniform_buffer_0[95u].y;
precise float vertex_unnamed_93 = vertex_unnamed_82 * vertex_uniform_buffer_0[95u].z;
precise float vertex_unnamed_94 = vertex_unnamed_82 * vertex_uniform_buffer_0[95u].w;
precise float vertex_unnamed_124 = mad(vertex_uniform_buffer_0[96u].x, vertex_unnamed_83, mad(vertex_uniform_buffer_0[94u].x, vertex_unnamed_81, vertex_unnamed_91)) + vertex_uniform_buffer_0[97u].x;
precise float vertex_unnamed_125 = mad(vertex_uniform_buffer_0[96u].y, vertex_unnamed_83, mad(vertex_uniform_buffer_0[94u].y, vertex_unnamed_81, vertex_unnamed_92)) + vertex_uniform_buffer_0[97u].y;
precise float vertex_unnamed_126 = mad(vertex_uniform_buffer_0[96u].z, vertex_unnamed_83, mad(vertex_uniform_buffer_0[94u].z, vertex_unnamed_81, vertex_unnamed_93)) + vertex_uniform_buffer_0[97u].z;
precise float vertex_unnamed_127 = mad(vertex_uniform_buffer_0[96u].w, vertex_unnamed_83, mad(vertex_uniform_buffer_0[94u].w, vertex_unnamed_81, vertex_unnamed_94)) + vertex_uniform_buffer_0[97u].w;
vertex_output_1.x = vertex_unnamed_124;
vertex_output_1.y = vertex_unnamed_125;
vertex_output_1.z = vertex_unnamed_126;
vertex_output_1.w = vertex_unnamed_127;
precise float vertex_unnamed_139 = vertex_unnamed_82 * vertex_uniform_buffer_0[91u].x;
precise float vertex_unnamed_140 = vertex_unnamed_82 * vertex_uniform_buffer_0[91u].y;
precise float vertex_unnamed_141 = vertex_unnamed_82 * vertex_uniform_buffer_0[91u].z;
precise float vertex_unnamed_142 = vertex_unnamed_82 * vertex_uniform_buffer_0[91u].w;
precise float vertex_unnamed_172 = mad(vertex_uniform_buffer_0[92u].x, vertex_unnamed_83, mad(vertex_uniform_buffer_0[90u].x, vertex_unnamed_81, vertex_unnamed_139)) + vertex_uniform_buffer_0[93u].x;
precise float vertex_unnamed_173 = mad(vertex_uniform_buffer_0[92u].y, vertex_unnamed_83, mad(vertex_uniform_buffer_0[90u].y, vertex_unnamed_81, vertex_unnamed_140)) + vertex_uniform_buffer_0[93u].y;
precise float vertex_unnamed_174 = mad(vertex_uniform_buffer_0[92u].z, vertex_unnamed_83, mad(vertex_uniform_buffer_0[90u].z, vertex_unnamed_81, vertex_unnamed_141)) + vertex_uniform_buffer_0[93u].z;
precise float vertex_unnamed_175 = mad(vertex_uniform_buffer_0[92u].w, vertex_unnamed_83, mad(vertex_uniform_buffer_0[90u].w, vertex_unnamed_81, vertex_unnamed_142)) + vertex_uniform_buffer_0[93u].w;
vertex_output_2.x = vertex_unnamed_172;
vertex_output_2.y = vertex_unnamed_173;
vertex_output_2.z = vertex_unnamed_174;
vertex_output_2.w = vertex_unnamed_175;
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[83] = float4(unity_MatrixInvVP[0][0], unity_MatrixInvVP[1][0], unity_MatrixInvVP[2][0], unity_MatrixInvVP[3][0]);
vertex_uniform_buffer_0[84] = float4(unity_MatrixInvVP[0][1], unity_MatrixInvVP[1][1], unity_MatrixInvVP[2][1], unity_MatrixInvVP[3][1]);
vertex_uniform_buffer_0[85] = float4(unity_MatrixInvVP[0][2], unity_MatrixInvVP[1][2], unity_MatrixInvVP[2][2], unity_MatrixInvVP[3][2]);
vertex_uniform_buffer_0[86] = float4(unity_MatrixInvVP[0][3], unity_MatrixInvVP[1][3], unity_MatrixInvVP[2][3], unity_MatrixInvVP[3][3]);
vertex_uniform_buffer_0[90] = float4(_PrevViewProjMatrix[0][0], _PrevViewProjMatrix[1][0], _PrevViewProjMatrix[2][0], _PrevViewProjMatrix[3][0]);
vertex_uniform_buffer_0[91] = float4(_PrevViewProjMatrix[0][1], _PrevViewProjMatrix[1][1], _PrevViewProjMatrix[2][1], _PrevViewProjMatrix[3][1]);
vertex_uniform_buffer_0[92] = float4(_PrevViewProjMatrix[0][2], _PrevViewProjMatrix[1][2], _PrevViewProjMatrix[2][2], _PrevViewProjMatrix[3][2]);
vertex_uniform_buffer_0[93] = float4(_PrevViewProjMatrix[0][3], _PrevViewProjMatrix[1][3], _PrevViewProjMatrix[2][3], _PrevViewProjMatrix[3][3]);
vertex_uniform_buffer_0[94] = float4(_NonJitteredViewProjMatrix[0][0], _NonJitteredViewProjMatrix[1][0], _NonJitteredViewProjMatrix[2][0], _NonJitteredViewProjMatrix[3][0]);
vertex_uniform_buffer_0[95] = float4(_NonJitteredViewProjMatrix[0][1], _NonJitteredViewProjMatrix[1][1], _NonJitteredViewProjMatrix[2][1], _NonJitteredViewProjMatrix[3][1]);
vertex_uniform_buffer_0[96] = float4(_NonJitteredViewProjMatrix[0][2], _NonJitteredViewProjMatrix[1][2], _NonJitteredViewProjMatrix[2][2], _NonJitteredViewProjMatrix[3][2]);
vertex_uniform_buffer_0[97] = float4(_NonJitteredViewProjMatrix[0][3], _NonJitteredViewProjMatrix[1][3], _NonJitteredViewProjMatrix[2][3], _NonJitteredViewProjMatrix[3][3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.vertex_output_1 = vertex_output_1;
stage_output.vertex_output_2 = vertex_output_2;
return stage_output;
}
#endif // !STEREO_INSTANCING_ON
#ifdef STEREO_INSTANCING_ON
#define ANY_SHADER_VARIANT_ACTIVE
float4x4 _PrevViewProjMatrixStereo[2];
float4x4 _NonJitteredViewProjMatrixStereo[2];
float4x4 unity_StereoMatrixInvVP[2];
static float4 vertex_uniform_buffer_0[63];
static float4 vertex_uniform_buffer_1[48];
static float4 gl_Position;
static uint gl_Layer;
static int gl_VertexIndex;
static int gl_InstanceIndex;
static int gl_BaseVertexARB;
static int gl_BaseInstanceARB;
static float4 vertex_output_1;
static float4 vertex_output_2;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_InstanceIndex : SV_InstanceID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
uint gl_BaseInstanceARB : SV_StartInstanceLocation;
};
struct Vertex_Stage_Output
{
float4 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 vertex_output_2 : TEXCOORD1; // TEXCOORD_1
float4 gl_Position : SV_Position;
uint gl_Layer : SV_RenderTargetArrayIndex;
};
void vert_main()
{
float vertex_unnamed_42 = mad(float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u), 2.0f, -1.0f);
float vertex_unnamed_45 = mad(float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u), 2.0f, -1.0f);
gl_Position.x = vertex_unnamed_42;
gl_Position.y = vertex_unnamed_45;
gl_Position.z = 0.0f;
gl_Position.w = 1.0f;
uint vertex_unnamed_59 = (uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u;
uint vertex_unnamed_60 = vertex_unnamed_59 << 2u;
gl_Layer = int(vertex_unnamed_59);
uint vertex_unnamed_61 = vertex_unnamed_60 + 41u;
precise float vertex_unnamed_70 = vertex_unnamed_45 * vertex_uniform_buffer_1[vertex_unnamed_61].x;
precise float vertex_unnamed_71 = vertex_unnamed_45 * vertex_uniform_buffer_1[vertex_unnamed_61].y;
precise float vertex_unnamed_72 = vertex_unnamed_45 * vertex_uniform_buffer_1[vertex_unnamed_61].z;
precise float vertex_unnamed_73 = vertex_unnamed_45 * vertex_uniform_buffer_1[vertex_unnamed_61].w;
uint vertex_unnamed_74 = vertex_unnamed_60 + 40u;
uint vertex_unnamed_86 = vertex_unnamed_60 + 43u;
precise float vertex_unnamed_94 = mad(vertex_uniform_buffer_1[vertex_unnamed_74].x, vertex_unnamed_42, vertex_unnamed_70) + vertex_uniform_buffer_1[vertex_unnamed_86].x;
precise float vertex_unnamed_95 = mad(vertex_uniform_buffer_1[vertex_unnamed_74].y, vertex_unnamed_42, vertex_unnamed_71) + vertex_uniform_buffer_1[vertex_unnamed_86].y;
precise float vertex_unnamed_96 = mad(vertex_uniform_buffer_1[vertex_unnamed_74].z, vertex_unnamed_42, vertex_unnamed_72) + vertex_uniform_buffer_1[vertex_unnamed_86].z;
precise float vertex_unnamed_97 = mad(vertex_uniform_buffer_1[vertex_unnamed_74].w, vertex_unnamed_42, vertex_unnamed_73) + vertex_uniform_buffer_1[vertex_unnamed_86].w;
precise float vertex_unnamed_98 = vertex_unnamed_94 / vertex_unnamed_97;
precise float vertex_unnamed_99 = vertex_unnamed_95 / vertex_unnamed_97;
precise float vertex_unnamed_100 = vertex_unnamed_96 / vertex_unnamed_97;
uint vertex_unnamed_101 = vertex_unnamed_60 + 56u;
precise float vertex_unnamed_109 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_101].x;
precise float vertex_unnamed_110 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_101].y;
precise float vertex_unnamed_111 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_101].z;
precise float vertex_unnamed_112 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_101].w;
uint vertex_unnamed_113 = vertex_unnamed_60 + 55u;
uint vertex_unnamed_125 = vertex_unnamed_60 + 57u;
uint vertex_unnamed_137 = vertex_unnamed_60 + 58u;
precise float vertex_unnamed_145 = mad(vertex_uniform_buffer_0[vertex_unnamed_125].x, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_113].x, vertex_unnamed_98, vertex_unnamed_109)) + vertex_uniform_buffer_0[vertex_unnamed_137].x;
precise float vertex_unnamed_146 = mad(vertex_uniform_buffer_0[vertex_unnamed_125].y, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_113].y, vertex_unnamed_98, vertex_unnamed_110)) + vertex_uniform_buffer_0[vertex_unnamed_137].y;
precise float vertex_unnamed_147 = mad(vertex_uniform_buffer_0[vertex_unnamed_125].z, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_113].z, vertex_unnamed_98, vertex_unnamed_111)) + vertex_uniform_buffer_0[vertex_unnamed_137].z;
precise float vertex_unnamed_148 = mad(vertex_uniform_buffer_0[vertex_unnamed_125].w, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_113].w, vertex_unnamed_98, vertex_unnamed_112)) + vertex_uniform_buffer_0[vertex_unnamed_137].w;
vertex_output_1.x = vertex_unnamed_145;
vertex_output_1.y = vertex_unnamed_146;
vertex_output_1.z = vertex_unnamed_147;
vertex_output_1.w = vertex_unnamed_148;
uint vertex_unnamed_153 = vertex_unnamed_60 + 48u;
precise float vertex_unnamed_160 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_153].x;
precise float vertex_unnamed_161 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_153].y;
precise float vertex_unnamed_162 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_153].z;
precise float vertex_unnamed_163 = vertex_unnamed_99 * vertex_uniform_buffer_0[vertex_unnamed_153].w;
uint vertex_unnamed_164 = vertex_unnamed_60 + 47u;
uint vertex_unnamed_176 = vertex_unnamed_60 + 49u;
uint vertex_unnamed_188 = vertex_unnamed_60 + 50u;
precise float vertex_unnamed_196 = mad(vertex_uniform_buffer_0[vertex_unnamed_176].x, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_164].x, vertex_unnamed_98, vertex_unnamed_160)) + vertex_uniform_buffer_0[vertex_unnamed_188].x;
precise float vertex_unnamed_197 = mad(vertex_uniform_buffer_0[vertex_unnamed_176].y, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_164].y, vertex_unnamed_98, vertex_unnamed_161)) + vertex_uniform_buffer_0[vertex_unnamed_188].y;
precise float vertex_unnamed_198 = mad(vertex_uniform_buffer_0[vertex_unnamed_176].z, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_164].z, vertex_unnamed_98, vertex_unnamed_162)) + vertex_uniform_buffer_0[vertex_unnamed_188].z;
precise float vertex_unnamed_199 = mad(vertex_uniform_buffer_0[vertex_unnamed_176].w, vertex_unnamed_100, mad(vertex_uniform_buffer_0[vertex_unnamed_164].w, vertex_unnamed_98, vertex_unnamed_163)) + vertex_uniform_buffer_0[vertex_unnamed_188].w;
vertex_output_2.x = vertex_unnamed_196;
vertex_output_2.y = vertex_unnamed_197;
vertex_output_2.z = vertex_unnamed_198;
vertex_output_2.w = vertex_unnamed_199;
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[47] = float4(_PrevViewProjMatrixStereo[0][0][0], _PrevViewProjMatrixStereo[0][1][0], _PrevViewProjMatrixStereo[0][2][0], _PrevViewProjMatrixStereo[0][3][0]);
vertex_uniform_buffer_0[48] = float4(_PrevViewProjMatrixStereo[0][0][1], _PrevViewProjMatrixStereo[0][1][1], _PrevViewProjMatrixStereo[0][2][1], _PrevViewProjMatrixStereo[0][3][1]);
vertex_uniform_buffer_0[49] = float4(_PrevViewProjMatrixStereo[0][0][2], _PrevViewProjMatrixStereo[0][1][2], _PrevViewProjMatrixStereo[0][2][2], _PrevViewProjMatrixStereo[0][3][2]);
vertex_uniform_buffer_0[50] = float4(_PrevViewProjMatrixStereo[0][0][3], _PrevViewProjMatrixStereo[0][1][3], _PrevViewProjMatrixStereo[0][2][3], _PrevViewProjMatrixStereo[0][3][3]);
vertex_uniform_buffer_0[51] = float4(_PrevViewProjMatrixStereo[1][0][0], _PrevViewProjMatrixStereo[1][1][0], _PrevViewProjMatrixStereo[1][2][0], _PrevViewProjMatrixStereo[1][3][0]);
vertex_uniform_buffer_0[52] = float4(_PrevViewProjMatrixStereo[1][0][1], _PrevViewProjMatrixStereo[1][1][1], _PrevViewProjMatrixStereo[1][2][1], _PrevViewProjMatrixStereo[1][3][1]);
vertex_uniform_buffer_0[53] = float4(_PrevViewProjMatrixStereo[1][0][2], _PrevViewProjMatrixStereo[1][1][2], _PrevViewProjMatrixStereo[1][2][2], _PrevViewProjMatrixStereo[1][3][2]);
vertex_uniform_buffer_0[54] = float4(_PrevViewProjMatrixStereo[1][0][3], _PrevViewProjMatrixStereo[1][1][3], _PrevViewProjMatrixStereo[1][2][3], _PrevViewProjMatrixStereo[1][3][3]);
vertex_uniform_buffer_0[55] = float4(_NonJitteredViewProjMatrixStereo[0][0][0], _NonJitteredViewProjMatrixStereo[0][1][0], _NonJitteredViewProjMatrixStereo[0][2][0], _NonJitteredViewProjMatrixStereo[0][3][0]);
vertex_uniform_buffer_0[56] = float4(_NonJitteredViewProjMatrixStereo[0][0][1], _NonJitteredViewProjMatrixStereo[0][1][1], _NonJitteredViewProjMatrixStereo[0][2][1], _NonJitteredViewProjMatrixStereo[0][3][1]);
vertex_uniform_buffer_0[57] = float4(_NonJitteredViewProjMatrixStereo[0][0][2], _NonJitteredViewProjMatrixStereo[0][1][2], _NonJitteredViewProjMatrixStereo[0][2][2], _NonJitteredViewProjMatrixStereo[0][3][2]);
vertex_uniform_buffer_0[58] = float4(_NonJitteredViewProjMatrixStereo[0][0][3], _NonJitteredViewProjMatrixStereo[0][1][3], _NonJitteredViewProjMatrixStereo[0][2][3], _NonJitteredViewProjMatrixStereo[0][3][3]);
vertex_uniform_buffer_0[59] = float4(_NonJitteredViewProjMatrixStereo[1][0][0], _NonJitteredViewProjMatrixStereo[1][1][0], _NonJitteredViewProjMatrixStereo[1][2][0], _NonJitteredViewProjMatrixStereo[1][3][0]);
vertex_uniform_buffer_0[60] = float4(_NonJitteredViewProjMatrixStereo[1][0][1], _NonJitteredViewProjMatrixStereo[1][1][1], _NonJitteredViewProjMatrixStereo[1][2][1], _NonJitteredViewProjMatrixStereo[1][3][1]);
vertex_uniform_buffer_0[61] = float4(_NonJitteredViewProjMatrixStereo[1][0][2], _NonJitteredViewProjMatrixStereo[1][1][2], _NonJitteredViewProjMatrixStereo[1][2][2], _NonJitteredViewProjMatrixStereo[1][3][2]);
vertex_uniform_buffer_0[62] = float4(_NonJitteredViewProjMatrixStereo[1][0][3], _NonJitteredViewProjMatrixStereo[1][1][3], _NonJitteredViewProjMatrixStereo[1][2][3], _NonJitteredViewProjMatrixStereo[1][3][3]);
vertex_uniform_buffer_1[40] = float4(unity_StereoMatrixInvVP[0][0][0], unity_StereoMatrixInvVP[0][1][0], unity_StereoMatrixInvVP[0][2][0], unity_StereoMatrixInvVP[0][3][0]);
vertex_uniform_buffer_1[41] = float4(unity_StereoMatrixInvVP[0][0][1], unity_StereoMatrixInvVP[0][1][1], unity_StereoMatrixInvVP[0][2][1], unity_StereoMatrixInvVP[0][3][1]);
vertex_uniform_buffer_1[42] = float4(unity_StereoMatrixInvVP[0][0][2], unity_StereoMatrixInvVP[0][1][2], unity_StereoMatrixInvVP[0][2][2], unity_StereoMatrixInvVP[0][3][2]);
vertex_uniform_buffer_1[43] = float4(unity_StereoMatrixInvVP[0][0][3], unity_StereoMatrixInvVP[0][1][3], unity_StereoMatrixInvVP[0][2][3], unity_StereoMatrixInvVP[0][3][3]);
vertex_uniform_buffer_1[44] = float4(unity_StereoMatrixInvVP[1][0][0], unity_StereoMatrixInvVP[1][1][0], unity_StereoMatrixInvVP[1][2][0], unity_StereoMatrixInvVP[1][3][0]);
vertex_uniform_buffer_1[45] = float4(unity_StereoMatrixInvVP[1][0][1], unity_StereoMatrixInvVP[1][1][1], unity_StereoMatrixInvVP[1][2][1], unity_StereoMatrixInvVP[1][3][1]);
vertex_uniform_buffer_1[46] = float4(unity_StereoMatrixInvVP[1][0][2], unity_StereoMatrixInvVP[1][1][2], unity_StereoMatrixInvVP[1][2][2], unity_StereoMatrixInvVP[1][3][2]);
vertex_uniform_buffer_1[47] = float4(unity_StereoMatrixInvVP[1][0][3], unity_StereoMatrixInvVP[1][1][3], unity_StereoMatrixInvVP[1][2][3], unity_StereoMatrixInvVP[1][3][3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.gl_Layer = gl_Layer;
stage_output.vertex_output_1 = vertex_output_1;
stage_output.vertex_output_2 = vertex_output_2;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
#ifndef STEREO_INSTANCING_ON
#define ANY_SHADER_VARIANT_ACTIVE
float _SpaceWarpNDCModifier;
static float4 fragment_uniform_buffer_0[131];
static float4 fragment_input_1;
static float4 fragment_input_2;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float4 fragment_input_1 : TEXCOORD; // TEXCOORD
float4 fragment_input_2 : TEXCOORD1; // TEXCOORD_1
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_23 = 1.0f / fragment_input_2.w;
precise float fragment_unnamed_34 = fragment_unnamed_23 * fragment_input_2.x;
precise float fragment_unnamed_35 = fragment_unnamed_23 * fragment_input_2.y;
precise float fragment_unnamed_36 = fragment_unnamed_23 * fragment_input_2.z;
precise float fragment_unnamed_39 = 1.0f / fragment_input_1.w;
precise float fragment_unnamed_46 = (-0.0f) - fragment_unnamed_34;
precise float fragment_unnamed_48 = (-0.0f) - fragment_unnamed_35;
precise float fragment_unnamed_49 = (-0.0f) - fragment_unnamed_36;
precise float fragment_unnamed_59 = mad(fragment_input_1.y, fragment_unnamed_39, fragment_unnamed_48) * fragment_uniform_buffer_0[130u].x;
fragment_output_0.y = fragment_unnamed_59;
fragment_output_0.x = mad(fragment_input_1.x, fragment_unnamed_39, fragment_unnamed_46);
fragment_output_0.z = mad(fragment_input_1.z, fragment_unnamed_39, fragment_unnamed_49);
fragment_output_0.w = 0.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[130] = float4(_SpaceWarpNDCModifier, fragment_uniform_buffer_0[130][1], fragment_uniform_buffer_0[130][2], fragment_uniform_buffer_0[130][3]);
fragment_input_1 = stage_input.fragment_input_1;
fragment_input_2 = stage_input.fragment_input_2;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // !STEREO_INSTANCING_ON
#ifdef STEREO_INSTANCING_ON
#define ANY_SHADER_VARIANT_ACTIVE
float _SpaceWarpNDCModifier;
static float4 fragment_uniform_buffer_0[100];
static float4 fragment_input_1;
static float4 fragment_input_2;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float4 fragment_input_1 : TEXCOORD; // TEXCOORD
float4 fragment_input_2 : TEXCOORD1; // TEXCOORD_1
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_25 = 1.0f / fragment_input_2.w;
precise float fragment_unnamed_36 = fragment_unnamed_25 * fragment_input_2.x;
precise float fragment_unnamed_37 = fragment_unnamed_25 * fragment_input_2.y;
precise float fragment_unnamed_38 = fragment_unnamed_25 * fragment_input_2.z;
precise float fragment_unnamed_41 = 1.0f / fragment_input_1.w;
precise float fragment_unnamed_48 = (-0.0f) - fragment_unnamed_36;
precise float fragment_unnamed_50 = (-0.0f) - fragment_unnamed_37;
precise float fragment_unnamed_51 = (-0.0f) - fragment_unnamed_38;
precise float fragment_unnamed_61 = mad(fragment_input_1.y, fragment_unnamed_41, fragment_unnamed_50) * fragment_uniform_buffer_0[99u].x;
fragment_output_0.y = fragment_unnamed_61;
fragment_output_0.x = mad(fragment_input_1.x, fragment_unnamed_41, fragment_unnamed_48);
fragment_output_0.z = mad(fragment_input_1.z, fragment_unnamed_41, fragment_unnamed_51);
fragment_output_0.w = 0.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[99] = float4(_SpaceWarpNDCModifier, fragment_uniform_buffer_0[99][1], fragment_uniform_buffer_0[99][2], fragment_uniform_buffer_0[99][3]);
fragment_input_1 = stage_input.fragment_input_1;
fragment_input_2 = stage_input.fragment_input_2;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
ENDHLSL
}
}
}