Tcoppex Sparkle Save

:sparkler: A modern particle engine running on GPU, using c++14 and OpenGL 4.4.

Project README

Spärkle

License: MIT Build Status

screenshot

Spärkle is a particle engine running entirely on the GPU, inspired by the work of SquareEnix Advance Technology Division on Agni's Philosophy.

It is written in C++ 14 and OpenGL 4.4.

Features

  • Complete Compute Shader based GPU pipeline,
  • Bitonic Sorting for alpha-blending,
  • Curl Noise,
  • 3D Vector Field,
  • Structure of Arrays and Array of Structures data layout patterns.

For more images, check the gallery.

Quickstart

We will be using the command-line on Unix and Git Bash on Windows.

Dependencies

The following dependencies are pulled in as submodules.

To retrieve them, type the following command line in the project directory :

git submodule init
git submodule update

Build

We will first create a build directory then generate the CMake cache depending on your system.

mkdir BUILDs && cd BUILDs

On Unix, using Makefile (replace $NUM_CPU by the number of core you want to use) :

cmake .. -G Makefile -DCMAKE_BUILD_TYPE=Release
make -j$NUM_CPU

On Windows, using MSVC 15 for x64:

cmake .. -G "Visual Studio 15 2017 Win64"
cmake --build . --target ALL_BUILD --config Release

Notes:

  1. Using CMake, the build configuration type (ie. Debug, Release) is set at Build Time with MSVC and at Cache Generation Time with Makefile.

  2. OpenGL extensions are generated automatically by a custom Python script. Alternatively GLEW can be used by specifying the option -DUSE_GLEW=ON to CMake. If something does not compile due to OpenGL functions, try to use GLEW.

Run

The binary can be found in the project ./bin/ directory:

../bin/sparkle_demo

Dev Note:

  • The development being done on GNU/Linux, it is primarly optimized for it. The MS Windows version is at this moment quite slow.

References

License

Spärkle is released under the MIT license.

Open Source Agenda is not affiliated with "Tcoppex Sparkle" Project. README Source: tcoppex/sparkle
Stars
192
Open Issues
1
Last Commit
3 years ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating