Renderer Design Cont.I have been busy writing the interfaces for the basic renderer functionality. The process is going very smoothly, and I have been able to eliminate several design issues that I had with the first engine. As I mentioned last time, the renderer basically implements an abstract IRenderer interface which defines the common renderer functionality. In addition to the renderer, I have also defined the following interfaces:
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!