Just out of curiosity how do you render terrain from a pixel shader?
Every terrain tile has a heightmap, a normal map and a colour map - these are all generated into textures using an FBO and a pixel shader. There are three stages, the first generates the heightmap using a ridged multi-fractal simplex noise generator, the second stage takes that heightmap and runs a sobel filter to generate the normal map, and the third stage takes both height and normal maps, and produces a diffuse/specular texture based on the height and slope of the terrain.
The terrain itself is a pretty normal quad-tree of mesh tiles, which is all generated and managed on the CPU, and rendered much as you would expect. Basically your standard normal mapping + phong shading.