@vertex fn vs_main(@builtin(vertex_index) in_vertex_index: u32) -> @builtin(position) vec4 { let x = f32(i32(in_vertex_index) - 1); let y = f32(i32(in_vertex_index & 1u) * 2 - 1); return vec4(x, y, 0.0, 1.0); // param 0 // x = -1 // y = -1 // param 1 // x = 0 // y = 1 // param 2 // x = 1 // y = -1 } @fragment fn fs_main() -> @location(0) vec4 { return vec4(0.0, 0.0, 1.0, 1.0); }