FYI: The engine is completely written in C#, and is built upon a data-driven architecture. It is also fully platform-agnostic and API-agnostic, so I must take care to ensure what I do works across DirectX 10 - 11 and OpenGL (as well as custom software renderers and 3rd party back-ends).
Attached to my post is an example diagram which shows how a platform-specific implementation of the "Renderer" interface (in this case the D3D10 implementation) "plugs in" to the engine. I added this to give you an idea of how the code is structured. Now tell me, if you please, how I need to be managing my render targets, depth stencils and all such things...
EDIT: Note that in the diagram the "Engine" and "Application" parts are NOT actually classes... they are simply representative of how things sort of fit together.
Edited by ATC, 06 October 2012 - 11:22 PM.