I've noticed that many programs use extremely complicated shader code in order to extrapolate geometry from a small number of polygons, thereby reducing the number of polys but presumably slowing performance to a crawl? Unless I'm missing something, wouldn't it be far better just to generate a larger number of detailed polys ? To give a example of what I'm referring to, here's a video of a program which renders waterfalls and uses pixel shaders to extrapolate the rock details, creating extremely elaborate rock formations from just a few rough polys - amazing programming, but it seems like an unnecessarily slow way of doing it ? Click on the top video, labeled "Cascades: Technical Overview" - http://www.nzone.com/object/nzone_cascades_videos.html