From b252c52ffea467701e528a46339d8c1844e05f39 Mon Sep 17 00:00:00 2001 From: jgk Date: Fri, 25 Jun 2021 02:27:33 +0200 Subject: [PATCH] Add surface lighting shader --- shader/lighting/surface.frag | 9 +++++++++ shader/lighting/surface.vert | 13 +++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 shader/lighting/surface.frag create mode 100644 shader/lighting/surface.vert 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); +}