/lbm-imgui

An OpenGL + Dear ImGui port of my lattice Boltzmann fluid simulation tool.

Primary LanguageC++

lbm-imgui

An OpenGL lattice Boltzmann fluid simulation tool using Dear ImGui.


demo.webm

Overview

This project provides an OpenGL implementation of the advection-diffusion Lattice Boltzmann Method. The code is written in C++/GLSL and utilizes Dear ImGui to provide the UI.

The GLSL shaders were ported from my WebGL2 LBM fluid simulator, which I developed for the BioFM research group.

Usage

This project requires OpenGL 3.3+ and can be built with CMake.

  1. Clone the repository and submodules:
git clone --recurse-submodules https://github.com/rafaelanderka/lbm-imgui.git

If you have already cloned the repository without the submodules, you can fetch the submodules separately by running:

git submodule update --init --recursive
  1. Build the project using CMake in a dedicated build directory:
# Starting in the project root
mkdir build
cd build
cmake ..
make

The executable will be placed in build/bin.

Note: The LBM GPU shaders are compiled at runtime for your specific hardware. Thus, additional shaders and resources folders are created in the bin directory to store GLSL shaders and GUI assets needed by the executable.

License

This project is licensed under the MIT License.