- added imageUploader

- fixed loading songs
- cleanup utils
- added some helper class
- cleanup preparing of WEBGL2
- added 3D wave
- added light-support
- added configs
- added gui-events for playing, shuffling and playlist
This commit is contained in:
Maurice Grönwoldt 2020-08-05 11:24:59 +02:00
commit 9d5259767c
34 changed files with 1631 additions and 418 deletions

View file

@ -4,15 +4,23 @@
// to pick one. mediump is a good default. It means "medium precision"
precision mediump float;
in vec3 pos;
in vec4 pos;
in vec3 v_surfaceToLight;
uniform vec4 u_color;
out vec4 outColor;
void main() {
vec3 color = pos.xyz;
color.z = color.z + 1.0;
color.z = color.z / 2.0;
color.z = color.z * 255.0;
vec4 fragNormal = normalize(pos);
float u_light = 0.3;
float light = max(dot(fragNormal.xyz, normalize(v_surfaceToLight).xyz), u_light);
vec3 baseColor = vec3(0, 0, 1);
vec3 maxColor = vec3(1, 0, 0);
float y = pos.z;
if (y < 0.0) {
y = y * -1.0;
}
vec3 color = mix(baseColor, maxColor, y);
outColor = vec4(color, 1.0);
outColor.rgb *= light;
}

View file

@ -2,13 +2,13 @@
in vec3 a_position;
uniform mat4 u_matrix;
uniform vec3 u_lightPos;
out vec3 pos;
out vec4 pos;
out vec3 v_surfaceToLight;
void main() {
// convert the position from pixels to 0.0 to 1.0
vec4 scale = vec4(a_position, 1) * u_matrix;
scale.y = scale.y * 0.85;
gl_Position = scale;
pos = a_position;
pos = u_matrix * vec4(a_position, 1);
gl_Position = pos;
v_surfaceToLight = u_lightPos - pos.xyz;
}