I’ve been playing mario sunshine recently, and found it amazing how the realtime shadows and huge draw distance didn’t effect the performance at all, which is odd, because in my current unity project, the shados really slow things down, and i wouldn’t dare put any image effects in either. So here’s my question- how come the gamecube, and a game from 2002, (the gc is effectively a low spec pc nowadays) can handle shadows and effects as well as it can and maintain 20 FPS + ?
Everything is just faked with lightmaps and projectors.
AAA games have immense shortcuts and optimizations.
e.g. L4D2 renders only 4 zombies ever. It has 4 meshes, and 4 textures, and using part swapping, color swapping, 3D decals, and mesh instancing it makes it seem like there is 50+ unique zombies.
You also can’t see other people’s flashlight shadows.
Duke Nukem 3D had shadows, but they were all simple mesh projections. Heck they didn’t even have models.
Deferred Lighting, now in Unity, renders a blank scene and places lights on the scene afterwards like layers of an onion on the screen.
Not to mention the massive amounts of Occlusion culling that go on, and the map designs for these types of games that make sure you can only see so many verts/meshes at any particular moment in the game, despite the fact that the level as a whole has a TON of geometry.
Optimized rendering is just smoke and mirrors designed to make you think there is 1000x more going on than there really is. And when you want to accomplish more, you don’t get more graphical power, you just use more smoke and mirrors.
Looking closely at Mario’s shadow in Super Mario sunshine, I think it’s just a bunch of blob shadows cast from Mario’s various body parts. Very convincing, though!