diff --git a/shader/lighting/surface.frag b/shader/lighting/surface.frag new file mode 100644 index 000000000..de48e1bad --- /dev/null +++ b/shader/lighting/surface.frag @@ -0,0 +1,9 @@ +#version 430 core +in float lum; +in vec3 dField; +out vec4 fColor; +void main() +{ + float c = pow (1 - min(1, dot(dField,dField)) , 2) * lum ; + fColor = vec4(c,c,c,c); +} diff --git a/shader/lighting/surface.vert b/shader/lighting/surface.vert new file mode 100644 index 000000000..a32ec8815 --- /dev/null +++ b/shader/lighting/surface.vert @@ -0,0 +1,13 @@ +#version 430 core +layout (location = 0) in vec3 position; +layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ; +uniform vec3 lightPos; +uniform vec2 radLum; +out vec3 dField; +out float lum; +void main() +{ + dField = (position - lightPos) / radLum.x; + lum = radLum.y; + gl_Position = theMat * vec4(position,1); +}