1cbuffer UBO : register(b0) 2{ 3 row_major float4x4 _16_uMVP : packoffset(c0); 4}; 5 6 7static float4 gl_Position; 8static float4 aVertex; 9static float3 vNormal; 10static float3 aNormal; 11 12struct SPIRV_Cross_Input 13{ 14 float4 aVertex : TEXCOORD0; 15 float3 aNormal : TEXCOORD1; 16}; 17 18struct SPIRV_Cross_Output 19{ 20 float3 vNormal : TEXCOORD0; 21 float4 gl_Position : SV_Position; 22}; 23 24void vert_main() 25{ 26 gl_Position = mul(aVertex, _16_uMVP); 27 vNormal = aNormal; 28} 29 30SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input) 31{ 32 aVertex = stage_input.aVertex; 33 aNormal = stage_input.aNormal; 34 vert_main(); 35 SPIRV_Cross_Output stage_output; 36 stage_output.gl_Position = gl_Position; 37 stage_output.vNormal = vNormal; 38 return stage_output; 39} 40