Super Mario 64 - PC Port
Table of Contents
Description #
I did several contributions for the PC port of Super Mario. The biggest of them was the Direct3D 11 renderer. Initially, the port only had Direct3D 12 and OpenGL renderers, and I wanted to try if I was able to do my own Direct3D 11 renderer, since I already had some experience with the API. I did achieve it without much complications. The author of the port was surprised because he did some performance tests and turned out that my renderer was the most performant of all, even more than the Direct3D 12 one, which is supposed to be the fastest. So it was the renderer that always recommended to use on Windows.
Besides that, I also did some other contributions like implementing the transparent effect of the vanishing cap and when Mario teleports, and I emulated the texture filtering effect that is unique to the Nintendo 64, to offer a more authentic experience. I did these contributions to both Direct3D 11 and OpenGL renderers.
Since, after the initial PC port, there were a lot of forks and alternative versions of the port, I must specify that all that I did was for the initial port. So in other ports and forks my renderer might have been changed or removed to give priority to OpenGL, as it works on all platforms, not only on Windows.
Videos #
I posted on Twitter some videos of the work in progress (in Spanish). It was a bit of a mess in the beginning, of course xd.
Aquà con todos los vértices un puñado de cosas más corruptas. pic.twitter.com/Hj3T6exAqu
— Miguel (@pacochan88) May 9, 2020
Tras arreglar la geometrÃa, sin texturas ni mucho más. pic.twitter.com/drch71xuT8
— Miguel (@pacochan88) May 9, 2020
Con texturas, sin transparencias y algunos ajustes mal puestos. pic.twitter.com/8w0KJEfkBz
— Miguel (@pacochan88) May 9, 2020
Y aquà ya con todo, incluido el efecto de ruido de la gorra invisible. pic.twitter.com/OgSGAgdb4O
— Miguel (@pacochan88) May 9, 2020
Download #
Repository of the initial PC port: https://github.com/sm64-port/sm64-port.
If you want to see my code contributions, they are in this repository: https://github.com/MaikelChan/n64-fast3d-engine.