IRenderEffect
IRenderTarget
IDepthTarget
ITexture
IFont
Each of these will need to be implemented by the API specific renderer for use with the IRenderer interface. The abstract interfaces simply provide the way that an application can interact with the object - all API specific information is only added by that specific implementation. I have chosen these few interfaces as part of the minimum spec. since the renderer is ultimately the object that will create and use these resources.
I have also begun the first implementation of these interfaces with DX9. Since my old engine had all of the API specific code already written, much of this work has been copy and paste, then update to my current coding standard. It really is surprising how clean the system feels by simply removing extra stuff...
More details to come!