mame/3rdparty/bgfx/examples/24-nbody/vs_particle.sc
Miodrag Milanović 812e6094f4
Update BGFX, BX and BIMG (#10789)
* Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2023-01-05 09:32:40 -05:00

24 lines
622 B
Scala

$input a_position, i_data0
$output v_texCoord
/*
* Copyright 2014 Stanlo Slasinski. All rights reserved.
* License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
*/
#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) );
}