Back to Portfolio

Fire Simultor

Mohcen Hafidi - 2018

Project Overview

I developed a custom engine in Java with LWJGL to create a realistic, real-time, interactive 3D fire simulator. the particle and physics engines were built from scratch. To increase realism, I used detailed texture atlases to define the fire's visual properties. I optimized rendering by using Instancing and reduced OpenGL calls from 10,000 to just a few per frame.

Keywords: particle systems, fire simulation, engine programming, GLSL.

Acquired or Enhanced Skills

  • OpenGL pipeline
  • Particle systems
  • Fire simulation
  • LWJGL
  • Texture atlases
  • Additive blending
  • Instancing
  • GUI

Technical Implementation

I built a particle-based fire simulator in Java with LWJGL/OpenGL. An emitter component (point/cone/sphere) spawns particles at a configurable rate with randomized initial velocity and temperature; an update loop integrates position, velocity, age, and temperature under a simple constant acceleration and retires expired particles. Each frame, packed particle data streams into a persistently mapped VBO and is drawn as instanced camera-facing quads. A GLSL shader samples a texture atlas for animated flames, and modulates color/alpha. Depth-fade soft particles prevent hard intersections, and additive-alpha blending composites directly to the default framebuffer.

Visual Results

Demonstration Video

Real-time fire simulation demonstration showcasing interactive features