https://github.com/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.
https://github.com/andewx/dieselfluid
diesel-sph sph
Last synced: about 1 year ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/andewx/dieselfluid
- Owner: andewx
- License: gpl-3.0
- Created: 2020-12-31T01:00:47.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-02-26T09:02:48.000Z (over 3 years ago)
- Last Synced: 2025-02-01T05:44:14.479Z (over 1 year ago)
- Topics: diesel-sph, sph
- Language: Go
- Homepage:
- Size: 33.3 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.MD
- License: COPYING
Awesome Lists containing this project
README
# 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

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

## Primary Requirements
- Asset Management / Render Controls / Task Organizing / Event Arch
- Advanced Lighting / Shadows both realtime and offline render capabilities
- Areal/Volumetric Real Time Lighting / Ambient Occlusions / Light Pre-Processing
- Advanced Volumetric Rendering
- GLTF Advanced 3D Scenes & Assets
- SPH/Fluid Grid Interface Solvers
- SPH/Fluid Solver GPU Computation Exports
- SPH/Fluid Implicit Collision Technqiues / SDF Processing
- SPH/Fluid Surfaces
- Fluid Animation Export
- Modular Scene Assembly
## For OpenGL 4.1
```bash
$ go get -u github.com/go-gl/gl/v4.1-core/gl
```
## For GLFW 3.2
```bash
$ go get github.com/go-gl/glfw/v3.2/glfw
```
## BRANCHES
main - Latest working build