All Projects → mmaldacker → Vortex2D

mmaldacker / Vortex2D

Licence: MIT license
Real-time fluid simulation engine running on GPU with Vulkan

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
GLSL
2045 projects
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Vortex2D

Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (-14.29%)
Mutual labels:  gamedev, vulkan
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+2253.85%)
Mutual labels:  gamedev, vulkan
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+11165.93%)
Mutual labels:  gamedev, vulkan
Rendy
State of the art "build your own engine" kit powered by gfx-hal
Stars: ✭ 750 (+724.18%)
Mutual labels:  gamedev, vulkan
P2.js
JavaScript 2D physics library
Stars: ✭ 2,367 (+2501.1%)
Mutual labels:  gamedev, physics-engine
Game Dogfight
Air to air combat game, created in Python 3 using HARFANG 3D.
Stars: ✭ 41 (-54.95%)
Mutual labels:  gamedev, simulation
Bsf
Modern C++14 library for the development of real-time graphical applications
Stars: ✭ 1,640 (+1702.2%)
Mutual labels:  gamedev, vulkan
Stride
Stride Game Engine (formerly Xenko)
Stars: ✭ 3,524 (+3772.53%)
Mutual labels:  gamedev, vulkan
Vulkan Renderer
A new 3D game engine using modern C++ and Vulkan API
Stars: ✭ 205 (+125.27%)
Mutual labels:  gamedev, vulkan
Alimer
Cross-platform game engine.
Stars: ✭ 172 (+89.01%)
Mutual labels:  gamedev, vulkan
Ash
Vulkan bindings for Rust
Stars: ✭ 676 (+642.86%)
Mutual labels:  gamedev, vulkan
CubbyFlow
Voxel-based fluid simulation engine for computer games
Stars: ✭ 215 (+136.26%)
Mutual labels:  physics-engine, fluid-simulation-engine
Rlsl
Rust to SPIR-V compiler
Stars: ✭ 546 (+500%)
Mutual labels:  gamedev, vulkan
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+12754.95%)
Mutual labels:  gamedev, vulkan
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+3996.7%)
Mutual labels:  gamedev, vulkan
Fna3d
FNA3D - 3D Graphics Library for FNA
Stars: ✭ 111 (+21.98%)
Mutual labels:  gamedev, vulkan
Physac
2D physics header-only library for videogames developed in C using raylib library.
Stars: ✭ 151 (+65.93%)
Mutual labels:  simulation, physics-engine
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+3093.41%)
Mutual labels:  gamedev, vulkan
Diligentsamples
Sample projects demonstrating the usage of Diligent Engine
Stars: ✭ 138 (+51.65%)
Mutual labels:  gamedev, vulkan
Egregoria
Contemplative society simulation
Stars: ✭ 219 (+140.66%)
Mutual labels:  gamedev, simulation

Build Status Docs

Vortex2D

A C++ real time fluid simulation engine based on the incompressible Navier-Stokes equation. This implementation is a hybrid method using particles for advection and a grid for solving the incompressible equations. All computing is done on the GPU with Vulkan using compute shaders.

Documentation can be found at https://vortex2d.readthedocs.io.

Examples

Various scenes can be selected in the example application with the number keys 1 till 8.

Quick start

Linux

Get the LunarG Vulkan SDK, and extract somewhere. Vortex2D requires the glslangValidator compiler which is installed with the SDK. Some env vars need to be set so cmake can find the SDK: source setup-env.sh.

Vortex2D can then be built with cmake as so:

mkdir build && cd build
cmake .. -DVORTEX2D_ENABLE_EXAMPLES=On -DVORTEX2D_ENABLE_TESTS=On
make -j 4

Windows

Get the lunarG Vulkan SDK and install. That's it, you can then build Vortex2D with cmake. Start the cmake-gui, select the source and build folder and configure. Select VORTEX2D_ENABLE_EXAMPLES to also build the examples.

Mac

Get the LunarG Vulkan SDK or build MoltenVK directly. Vortex2D requires the glslangValidator compiler which is installed with the SDK.

Vortex2D can then be built with cmake as so:

mkdir build && cd build
cmake .. -DVORTEX2D_ENABLE_EXAMPLES=On -DVORTEX2D_ENABLE_TESTS=On -DMOLTENVK_DIR=path_to_sdk/MoltenVK -DGLSL_VALIDATOR=path_to_bin/glslangValidator
make -j 4

Features

  • 3rd order runge kutta interpolation
  • Bicubic interpolation
  • Multi grid preconditioned conjugate gradient linear solver
  • FLIP & PIC hybrid method
  • Strong rigid body coupling
  • Level set re-initialisation
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].