andewx / dieselfluid

Provides a modular extensible framework for SPH/Grid fluid solvers in Go, chosen for it's high performant C-like code builds, simple interfaces, and ease of concurrency. This repository is not an authoritative expert repository for fluid solvers but can be forked by those who would like to work with the Go framework when implementing a solver. OpenGL is used to monitor the solvers while keyframes may be exported to PBRT or Mitsuba for further rendering.
GNU General Public License v3.0
2 stars 0 forks source link
diesel-sph sph

dieselfluid

Project Status

Refactor build ongoing once modules are complete the testing, code coverage, and project documentation will be updated and moved into a docs repository

DieselFluid Go Logo

README

Currently Apple OSX has deprecated Modern OpenGL and only supports OpenGL 4.1 core profiles with future deprecation on modern M1 chipsets. Currently all render routines run throuhg OpenGL although the calls have been wrapped in an API and interface. Future updates could theoretically support OpenGL rendering. Proper support for abstract rendering interfaces require further decoupling and refactors which are not being supported at this time.

Since OSX Darwin builds do not support OpenGL 4.3 (GL COMPUTE SHADER) profiles efforts have been made to split the project builds between Darwin and all other builds. Path separators however are currently not windows compatible although a refactor in the future could add support for windows. OSX Darwin Builds leverage the OpenCL glow build interfaces for GPU support

OVERVIEW

Diesel SPH develops a fluid modeling framework in Go language with environment render capabilities. The API functionality is intended to be exposed to Electron API viewports and therefore high level API requests respond to TCP hanlders. Screeshot

Primary Requirements

For OpenGL 4.1

$ go get -u github.com/go-gl/gl/v4.1-core/gl

For GLFW 3.2

$ go get github.com/go-gl/glfw/v3.2/glfw

BRANCHES

main - Latest working build