Source for that paper is available here: https://developer.nv...sdk-11-direct3d "TerrainTessellation".
Thanks! I never seem to find anything from Nvidia's website.
What you must think first is Graphical hardware is very so similiar with water..
You never put unnecessary data into that stream..
you must cull out all data you will not draw
It's so basic and so important
Actually on current superfast GPU can render very small portion with good realistic rendering qualty..
I implemented basic culling of patches in the hull shader, but it didn't have any noticeable effect on the frame rate of our application. I think it's mainly because our terrain isn't very large and we are mostly bottlenecked by the pixel shader stage anyway.
The next possible optimization that I've been thinking about involves using the stream output to save the tessellated terrain into a buffer, which could then be reused whenever the terrain is rendered again during the same frame. Currently the terrain is tessellated 3 times per frame for different purposes, and it doesn't seem to make a lot of sense to me. Of course saving the tessellation results would increase the GPU memory usage and would probably involve some other overhead as well. And considering that we are already mostly bottlenecked by the pixel shader stage it might not change the frame rate in any way at all. Does anyone have any idea how this kind of situation is usually handled in games?