Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skeelogy/skunami.js
Three.js GPU height field water libraries
https://github.com/skeelogy/skunami.js
Last synced: 3 months ago
JSON representation
Three.js GPU height field water libraries
- Host: GitHub
- URL: https://github.com/skeelogy/skunami.js
- Owner: skeelogy
- License: mit
- Created: 2013-10-02T22:13:52.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2013-10-26T03:26:27.000Z (over 10 years ago)
- Last Synced: 2024-03-05T17:14:49.366Z (3 months ago)
- Language: JavaScript
- Homepage: http://cg.skeelogy.com/skunamijs/
- Size: 1.84 MB
- Stars: 64
- Watchers: 8
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-threejs - skunami.js
README
skunami.js
==========### Introduction
This is a collection of JavaScript / GLSL height field water libraries for Three.js plane meshes.
### Available Height Field Water Types
* **Pipe Model** _("Fast Hydraulic Erosion Simulation and Visualization on GPU", Xing Mei, Philippe Decaudin and Bao-Gang Hu, Pacific Graphics 2007)_
* **X Water** _(["2D Water", Hugo Elias](http://freespace.virgin.net/hugo.elias/graphics/x_water.htm))_
* **Mueller GDC 2008** _("Fast Water Simulation for Games Using Height Fields", Matthias Mueller-Fisher, Game Developers Conference 2008)_
* **Mueller GDC 2008 Hello World** _("Fast Water Simulation for Games Using Height Fields", Matthias Mueller-Fisher, Game Developers Conference 2008)_
* **Tessendorf iWave** _("Interactive Water Surfaces", Jerry Tessendorf, Game Programming Gems 4)_### Features
* GPU-based height field water simulation for fast performances on high resolution meshes
* Different types of user interaction with the water: source, sink, disturb
* Water ripples reflect off terrain and static obstacles
* Two-way coupling with dynamic rigid body objects i.e. water makes objects float while objects create ripples on water after displacing it
* `SKUNAMI.GpuPipeModelWater` is able to accumulate behind terrains and static obstacles### Examples
**1) Water Types** [[Demo](http://skeelogy.github.io/skunami.js/examples/skunami_waterTypes.html)]
[![ScreenShot](http://skeelogy.github.io/skunami.js/screenshots/video_skunami_waterTypes.jpg)](http://www.youtube.com/watch?v=yj3jrXWwqyU)
* Different water types and their behaviour upon user interaction
* Flooding control to change water level**2) Obstacles** [[Demo](http://skeelogy.github.io/skunami.js/examples/skunami_twoWayCoupling.html)]
[![ScreenShot](http://skeelogy.github.io/skunami.js/screenshots/video_skunami_obstacles.jpg)](http://www.youtube.com/watch?v=yEbXhAY9qao)
* Reflection of water ripples that bounce into terrain and static obstacles
* Accumulation of water behind terrain and static obstacles**3) Two-Way Coupling With Dynamic Rigid Bodies** [[Demo](http://skeelogy.github.io/skunami.js/examples/skunami_twoWayCoupling.html)]
[![ScreenShot](http://skeelogy.github.io/skunami.js/screenshots/video_skunami_twoWayCoupling.jpg)](http://www.youtube.com/watch?v=f_6aTwP2lMg)
* Dynamic objects (and terrain) cause ripples on water after displacing it
* Water makes the dynamic objects float### Documentation
* [1.0.x](http://skeelogy.github.io/skunami.js/docs/1.0.x)
### Browser Support
Tested only in Google Chrome (recommended) and Mozilla FireFox
### License
Released under The MIT License (MIT)
Copyright (c) 2013 Skeel Lee ([http://cg.skeelogy.com](http://cg.skeelogy.com))