| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifndef PARTICLE_HELPER
- #define PARTICLE_HELPER
- #include <stdlib.h>
- #include <Particle.hpp>
- #include <Config.hpp>
- #include <ComputeShader.hpp>
- float random_float(float min, float max){
- float alpha = (float)(rand()) / (float) (RAND_MAX);
- if (alpha == 1.0f)
- alpha = 0;
- return min + alpha * (max - min);
- }
- void particle_uniform(Config const &config, ComputeShader &compute_shader){
-
- compute_shader.set_uniform("map_width", config.map_width);
- compute_shader.set_uniform("map_height", config.map_height);
- compute_shader.set_uniform("population", config.population);
-
- compute_shader.set_uniform("sensing_angle", config.sensing_angle);
- compute_shader.set_uniform("sensing_distance", config.sensing_distance);
- compute_shader.set_uniform("steering", config.steering);
- compute_shader.set_uniform("speed", config.speed);
- }
- void map_update_uniform(Config const &config, ComputeShader &compute_shader){
- compute_shader.set_uniform("map_width", config.map_width);
- compute_shader.set_uniform("map_height", config.map_height);
- compute_shader.set_uniform("increase", config.increase);
- compute_shader.set_uniform("decay", config.decay);
- compute_shader.set_uniform("diffusion", config.diffusion);
- }
- void map_reset_uniform(Config const &config, ComputeShader &compute_shader){
- compute_shader.set_uniform("map_width", config.map_width);
- compute_shader.set_uniform("map_height", config.map_height);
- }
- #endif // PARTICLE_HELPER
|