This is the current version of my bezier patch landscape renderer, it is not
optimized at all e.g. no visibility tests, tri strips for rendering, no LOD etc.
The stats for the landscape shown in the image are
Tris per strip - 14
Strips per patch - 8
Patches in landscape - 7225
For a grand total of
As you can see in the bumpier parts of the landscape, I have not enforced
continuity between the patches for smooth lighting, although the flatter parts
do look reasonably good (IMHO :)
In this version, every patch is tesselated to the same level and the vertices
for each patch are calculated at load time using forward differencing (a big
thanks to Adrian Perez's - Advanced 3D Game Programming in DX7 ), and are then
drawn as strips every frame.
The landscape is just a raw greyscale image, I use the values from the image as
the z-offset for each patch's control points (16 pixels per patch, shared
edges), rotate the thing 90 degrees when drawing to make it horizontal instead
of vertical, and voila! instant terrain.
I've just been putting code together to try to do the things I want as i've gone
along learning OpenGL, and this is the result so far.