Super Mario 64 - Port a PC
Tabla de contenido
Descripción #
Para el port a PC del Super Mario 64 hice varias contribuciones. La más grande de ellas fue el renderer Direct3D 11. Inicialmente el port tenía solamente Direct3D 12 y OpenGL, y quise probar a ver si era capaz de hacer por mi cuenta un renderer con Direct3D 11, dado que ya tenía algo de experiencia con la API. Y lo pude hacer sin muchas complicaciones. El mismo autor del port se sorprendió porque hizo algunos tests de rendimiento y resultó que mi renderer era el más eficiente de todos, incluso más que el Direct3D 12, el cual en teoría debería ser el más rápido. Con lo que fue el renderer que siempre recomendaba para usar en Windows.
Aparte de esto, también hice otras contribuciones como implementar el efecto transparente del vanishing cap y de cuando Mario se teletransporta, y emulé el filtrado de texturas único de la Nintendo 64 en la versión de PC, para ofrecer una experiencia más genuina. Estas contribuciones las hice tanto para Direct3D 11 como para OpenGL.
Dado que, tras el port inicial, hubo muchos forks y versiones alternativas del port, he de especificar que lo que hice fue para el port inicial. En otros ports mi renderer puede haber sido modificado o eliminado para dar prioridad a OpenGl, el cual funciona en otras plataformas aparte de Windows.
Vídeos #
Posteé en Twitter algunos vídeos del progreso. Obviamente era un poco un desastre al principio 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
Descarga #
Repositorio con el port inicial de PC: https://github.com/sm64-port/sm64-port.
Si queréis ver mis contribuciones de código, las hice en este repositorio: https://github.com/MaikelChan/n64-fast3d-engine.