All Projects â†’ tcoppex â†’ Sparkle

tcoppex / Sparkle

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

Programming Languages

cpp14
131 projects

Projects that are alternatives of or similar to Sparkle

Glsl Pathtracer
A GLSL Path Tracer
Stars: ✭ 634 (+291.36%)
Mutual labels:  opengl, glsl, gpu
Ultralight
Next-generation HTML renderer for apps and games
Stars: ✭ 3,585 (+2112.96%)
Mutual labels:  cmake, opengl, gpu
Imogen
GPU Texture Generator
Stars: ✭ 648 (+300%)
Mutual labels:  opengl, glsl, gpu
Glchaos.p
3D GPUs Strange Attractors and Hypercomplex Fractals explorer - up to 256 Million particles in RealTime
Stars: ✭ 590 (+264.2%)
Mutual labels:  opengl, glsl, gpu
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+6143.83%)
Mutual labels:  cmake, opengl, simulation
Webgl Fluid Simulation
Play with fluids in your browser (works even on mobile)
Stars: ✭ 11,621 (+7073.46%)
Mutual labels:  gpu, simulation
Galacritty
WIP GTK terminal emulator based on Alacritty
Stars: ✭ 136 (-16.05%)
Mutual labels:  opengl, gpu
Gaiasky
Mirror of Gaia Sky repository hosted on Gitlab: https://gitlab.com/langurmonkey/gaiasky
Stars: ✭ 162 (+0%)
Mutual labels:  opengl, glsl
Remotery
Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer
Stars: ✭ 1,908 (+1077.78%)
Mutual labels:  opengl, gpu
Yudisplacementtransition
A GPU accelerated transition library makes use of displacement maps to create distortion effects.
Stars: ✭ 121 (-25.31%)
Mutual labels:  opengl, gpu
Forge
High Performance Visualization
Stars: ✭ 140 (-13.58%)
Mutual labels:  opengl, glsl
Glitter
Dead Simple OpenGL
Stars: ✭ 2,040 (+1159.26%)
Mutual labels:  cmake, opengl
Shadows
Shädows - A Shadows & Lights engine for löve
Stars: ✭ 134 (-17.28%)
Mutual labels:  opengl, glsl
Cute Deferred Shading
Cute little deferred shading implementation.
Stars: ✭ 129 (-20.37%)
Mutual labels:  opengl, glsl
Daemon
The Dæmon game engine. With some bits of ioq3 and XreaL.
Stars: ✭ 136 (-16.05%)
Mutual labels:  opengl, glsl
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+6512.35%)
Mutual labels:  cmake, opengl
Hoomd Blue
Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
Stars: ✭ 143 (-11.73%)
Mutual labels:  gpu, simulation
Polyfem
A polyvalent C++ FEM library
Stars: ✭ 147 (-9.26%)
Mutual labels:  cmake, simulation
Fsynth
Web-based and pixels-based collaborative synthesizer
Stars: ✭ 146 (-9.88%)
Mutual labels:  glsl, gpu
Difftaichi
10 differentiable physical simulators built with Taichi differentiable programming (DiffTaichi, ICLR 2020)
Stars: ✭ 2,024 (+1149.38%)
Mutual labels:  gpu, simulation

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].