Away3D 4.0 Beta released

by Rob Bateman

We are pleased to announce that the release build of Away3D 4.0 Beta has finally arrived! What with all the action and reaction of the last few weeks and months, its been a tough time for everyone at Away3D and we appreciate the patience and resilience of everyone involved, none more so than all you users out there.

The purpose of the beta release has been to solidify the APIs written while Flash 11 was still in incubator phase, introduce some others after feedback from users and our own internal team members on features and easy of use, and generally stabilise the library codebase. The overall intention has been to produce an update that improves your daily workflow - here are some of the following improvements that have been implemented:

New Texture classes

In order to streamline our GPU implementation in Away3D 4.0, we have to consider data optimisation in a way that keeps GPU upload bandwidth to a minimum. Textures comprise much of the data used in 3D, and as such we have introduced some new classes to assist with optimisation in this area. Instead of automating the creation of texture objects inside materials, Away3D 4.0 introduces the new BitmapTexture class that acts as the data instance of a texture. This can be shared by any number of material classes and is not bound to any single material, allowing the user to easily manage and optimise texture use in a project.

New Geometry handling

The concept of a mesh as a container for geometry data is something that has always been present in Away3D, but the new version puts more emphasis on it than ever. Primitive classes now inherit from geometry to encourage their reuse in mesh instances, and the Mesh class itself has the addition of a geometry property in the first argument of its constructor. By doing this we hope to encourage more efficient re-use of geometry in Away3D 4.0 projects, something that also has significant benefits for GPU use.

Improved mouse interaction

Mouse interaction with 3D objects inside the view have previously relied on data from the GPU for detecting 3D mouse events. This has been a reliable way of resolving interactions, but it comes at a high cost as the GPU in general is only designed to have data travel one way - to the screen. In order to avoid the processing overhead that comes with GPU readback, we have completely re-written mouse interactions for the CPU, using the fast maths operations of Pixel Bender to ensure efficiency. For the rare cases where this is not enough, we have also introduced a super-optimised option to detect mouse events on just the bounding geometry of a 3D object.

Handling new / deprecated classes

Due to the API changes to Away3D 4.0 Beta mentioned above and elsewhere, some degree of code refactoring will be required to upgrade an existing project. While we hope these will appear as minor, please bear that in mind if you are considering switching mid-project. To help with some of the changes, we have retained the old class structures but using them will throw a deprecation error with details of how to re-factor using the latest classes.

The new release is intended as a consolidation of various loose ends and unoptimised areas and as such has no outright new features, but it is out recommendation to upgrade whenever possible in order to take advantage of the streamlined APIs and optimised operation.

An update to the livedocs will be arriving shortly, in the meantime you can grab the latest 4.0 beta build by going to the away3d-core-fp11 repository on github, and download all the existing Away3D source examples updated for the beta changes at away3d-examples-fp11. Alternatively, head over to our downloads page for zipped sources of both repositories.

We hope you like the new release and welcome any feedback.

The Away3D Team

********* update *********

Our googlecode svn has now had its source repository updated for any of you who prefer using svn over git - sadly, due to git's terrible svn integration we won't be able to issue regular code updates here, but we will continue to post all major releases:

Finally, we also have a selection of update compiled demos that now run in 4.0.0 beta, links are pasted below. For each demo, you can view and download the source by right clicking anywhere in the view and selecting "View Source". You will also notice a version indicator in the right-click menu for debugging purposes - we will be updating revisions regularly so if you like to live on the bleeding edge, you should always be able to identify which version you are currently working with.

Enjoy!

COMMENTS

17 Feb 2012 04:13 PM

Matse said:

This is great news ! Thanks to you guys, now I know what to do over the week end

17 Feb 2012 04:19 PM

sebbdk said:

Saw the tag in github , when't her immediately,
this is awesome news, nice job guys!

17 Feb 2012 04:47 PM

wagster said:

Pleased about the mouse interaction stuff. Look forward to trying that out.

17 Feb 2012 08:47 PM

JAre said:

Thanks! great news cuz I started to be afraid of, that the project may "Took an Arrow in the Knee"

18 Feb 2012 08:10 AM

theMightyAtom said:

Thanks for all your hard work on this, it is very much appreciated :O)

18 Feb 2012 04:31 PM

Jeff said:

Great news ! my week end will fly AWAY

18 Feb 2012 04:46 PM

VicoEv said:

That's a really great news, thank you. I can not wait to test it, excellent occupation for the weekend !

19 Feb 2012 09:41 AM

Ben said:

Thank you very much for the huge job! Good luck for the next steps!

21 Feb 2012 08:39 PM

bildakid said:

Could you post a step by step installation for the away3d as well how ti intergrate the demos. Some of us need a little more guidance to just setting up the enviroment.

21 Feb 2012 10:10 PM

bildakid said:

Is there a way you oculd include a ream me file with the exact directions to installing the nessary files and demo files. I've done this in the past but for some reason I've gotten things confused, and a basic step by step how to install would really help.

23 Feb 2012 04:54 PM

qutaibah said:

Thanks for your efforts. This is looking great I can't wait to get it to work.
I must say, I am having a bit of truble getting it to work,
A setup guide would be very helpful

29 Feb 2012 04:17 PM

riffraff said:

Very nice, looks better than ever, examples are fantastic, but where is some changelog?