X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=shaders%2Fshaded.vert;fp=shaders%2Fshaded.vert;h=c7c7fa168cd86dd6d5c75005585cd1c77cf6e2cc;hb=147dc8ea810d9be0f965b1b80a208956f944d7fc;hp=0000000000000000000000000000000000000000;hpb=be535251d3c2b9b8634a8f3e56581a2d05f248d3;p=mandelwow.git diff --git a/shaders/shaded.vert b/shaders/shaded.vert new file mode 100644 index 0000000..c7c7fa1 --- /dev/null +++ b/shaders/shaded.vert @@ -0,0 +1,24 @@ +#version 300 es +precision lowp float; + +in vec3 position; +in vec3 normal; +flat out vec4 color; // Shaded color + +uniform mat4 model; +uniform mat4 perspview; +uniform vec3 col; + +void main() { + mat4 m = perspview * model; + vec3 dark = col * 0.1; + vec3 u_light = vec3( 0.5, -0.7, -0.6); + vec3 v_normal = transpose(inverse(mat3(model))) * normal; + + float distance = model[3][2]; + float attenuation = 1. / (1. + distance * distance * 0.05); + float brightness = max(dot(normalize(v_normal), normalize(u_light)) * attenuation, 0.0); + color = vec4(mix(dark, col, brightness), 1.0); + + gl_Position = m * vec4(position, 1.0); +}