So I’m a little baffled. With one very minor adjustment, suddenly my terrain rendering is flying at fantastic speeds. Here is a shot of the terrain. What you’re looking at here is approximately two square kilometers of land (the other two alluded to in the title are behind the camera). For those who play World of Warcraft, two square kilometers is approximately the size of Elwynn Forest, and my vertex density is approximately identical to that used in World of Warcraft (I’m using one vertex every four meters).
Now obviously, there aren’t any trees or plants or players or any other props in this scene (actually, there is one prop in the scene, but it’s hidden behind the slope of the ground in the foreground. Sorry about that), so it’s not really fair to compare rendering rendering speeds, but see the horizontal red and green bar in the bottom left corner of the screen? That’s my information about CPU/GPU utilisation. The little green part of the bar is how long this terrain is taking to render (the red part is waiting for vsynch). This is much faster than I was expecting it to render, especially considering that I’m not performing any adaptive rendering to try to cut down the polygon count (check the wireframe inset; the polygons are so dense in those distant hills that they appear to be being drawn solid!); the code is just splurting all 262,144 vertices to the 3D card, lighting them in hardware, and drawing them to the screen.
I’m now left wondering whether I should bother with adaptive terrain mesh, or whether I should just go with this for now, and instead move straight on to fixing up the texturing of the terrain.