This section will detail the improvements made to the implementation to accomodate a more advanced demo.
The demo was advanced to increase scene complexity by adding 4 spotlights and a cascaded shadow mapped directional light. This increases the number of drawcalls and introduces several extra processes to take care of.
The objects to render and how to render them are additonally passed to the renderer by the application rather than queried. This allows scenes to be more consistently rendered with a uniform interface. The new system uses a set of render passes. The system for render passes employed here could theoretically be mapped to Vulkan render passes, but this has not been done due to a lack of time.