32 lines
720 B
GLSL
32 lines
720 B
GLSL
#version 450
|
|
|
|
#include "VertexConstants.h"
|
|
|
|
layout(location = 0) in vec3 vPos;
|
|
layout(location = 1) in vec3 vNorm;
|
|
layout(location = 2) in vec2 vTex;
|
|
layout(location = 3) in vec4 vCol;
|
|
|
|
layout(location = 4) in mat4 iModel;
|
|
layout(location = 8) in mat4 iModelInvTrans;
|
|
layout(location = 12) in vec4 iCol;
|
|
|
|
void main()
|
|
{
|
|
// Check if the alpha = 0
|
|
if (vCol.a * iCol.a == 0.0)
|
|
{
|
|
// Don't draw the triangle by moving it to an invalid location
|
|
gl_Position = vec4(0, 0, 0, 0);
|
|
}
|
|
else
|
|
{
|
|
// Transform the position from world space to homogeneous projection space for the light
|
|
vec4 pos = vec4(vPos, 1.0f);
|
|
pos = iModel * pos;
|
|
pos = c.LightView * pos;
|
|
pos = c.LightProjection * pos;
|
|
gl_Position = pos;
|
|
}
|
|
}
|