Compare commits

..

4 Commits

Author SHA1 Message Date
alardner f2c7c0d882 make shared ptrs device ptrs 2026-07-17 16:45:52 -07:00
alardner c0a0d101eb backup 2026-07-16 13:38:08 -07:00
alardner 70dbf1a649 fix gitignore 2026-07-14 01:37:24 -07:00
alardner 78fa51384a update readme 2026-07-14 00:56:02 -07:00
10 changed files with 30 additions and 22 deletions
-1
View File
@@ -42,4 +42,3 @@ build
debug
.cache
tmp
screenshot*
+5 -3
View File
@@ -21,8 +21,10 @@ polypartiCL is licensed with the 3-clause BSD license.
- Add linear beams
- Add environment objects / multiple rooms per screen
- Add timed events
- Add MIDI support for real-time music visualization
- Add compile option for 64-bit floating point simulation
![Screenshot 1](https://alexlardner.com/img/1.png)
![Screenshot 2](https://alexlardner.com/img/2.png)
![Screenshot 3](https://alexlardner.com/img/3.png)
![Screenshot 1](screenshots/1.png)
![Screenshot 2](screenshots/2.png)
![Screenshot 3](screenshots/3.png)
![Screenshot 4](screenshots/4.png)
+8
View File
@@ -0,0 +1,8 @@
Center Delay
count velocity x y theta_i theta_f color start end decayrate
===================================================
s
20000 70 0.5 0.5 0 360 red 1 0 0
20000 70 0.5 0.5 0 360 green 3.30769 0 0
20000 70 0.5 0.5 0 360 blue 5.61538 0 0
20000 70 0.5 0.5 0 360 white 7.92308 0 0
+4 -3
View File
@@ -2,6 +2,7 @@ Center Delay
count velocity x y theta_i theta_f color start end decayrate
===================================================
s
16000 79 0.5 0.5 0 360 cyan 1 0 0
16000 79 0.5 0.5 0 360 magenta 2.075 0 0
16000 79 0.5 0.5 0 360 yellow 4.931 0 0
10000 40 0.5 0.5 0 360 orange 1 0 0
10000 40 0.5 0.5 0 360 cyan 3.30769 0 0
10000 40 0.5 0.5 0 360 violet 5.61538 0 0
10000 40 0.5 0.5 0 360 green 7.92308 0 0
+7 -9
View File
@@ -1,11 +1,9 @@
Big Hexagon (fixed 1080)
Big Diamond (relative)
x y
==================
f
960.0 1.303
1426.525 270.652
1426.525 809.348
960.0 1078.697
493.475 809.348
493.475 270.652
960.0 1.303
r
0.5 0.0
0.78125 0.5
0.5 1.0
0.21875 0.5
0.5 0.0
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 758 KiB

+6 -6
View File
@@ -30,9 +30,9 @@ struct Polyparti::ParticleField::ColCode {
//Pointers to malloc on GPU VRAM for calculations. malloc_shared pointers are entry/exit
//point for data in CPU RAM
float *v_ptr = malloc_shared<float>(2 * len_points, q);
float *d_ptr = malloc_shared<float>(2 * len_points, q);
float *c_ptr = malloc_shared<float>(2 * len_points, q);
float *v_ptr = malloc_device<float>(2 * len_points, q);
float *d_ptr = malloc_device<float>(2 * len_points, q);
float *c_ptr = malloc_device<float>(2 * len_points, q);
float *ray_ptr = malloc_device<float>(2 * len_points, q);
float *det_ptr = malloc_device<float>(len_points, q);
float *bestA_ptr = malloc_device<float>(2 * len_points, q);
@@ -170,9 +170,9 @@ struct Polyparti::ParticleField::ColCode {
void moveParticles() {
queue& q = q_shared();
int len = positions.size();
float *v_ptr = malloc_shared<float>(2 * len, q);
float *p_ptr = malloc_shared<float>(2 * len, q);
float *t_ptr = malloc_shared<float>(1, q);
float *v_ptr = malloc_device<float>(2 * len, q);
float *p_ptr = malloc_device<float>(2 * len, q);
float *t_ptr = malloc_device<float>(1, q);
q.submit([&](handler& h) {
h.memcpy(p_ptr, &positions[0], len * 2 * sizeof(float));