bgfx/examples/24-nbody/vs_particle.sc

24 lines
623 B
Python
Raw Normal View History

$input a_position, i_data0
2014-12-20 08:09:58 +03:00
$output v_texCoord
/*
* Copyright 2014 Stanlo Slasinski. All rights reserved.
2016-01-01 11:11:04 +03:00
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
2014-12-20 08:09:58 +03:00
*/
#include "../common/common.sh"
#include "uniforms.sh"
void main()
{
vec3 eye = mul(u_view, vec4(i_data0.xyz, 1.0) ).xyz;
2014-12-20 08:09:58 +03:00
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;
2014-12-20 08:09:58 +03:00
gl_Position = mul(u_proj, vec4(position, 1.0) );
}