| Submitted by , posted on 30 June 2003 |

Image Description, by This is a first glance at my terrain-engine which has been in production for about 4 months now (I only work on it whenever I got time, which is very little :-(). I started this project to upgrade my VC++ and Opengl skills, and consequently I've learned very much. The only thing special worth mentioning on this terrain-engine is the texturing, which I copied from delphi3d.net.
Features:

> - QuadTree bounding sphere frustum culling
> - Geomipmapping using tri_strips
> - Skydome with dynamic gradient
> - Dynamic Texture Blending for detail everywhere on the terrain
> - Realistic water fysics with spheremapping
> - Font
> - Automatic generation of trees on flat parts of terrain
> - Sun
> - Distance fog

The downside of this type of texturing is that it is slow as hell, though it looks beautiful. I tried using extensions like glLockArraysEXT and NV_VAR, but somehow I can't seem to get it to work. I'm working with a geForce2 with 2 texture units, which means I have to render each scene using 3 passes. On a geForce3/4, this can be done in one pass. With FPS between 15-20, my water animation (left-down picture) doesn't look to good either, so my main todo is gaining some speed, especially because my scenes usually contain about 50K polys.
Other todo's include using 3D-trees in stead of imposters, lensflares, realistic clouds, render_to_texture water and making the sun look yellow in stead of green!! Maybe I will also switch to an other sort of terrain LOD. ChunkLod does look promising, however I haven't looked at it much.
Demo can be downloaded at http://home.conceptsfa.nl/~fredo/TerrainEngine.zip (NO single-pass support for geForce3/4 yet, sorry), feel free to ask questions, make comments/suggestions.
Edo

[prev] | Image of the Day Gallery www.flipcode.com | [next]

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