$input  a_position, i_data0
$output v_texCoord

/*
 * Copyright 2014 Stanlo Slasinski. All rights reserved.
 * License: http://www.opensource.org/licenses/BSD-2-Clause
 */

#include "../common/common.sh"
#include "uniforms.sh"

void main()
{
	vec3  eye = mul(u_view, vec4(i_data0.xyz, 1.0) ).xyz;
	vec3  up = normalize(cross(eye, vec3(1.0, 0.0, 0.0) ) );
	vec3  right = normalize(cross(up, eye));
	float size = u_particleSize;
	vec3  position = eye + size * right * a_position.x + size * up * a_position.y;

	v_texCoord.xy = a_position;
	v_texCoord.z = i_data0.w;
	gl_Position = mul(u_proj, vec4(position, 1.0) );
}
