There have been a few things over the years that were thought to be impossible with the hardware renderer, but then ended up being implemented effectively anyways.
Some of these include:
Bounding box emulation (necessary for fully accurate Paper Mario emulation, etc), the downside of which is that it seems to break on a few cards and eats up a lot of GPU power, but is 100% accurate as far as I know.
Z-freeze, which is not technically 100% accurate (I think), but it turned out that no games actually used Z-freeze in a way that required utterly perfect accuracy for it to work correctly, so for all intents and purposes it should look perfect.
There are still some inaccuracies in the renderer, but typically these are in both the hardware and software renderer, often because nobody has had the time/motivation/skill to do the complex hardware testing necessary to find the root of a particular problem and fix it. One of these is inverted depth buffer, which is suspected to be necessary to make Pokemon Snap work. There's also various subtle bugs with lighting and so forth, but they're all because of incorrect implementation, not because the hardware renderer is inherently limited. Rarely is the software renderer any more correct; the bug is usually in both.
Some of these include:
Bounding box emulation (necessary for fully accurate Paper Mario emulation, etc), the downside of which is that it seems to break on a few cards and eats up a lot of GPU power, but is 100% accurate as far as I know.
Z-freeze, which is not technically 100% accurate (I think), but it turned out that no games actually used Z-freeze in a way that required utterly perfect accuracy for it to work correctly, so for all intents and purposes it should look perfect.
There are still some inaccuracies in the renderer, but typically these are in both the hardware and software renderer, often because nobody has had the time/motivation/skill to do the complex hardware testing necessary to find the root of a particular problem and fix it. One of these is inverted depth buffer, which is suspected to be necessary to make Pokemon Snap work. There's also various subtle bugs with lighting and so forth, but they're all because of incorrect implementation, not because the hardware renderer is inherently limited. Rarely is the software renderer any more correct; the bug is usually in both.
