Away3D
   HOME

TheInfoList



OR:

Away3D is an open-source platform for developing interactive 3D graphics for
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s and applications, in
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
or
HTML5 HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
. The platform consists of a 3D world editor (Away Builder),Away Builder
Away Tools
a 3D graphics engine (Away3D or AwayJS), a 3D physics engine (Away Physics)Away Physics
Away Foundation
and a compressed 3D model file format (AWD).AWD Format Website
/ref>AWD Format
Away Tools
Development is managed by the Away Foundation, a UK-based
non-profit A nonprofit organization (NPO) or non-profit organisation, also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized and operated for a collective, public or social benefit, in co ...
focused on building and maintaining free and open-source software resources for high-performance mobile games and applications. The foundation is supported by corporate sponsorship ( Adobe,
JetBrains JetBrains s.r.o. (formerly IntelliJ Software s.r.o.) is a Czech software development company which makes tools for software developers and project managers. , the company has offices in Prague; Munich; Berlin; Boston, Massachusetts; Ams ...
among others) and individual donors.


Platform


Away Builder

Away Builder is an open-source
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools ...
for importing, refining, preparing and exporting 3D models and animations. It can import 3D models from various 3D applications such as
Autodesk 3ds Max Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capab ...
, and can bake lighting into texture maps. The primary purpose of Away Builder is exporting 3D model packages for the Away3D engine. It supports the compressed AWD binary format, enabling smaller sizes for 3D models than
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
-based formats such as OBJ. The Away Extension's plugin enables exporting 2D and 3D content from
Adobe Animate Adobe Animate (formerly Adobe Flash Professional, Macromedia Flash, and FutureSplash Animator) is a multimedia authoring and computer animation program developed by Adobe Inc. Animate is used to design vector graphics and animation for televisi ...
into Away3D or AwayJS.


Away3D

