RealFire-SDL

Classic real-time fire effect using SDL for video output.

RealFire-SDL is an old-school fire effect demo with C, ASM, MMX and SSE2 code paths for comparing different implementations.

  • C++ demo
  • SDL 1.2
  • MMX/SSE2
  • Fire effect
  • LGPL

Overview

RealFire-SDL is a classic fire effect demo using SDL for video output. The original code was written for MS-DOS in 1998 and later ported to Win32/Linux with SDL in 2002.

MMX support was added in 2004, followed by SSE2 code paths in 2012. The result is a small example for comparing scalar, assembly and SIMD implementations of the same visual effect.

Screenshots

RealFire screenshot
RealFire code paths performance

Details

Effect Pipeline

  • Creates the fire effect in a 400×300 8-bit palettized buffer.
  • Includes C, ASM, MMX and SSE2 code paths for fire generation.
  • Applies a 2x zoom to produce the final 800×600 output.
  • Includes C, MMX and SSE2 code paths for the zoom step.
  • SDL converts the palettized surface to the final screen color depth.

Platform and Build

  • Windows x86 binary package is available.
  • The historical code targets Linux, Mac OS X and Windows era systems.
  • Linux and Mac OS X makefiles are not included.
  • Developed in C++ using SDL 1.2.

Download

Latest version: v1.20 (4-January-2012)
ChangeLog | Roadmap | LGPL license

Binaries
32-bit binaries for supported operating systems.
Source code
Source code and project files for VS2008+.
Previous releases
Get access to all releases repository.