struct PerDraw_std430_0 { @align(16) position_0 : vec4, @align(16) rotation_0 : vec4, @align(16) scale_0 : vec4, @align(16) color_0 : vec4, }; @binding(0) @group(1) var UPerDrawArray_0 : array; struct _MatrixStorage_float4x4_ColMajorstd140_0 { @align(16) data_0 : array, i32(4)>, }; struct Camera_std140_0 { @align(16) viewProjection_0 : _MatrixStorage_float4x4_ColMajorstd140_0, }; @binding(0) @group(0) var UCamera_0 : Camera_std140_0; fn rot_x_0( a_0 : f32) -> mat3x3 { var c_0 : f32 = cos(a_0); var s_0 : f32 = sin(a_0); return mat3x3(1.0f, 0.0f, 0.0f, 0.0f, c_0, - s_0, 0.0f, s_0, c_0); } fn rot_y_0( a_1 : f32) -> mat3x3 { var c_1 : f32 = cos(a_1); var s_1 : f32 = sin(a_1); return mat3x3(c_1, 0.0f, s_1, 0.0f, 1.0f, 0.0f, - s_1, 0.0f, c_1); } fn rot_z_0( a_2 : f32) -> mat3x3 { var c_2 : f32 = cos(a_2); var s_2 : f32 = sin(a_2); return mat3x3(c_2, - s_2, 0.0f, s_2, c_2, 0.0f, 0.0f, 0.0f, 1.0f); } struct VSOut_0 { @location(0) color_1 : vec3, @builtin(position) sv_position_0 : vec4, }; struct vertexInput_0 { @location(0) pos_0 : vec3, }; struct VSIn_0 { pos_1 : vec3, }; struct PerDraw_0 { position_0 : vec4, rotation_0 : vec4, scale_0 : vec4, color_0 : vec4, }; @vertex fn vs_main( _S1 : vertexInput_0, @builtin(instance_index) instance_id_0 : u32) -> VSOut_0 { var _S2 : VSIn_0 = VSIn_0( _S1.pos_0 ); var per_draw_0 : PerDraw_std430_0 = UPerDrawArray_0[instance_id_0]; var _S3 : PerDraw_0 = PerDraw_0( per_draw_0.position_0, per_draw_0.rotation_0, per_draw_0.scale_0, per_draw_0.color_0 ); var _S4 : mat3x3 = rot_x_0(per_draw_0.rotation_0.x); var _S5 : mat3x3 = rot_y_0(per_draw_0.rotation_0.y); var _S6 : mat3x3 = rot_z_0(per_draw_0.rotation_0.z); var rotation_1 : mat3x3 = ((((((_S6) * (_S5)))) * (_S4))); var scaled_0 : vec3 = _S1.pos_0 * per_draw_0.scale_0.xyz; var worldPos_0 : vec3 = per_draw_0.position_0.xyz + (((scaled_0) * (rotation_1))); var output_0 : VSOut_0; var _S7 : vec4 = (((vec4(worldPos_0, 1.0f)) * (mat4x4(UCamera_0.viewProjection_0.data_0[i32(0)][i32(0)], UCamera_0.viewProjection_0.data_0[i32(1)][i32(0)], UCamera_0.viewProjection_0.data_0[i32(2)][i32(0)], UCamera_0.viewProjection_0.data_0[i32(3)][i32(0)], UCamera_0.viewProjection_0.data_0[i32(0)][i32(1)], UCamera_0.viewProjection_0.data_0[i32(1)][i32(1)], UCamera_0.viewProjection_0.data_0[i32(2)][i32(1)], UCamera_0.viewProjection_0.data_0[i32(3)][i32(1)], UCamera_0.viewProjection_0.data_0[i32(0)][i32(2)], UCamera_0.viewProjection_0.data_0[i32(1)][i32(2)], UCamera_0.viewProjection_0.data_0[i32(2)][i32(2)], UCamera_0.viewProjection_0.data_0[i32(3)][i32(2)], UCamera_0.viewProjection_0.data_0[i32(0)][i32(3)], UCamera_0.viewProjection_0.data_0[i32(1)][i32(3)], UCamera_0.viewProjection_0.data_0[i32(2)][i32(3)], UCamera_0.viewProjection_0.data_0[i32(3)][i32(3)])))); output_0.sv_position_0 = _S7; var _S8 : vec3 = per_draw_0.color_0.xyz; output_0.color_1 = _S8; return output_0; }