diff --git a/shaders/wgsl/rainPass.wgsl b/shaders/wgsl/rainPass.wgsl index 971e283..256ac48 100644 --- a/shaders/wgsl/rainPass.wgsl +++ b/shaders/wgsl/rainPass.wgsl @@ -285,6 +285,11 @@ fn computeResult (isFirstFrame : bool, previousResult : vec4, glyphPos : ve // Vertex shader +var quadCorners : array, NUM_VERTICES_PER_QUAD> = array, NUM_VERTICES_PER_QUAD>( + vec2(0.0, 0.0), vec2(1.0, 0.0), vec2(0.0, 1.0), + vec2(1.0, 1.0), vec2(0.0, 1.0), vec2(1.0, 0.0) +); + [[stage(vertex)]] fn vertMain(input : VertInput) -> VertOutput { var volumetric = bool(config.volumetric); @@ -295,10 +300,7 @@ fn computeResult (isFirstFrame : bool, previousResult : vec4, glyphPos : ve var i = i32(input.index); var quadIndex = i / NUM_VERTICES_PER_QUAD; - var quadCorner = vec2( - f32(i % 2), - f32((i + 1) % NUM_VERTICES_PER_QUAD / 3) - ); + var quadCorner = quadCorners[i % NUM_VERTICES_PER_QUAD]; var quadPosition = vec2( f32(quadIndex % i32(quadGridSize.x)),