Compare commits

..

5 Commits

Author SHA1 Message Date
alardner 78fa51384a update readme 2026-07-14 00:56:02 -07:00
alardner 5168be0ea9 update readme 2026-07-14 00:20:01 -07:00
alardner 7f013bf36b Merge pull request 'Dev' (#3) from dev into main
Reviewed-on: #3
2026-07-13 23:38:42 -07:00
alardner 821a01c167 Merge pull request 'Dev' (#2) from dev into main
Reviewed-on: #2
2026-07-13 23:04:40 -07:00
alardner cd83fa71bb Merge pull request 'Dev' (#1) from dev into main
Reviewed-on: #1
2026-07-11 00:42:26 -07:00
2 changed files with 12 additions and 7 deletions
+11 -4
View File
@@ -1,6 +1,6 @@
# polypartiCL
Naive photon simulator with SYCL and [raylib](https://raylib.com)
Naive photon simulator using [SYCL](https://khronos.org/sycl/) and [raylib](https://raylib.com)
This project uses the [raylib-cpp](https://robloach.github.io/raylib-cpp) wrapper library and is provided in the /include directory.
raylib-cpp is licensed under an unmodified zlib/libpng license. A copy of this license is provided at /include/LICENSE.
@@ -8,16 +8,23 @@ raylib-cpp is licensed under an unmodified zlib/libpng license. A copy of this l
cmake assumes icpx and the [Intel OneAPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/overview.html) environment is installed.
You'll need these even if you don't compile with cmake until SYCL gets native LLVM support.
All simulation code uses single-precision floating point arithmetic to ensure compatability with (integrated) graphics packages that do not support 64-bit floating point.
polypartiCL is licensed with the 3-clause BSD license.
## Todo
- Reduce corner escaping
- Ability limited by f32 precision
- Rewrite & optimize simulation code, store all points/velocites in one array and submit once
- Consider modelling each particle and all its relevant data points individually
- Submit each relevant data point by pointer offset, size of struct is irrelevant as long as it is constant, only necessary data will be submitted to kernel
- 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)
+1 -3
View File
@@ -2,6 +2,4 @@ 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
100000 79 0.5 0.5 0 360 cyan 1 0 0