Add surface lighting shader

This commit is contained in:
2021-06-25 02:27:33 +02:00
parent 2d0f08c2e9
commit b252c52ffe
2 changed files with 22 additions and 0 deletions
+9
View File
@@ -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);
}
+13
View File
@@ -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);
}