ROAM (what blitz uses) or Octree Terrains

Blitz3D Forums/Blitz3D Programming/ROAM (what blitz uses) or Octree Terrains

Drago(Posted 2004) [#1]
Hey peeps, I was wondering what your opinions of the two Terrain Types listed.
ROAM (Realtime Optimised Adapting Meshes)
This is what blitz3d uses, it generates a mesh that generates a terrain mesh each time the camera, moves to get the highest detail on terrain that is closer to the camera and less detail further away.
Advantages: less detailed the terrain the less effort is taken to render, also is ALOT easier to dynamically update.
or
an Octree Based, system, where all the terrain is drawn at full detail, but is broken up into alot of smaller peices and then only draws what peices the camera can see.
Advantages: Easier to Implement and doesn't have a higher overhead each frame, but it still uses the max amount of polygons for a simple terrain.

I just want to hear people experiences on the two systems and which they do prefer.


sswift(Posted 2004) [#2]
You certainly don't need an octree to do the second option, nor will a quadtree provide much benefit.

You will get more detail with the second method, and a higher framerate, but a shorter view distance. You need only display those tiles which are a certain distance from the camera. No need for any type of tree structure. You don't even need to worry about the ones outside of the camera's view frustrum becuase Blitz will cull them itself.

I coded the second one. But I went one step further and allowed level of detail changes on distant tiles. Click the link in my sig for a page with a demo showing it in action. But note that the distance you can see is due to the level of detail changes. Without them the view distance would be greatly reduced. Approximately half of what you can see in my demo I think. Of course if you look at real world locations you really can't see that far. It's only when flying above the terrain that you really need such great view distances.