From 96ee00242f350b391dcc1cf4d72a442c969f565e Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Wed, 22 Dec 2021 13:59:13 +0100 Subject: add pw-frontend --- web/pw-frontend/public/static/res/assets/earth.svg | 114 +++++++++++++ web/pw-frontend/public/static/res/assets/font.png | Bin 0 -> 912 bytes .../public/static/res/assets/jupiter.svg | 118 +++++++++++++ .../public/static/res/assets/leaves.jpg | Bin 0 -> 36902 bytes web/pw-frontend/public/static/res/assets/mars.svg | 114 +++++++++++++ .../public/static/res/assets/neptune.svg | 186 +++++++++++++++++++++ web/pw-frontend/public/static/res/assets/ship.svg | 78 +++++++++ .../public/static/res/assets/uranus.svg | 150 +++++++++++++++++ web/pw-frontend/public/static/res/assets/venus.svg | 114 +++++++++++++ .../public/static/shaders/frag/image.glsl | 14 ++ .../public/static/shaders/frag/simple.glsl | 15 ++ .../public/static/shaders/frag/vor.glsl | 18 ++ .../public/static/shaders/vert/image.glsl | 33 ++++ .../public/static/shaders/vert/simple.glsl | 36 ++++ .../public/static/shaders/vert/vor.glsl | 43 +++++ 15 files changed, 1033 insertions(+) create mode 100644 web/pw-frontend/public/static/res/assets/earth.svg create mode 100644 web/pw-frontend/public/static/res/assets/font.png create mode 100644 web/pw-frontend/public/static/res/assets/jupiter.svg create mode 100644 web/pw-frontend/public/static/res/assets/leaves.jpg create mode 100644 web/pw-frontend/public/static/res/assets/mars.svg create mode 100644 web/pw-frontend/public/static/res/assets/neptune.svg create mode 100644 web/pw-frontend/public/static/res/assets/ship.svg create mode 100644 web/pw-frontend/public/static/res/assets/uranus.svg create mode 100644 web/pw-frontend/public/static/res/assets/venus.svg create mode 100644 web/pw-frontend/public/static/shaders/frag/image.glsl create mode 100644 web/pw-frontend/public/static/shaders/frag/simple.glsl create mode 100644 web/pw-frontend/public/static/shaders/frag/vor.glsl create mode 100644 web/pw-frontend/public/static/shaders/vert/image.glsl create mode 100644 web/pw-frontend/public/static/shaders/vert/simple.glsl create mode 100644 web/pw-frontend/public/static/shaders/vert/vor.glsl (limited to 'web/pw-frontend/public/static') diff --git a/web/pw-frontend/public/static/res/assets/earth.svg b/web/pw-frontend/public/static/res/assets/earth.svg new file mode 100644 index 0000000..f1be561 --- /dev/null +++ b/web/pw-frontend/public/static/res/assets/earth.svg @@ -0,0 +1,114 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/pw-frontend/public/static/res/assets/font.png b/web/pw-frontend/public/static/res/assets/font.png new file mode 100644 index 0000000..1724e0d Binary files /dev/null and b/web/pw-frontend/public/static/res/assets/font.png differ diff --git a/web/pw-frontend/public/static/res/assets/jupiter.svg b/web/pw-frontend/public/static/res/assets/jupiter.svg new file mode 100644 index 0000000..e5fcd0f --- /dev/null +++ b/web/pw-frontend/public/static/res/assets/jupiter.svg @@ -0,0 +1,118 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/pw-frontend/public/static/res/assets/leaves.jpg b/web/pw-frontend/public/static/res/assets/leaves.jpg new file mode 100644 index 0000000..529b94e Binary files /dev/null and b/web/pw-frontend/public/static/res/assets/leaves.jpg differ diff --git a/web/pw-frontend/public/static/res/assets/mars.svg b/web/pw-frontend/public/static/res/assets/mars.svg new file mode 100644 index 0000000..d92851d --- /dev/null +++ b/web/pw-frontend/public/static/res/assets/mars.svg @@ -0,0 +1,114 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/pw-frontend/public/static/res/assets/neptune.svg b/web/pw-frontend/public/static/res/assets/neptune.svg new file mode 100644 index 0000000..995d440 --- /dev/null +++ b/web/pw-frontend/public/static/res/assets/neptune.svg @@ -0,0 +1,186 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/pw-frontend/public/static/res/assets/ship.svg b/web/pw-frontend/public/static/res/assets/ship.svg new file mode 100644 index 0000000..ee202ff --- /dev/null +++ b/web/pw-frontend/public/static/res/assets/ship.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/web/pw-frontend/public/static/res/assets/uranus.svg b/web/pw-frontend/public/static/res/assets/uranus.svg new file mode 100644 index 0000000..fb192a4 --- /dev/null +++ b/web/pw-frontend/public/static/res/assets/uranus.svg @@ -0,0 +1,150 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/pw-frontend/public/static/res/assets/venus.svg b/web/pw-frontend/public/static/res/assets/venus.svg new file mode 100644 index 0000000..3bebb10 --- /dev/null +++ b/web/pw-frontend/public/static/res/assets/venus.svg @@ -0,0 +1,114 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/pw-frontend/public/static/shaders/frag/image.glsl b/web/pw-frontend/public/static/shaders/frag/image.glsl new file mode 100644 index 0000000..69c8b91 --- /dev/null +++ b/web/pw-frontend/public/static/shaders/frag/image.glsl @@ -0,0 +1,14 @@ +#ifdef GL_ES +precision mediump float; +#endif + +// Passed in from the vertex shader. +varying vec2 v_texCoord; + +// The texture. +uniform sampler2D u_texture; + +void main() { + gl_FragColor = texture2D(u_texture, v_texCoord); +// gl_FragColor = vec4(0.7, 0.7, 0.0, 1.0); +} diff --git a/web/pw-frontend/public/static/shaders/frag/simple.glsl b/web/pw-frontend/public/static/shaders/frag/simple.glsl new file mode 100644 index 0000000..1292569 --- /dev/null +++ b/web/pw-frontend/public/static/shaders/frag/simple.glsl @@ -0,0 +1,15 @@ +#ifdef GL_ES +precision mediump float; +#endif + +uniform float u_step_interval; +uniform float u_time; +uniform vec3 u_color; +uniform vec3 u_color_next; + +void main() { + + vec3 color = mix(u_color, u_color_next, u_time); + + gl_FragColor = vec4(color, 1.0); +} diff --git a/web/pw-frontend/public/static/shaders/frag/vor.glsl b/web/pw-frontend/public/static/shaders/frag/vor.glsl new file mode 100644 index 0000000..faaa68f --- /dev/null +++ b/web/pw-frontend/public/static/shaders/frag/vor.glsl @@ -0,0 +1,18 @@ +#ifdef GL_ES +precision mediump float; +#endif + +#define PI 3.141592 + +uniform float u_step_interval; +uniform float u_time; +uniform bool u_vor; + +varying float v_intensity; +varying float v_dist; +varying vec3 v_color; +varying vec2 v_pos; + +void main() { + gl_FragColor = vec4(v_color, (1.0 - pow(1.0 - v_intensity, 1.23)) * 0.7); +} diff --git a/web/pw-frontend/public/static/shaders/vert/image.glsl b/web/pw-frontend/public/static/shaders/vert/image.glsl new file mode 100644 index 0000000..5dd3f56 --- /dev/null +++ b/web/pw-frontend/public/static/shaders/vert/image.glsl @@ -0,0 +1,33 @@ +#ifdef GL_ES +precision mediump float; +#endif + +attribute vec2 a_position; +attribute vec2 a_texCoord; + +uniform float u_time; + +uniform vec4 u_viewbox; // [x, y, width, height] +uniform vec2 u_resolution; +uniform mat3 u_trans; + +varying vec2 v_pos; +varying vec2 v_texCoord; + +void main() { + vec3 pos = vec3(a_position, 1.0); + + pos = u_trans * pos; + + vec2 uv = pos.xy; + + // 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 + 1.0) * 0.5; + + gl_Position = vec4(uv.xy, 0.0, 1.0); + v_texCoord = a_texCoord; +} diff --git a/web/pw-frontend/public/static/shaders/vert/simple.glsl b/web/pw-frontend/public/static/shaders/vert/simple.glsl new file mode 100644 index 0000000..935decf --- /dev/null +++ b/web/pw-frontend/public/static/shaders/vert/simple.glsl @@ -0,0 +1,36 @@ +#ifdef GL_ES +precision mediump float; +#endif + +attribute vec2 a_position; +attribute vec2 a_texCoord; + +uniform float u_time; + +uniform vec4 u_viewbox; // [x, y, width, height] +uniform vec2 u_resolution; +uniform mat3 u_trans; +uniform mat3 u_trans_next; + +varying vec2 v_pos; +varying vec2 v_texCoord; + +void main() { + vec3 pos = vec3(a_position, 1.0); + + mat3 trans = (u_trans_next * (1.0 - u_time)) + (u_trans * u_time); + + pos = trans * pos; + + vec2 uv = pos.xy; + + // 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 + 1.0) * 0.5; + + gl_Position = vec4(uv.xy, 0.0, 1.0); + v_texCoord = a_texCoord; +} diff --git a/web/pw-frontend/public/static/shaders/vert/vor.glsl b/web/pw-frontend/public/static/shaders/vert/vor.glsl new file mode 100644 index 0000000..75747c4 --- /dev/null +++ b/web/pw-frontend/public/static/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); +} -- cgit v1.2.3