Implement a basic G Buffer for deferred rendering and other optimizations.
The layout itself needs to be decided on.
How many buffers, what they contain, whether or not material maps will be supported.
And most important of all, the size of the G Buffer needs to be decided, as well as the quality. That would basically limit the minimum requirements as to run games for this, using the deferred rendering method.
This depends on #1.