Not easy to find (english) words for what I want to say, but I'll try:
Before contributing any clever stuff (particles, effects etc..) we need a basic but solid framework to handle the lowlevel stuff. E.g. a particle engine that calls glBegin..glEnd for each particle is a bad idea, so it wouldn't be good to rely on default Max2D commands for contributed functions. Ok, no problem, let's use vertexbuffers, there are plenty examples in the code archives. With using vertexbuffers the next problem comes up: texture management. Everything inside a VB must use the same texture, so the way to code with VB's is total different than with Max2D commands....if we solve all problems that come along with VBs (and other enhanced topics like shaders, additional backbuffers) we end up creating an engine.
Don't get me wrong, to have a enhanced graphics engine that's based on BlitzMax and works together with Max2D is a very good thing! I would love to contribute all my engine's code to build a community engine, but if we really want to do that we need a clear and clever plan how we do it!
How to handle extensions (VB,Shaders) ? How to do texture management? How to do fallback/error handling for the whole stuff etc...
Without an modular and flexible engine that drives everything most contributed functions will be isolated solutions that hack Max2D to achieve a single effect. Then there's nothing more to do as the code archives are still up and running.
Jake
Before contributing any clever stuff (particles, effects etc..) we need a basic but solid framework to handle the lowlevel stuff. E.g. a particle engine that calls glBegin..glEnd for each particle is a bad idea, so it wouldn't be good to rely on default Max2D commands for contributed functions. Ok, no problem, let's use vertexbuffers, there are plenty examples in the code archives. With using vertexbuffers the next problem comes up: texture management. Everything inside a VB must use the same texture, so the way to code with VB's is total different than with Max2D commands....if we solve all problems that come along with VBs (and other enhanced topics like shaders, additional backbuffers) we end up creating an engine.
Don't get me wrong, to have a enhanced graphics engine that's based on BlitzMax and works together with Max2D is a very good thing! I would love to contribute all my engine's code to build a community engine, but if we really want to do that we need a clear and clever plan how we do it!
How to handle extensions (VB,Shaders) ? How to do texture management? How to do fallback/error handling for the whole stuff etc...
Without an modular and flexible engine that drives everything most contributed functions will be isolated solutions that hack Max2D to achieve a single effect. Then there's nothing more to do as the code archives are still up and running.
Jake