All Projects → doyubkim → Fluid Engine Dev

doyubkim / Fluid Engine Dev

Licence: mit
Fluid simulation engine for computer graphics applications

Projects that are alternatives of or similar to Fluid Engine Dev

Cubbyflow V1
Voxel-based fluid simulation engine for computer games
Stars: ✭ 90 (-91.06%)
Mutual labels:  computer-graphics, physics-engine
Cubbyflow
Voxel-based fluid simulation engine for computer games
Stars: ✭ 151 (-85%)
Mutual labels:  computer-graphics, physics-engine
CubbyFlow
Voxel-based fluid simulation engine for computer games
Stars: ✭ 215 (-78.65%)
Mutual labels:  computer-graphics, physics-engine
Reactphysics3d
Open source C++ physics engine library in 3D
Stars: ✭ 730 (-27.51%)
Mutual labels:  physics-engine
Opengraphic
Graphic Engine & Game Engine lists
Stars: ✭ 772 (-23.34%)
Mutual labels:  computer-graphics
St Cgan
Dataset and Code for our CVPR'18 paper ST-CGAN: "Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow Removal"
Stars: ✭ 13 (-98.71%)
Mutual labels:  computer-graphics
Blender Flip Fluids
FLIP Fluids is a powerful liquid simulation plugin that gives you the ability to create high quality fluid effects all within Blender, the free and open source 3D creation suite.
Stars: ✭ 983 (-2.38%)
Mutual labels:  computer-graphics
Softras
Project page of paper "Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning"
Stars: ✭ 715 (-29%)
Mutual labels:  computer-graphics
Redner
Differentiable rendering without approximation.
Stars: ✭ 964 (-4.27%)
Mutual labels:  computer-graphics
Scannet
Stars: ✭ 860 (-14.6%)
Mutual labels:  computer-graphics
Geometric Textures
Stars: ✭ 27 (-97.32%)
Mutual labels:  computer-graphics
Contrastive Unpaired Translation
Contrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)
Stars: ✭ 822 (-18.37%)
Mutual labels:  computer-graphics
R1b
A thermal-printer-oriented, 1-bit graphics rasterizer for 2D and 3D
Stars: ✭ 29 (-97.12%)
Mutual labels:  computer-graphics
Cgmath
A linear algebra and mathematics library for computer graphics.
Stars: ✭ 773 (-23.24%)
Mutual labels:  computer-graphics
Awesome Creative Coding
Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.
Stars: ✭ 8,696 (+763.56%)
Mutual labels:  computer-graphics
Context Encoder
[CVPR 2016] Unsupervised Feature Learning by Image Inpainting using GANs
Stars: ✭ 731 (-27.41%)
Mutual labels:  computer-graphics
Position Based Fluids
Real-time Position-Based Fluids in OpenCL, homework in Stanford's CS348C
Stars: ✭ 31 (-96.92%)
Mutual labels:  computer-graphics
Catpapers
Cool vision, learning, and graphics papers on Cats!
Stars: ✭ 918 (-8.84%)
Mutual labels:  computer-graphics
Fssgi
Exploratory Project on Fast Screen Space Global Illumination
Stars: ✭ 22 (-97.82%)
Mutual labels:  computer-graphics
Bepuphysics2
Pure C# 3D real time physics simulation library, now with a higher version number.
Stars: ✭ 868 (-13.8%)
Mutual labels:  physics-engine

Fluid Engine Dev - Jet

License Windows Windows-MinGW Ubuntu macOS codecov

Jet framework is a fluid simulation engine SDK for computer graphics applications that was created by Doyub Kim as part of the book, "Fluid Engine Development". The code is built on C++11 and can be compiled with most of the commonly available compilers such as g++, clang++, or Microsoft Visual Studio. Jet currently supports macOS (10.10 or later), Ubuntu (14.04 or later), and Windows (Visual Studio 2015 or later). Other untested platforms that support C++11 also should be able to build Jet. The framework also provides Python API for faster prototyping.

The latest code is always available from the main branch. Since the code evolves over time, the latest from the main branch could be somewhat different from the code in the book. To find the version that is consistent with the book, check out the branch book-1st-edition.

Key Features

  • Basic math and geometry operations and data structures
  • Spatial query accelerators
  • SPH and PCISPH fluid simulators
  • Stable fluids-based smoke simulator
  • Level set-based liquid simulator
  • PIC, FLIP, and APIC fluid simulators
  • Upwind, ENO, and FMM level set solvers
  • Jacobi, Gauss-Seidel, SOR, MG, CG, ICCG, and MGPCG linear system solvers
  • Spherical, SPH, Zhu & Bridson, and Anisotropic kernel for points-to-surface converter
  • Converters between signed distance function and triangular mesh
  • C++ and Python API
  • Intel TBB, OpenMP, and C++11 multi-threading backends

Every simulator has both 2-D and 3-D implementations.

Quick Start

You will need CMake to build the code. If you're using Windows, you need Visual Studio 2015 or 2017 in addition to CMake.

First, clone the code:

git clone https://github.com/doyubkim/fluid-engine-dev.git --recursive
cd fluid-engine-dev

Python API

Build and install the package by running

pip install -U .

Now run some examples, such as:

python src/examples/python_examples/smoke_example01.py

C++ API

For macOS or Linux:

mkdir build && cd build && cmake .. && make

For Windows:

mkdir build
cd build
cmake .. -G"Visual Studio 14 2015 Win64"
MSBuild jet.sln /p:Configuration=Release

Now run some examples, such as:

bin/hybrid_liquid_sim

Docker

docker pull doyubkim/fluid-engine-dev:latest

Now run some examples, such as:

docker run -it doyubkim/fluid-engine-dev
[inside docker container]
/app/build/bin/hybrid_liquid_sim

More Instructions of Building the Code

To learn how to build, test, and install the SDK, please check out INSTALL.md.

Documentations

All the documentations for the framework can be found from the project website including the API reference.

Examples

Here are some of the example simulations generated using Jet framework. Corresponding example codes can be found under src/examples. All images are rendered using Mitsuba renderer and the Mitsuba scene files can be found from the demo repository. Find out more demos from the project website.

FLIP Simulation Example

FLIP Example

PIC Simulation Example

PIC Example

Level Set Example with Different Viscosity

Level Set Example

Smoke Simulation with Different Advection Methods

Cubic-smoke Example Linear-smoke Example

Point-to-Surface Examples

Point-to-Surface Example

Top-left: spherical, top-right: SPH blobby, bottom-left: Zhu and Bridson's method, and bottom-right: Anisotropic kernel

Developers

This repository is created and maintained by Doyub Kim (@doyubkim). Chris Ohk (@utilForever) is a co-developer of the framework since v1.3. Many other contributors also helped improving the codebase including Jefferson Amstutz (@jeffamstutz) who helped integrating Intel TBB and OpenMP backends.

License

Jet is under the MIT license. For more information, check out LICENSE.md. Jet also utilizes other open source codes. Checkout 3RD_PARTY.md for more details.

I am making my contributions/submissions to this project solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties.

Acknowledgement

We would like to thank JetBrains for their support and allowing us to use their products for developing Jet Framework.

JetBrains

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].