Maya Viewport 2.0 Renderer Override

This project is a voyage into replacing Maya's Viewport 2.0 renderer with a custom-built, external rendering system. This sort of system is ideal for games development, as the artists can then see and edit final quality art assets directly in the viewport without having to export anything. Technical limitations of built-in viewport, such as the number of active light sources, can also be overcome due to being in full control of the rendering pipeline. The renderer and plugin for this project were entirely written from the ground up. The renderer in Maya is fully real-time. Materials, lights, meshes, and so on, all update in the viewport as they are edited. This is achieved by mirroring Maya's DAG and connecting mirrored nodes to the external renderer appropriately. If you would like to know more about this topic, I have previously written an article discussing implementation and providing useful tips for those wanting to implement something akin to this themselves. On a similar note, I also have an article on how to extract the radius/range of light sources from Maya, which may be of interest.

Please note that this project was more of a test than a polished product. Currently, I have no plans to open source the project, but it something I will consider in the future.

Previews

Below are a couple of snapshots from Maya's viewport of various test scenes I've used throughout development of the plugin. These are all using my own renderer within Maya, in real-time. Not all of the models are my own.