Table of Contents

L3DTVi2 algorithms

General

L3DTVi2 is written in Delphi using the GLScene library. To render terrain, L3DTVi2 uses GLScene's terrain renderer, which includes a hybrid ROAM - brute force tessellation method that gives distant horizons while maintaining moderate triangle counts.

Rendering water

Water is rendered in L3DTVi2 as a second heightfield, which allows multi-level and non-flat water.

techshot6.jpg
Screenshot from L3DT viewer (forerunner of L3DTVi2), showing water
rendered as a heightfield. Note lakes at different altitude to sea.

Detail map

Most 3D terrain renderers modulate the ground textures with a high-resolution greyscale 'detail map' to provide the illusion of highly detailed textures. In L3DTVi2 this is done twice at different resolutions using a vertex shader program, which provides even greater detail.

high_detail.jpg
Pretty foreground in L3DTVi2 thanks to detail map.

The detail map used in L3DTVi2 is shown below:

detailmap.jpg
The greyscale detail-map.