3rd attempt at GPU acceleration. My OpenCL class is fully fonctionnal, only 3 calls to initialize and load any source you want with any kernels inside it. 1 call per variable to pass to the GPU : allocation, disallocation and reloading is handled by the class. A factor between 0 and 1 allows the programmer/user to balance the number of work group items to maximize performance according to the number of threads.
Particles are rendered with sprites. Sprite intensity is controlled by a factor, with the formula :
pixel_intensity = pow(distance_to_sprite_center, factor);
Start thinking about efficient way of implementing tree acceleration. After all of that stuff is over, I'll transpose it to 3D.
~~~~~~~~~~~~~
| VIDEO LOG |
~~~~~~~~~~~~~
Number of particles : 16384
Max tree depth : 256
Gravitational approximation : 0.10
Gravity : 0.000500
Gravity smoothing : 0.050000
Lowest acceleration : 0.000000.3
Highest acceleration : 0.010000.3
Time step : 0.005s
Simulation time : 35m 1s
Simulated time : 1m 0s
Video time : 1m 0s
Playback time scale : 1.00x
Simulation factor : 0.028558
Frame per seconds : 5.7fps
holy shit, can't wait too see your next upgrades pal!
sprintmovies 1 year ago