A cross-platform particle system built with OpenGL and OpenCL. For a full breakdown of the project, see the write-up.
| Graphics | OpenGL 4.1 Core |
| Compute | OpenCL 1.2 |
| Windowing | GLFW + GLAD |
| UI | ImGui |
| Build | CMake |
Joe Parallel has already:
- Set up the OpenGL window, shaders, VAOs, and VBOs
- Created and connected the OpenCL context to those buffers
- Randomized all initial positions, colors, and velocities
- Written the main loop that calls the
particles.clkernel every frame and draws the result
Note
As explained here, some variables like LOCAL_SIZE are set to nonoptimal values.
cmake -B build
cmake --build build --config# Windows
cmake --build build && build\bin\Debug\OpenGLApp.exe
# macOS / Linux
cmake --build build && ./build/bin/OpenGLAppFor a more detailed setup guide, see the platform-setup part of the write up.
To publish a release with the source ZIP attached, tag your commit and push the tag:
git tag v1.0
git push origin v1.0GitHub Actions will automatically build and attach source.zip to the release.