These pictures show the features of my new terrain rendering engine,
approximately one week into its creation (after many sleepless nights!). The
engine uses the ROAM algorithm, which makes for a huge difference in quality
over my earlier continuous-LOD quadtree engine.
Essentially, this game is intended to be a kind of "MMORPG" engine, as I
designed the architecture to be all patch based, with each 128m x 128m patch of
land about 5kb uncompressed at a 4m x 4m heightfield resolution. Essentially,
this height data is the basis for procedural generation of all other terrain
textures and details. For example, unique textures are synthesized during game
time for each patch. A normal map is also generated from the height data, and
thus this game makes heavy use of the D3DTOP_DOTPRODUCT3 operation for real time
lighting over the entire terrain. The skydome is essentially the classic
"interpolated colors" from horizon to zenith, with some additional tweakable
The water is done through the use of a stencil buffer, and the edges are
smoothened through the use of another in-game generated texture - a simple alpha
map which determines opacity. I think I will be adding some ripples for added
realism too :). For some concrete numbers, the engine runs around 60-80 fps on a
P3-500, Geforce2 GTS, 128MB memory.
Other than that, the engine is still missing trees and decorative items, and I
am putting in detail textures just as I am writing this e-mail. For now, it is
kind of difficult to judge the scale, but the mountain in the distance is about
600m away or so..
That's all for now, any comments/questions welcome....
Lead Programmer (of a 1 man team :) )