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

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.

Comprehensive API

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

GPU Acceleration

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.

Powerful Rendering

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.

Robust Scenegraph

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.

Configurable Interactivity

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.

Physics Enabled

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.

Particle Systems

Starling Integration

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.

Legacy Support

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.