2014-05-16 20:39:55 -04:00
|
|
|
layout (std140) uniform MatrixesData
|
|
|
|
{
|
|
|
|
mat4 ViewMatrix;
|
|
|
|
mat4 ProjectionMatrix;
|
|
|
|
mat4 InverseViewMatrix;
|
|
|
|
mat4 InverseProjectionMatrix;
|
|
|
|
mat4 ShadowViewProjMatrixes[4];
|
|
|
|
vec2 screen;
|
|
|
|
};
|
2014-03-15 13:35:51 -04:00
|
|
|
uniform vec3 color_from;
|
|
|
|
uniform vec3 color_to;
|
2013-12-31 12:25:10 -05:00
|
|
|
|
2013-12-31 15:39:00 -05:00
|
|
|
in vec2 quadcorner;
|
|
|
|
in vec2 texcoord;
|
2013-12-29 14:24:19 -05:00
|
|
|
in vec3 position;
|
2013-12-31 12:25:10 -05:00
|
|
|
in float lifetime;
|
2013-12-31 20:11:44 -05:00
|
|
|
in float size;
|
2013-12-31 12:25:10 -05:00
|
|
|
|
|
|
|
out float lf;
|
2013-12-31 15:39:00 -05:00
|
|
|
out vec2 tc;
|
2014-03-15 13:35:51 -04:00
|
|
|
out vec3 pc;
|
2013-12-29 13:23:36 -05:00
|
|
|
|
|
|
|
void main(void)
|
|
|
|
{
|
2013-12-31 15:39:00 -05:00
|
|
|
tc = texcoord;
|
2013-12-31 12:25:10 -05:00
|
|
|
lf = lifetime;
|
2014-03-15 13:35:51 -04:00
|
|
|
pc = color_from + (color_to - color_from) * lifetime;
|
2014-01-07 16:06:06 -05:00
|
|
|
vec3 newposition = position;
|
2014-01-08 13:34:57 -05:00
|
|
|
|
2014-01-10 12:26:57 -05:00
|
|
|
vec4 viewpos = ViewMatrix * vec4(newposition, 1.0);
|
|
|
|
viewpos += size * vec4(quadcorner, 0., 0.);
|
|
|
|
gl_Position = ProjectionMatrix * viewpos;
|
2013-12-29 13:23:36 -05:00
|
|
|
}
|