PDA

View Full Version : VTF to do terrain rendering



Mars_999
07-26-2008, 04:47 PM
Anyone here used VTF to do terrain rendering vs. old school methods? Would there be any speed increases from using VTF? Other than the mesh being dynamic easier I would guess with VTF, is there any other reason to use it for terrain. I know water is a good choice.

Also what about taking a mesh of say 17x17 or 33x33 and load that up as VBO and use the texture array extension to load up each 33x33 chunk of the terrain as a layer for the whole terrain? Then you would only have a VBO of 33x33 vertices and a small IBO for that mesh, and reuse it over and over again to render whatever size terrain you want?

zeoverlord
07-27-2008, 01:41 AM
I tested it once when it first was possible, and i failed, though most probably because my terrain engine and terrain data wasn't suited for this. :)

Anyway, the advantage as you say is that you can use a smaller mesh patches (like 16x16 or whatever) and reuse that over the whole scene, also it's great for lod and if you like megatexturing.

However what it's not is faster, if you disregard any effects you gain from LOD that is.

Malte Clasen
07-27-2008, 05:46 PM
Anyone here used VTF to do terrain rendering vs. old school methods? Would there be any speed increases from using VTF? Other than the mesh being dynamic easier I would guess with VTF, is there any other reason to use it for terrain.

I've implemented my spherical clipmaps paper (http://www.zib.de/clasen/?page_id=6) using VTF. At the time this looked like a good idea, NVidia promoting it all over the place. However, performance on a Geforce 6600 GT and a 7800 GTX was not so great, and at the time ATI didn't support it at all. I switched to render-to-vertex-buffer to circumvent VTF, got ATI compatibility and even a nice speed gain on NVidia.

This might have changed with unified shader GPUs. If you'd like to test this in an existing terrain rendering system, feel free to use our sources (https://svn.zib.de/lenne3d/) as a starting point. You can find the terrain rendering code here (https://svn.zib.de/lenne3d/project/player/current/src/Player/Renderer/OpenGL/Surface.cpp).