// Vertex-Stufe *aller* Post-Effekte: ein Dreieck über den ganzen Schirm. // // Bewusst ein eigenes Modul: die Pipeline nimmt die Vertex-Stufe von hier und // die Fragment-Stufe aus der Effekt-Datei. So besteht eine Effekt-Datei nur // aus ihrem `fs_main` und kennt keinen anderen Shader. struct VsOut { @builtin(position) pos: vec4f, }; @vertex fn vs_main(@builtin(vertex_index) i: u32) -> VsOut { var xy = array( vec2f(-1.0, -1.0), vec2f(3.0, -1.0), vec2f(-1.0, 3.0), ); var o: VsOut; o.pos = vec4f(xy[i], 0.0, 1.0); return o; }