+1  A: 

More vegetation comes to mind, such as trees or "undergrowth", depending on how much grass coverage you have. You could play with differently-grown trees at different locations. Perhaps some trees grow faster nearer water, while trees high up a mountain side are shrunken and rugged?

You might want to think about more weather phenomena, such as wind (bending grass, affecting tree growth, etc).

You can also think about what it would take to modify the terrain, for instance simulating an explosion blowing a hole somewhere, or an earthquake cracking the surface open.

Sounds like fun!

unwind
+2  A: 

There are a lot of thing that come to mind concerning texture rendering. First I have to say I'm not a 100% sure what you are looking for. I'll just post everything i can think of and you can pick ;)

  • Improve the general texture mapping. Does the slope of the terrain modify what kind of texture you would put at the given vertex? Are there other criteria available to indicate which texture to use?
  • integrate a day/night cycle. Move the sun/moon around the terrain so that you can see the lighting change accordingly.
  • Self shadowing always looks cool ;).
  • A sky box/dome doesn't hurt either.
  • Add procedurally generated vegetation.
  • If you add vegetation, make it cast a shadow on the terrain.
  • Think about improved water rendering (reflections, waves, transparency)
  • I assume you use some sort of texture blending to blend the transition from one texture to the next?
  • Are you using one big texture that you are stretching over the whole map or are you tiling your textures?
  • Perhaps, rethink the rendering of the terrain itself? are you "just" managing a big array of vertice/edges? If so, look into further ways to manage your terrain data. Things like quad/oct-trees are often used for that kind of problem.

Those points are in no particular order.

edit:

gamedev.net

gamasutra.com

Stefan Schmidt