All Projects → neungkl → Fire Simulation

neungkl / Fire Simulation

Licence: mit
🔥 WebGL fire simulator using THREE.js library, with customize shader on volumetric object.

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to Fire Simulation

Aframe Inspector
🔍 Visual inspector tool for A-Frame. Hit *<ctrl> + <alt> + i* on any A-Frame scene.
Stars: ✭ 469 (+2658.82%)
Mutual labels:  threejs
Matcaps
Huge library of matcap PNG textures organized by color
Stars: ✭ 607 (+3470.59%)
Mutual labels:  threejs
Snapchat Clone
👻 A SnapChat clone built with React, Redux and Typescript. Styled with SASS. Tested with Cypress, Jest and Enzyme. Linted with Eslint and formatted with Prettier!
Stars: ✭ 770 (+4429.41%)
Mutual labels:  threejs
Globe.gl
UI component for Globe Data Visualization using ThreeJS/WebGL
Stars: ✭ 479 (+2717.65%)
Mutual labels:  threejs
A Painter
🎨 Paint in VR in your browser.
Stars: ✭ 539 (+3070.59%)
Mutual labels:  threejs
Trois
✨ ThreeJS + VueJS 3 + ViteJS ⚡
Stars: ✭ 648 (+3711.76%)
Mutual labels:  threejs
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (+2517.65%)
Mutual labels:  threejs
Harp.gl
harp.gl - web map rendering engine
Stars: ✭ 828 (+4770.59%)
Mutual labels:  threejs
Ami
AMI Medical Imaging (AMI) JS ToolKit
Stars: ✭ 569 (+3247.06%)
Mutual labels:  threejs
Aframe Extras
Add-ons and helpers for A-Frame VR.
Stars: ✭ 722 (+4147.06%)
Mutual labels:  threejs
Sea3d
An open-source format and tools for game developers 🎮
Stars: ✭ 483 (+2741.18%)
Mutual labels:  threejs
Camera Controls
A camera control for three.js, similar to THREE.OrbitControls yet supports smooth transitions and more features.
Stars: ✭ 519 (+2952.94%)
Mutual labels:  threejs
Polygon Shredder
The polygon shredder that takes many cubes and turns them into confetti
Stars: ✭ 686 (+3935.29%)
Mutual labels:  threejs
Tensorspace
Neural network 3D visualization framework, build interactive and intuitive model in browsers, support pre-trained deep learning models from TensorFlow, Keras, TensorFlow.js
Stars: ✭ 4,515 (+26458.82%)
Mutual labels:  threejs
Nn Svg
Publication-ready NN-architecture schematics.
Stars: ✭ 805 (+4635.29%)
Mutual labels:  threejs
Detect Gpu
Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.
Stars: ✭ 460 (+2605.88%)
Mutual labels:  threejs
Vue Threejs
Vue bindings for Three.js
Stars: ✭ 620 (+3547.06%)
Mutual labels:  threejs
Jeelizweboji
JavaScript/WebGL real-time face tracking and expression detection library. Build your own emoticons animated in real time in the browser! SVG and THREE.js integration demos are provided.
Stars: ✭ 835 (+4811.76%)
Mutual labels:  threejs
Wave Simulator
A graphical 3D simulation of the wave and heat equations
Stars: ✭ 5 (-70.59%)
Mutual labels:  threejs
Expo Crossy Road
🐥🚙 Crossy Road game clone made in Expo (iOS, Android, web), THREE.js, Tween, React Native. 🐔
Stars: ✭ 701 (+4023.53%)
Mutual labels:  threejs

Fire Simulation

This is my original project for propose to 2110594 Computer Graphics and Physics Simulation class in Chulalongkorn University.

Fire simulation base on WebGL using THREE.JS library. Using volumetric fire technique for this implementation. Fully customizing on fire color and particle system in real-time. The simulator are run smoothly with 60 fps frame rate, optmized by object pooling method.

Demo

👉 Available demo : https://neungkl.github.io/fire-simulation/

Report

📄 You can read full PDF report in fire_simulation_report.pdf

Works

  • I starting with building a volumetric fire called flame ball, with customize vertex shader and fragment shader, the result look similar to below figure.
  • The flame ball part I using Perlin Noise algorithm for making the randomize texture of flame ball and apply the color depends on the deep of surface.
  • Combine each flame ball to a large fire using Interpolation for animation each frame of flame ball.
  • Add particle system for spark system.
  • Fully customization for fire color and spark color.
  • Renderer time scale included.
  • Optimized by using object pooling approach.

Usage

Run the simulator

  1. Enter following command.
$ npm install -g typescript grunt
$ npm install
  1. Run build script
$ grunt
  1. Change code in index.html
<!-- Change this -->
<script src="dist_github/app.js"></script>

<!-- To this -->
<script src="dist/app.js"></script>
  1. Open file index.html

Developement

$ grunt watch

Thanks

Reference

Tools

License

MIT © Kosate Limpongsa

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].