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.