1struct InstanceData 2{ 3 column_major float4x4 MATRIX_MVP; 4 float4 Color; 5}; 6 7cbuffer gInstanceData : register(b0) 8{ 9 InstanceData gInstanceData_1_data[32] : packoffset(c0); 10}; 11 12 13static float4 gl_Position; 14static int gl_InstanceIndex; 15static float3 PosL; 16static float4 _entryPointOutput_Color; 17 18struct SPIRV_Cross_Input 19{ 20 float3 PosL : TEXCOORD0; 21 uint gl_InstanceIndex : SV_InstanceID; 22}; 23 24struct SPIRV_Cross_Output 25{ 26 float4 _entryPointOutput_Color : TEXCOORD0; 27 float4 gl_Position : SV_Position; 28}; 29 30void vert_main() 31{ 32 gl_Position = mul(float4(PosL, 1.0f), gInstanceData_1_data[uint(gl_InstanceIndex)].MATRIX_MVP); 33 _entryPointOutput_Color = gInstanceData_1_data[uint(gl_InstanceIndex)].Color; 34} 35 36SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input) 37{ 38 gl_InstanceIndex = int(stage_input.gl_InstanceIndex); 39 PosL = stage_input.PosL; 40 vert_main(); 41 SPIRV_Cross_Output stage_output; 42 stage_output.gl_Position = gl_Position; 43 stage_output._entryPointOutput_Color = _entryPointOutput_Color; 44 return stage_output; 45} 46