const PI = 3.14159265359 ; var < private > rnd : vec3u ; fn init_rand ( invocation_id : vec3u , seed : vec3u ) { const A = vec3 ( 1741651 * 1009 , 140893 * 1609 * 13 , 6521 * 983 * 7 * 2 ) ; rnd = ( invocation_id * A ) ^ seed ; } @ vertex fn main ( @ builtin ( vertex_index ) vertexIndex : u32 ) -> @ builtin ( position ) vec4f { var pos = array < vec2f , 3 > ( vec2 ( 0.0 , 0.5 ) , vec2 ( - 0.5 , - 0.5 ) , vec2 ( 0.5 , - 0.5 ) ) ; return vec4f ( pos [ vertexIndex ] , 0.0 , 1.0 ) ; } @ fragment fn main ( ) -> @ location ( 0 ) vec4f { return vec4 ( 1.0 , 0.0 , 0.0 , 1.0 ) ; }