ViewingDale does render on the fly. Its basically a scene graph editor / renderer. It works on a hierarchy of images and it manages the scale so that it displays only whats needed on the screen and doesn't try to draw whats not on the screen. So it draws only the bit of continent that it needs to draw. As you zoom in there is usually more detail but the extents are smaller too. At a certain point which we have reached now, computers were able to draw the detail vs extents at a speed where its useful. Actually in the last few years we have more power than is necessary. There is a setting in the program which tells it how much detail to draw so if you have lots of power then it can draw down to very small stuff otherwise you can say cut it off when its at a certain level.

So there is no limit to the overall complexity of the world, only a limit to the complexity at the bit your looking at. And with modern PCs and graphics thats now pretty complex. It can draw about 100,000 objects a second. So the worst case is a forest full of single tree objects and you zoom out to a point where each tree just about needs to be drawn. Of course, you don't normally draw forests by the individual tree.

If your set on doing it in this direction then consider OpenSceneGraph or Ogre game engines. But even then I wouldn't think they would be able to do the job that ViewingDale does as fast as it can. There's a new API out called OpenCL which looks like it might replace some of the scene graph engines by using GPU assist for them. Don't know much about that at this stage. It was only publicized late this year.

You might also consider using WorldWind as a means of displaying maps too. When I tried it last time it was slow though I hear its got better in the last few years.

SeerBlue on these boards codes up maps into the format required by the Google API. Theres some newer tools to do that in a limited way now too. Though I don't like the fact that its hard to then edit the maps afterwords. Also, the map needs to be streamed from a web server which I guess you could install one locally. But that's all faff I wanted to bypass.

My GeoTerSys (GTS) is unreleased and ongoing - forever ongoing. Thats a really hard thing to write and its hard mainly due to the water bit. I track lots of water parameters doing sediment, erosion, velocity and momentum etc and it still wont do meandering or oxbow lakes. I have been on that about 2 years and ViewingDale about 4 plus there was an application prior to the final version of ViewingDale which I called Mapper and I started that in about 1990 on the Commodore Amiga. Both of these two make up only about half of what you have in mind. I don't wish to put you off, but your looking at about 10 years work in front of you.