Flint 3D plans
I haven't done much work on Flint since April. That's now changing since the large job I was working on is complete and I have some time to myself again. I thought I'd outline the plans for the next major version of Flint.
The next major version will do 3D particle systems as well as the 2D systems it currently does. There will be some architecture changes that will benefit the 2D version as well as the 3D version and then there's a lot of work on implementing the 3D version. Much of this work is now done, and can be checked out from the three_d branch of the code repository.
The main architectural change involves completely separating the renderer from the rest of the system. Making the emitter independent of its renderer allows a single renderer to display multiple emitters, and multiple renderers to display the same emitter.
I have also separated the update tick from the emitter so that developers can supply their own update tick if they want to (from systems like the GoEngine) and also can update the particle system at a different rate from the frame-rate. The current system, where Flint provides an update tick that matches the frame-rate, is still the default.
Both these changes are already checked in to the branch.
The 3D implementation involves converting the core system and the various behaviours to 3D. This is now almost complete - a few behaviours remain but these relate to the mouse position and I haven't decided how, or if, to implement these (specifically how to relate the mouse's 2D position to the 3D space). The code is checked in to the branch but still needs to be optimized for speed.
The 3D implementation also requires renderers. My goal is to have a set of stand-alone renderers, plus a set of renderers for each of the major 3D systems. The stand-alone renderers are part done - the current versions work but lack many desirable features. I'm working with the Away3D team on developing renderers for Away3D and hope to work with the Papervision and Sandy teams also. If I can't get collaboration from them it will take a little longer to create renderers for these platforms since I'm not yet as familiar with them as I need to be to complete the work.
There are a couple of 3D examples checked in to the branch if you want to see it in action and have some code to start playing from.
Also, the documentation needs a lot of work.
So, that's the plan. I hope to have this complete sometime in August, and may move it over to trunk before then if it's stable and the 2D stuff in particular is thoroughly tested.
Finally, I'll be talking about Flint at Flash on the Beach in September. If you're available, come along. It's the best Flash conference I've been to and I'm very pleased to be speaking there for the first time this year.
Share this post or a comment online -
Also in the collection Flint Particles
- Flint AS3 Particle System
- Flint Particle System Tutorial
- Making fire with Flint
- Version 0.9.2 of Flint released
- Version 0.9.3 of Flint released
- Presentation about Flint in London
- LFPUG Presentation Slides
- Version 0.9.4 of Flint released
- Version 1.0.0 of Flint released
- Flocking behaviour in Flint
- Version 1.0.1 of Flint released
- Version 1.0.2 of Flint released
- Version 1.0.3 of Flint released
- Reorganised SVN for Flint
- Alpha of the 3D version of Flint is available
- After a couple of days relaxing
- Version 1.0.4 of Flint released
- 3D version of Flint Particle System
- More physics in Flint
- Developer diary
- Away3D renderers for Flint started
- More Away3D and Papervision3D renderer development in Flint
- Improved Papervision3D rendering in Flint
- Papervision pixel renderer for Flint
- Flint does Papervision3D and Away3D
- More 3D Zones in Flint
- Updated Flint examples
- Version 2.0 beta of Flint released
- Performance improvements in Flint
- Version 2.0 of Flint released
- What's in development for Flint
- Version 2.0.1 of Flint released
- Build scripts and other changes to Flint
- Version 2.1.0 of Flint released
- Version 2.1.2 of Flint released
- Version 2.1.3 of Flint released
- Many additions to the Flint documentation
- Version 2.1.4 of Flint released
- Version 2.2.0 of Flint Released
- Flint on GitHub
- Version 2.2.1 of Flint released
- Version 3.0.0 beta of Flint
- Version 3.0.0 of Flint released
- Version 3.0.1 of Flint released
- Flint and Molehill
- Version 4.0.0 of Flint released
- Version 4.0.1 of Flint released