In keeping with the previous designs in the engine, I am still sticking with the render view system to encapsulate a single rendering pass. However, now materials can require additional render views to be executed prior to an entity being rendered that uses that material. In addition, the application will be able to manually specify views for other types of rendering besides object rendering. We'll see how it works out, but I am also experimenting with render views that can encapsulate other views for a single point of contact.
For example, to perform an SSAO rendering sequence I would normally have the following render views:
1. Depth buffer pass
2. Ambient Occlusion buffer pass
3. Final rendering pass
Instead, I want to have a single render view which will coordinate all three and link them together, chaining one views output to another's input. It should provide a much cleaner interface to the user, so it's definitely worth trying out. I'll post more as I make a little progress on it!