Stage3D

Stage3D (codenamed Molehill[1]) 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 render 3D graphics,[2] and such applications run natively on Windows, Mac OS X, Linux, Apple iOS and Google Android.[3] Stage3D is similar in purpose and design to WebGL.[4][5]

Stage3D was introduced in Adobe Flash Player 11.0 and AIR 3.0 in order to facilitate GPU-acceleration of 3D content in Flash applications[1][6] In Flash Player 10 and earlier, 3D Flash applications had to render 3D graphics completely on the CPU. Flash Player 10 supported a limited form of GPU acceleration support for materials, in an API called Pixel Bender.[1][7]

GPU Shaders in Stage3D are expressed in the Adobe Graphics Assembly Language (AGAL).[8]: 57 [9] Stage3D objects depart from the traditional SWF rendering model in that they cannot be added to SWF's display lists; instead they must be instantiated via ActionScript.[1][8]: 25 

Because Stage3D is a low-level library that may be tedious to use directly, it has seen some higher-level 3D and 2D libraries built on top of it in order to benefit from the higher performance that it provides. An incomplete list of libraries and game engines using it includes: Unreal Engine 3,[10][11] Away3D 4,[5] CopperCube,[12] Flare3D,[13] Starling,[14]: vii  ND2D or Adobe Labs' Proscenium.[15] Similarly, WebGL 3D applications may be built with three.js, a higher-level library similar to these.[5] Away3D and Starling have been christened as official components of the Adobe Gaming SDK.[16][17]

  1. ^ a b c d Joseph Labrecque (2011). What's New in Flash Player 11. O'Reilly Media, Inc. p. 17. ISBN 978-1-4493-1110-0.
  2. ^ Cite error: The named reference ga was invoked but never defined (see the help page).
  3. ^ Stage3D unsupported chipsets, drivers, Flash Player 11, AIR 3, Adobe Help
  4. ^ Matt Fisher (2013). HTML5 for Flash Developers. Packt Publishing Ltd. § Stage3D versus WebGL, p. 91. ISBN 978-1-84969-333-2.
  5. ^ a b c "Stage3D vs WebGL Performance — Airtight Interactive". Airtightinteractive.com. 2011-10-28. Retrieved 2014-08-04.
  6. ^ Joseph Labrecque (2011). What's New in Adobe AIR 3. O'Reilly Media, Inc. pp. 17–26. ISBN 978-1-4493-1108-7.
  7. ^ Remi Arnaud (2011). "3D in a Web Browser". In Eric Lengyel (ed.). Game Engine Gems 2. CRC Press. pp. 207–212. ISBN 978-1-56881-437-7.
  8. ^ a b Christer Kaitila (2011). Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide. Packt Publishing Ltd. ISBN 978-1-84969-169-7.
  9. ^ "What is AGAL | Adobe Developer Connection". Adobe.com. 2011-10-10. Retrieved 2014-08-04.
  10. ^ Wagner James Au (2012). Game Design Secrets. John Wiley & Sons. p. 130. ISBN 978-1-118-46391-8.
  11. ^ "Adobe Flash 11 adopts Unreal Engine 3 for better browser games | The Verge". theverge.com. 7 October 2011. Retrieved 2014-08-04.
  12. ^ "Tools Spotlight: CopperCube 4.0". MCV. evelop-online.net. 2014-05-28. Retrieved 2014-09-22.
  13. ^ Keith Gladstien (2013). Flash Game Development In a Social, Mobile and 3D World. Cengage Learning. pp. 383–421. ISBN 978-1-4354-6021-8.
  14. ^ Thibault Imbert (2012). Introducing Starling. O'Reilly Media, Inc. ISBN 978-1-4493-2089-8.
  15. ^ Rex van der Spuy (2012). Foundation Game Design with ActionScript 3.0. Apress. p. 641. ISBN 978-1-4302-3993-2.
  16. ^ Thibault Imbert (December 4th, 2012) Introducing Game Developer Tools (Gaming SDK, Adobe Scout, FlasCC)
  17. ^ "Adobe Gaming SDK". creative.adobe.com. Retrieved 2014-08-04.