Tech/LxEngine/Features & Tasks/Renderer Plug-ins
From Athile
< Tech | LxEngine | Features & Tasks
Status
Not started.
Overview
Abstract the core architecture from the particular renderer used. Allow multiple renderer plug-ins. This would allow LxEngine to be used a development platform for developing custom rendering engines - while still providing much of the infrastructure for the rest of the application tasks.
- OGRE
- Ray-tracer
- Software renderer
- Custom OpenGL renderer
Notes
- The current development direction implies that providing multiple Renderers as "subsystems" which are effectively libraries designed for use to implement, but not directly implementing, a View::Component may be a reasonable approach. It does not necessarily make sense to pre-package the rendering plugins into a standard interface, as that would likely also determine the application data format (i.e. what the XML schema is). --Arthur 22:32, 31 May 2011 (CDT)
- Likely requires extensive work in the core architecture caching mechanism to ensure the renderer can operate efficiently without the core DOM knowing anything about the specific implementation of the code using that DOM.
- Requires some design decisions: currently, at its core, LxEngine is a MVC-based engine with an XML-like Model (i.e. the Document and Elements), but the design of what a "View" specifically is still needs more thought. A View could be a text console, a 2D view, or a 3D view: the Renderer Plug-ins feature is specifically talking about a uniform interface for 3D views - which is far more specific than a generalized notion of a View. Is there an additional layer? View > 3DView > Specific Renderer Plug-in? --Arthur 12:45, 6 May 2011 (CDT)