What is Away3D?
Away3D is an open source, real time 3D engine for the Flash Platform. The project was started by Alexander Zadorozhny and Rob Bateman in 2007 and has been evolving non-stop ever since. Below is a list of some of the most important features of the Away3D engine.
100% Open Source Powerful Rendering Hundreds of Examples and Tutorials Prefab3D Companion App Full Documentation and Reference Animation Support A Massive Community Legacy Support Physics Enabled Comprehensive API Configurable Interactivity Starling Integration GPU Acceleration Extensive File I/O Support Balanced Performance and Productivity Particle Systems Robust Scenegraph Post Processing Effects
100% Open Source
The Away3D engine is open source under the Apache 2.0 license, and is free to use for any purpose, including commercial projects. Away3D is now managed by The Away Foundation, and supported by Adobe systems as an official API for the Flash Platform.
A Massive Community
The project has never been so busy. With the largest online Flash 3D community, an active set of talented contributors, a buzzing forum, hundreds of examples and tutorials online, you will find extensive resources for using and building upon the Away3D library. Visit our forums here. Visit and watch our GitHub repositories here.
Hundreds of Examples and Tutorials
Every release of the Away3D library ships with a downloadable set of example sources that can also be found on GitHub. These examples cover usage of the engine from beginner to advanced levels, new features, best practices etc, and provide the fastest way of getting acquainted with the engine. The Away3D community also maintains a tutorials wiki, providing an ever growing set of complete and comprehensive resource material.
Developed by experienced Flash programmers, the library maintains a comprehensive, easy to use API. It’s flexible design wraps the power of the Stage3D API in a way that bypasses the low level complexities, but retains the speed and efficiency so desired by today’s Flash community. As a result, Away3D offers the tools necessary to achieve what you require in as simple and elegant a way as possible.
Full Documentation and Reference
Fully documented. Visit the reference section.
In it’s fourth incarnation, Away3D now takes advantage of Flash Player 11’s Stage3D API, enabling full 3D GPU acceleration for desktops and mobile devices. This offers the potential for stunning visual effects, extra processing for the likes of physics simulations and game logic, and scenes rendering up to a million triangles per frame, maintaining a steady 60fps performance.
The powerful material system in Away3D allows advanced shading simulations without the headache of dealing with raw shader code, implementing a rich modular system that allows you to use, combine and create a large set of illumination methods such as phong shading, point and directional lighting, cascading shadows, normal and specular mapping, global illumination, fog and rimlighting effects and much, much more.
The rendering pipeline implements a highly optimised scenegraph that allows the setup of complex, nested, multi level scenes. Built in clipping and culling algorithms ensure that the GPU only receives what it needs to render the view. The balance between CPU and GPU calculations is carefully managed to get the best possible performance out of the scene, a fundamental aspect of any robust rendering engine.
Post Processing Effects
The library takes advantage of the GPU even beyond 3D rendering. In the extensible filters package, there are a variety of stunning post-processing effects that are applied to the scene in realtime, such as bloom, blur, depth of field and motion blur.
Balanced Performance and Productivity
The engine’s core, as well as its extensive featureset is architected with performance in mind. The resulting API encourages optimal use of resources and scene elements, without getting in the way of productivity. Away3D is fundamentally designed to play a supporting role in complex applications and games, and the extensible nature of the framework ensures a robust application development approach.
Any 3D engine needs to interact with its users. Away3D supports mouse & touch interactivity, with the option for either GPU or CPU-based picking systems to get the best performance. Events are handled in a familiar dispatcher-driven way, making interactive assignment on 3D objects a breeze.
Away3D integrates seamlessly with its own physics library, AwayPhysics. This addition enables full physics support on your 3D scenes with just a few lines of code. AwayPhysics is accelerated by Adobe XC APIs and is based on the popular Bullet Physics Engine. The API wrapper is specifically designed for Away3D, providing an optimized, closely coupled physics engine implementation.
Away3D enjoys full support for skeleton animation, vertex animation, particle animation and path animation. GPU acceleration is implemented in the animation systems whenever possible, keeping CPU use as low as possible. Skeleton animation uses a hierarchical rig arrangement, with weighted skinning on the verticies. Vertex animation uses frame-based interpolation of individual geometry poses. Particle animation can use static or dynamic parameters for adjusting particle behaviour. And more…
The engine supports a highly configurable GPU-based particle API providing the means for thousands of exciting visual effects.
Away3D integrates effortlessly with the popular Starling API for 2D graphics, allowing both libraries to be used in the same project at the same time. As both libraries use the GPU for rendering, problem can arise from resource restrictions on the device. With Away3D, you won’t even have to think about these problems - layer your 2D and 3D content with Away3D and Starling and develop 100% GPU based graphics applications.
Extensive File I/O Support
Away3D is not isolated from the rest of the 3D world. Workflow has always been a central topic and not only do we support a wide variety of file formats such as DXF, AC3D, Collada, Max3DS, MD2, MD5, OBJ, but we have also developed our own powerful and compact AWD format. With plugins for several 3D authoring environments, you will find the AWD format to be an invaluable resource when developing content for your Away3D applications.
Prefab3D Companion App
Workflow support doesn’t stop there. The Prefab3D companion application accelerates common workflow tasks in an easy to use, comprehensive IDE for quickly adapting your content for use within Away3D. Prefab3D.
The current version of Away3D 4.x is built on the Flash Player 11’s Stage3D API to make the most of current cutting edge graphics processors on desktop and mobile systems. However, If you need to develop 3D applications for older versions of the Flash Player, you can easily switch to use previous versions of the engine. The development team have made an effort to maintain API’s across versions, so you will find similarities when using any of the Away3D versions available, helping to ease the transition.
And much, much more.
Stereoscopic rendering, 3D sound, extrusion tools, data serialisation, and the list goes on…