Every high-level rendering application should have some sort of a generic Scene Graph, along with a method to populate it with data and an efficient way to render it. For this exercise, I looked at the infamously cumbersome COLLADA for inspiration, and built my data-structures based on its design. Instead of relying on existing bloated libraries for importing COLLADA, I followed a minimalist approach and used a simple XML parser to parse only the assets I required. Finally, I implemented a rendering visitor (based on the visitor design pattern). I exclusively used scenes I exported from Blender, thus explaining Suzanne...

Source Code

...