Closed vroad closed 9 years ago
Originally the Stage3D implementation was a single unified codebase that contained conditional code for the specific platforms however when OpenFL 2.x came along the separate backend structure came into effect.
As there was always (and still is) the vision that the Stage3D implementation will be integrated into the OpenFL library rather than being part of this Away3D repo, maintaining that same backend structure as OpenFL is important I feel, for this integration when it happens. The Away3D side of things is a unified codebase.
Hopefully the Stage3D implementation is pretty close to being complete and stable so large major changes shouldn't be necessary. So at this time, I feel keeping the backends separate is best.
For any other performance improvements, they would be most welcome. Just send through the pull requests. Thanks
Unfortunately openfl-next combined those three backends into a single one. Wouldn't it be better to unify three backends, if you want to integrate Stage3D stuff with OpenFL in the future?
It is on the OpenFL roadmap to consider adopting the Stage3D implementation, so anything to make that transition easier would probably be a good thing.
Stage3D staff is now merged with OpenFL, so we should close this issue?
Although the merge is in progress I'm working with Joshua to make sure we are in a situation where things still work whilst providing a more stable Stage3D implementation. Things aren't quite there yet bet we're close
That's good news. Being in OpenFL should give the Stage3D implementation more exposure, and exercise it more thoroughly. Thanks Greg and Joshua!
My repo also have performance fixes and additions, but I think we should solve this first, as it causes huge changes to the repository structure.
In my opnion we don't have to make them separated. As both native and html5 use OpenGL, they don't have big differences in the implementation. Conditional compilation is enough for this case, isn't it? Otherwise, we'll end up copying the code every time we change the code of one backend.