For the next 5 months I will be working on a rendering engine (very bare bone) for a school project. The main requirement is to have an innovating key feature like deferred rendering used to be 5 years ago. Because I am fairly new to graphic programming (on this level, I have done 2D and some XNA and a little DirectX9 back in the day) I would like to ask what such an innovating (relatively new) feature could be.
I do have an idea of my own but I'm not sure if its new or actually doable.
My idea is to build a pass-bases render system in which shaders (diffuse, normal, SSAO) can be linked together to form passes.
A forward rendering configuration path would typically have one pass which does the diffuse, normal and light. A Deferred rendering configuration would have the base pass which renders the diffuse, normal, specular and depth to seperate textures which can be used in following passes. A next pass could be the light and pass after that SSAO (or they run concurrently). So each shader has required input and output. Some shaders can be linked together to form a pass because they dont interfere with each other, some do and have to be in a separate pass and has to wait. Also the passes used are exposed to the material system so only used parameters are available.
This might all be too vague and i'm not sure if this is really something but all feedback about this and how to manage shaders or passes is welcome.
Also I am really curious about any suggestions on how to go about this 'innovating' factor. Please help
Edited by woutervd, 17 January 2012 - 03:27 PM.