Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Features  





3 AGAL  





4 See also  





5 References  





6 External links  














Stage3D






Euskara
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


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]

History[edit]

In 2011, Flash Player 11 was released, and with it the first version of Stage3D, allowing for GPU-accelerated 3D rendering for Flash applications and games, on desktop platforms such as Microsoft Windows and Mac OS X.[1]

In March 2012, Flash Player 11.2 was released, which enabled Stage3D/GPU support on Android and iOS platforms. Games utilizing Stage3D APIs would work with no changes on these mobile platforms.[18]

In June 2012, Flash Player 11.3 was released, enabling progressive streaming of Stage3D texture maps, allowing for faster performance and startup times for games and applications utilizing Stage3D.[18]

In August 2012, Flash Player 11.4 was released, which raised the supported hardware-accelerated video cards count to 2006, and allowed alpha-channels for Stage3D compressed textures.[18]

In March 2012, Adobe announced that Stage3D will be part of the premium features of the Flash Player (stating with Flash Player version 11.2), and thus not available completely free of charge to developers, but based on a revenue sharing scheme.[19][20] Various notable members of the Flash community objected to the change, referring to it as a "speed-tax".[19]

In January 2013, Adobe classified all premium features as general availability, and could be freely used by Flash applications, without requiring a license or royalty from developers or publishers.[2]

In September 2012, Flash Player 11.4 was released allowing games to target "constrained profiles" which included older graphics chips, that did not support all the features of Stage3D.[21]

In April 2013, Flash Player 11.7 was released, which supported 16-bit texture maps for Stage3D content, which allowed reduced memory usage and improved memory management.[18]

In July 2013, Flash Player 11.8 was released, which increased the maximum texture map size to 4096 x 4096, in addition to supporting rectangular (non-square) texture maps for Stage3D content. This allowed for greater detail in texture maps, and larger texture atlases to be created enabling better performance.[18]

As of 2014, GPU acceleration was removed in Flash Player 11.8 onwards for Pixel Bender scripts. Pixel Bender was an older technology for writing high-performance CPU-based image processing filters. This disrupted a number of less well-endowed projects, including MIT's Scratch, which could not find the manpower to rapidly recode their applications.[22][23]

Features[edit]

Stage3D consists of the following components:

Stage3D is supported by the following components:

AGAL[edit]

Adobe Graphics Assembly Language (AGAL) is an assembly language for writing GPU shaders.[26] AGAL was invented by Adobe to provide a unified shader language for all platforms.[26] AGAL programs are written by hand with low-level opcodes and registers.[26] AGAL programs are compiled into bytecode which is then embedded into Flash SWF movies.[26] This AGAL bytecode is automatically compiled into OpenGL GLSL Shaders and DirectX HLSL ShadersbyAdobe Flash Player, depending on the platform.[26]

With AGAL, developers can write shaders that transform 3D models on the GPU (vertex shader), and shaders that render complex dynamic lighting effects on the GPU (pixel shader). AGAL also allows high-quality texture rendering with mip-mapping.[27] AGAL is used extensively in Flash game engines such as Away3D and Flare3D for various effects. AGAL is commonly used to provide dynamic lighting, high dynamic ranging (HDR), alpha masking, multipass rendering, displacement mapping, and environment mapping.[28][29] Flare3D extends AGAL with a proprietary Shader language called FLSL (FLare3D Shader Language), that makes writing Shader programs easier.[29] HLAG is another example of a high-level Shader language that compiles into AGAL.[30]

When porting C++ 3D video games for playback in Adobe Flash Player, developers must translate traditional HLSL and GLSL shaders into AGAL.[31] The C++ video game code can be converted into Flash-compatible code using CrossBridge.

See also[edit]

