24 lines
616 B
Scala
24 lines
616 B
Scala
$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) );
|
|
}
|