… an useful pluggable architecture ?
Here is my idea. The entire engine would be divided into plugable modules. Each module could be replace in real time by freezing the engine replacing the module and then unfreazing the engine back again. But before that cached data was disposed off and have to be requested again to be read by the new module. That module would then have to be initialized into a state similar in functinality to the one the older module was in.
I don’t know very much of OpenGL but i belive that it is a average complex api that does much more than drawing polygons. Maybe it could be used to accelerate other parts of the engine besides the rendering part.
Another useful part are software renders and software modules that do what accelerated modules would do but in software. More stable, less dependent on the computer drivers and configuration.
Then there are the advantages of debugging in a app organized in modules. Its like with television sets. If you dont know what block has the fault simply replace modules and see what works.
Anyone dares to sujest how this module subdivison would be done and what would be the protocols for each to communicate with each other ? That is in what format and what info would have to be transfered between different modules ? And how would the programmer define the meaning of “similar state functionality” when replacing modules ?