#ifndef PARTICLE_H
#define PARTICLE_H
+#include "skaterift.h"
+
typedef struct particle_system particle_system;
typedef struct particle particle;
typedef struct particle_vert particle_vert;
u32 alive, max;
GLuint vao, vbo, ebo;
+
+ /* render settings */
+ f32 scale, velocity_scale, width;
}
-static particles_grind;
+static particles_grind = {
+ .scale = 0.02f,
+ .velocity_scale = 0.001f,
+ .width = 0.0125f
+};
+
+static void particle_alloc( particle_system *sys, u32 max );
+static void particle_system_update( particle_system *sys, f32 dt );
+static void particle_system_debug( particle_system *sys );
+static void particle_system_prerender( particle_system *sys );
+static void particle_system_render( particle_system *sys, camera *cam );
static void particle_spawn( particle_system *sys,
v3f co, v3f v, f32 lifetime, u32 colour );
-static void particle_init( particle_system *sys, u32 max );
+static void particle_spawn_cone( particle_system *sys,
+ v3f co, v3f dir, f32 angle, f32 speed,
+ f32 lifetime, u32 colour );
#include "shaders/particle.h"