Add "cap" shadow shader
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
#version 430 core
|
||||
out vec4 fColor;
|
||||
void main()
|
||||
{
|
||||
fColor = vec4(0,1,0,1);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
#version 430 core
|
||||
layout (triangles) in;
|
||||
layout (triangle_strip, max_vertices = 3) out;
|
||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||
uniform vec3 lightPos;
|
||||
void main()
|
||||
{
|
||||
vec4 p0 = gl_in[0].gl_Position ;
|
||||
vec4 p1 = gl_in[1].gl_Position ;
|
||||
vec4 p2 = gl_in[2].gl_Position ;
|
||||
if ( dot( lightPos, cross( p0.xyz - p1.xyz, p1.xyz - p2.xyz)) < 0)
|
||||
{
|
||||
gl_Position = theMat * p0; EmitVertex();
|
||||
gl_Position = theMat * p1; EmitVertex();
|
||||
gl_Position = theMat * p2; EmitVertex();
|
||||
EndPrimitive();
|
||||
}
|
||||
else {}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
#version 430 core
|
||||
layout (location = 0) in vec3 position;
|
||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||
uniform vec3 lightPos;
|
||||
uniform vec4 lumRad;
|
||||
out vec3 dField;
|
||||
out vec3 lum;
|
||||
void main()
|
||||
{
|
||||
gl_Position = vec4(position,1);
|
||||
}
|
||||
@@ -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 vec4 lumRad;
|
||||
out vec3 dField;
|
||||
out vec3 lum;
|
||||
void main()
|
||||
{
|
||||
dField = (position - lightPos) / lumRad.a;
|
||||
lum = lumRad.rgb;
|
||||
gl_Position = theMat * vec4(position,1);
|
||||
}
|
||||
Reference in New Issue
Block a user