References[edit]

  1. ^ a b c d e Joseph Labrecque (2011). What's New in Flash Player 11. O'Reilly Media, Inc. p. 17. ISBN 978-1-4493-1110-0.
  • ^ a b Adobe Premium Features for Flash Player, Flash Player Dev Center, Adobe
  • ^ a b Stage3D unsupported chipsets, drivers, Flash Player 11, AIR 3, Adobe Help
  • ^ Matt Fisher (2013). HTML5 for Flash Developers. Packt Publishing Ltd. § Stage3D versus WebGL, p. 91. ISBN 978-1-84969-333-2.
  • ^ a b c "Stage3D vs WebGL Performance — Airtight Interactive". Airtightinteractive.com. 2011-10-28. Retrieved 2014-08-04.
  • ^ Joseph Labrecque (2011). What's New in Adobe AIR 3. O'Reilly Media, Inc. pp. 17–26. ISBN 978-1-4493-1108-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.
  • ^ a b Christer Kaitila (2011). Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide. Packt Publishing Ltd. ISBN 978-1-84969-169-7.
  • ^ "What is AGAL | Adobe Developer Connection". Adobe.com. 2011-10-10. Retrieved 2014-08-04.
  • ^ Wagner James Au (2012). Game Design Secrets. John Wiley & Sons. p. 130. ISBN 978-1-118-46391-8.
  • ^ "Adobe Flash 11 adopts Unreal Engine 3 for better browser games | The Verge". theverge.com. 7 October 2011. Retrieved 2014-08-04.
  • ^ "Tools Spotlight: CopperCube 4.0". MCV. evelop-online.net. 2014-05-28. Retrieved 2014-09-22.
  • ^ Keith Gladstien (2013). Flash Game Development In a Social, Mobile and 3D World. Cengage Learning. pp. 383–421. ISBN 978-1-4354-6021-8.
  • ^ a b Thibault Imbert (2012). Introducing Starling. O'Reilly Media, Inc. ISBN 978-1-4493-2089-8.
  • ^ Rex van der Spuy (2012). Foundation Game Design with ActionScript 3.0. Apress. p. 641. ISBN 978-1-4302-3993-2.
  • ^ Thibault Imbert (December 4th, 2012) Introducing Game Developer Tools (Gaming SDK, Adobe Scout, FlasCC)
  • ^ "Adobe Gaming SDK". creative.adobe.com. Retrieved 2014-08-04.
  • ^ a b c d e Adobe Flash Roadmap, Adobe
  • ^ a b And Then Premium Features Arrived Archived 2015-02-05 at the Wayback Machine, ASV Guy Blog
  • ^ Update: Premium Features for Flash Player, Adobe AIR and FP Blog
  • ^ Imbert, Thibault. "Introducing Flash Player 11.4/AIR 3.4 beta!". ByteArray.
  • ^ "Stage3D". scratch.mit.edu. Retrieved 2014-08-05.
  • ^ Adobe Flash Player 11.8 - Bug 3591185: Pixel Bender shader performance drastically degraded in FP11.8. Closed as "NeverFix" Archived 2014-04-22 at the Wayback Machine
  • ^ "Stage3D compressed textures – Introducing the ATF SDK - ByteArray.org". bytearray.org. Retrieved 2014-08-04.
  • ^ a b c d e Getting started with Adobe Scout, Adobe Developer Connection
  • ^ a b c d e What is AGAL, Adobe Developer Connection
  • ^ Mipmapping for smoother textures in Stage3D, Adobe Developer Connection
  • ^ Session : Flash to the Max! High Performance 3D Graphics in Silent Hunter Online, GDC Europe 2013
  • ^ a b FLSL, Flare3D Wiki
  • ^ HLAG is currently in alpha, HLAG Tool Website
  • ^ Crytek, Silent Hunter Online talks late additions to GDC Europe 2013, Gamasutra, "C++ console rendering engine into Adobe Flash using Actionscript/Stage3D and using AGAL for graphical effects such as ocean rendering"
  • External links[edit]

    File
    formats

  • Action Message Format (AMF)
  • Flash Video (FLV)
  • Flash XML Graphics (FXG)
  • Local shared objects (LSOs)
  • MXML
  • Flash Movie (SWF)
  • Flash Code Library (SWC)
  • Software
    (list)

    Players

  • Adobe Flash Player
  • Gameswf
  • Gnash
  • Lightspark
  • Ruffle
  • Tamarin
  • Animation
    tools

  • Toon Boom
  • Moho
  • Stencyl
  • Programming
    tools

  • Apache Flex
  • Haxe (OpenFL)
  • CrossBridge
  • Adobe Scout
  • FlashFirebug
  • Libraries

  • Away3D
  • Flare3D
  • Stage3D
  • Ming
  • List of Flex frameworks
  • Converters

  • SWFTools
  • swfmill
  • Google Swiffy
  • Adobe Wallaby
  • Server-side

    Obsolete
    software

  • Adobe Flash Catalyst
  • Adobe Flash Lite
  • SWFObject
  • MTASC
  • Scaleform GFx
  • SWiSH Max
  • Swift 3D
  • Papervision3D
  • Ajax Animator
  • Shumway
  • Swfdec
  • OpenLaszlo
  • Related
    topics

  • "Thoughts on Flash"
  • Flash animation
  • Protected Streaming
  • Real-Time Messaging Protocol
  • Real-Time Media Flow Protocol
  • Developers

  • Macromedia
  • Adobe Inc.

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Stage3D&oldid=1219126117"

    Categories: 
    3D graphics APIs
    Adobe Flash
    Graphics libraries
    Hidden categories: 
    Webarchive template wayback links
    Articles with short description
    Short description is different from Wikidata
     



    This page was last edited on 15 April 2024, at 22:25 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki