# polypartiCL Naive photon simulator with 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. 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. polypartiCL is licensed with the 3-clause BSD license. ## Todo - 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 ![Screenshot 1](https://alexlardner.com/img/1.png) ![Screenshot 2](https://alexlardner.com/img/2.png) ![Screenshot 3](https://alexlardner.com/img/3.png)