|
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
|
|