See what's going on with flipcode!


Realtime Voxel Landscape Engines - Part 1 - Introduction
by (21 February 2000)

Return to The Archives

Originally, realtime voxel landscapes had the reputation among programmers of being extremely simple to develop, especially those with limited degree of freedom. However they were not usually associated with high quality graphics, as most engines at the time produced quite blocky images. More recently, voxel landscapes have become quite popular, featuring in high profile games like Outcast and Delta Force. Their overall quality has also drastically increased, making them potential rivals for the standard polygon engines. Lack of hardware support however has been a serious problem.

This tutorial will start by quickly explaining the basics behind volume graphics. We will then move on to voxel landscapes in particular, and consider how they are rendered. The concept of limited degree of freedom will be introduced, and I will show you how this can drastically improve quality and performance. We will then consider texturing and lighting, and various other techniques to improve quality. Possible optimisations will then be explained, and finally I will describe a way of using hardware acceleration to render the landscape.

I will assume you have knowledge of general computer graphics, and 3D theory. If you don't think you are up to standards, be sure to check out another of my tutorials on realtime computer graphics called The Art Of Demomaking. Knowledge of a particular programming language is not required to understand the theory, since all pseudo-code provided will be quite generic. The sample source code however will be in C++, so practical knowlege of that language would be an advantage.

The main reason for this tutorial was the lack of serious information on realtime voxel landscape engines in general. I've had many requests, and since I consider my knowledge in the area reasonably good, having developed terraVox for about a year, I felt I was the man for the job.

If for any particular reason you wish to contact me, I can be reached at

Article Series:
  • Realtime Voxel Landscape Engines - Part 1 - Introduction
  • Realtime Voxel Landscape Engines - Part 2 - Rendering the Landscape's Structure
  • Realtime Voxel Landscape Engines - Part 3 - Texture and Lighting
  • Realtime Voxel Landscape Engines - Part 4 - Level of Detail and Optimisation
  • Realtime Voxel Landscape Engines - Part 5 - Quality Improvement
  • Realtime Voxel Landscape Engines - Part 6 - Hardware Acceleration
  • Realtime Voxel Landscape Engines - Part 7 - The Engine
  • Realtime Voxel Landscape Engines - Part 8 - Final Words

    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.