Calculations to prevent this kind of overdraw quickly get more expensive than the drawing itself. Looking at Unreal, I noticed that while this is supposed to be state of the art rendering, they actually show very few polygons. Maybe they are just trying too hard. A decent accelerator can quickly draw tons of polygons, and while it's whortwhile to skip polygons that can easily be determined to be invisible, it's also easy to remove a polygon using an algorithm that takes more time than the actual drawing. Since it's already hard enough to build a full-blown 3D engine, most coders don't bother writing two.
Every card behaves differently and benefits from different approaches.
But probably I'll someday switch to hardware rendering too. Sorry for the ranting. Any and all trademarks used belong to their respective owners. Please read our Terms , Conditions , and Privacy information.