Everybody needs to make a spinning cube.

Software rendering is the noble art of living without a GPU.


The basic setup needed is a buffer for all the pixels and a way to set and get a single pixel. If one is true one use a palette color mode with 256 colors only :).



Palette Map

A palette map is used to modify a palette index. It can be used to set the light level of images of to get a transparent color.

ColorMap: This maps a single palette index into another. Ex one can have 16 light level colormaps that map a image from full bright CM1 to dark CM16. Each colormap is 256 bytes long and map one palette index to another.

ColorTable: Takes two palette index and lookup a table for a new index. Can be used to get a transparent color.


Surface Rendering

Fill Edge List

    1. Find top vertex.

    2. Find left edge and right edge from top vertex.

    3. Use line algorithm to trace each line down and fill in start, end in edge table for line- When hit a new vertex on each edge change to the new line segment.

    4. Run until at end vertex

Draw Edge List

    1. Loop scanlines

    2. Draw along line from start to end from edge list.


Texture Mapping



Surface Caching

The polygons of Another World: Amiga 500

The polygons of Another World

The polygons of Another World: Atari ST

The polygons of Another World: IBM PC

The polygons of Another World: Sega Genesis