Following the recent Adobe announcement at the Flash Gaming Summit keynote, we are pleased to announce the first public build of the Away3D 4.0 engine for Flash 11. This release leverages the GPU support of the Molehill APIs, which are included in a version of the Flash Player now available as a new form of public release on Adobe Labs known as an Incubator build.
The Incubator build of Flash 11 was announced at FGS alongside an accompanying Air 3 Incubator build, allowing GPU-accelerated Flash content to be viewed both in the browser and on the desktop. These builds are part of Adobe’s new program for bringing in-development features of upcoming features of the Flash Player to a public release ahead of a fully stable beta release, and so are not intended for commercial use at this time. However, we think this approach is a vast improvement over previous strategies for Flash Player releases – offering anyone interested the opportunity to test and give feedback on new features as they are developed.This should lead to a final build that is focused on compatibility and stability – something that is crucial with a release that relies on the compatibility of GPU hardware.
Of course, this release also means that we can finally let out of the bag some of the features we’ve been developing for Molehill. The following screenshots link to a selection of demos whose source code is now available for download from our googlecode repository or the downloads page. In order to run these demos, you’ll need to follow the instructions for installing the Flash 11 Incubator build on Adobe Labs. In order to compile the source, you’ll also need to follow the instructions for installing and compiling files for Flash Player 11 & AIR 3.
With GPU rendering, all visual ouput of Away3D is handled by the GPU, freeling up all CPU cycles for other tasks. This now allows much more details simulations to be rendered, as the above demo shows. The water effect uses Shallow Water Simulation equations with a mesh plane constructed from 80,000 triangles that are updated by the CPU in realtime. The rendering on the GPU uses an Environment map to create a reflective surface effect with a realism never before seen in Flash.
However, the shading capabilities of Molehill can create far more complex shading effects. In the demo here, the imported model (a 3D Head Scan by Lee Perry-Smith, based on a work at www.triplegangers.com, licensed under Creative Commons) uses a sub-surface scattering shader to create an ultra-realistic skin texture effect. Away3D 4.0 has a completely revamped materials package that allows easy use of complex shader techniques such as specular maps, normal maps and shadow mapping.
Another area given a complete overhaul in the new Away3D engine is animation. The GPU offers us the possibility of accelerated animation calculations which again frees up CPU cycles for other work – the only restriction being the amount of animation data which must be small enough to be upload to the GPU’s memory. The example above uses a new AS3 exporter for bones animation written by Jerome Birembaut, which converts 3ds MAX skins and animations to AS3 classes that can be compiled direct into your Away3D project for any animation sequence or animation rig.
MD5 files are also supported, allowing any model built using the Quake 3 format to be used in Away3D 4.0. These also use a bones animation format but are saved as external compressed binary files (in a similar way to the Quake 2 MD2 format) that can be loaded and processed at runtime. The demo below loads several MD5 animations that can be applied to the same model – use the cursor keys to walk around and spacebar to attack!
At present, Away3D 4.0 is alpha software and so, like the Incubator build of Flash 11, should only be used for the purposes of testing and prototyping. To identify this release we have used the codename Broomstick, both on the downloads page and in the svn directories. We are also pleased to announce that as from today, Away3D is now available on github! Please register on our google group at http://groups.google.com/group/away3d-dev for updates on Broomstick, new demos, upcoming conference appearances and training!
The Away3D Team