Original Post
In my D3D large-terrain renderer, I have a terrain geometry similar to the clipmap system--a series of toroidal rings--and I use a floating-point heightmap to displace vertices in the vertex shader. Currently I use two heightmaps; one is for the nearest few rings, one for the farthest. I update the heightmaps using render-to-texture methods. I render a large flat plane with some noise functions, centered on the viewing position, then project that onto the real terrain in the vertex shader. This gives the ability to create normal maps as well, with essentially limitless procedural terrain. The problem is this: to get a good resolution and area coverage i have to use 4096*4096 floating-point textures--even when updating only every 500 or a thousand frames or so, i get a noticeable lag whenever i render the hieghtmaps out. This lag goes away when i use lower-res textures but so does the quality. Obviously rendering the large textures is very slow even on a strong video card, too slow even for occasional updates. Even when I stagger the rendering of each heightmap there is a lag. Does my method sound like it's simply flawed? Should i be using some other method of creating heightmaps that can be done without the one-frame super lag?