Comment by djmips
3 months ago
Indeed the art pipeline alone is a huge challenge - and particularly so on these first generation 3D consoles. There is some GL like aspects to the rendering side as well but with a _lot_ of idiosyncracies. I was sweating it. I feel like N64 would be slightly easier.
I’m not sure the N64 would be easier. The graphics hardware in the N64 is complicated.
In some ways the console is really modern (perspective-correct texture interpolation, z-buffering, subpixel positioning). On paper, it seems a lot like a more modern system. But the hardware complexity is a beast. and the design is permeated with bottlenecks. Half of the graphics pipeline is taken up by the RSP, which is a fully programmable vector processor--sounds cool, but in practice it is unapproachable. 4 KiB of texture memory (and if you use a palette, half of it is the palette). RAM bandwidth is barely fast enough to handle 3D scenes.
https://www.copetti.org/writings/consoles/nintendo-64/
The folks working on LibDragon have done a lot of work to make homebrew a better experience, but you’ll note that support for 3D graphics is still only in a preview branch.
https://github.com/DragonMinded/libdragon