Zettix.com

Graphics: Virtual Reality Engine

This program used to run on Linux and Dos systems.  Linux no longer has the vga library, and the dos version uses
int 13h to get into vga mode.  Hence, this code is more for academic study now.

This VR engine uses a software algorithm to render triangles. While seemingly obsolete since the introduction of consumer 3D hardware, software based engines are still useful for such things as cell phones and refrigerators. The algorithm, called a S-Buffer, uses a scan line based Z-buffer, however, Z values are only stored for the endpoints of line segments on a scan line. A single triangle occupying a 100x100 image buffer that would require 10,000 Z-Buffer cells, would require only 200 cells using an S-Buffer.

The program uses a unique model syntax called "rfs" to store models.  lexx and yacc are used to parse the model files, and the
Makefile should guess if you are using Dos or Linux and attempt to compile.

Screen shots:
Angel island, in mesh and solid modes:
Mesh of Angel Island
Filled Triangle Angel Island

Source Code: slistsrc.zip Contents
Source Directory: src/

Dos Executable: slist.zip Contents
Dos Directory: floppy/

Go Back