Away3D is an open-source
ActionScript 3 ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning ...
engine for developing interactive 3D graphics within
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is computer software for viewing multimedia contents, executing rich Internet applications, and streaming audio and video content created on the ...
and
Adobe AIR Adobe AIR (also known as Adobe Integrated Runtime and is codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applicat ...
. Away3D runs on current
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
s utilizing the
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is computer software for viewing multimedia contents, executing rich Internet applications, and streaming audio and video content created on the ...
, and uses
Stage3D Stage3D ( codenamed ''Molehill'') is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to rend ...
for GPU-accelerated rendering. The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap textures. Real-time lighting and illumination is supported using
Phong shading In 3D computer graphics, Phong shading, Phong interpolation, or normal-vector interpolation shading is an interpolation technique for surface shading invented by computer graphics pioneer Bui Tuong Phong. Phong shading interpolates surface norm ...
,
Gouraud shading Gouraud shading, named after Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by polygon meshes. In practice, Gouraud shading is most often used to achieve continuous li ...
, point and directional lighting, cascading shadows, normal and specular mapping,
global illumination Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly fro ...
and fog effects. It also supports stereoscopic rendering, 3D sound, extrusion tools, particle animation and
skeletal animation Skeletal animation or rigging is a technique in computer animation in which a character (or other articulated object) is represented in two parts: a surface representation used to draw the character (called the ''mesh'' or ''skin'') and a hierarc ...
. Post-processing effects may be used to enhance the quality of the graphics, and Away3D supports bloom, blur, depth of field and
motion blur Motion blur is the apparent streaking of moving objects in a photograph or a sequence of frames, such as a film or animation. It results when the image being recorded changes during the recording of a single exposure, due to rapid movement or lo ...
.Away3D Features
Away3D.com
Away3D 4 and onwards fully supports
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
-accelerated graphics using the
Stage3D Stage3D ( codenamed ''Molehill'') is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to rend ...
API introduced in Flash Player 11, freeing up the CPU for other computational tasks. Since
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
s are capable of rendering many more textured triangles per second, it allows for much more detail and quality, and up to 100,000 triangles per frame instead of the typical 1,000 ceiling with CPU-based Flash rendering. Away Physics is a physics engine based on the Bullet physics library, for
collision detection Collision detection is the computational problem of detecting the intersection of two or more objects. Collision detection is a classic issue of computational geometry and has applications in various computing fields, primarily in computer grap ...
, soft and
rigid body In physics, a rigid body (also known as a rigid object) is a solid body in which deformation is zero or so small it can be neglected. The distance between any two given points on a rigid body remains constant in time regardless of external fo ...
dynamics. The engine is built jointly by the Away3D team and the JiglibFlash team, and is tightly integrated with the Away3D render pipeline.


AwayJS

AwayJS is an open-source
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
3D graphics rendering engine for
HTML5 HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
s, and is a port of the
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
-based Away3D.Away3D Typescript Website
/ref> The Away3D codebase was ported to Microsoft
TypeScript TypeScript is a free and open source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language. It is designed for the development of large app ...
, a strongly-typed version of
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
that compiles to JavaScript files for compatibility with modern web standards. AwayJS runs on current
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
s and uses
WebGL WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelera ...
for GPU-accelerated rendering. The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap textures, and real-time lighting using
Phong shading In 3D computer graphics, Phong shading, Phong interpolation, or normal-vector interpolation shading is an interpolation technique for surface shading invented by computer graphics pioneer Bui Tuong Phong. Phong shading interpolates surface norm ...
or
Gouraud shading Gouraud shading, named after Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by polygon meshes. In practice, Gouraud shading is most often used to achieve continuous li ...
. It also supports shadow mapping, particle animation and
skeletal animation Skeletal animation or rigging is a technique in computer animation in which a character (or other articulated object) is represented in two parts: a surface representation used to draw the character (called the ''mesh'' or ''skin'') and a hierarc ...
. AwayJS can render 2D and 3D graphical content using
WebGL WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelera ...
for GPU-accelerated rendering. It enables developers to use the existing Away Builder toolkit for editing, refining, compressing and
texture Texture may refer to: Science and technology * Surface texture, the texture means smoothness, roughness, or bumpiness of the surface of an object * Texture (roads), road surface characteristics with waves shorter than road roughness * Texture ...
baking 3D models and animations. AwayJS also supports the compressed AWD binary format, enabling smaller sizes for 3D models than
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
-based formats such as OBJ. The AwayJS API is consistent with the Flash version of Away3D, enabling existing developers to migrate from Flash to HTML5 seamlessly. To preserve backward-compatibility with Away3D, AwayJS enables developers to write GPU shaders in the Adobe Graphics Assembly Language (AGAL), or the standard
OpenGL Shading Language OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipelin ...
(GLSL).


History

Away3D was started in 2007 by Alexander Zadorozhny and Rob Bateman as a
fork In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tine (structural), tines with which one ...
of
Papervision3D Papervision3D is an open-source, 3D graphics engine for rendering 3D content within Adobe Flash Player and Adobe AIR. Unlike modern Flash 3D engines such as Away3D and Flare3D, Papervision3D is not built for Stage3D and renders 3D content fully o ...
. Away3D saw active community involvement since its introduction in 2007, and superseded
Papervision3D Papervision3D is an open-source, 3D graphics engine for rendering 3D content within Adobe Flash Player and Adobe AIR. Unlike modern Flash 3D engines such as Away3D and Flare3D, Papervision3D is not built for Stage3D and renders 3D content fully o ...
after it was updated to support GPU-accelerated rendering using
Stage3D Stage3D ( codenamed ''Molehill'') is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to rend ...
. Three guide books have been published on 3D content development with Away3D.Away3d 3.6 Cookbook
Amazon.com
The author states that the engine began as a spare-time project, and was created for fun. After large
ad agencies An advertising agency, often referred to as a creative agency or an ad agency, is a business dedicated to creating, planning, and handling advertising and sometimes other forms of promotion and marketing for its clients. An ad agency is generally ...
and game publishers started it, they had to "evolve to keep pace". In an interview he further states: In 2009, the Away3D community released Away3D Lite, a lighter version of the engine for Flash advertisements and other size-constrained content.Away3D Lite Version 1.0
Away3D.com
Away3D Lite v1.0: fastest and smallest 3d engine in Flash
, Rob Bateman, 11 Sep 2009, Away3D.com
Away3D Lite was the fastest and smallest full-featured 3D engine built for Flash. It weighed in at 25 KB and performed 4 times faster than the full Away3D engine. No future versions were released. In 2011, a Flash book noted in the section on "3D with Flash" that "Away3D and Alternativa3D are currently the preferred solution for performance and features because they have a more active development community". In 2013, Adobe chose Away3D as the sole 3D engine included within the Adobe Gaming SDK. Since then, Adobe has funded further development in Away3D and Away Builder,
Adobe AIR and Adobe Flash Player Team Blog, Adobe
and has updated the Adobe Gaming SDK with new releases of Away3D.
Adobe AIR and Adobe Flash Player Team Blog, Adobe
In 2016, Away3D 1.2 was ported to the
Haxe Haxe is an open source high-level cross-platform programming language and compiler that can produce applications and source code, for many different computing platforms from one code-base. It is free and open-source software, released under the ...
multiplatform language, enabling it to be cross-compiled to
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
and other languages that support 3D graphics. This also enables Away3D to run on
OpenFL OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript (EcmaScript 5 or 6+), or TypeScript, and may be published as st ...
, a software framework with an API that is very similar to
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is computer software for viewing multimedia contents, executing rich Internet applications, and streaming audio and video content created on the ...
API.away3d 1.2.0
Ported to OpenFL 2.x/Haxe,
Haxe Haxe is an open source high-level cross-platform programming language and compiler that can produce applications and source code, for many different computing platforms from one code-base. It is free and open-source software, released under the ...
lib


References


Further reading

* * *


External links

* * {{Video game engines 3D scenegraph APIs Free 3D graphics software Free game engines Software using the Apache license