Awesome Open Source
Awesome Open Source
Sponsorship

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


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
typescript (8,803) 
threejs (194) 

Find Open Source By Browsing 7,000 Topics Across 59 Categories

Advertising 📦10
All Projects
Application Programming Interfaces 📦124
Applications 📦192
Artificial Intelligence 📦78
Blockchain 📦73
Build Tools 📦113
Cloud Computing 📦80
Code Quality 📦28
Collaboration 📦32
Command Line Interface 📦49
Community 📦83
Companies 📦60
Compilers 📦63
Computer Science 📦80
Configuration Management 📦42
Content Management 📦175
Control Flow 📦213
Data Formats 📦78
Data Processing 📦276
Data Storage 📦135
Economics 📦64
Frameworks 📦215
Games 📦129
Graphics 📦110
Hardware 📦152
Integrated Development Environments 📦49
Learning Resources 📦166
Legal 📦29
Libraries 📦129
Lists Of Projects 📦22
Machine Learning 📦347
Mapping 📦64
Marketing 📦15
Mathematics 📦55
Media 📦239
Messaging 📦98
Networking 📦315
Operating Systems 📦89
Operations 📦121
Package Managers 📦55
Programming Languages 📦245
Runtime Environments 📦100
Science 📦42
Security 📦396
Social Media 📦27
Software Architecture 📦72
Software Development 📦72
Software Performance 📦58
Software Quality 📦133
Text Editors 📦49
Text Processing 📦136
User Interface 📦330
User Interface Components 📦514
Version Control 📦30
Virtualization 📦71
Web Browsers 📦42
Web Servers 📦26
Web User Interface 📦210