2020-11-03 10:18:32 +00:00
|
|
|
static float4 gl_Position;
|
|
|
|
static float4x4 m4;
|
|
|
|
static float4 v;
|
|
|
|
static float3x3 m3;
|
|
|
|
static float2x2 m2;
|
|
|
|
|
|
|
|
struct SPIRV_Cross_Input
|
|
|
|
{
|
|
|
|
float4 m4_0 : TEXCOORD0;
|
|
|
|
float4 m4_1 : TEXCOORD1;
|
|
|
|
float4 m4_2 : TEXCOORD2;
|
|
|
|
float4 m4_3 : TEXCOORD3;
|
|
|
|
float3 m3_0 : TEXCOORD4;
|
|
|
|
float3 m3_1 : TEXCOORD5;
|
|
|
|
float3 m3_2 : TEXCOORD6;
|
|
|
|
float2 m2_0 : TEXCOORD7;
|
|
|
|
float2 m2_1 : TEXCOORD8;
|
|
|
|
float4 v : TEXCOORD9;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SPIRV_Cross_Output
|
|
|
|
{
|
|
|
|
float4 gl_Position : SV_Position;
|
|
|
|
};
|
|
|
|
|
|
|
|
void vert_main()
|
|
|
|
{
|
|
|
|
gl_Position = mul(v, m4);
|
2022-01-05 13:51:36 +00:00
|
|
|
float4 _35 = gl_Position;
|
|
|
|
float3 _37 = _35.xyz + mul(v.xyz, m3);
|
|
|
|
gl_Position.x = _37.x;
|
|
|
|
gl_Position.y = _37.y;
|
|
|
|
gl_Position.z = _37.z;
|
|
|
|
float4 _56 = gl_Position;
|
|
|
|
float2 _58 = _56.xy + mul(v.xy, m2);
|
|
|
|
gl_Position.x = _58.x;
|
|
|
|
gl_Position.y = _58.y;
|
2020-11-03 10:18:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
|
|
|
{
|
|
|
|
m4[0] = stage_input.m4_0;
|
|
|
|
m4[1] = stage_input.m4_1;
|
|
|
|
m4[2] = stage_input.m4_2;
|
|
|
|
m4[3] = stage_input.m4_3;
|
|
|
|
v = stage_input.v;
|
|
|
|
m3[0] = stage_input.m3_0;
|
|
|
|
m3[1] = stage_input.m3_1;
|
|
|
|
m3[2] = stage_input.m3_2;
|
|
|
|
m2[0] = stage_input.m2_0;
|
|
|
|
m2[1] = stage_input.m2_1;
|
|
|
|
vert_main();
|
|
|
|
SPIRV_Cross_Output stage_output;
|
|
|
|
stage_output.gl_Position = gl_Position;
|
|
|
|
return stage_output;
|
|
|
|
}
|