78fa51384af8bca75efc2c98f26872bcc730634b
polypartiCL
Naive photon simulator using SYCL and raylib
This project uses the 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.
cmake assumes icpx and the Intel OneAPI 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
Description
Languages
C++
97.6%
CMake
1.6%
GLSL
0.8%



