@group(0) @binding(0) var ubo: mat4x4; struct VertexOut { @builtin(position) position_clip: vec4, @location(0) normal: vec3, @location(1) uv: vec2, } @vertex fn main( @location(0) position: vec3, @location(1) normal: vec3, @location(2) uv: vec2 ) -> VertexOut { var output: VertexOut; output.position_clip = vec4(position, 1) * ubo; output.normal = (vec4(normal, 0) * ubo).xyz; output.uv = uv; return output; }