From 96a68810d21eeabf24985d9e07e897c6cb3aedd5 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Mon, 14 Oct 2019 14:58:37 -0700 Subject: modules/flui2d: add 2D fluid dynamics simulation This implements near verbatim the code found in the paper titled: Real-Time Fluid Dynamics for Games By Jos Stam It sometimes has the filename GDC03.PDF, or Stam_fluids_GDC03.pdf The density field is rendered using simple linear interpolation of the samples, in a grayscale palette. No gamma correction is being performed. There are three configurable defines of interest: VISCOSITY, DIFFUSION, and ROOT. This module is only threaded in the drawing stage, so basically the linear interpolation uses multiple cores. The simulation itself is not threaded, the implementation from the paper made no such considerations. It would be nice to reimplement this in a threaded fashion with a good generalized API, then move it into libs. Something where a unit square can be sampled for interpolated densities would be nice. Then extend it into 3 dimensions for volumetric effects... --- src/modules/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/modules/Makefile.am') diff --git a/src/modules/Makefile.am b/src/modules/Makefile.am index 8706332..de59b4a 100644 --- a/src/modules/Makefile.am +++ b/src/modules/Makefile.am @@ -1 +1 @@ -SUBDIRS = julia plasma ray roto sparkler stars submit +SUBDIRS = flui2d julia plasma ray roto sparkler stars submit -- cgit v1.2.1