Do you have any idea, how much memory this would consume on the VRAM? If it is say below 10 MB, then it is worth it.
This directly depends on the patch-size and the amount of patches uploaded to VRAM at a given time. If you have a 257x257 toplevel patch (low resolution, covering the complete terrain) and replace the area around the player with four more detailed patches each of 129x129 and have a vertice to also contain a normal and a texture coordinate, you will end up with (257*257+129*129*4)*(3+3+2)*4bytes= 4MB. This is however _without_ mesh optimization. You will get much higher resolutions with a proper simplified mesh. The patches around the player have to be replaced with the next patch in range, when the player moves, so that only 4 high detail VBOs are stored in VRAM at any given time.
I haven't found any information, how a VBO can be modified after it has been created. Do you have any doc about it?
No, only the OpenGL extension registry entry:
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_buffer_object.txt and the JOGL forum

It shouldn't be too hard to implement. VBOs would be the technique to do that. You cannot use DisplayLists then.
Yeah, VBOs or possible VertexArrays to store the data in VRAM (are VAs stored in VRAM ?). One thing I don't know is how to expose this in the Xith-API. An elegant solution could be to hide this completely and just check the pointer equality of the array passed to setCoordinates, but this could be a bit too much of black magic

Furthermore this could possible interfere with the vertexIndex argument of that method...
Don't know about the DisplayList optimization, since it might be possible to store the glDrawElements(indicies) call in a displaylist and also have the index-array stored on the GFX card this way, but that might be wishful thinking
