diff options
author | Ilion Beyst <ilion.beyst@gmail.com> | 2021-12-29 22:54:30 +0100 |
---|---|---|
committer | Ilion Beyst <ilion.beyst@gmail.com> | 2021-12-29 22:54:30 +0100 |
commit | 71ee6c99e963d96286cae8d0bfc2f20a9c9c920b (patch) | |
tree | c4d290c4a658853436477cb07cd469684c64f8e3 /web/pw-visualizer/assets/shaders/vert/vor.glsl | |
parent | 0c6d978442b244ca3f29c1ffdd44b5007ae7ad93 (diff) | |
download | planetwars.dev-71ee6c99e963d96286cae8d0bfc2f20a9c9c920b.tar.xz planetwars.dev-71ee6c99e963d96286cae8d0bfc2f20a9c9c920b.zip |
move assets to visualizer package
Diffstat (limited to 'web/pw-visualizer/assets/shaders/vert/vor.glsl')
-rw-r--r-- | web/pw-visualizer/assets/shaders/vert/vor.glsl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/web/pw-visualizer/assets/shaders/vert/vor.glsl b/web/pw-visualizer/assets/shaders/vert/vor.glsl new file mode 100644 index 0000000..75747c4 --- /dev/null +++ b/web/pw-visualizer/assets/shaders/vert/vor.glsl @@ -0,0 +1,43 @@ +#ifdef GL_ES +precision mediump float; +#endif + +attribute vec2 a_pos; +attribute vec2 a_center; +attribute float a_own; +attribute float a_intensity; + +uniform vec3 u_planet_colours[$PLANETS * 2]; +uniform vec4 u_viewbox; // [x, y, width, height] +uniform vec2 u_resolution; +uniform float u_time; + +varying float v_intensity; +varying float v_dist; +varying vec2 v_pos; +varying vec3 v_color; + +void main() { + v_intensity = a_intensity; + v_dist = distance(a_pos * u_resolution , a_center * u_resolution); + + int own = int(a_own); + + vec2 uv = a_pos; + + // Viewbox's center is top left, a_position's is in the center to the screen + // So translate and scale the viewbox** + uv -= u_viewbox.xy + (u_viewbox.zw * 0.5); + uv /= u_viewbox.zw * 0.5; + v_pos = uv.xy; + + // v_pos = (uv.xy + 1.0) * 0.5; + + if (own < 0) { + v_color = vec3(0., 0., 0.); + } else { + v_color = mix(u_planet_colours[own * 2], u_planet_colours[own * 2 + 1], u_time); + } + + gl_Position = vec4(uv.xy, 0.0, 1.0); +} |