Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Stage3D

From Wikipedia, the free encyclopedia
API for rendering interactive 3D graphics

Stage3D (codenamedMolehill[1]) is anAdobeFlash PlayerAPI for rendering interactive3D graphics withGPU-acceleration, within Flash games and applications. Flash Player orAIR applications written inActionScript 3 may use Stage3D to render 3D graphics,[2] and such applications run natively on Windows, Mac OS X, Linux, AppleiOS and GoogleAndroid.[3] Stage3D is similar in purpose and design toWebGL.[4][5]

Stage3D was introduced inAdobe Flash Player 11.0 andAIR 3.0 in order to facilitateGPU-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 theCPU. Flash Player 10 supported a limited form of GPU acceleration support for materials, in an API calledPixel Bender.[1][7]

GPUShaders in Stage3D are expressed in theAdobe Graphics Assembly Language (AGAL).[8]: 57 [9] Stage3D objects depart from the traditionalSWF rendering model in that they cannot be added to SWF'sdisplay lists; instead they must be instantiated viaActionScript.[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 andgame 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 withthree.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-acceleratedvideo 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 largertexture 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'sScratch, which could not find the manpower to rapidly recode their applications.[22][23]

Features

[edit]

Stage3D consists of the following components:

  • Unified API - UnifiedActionScript 3 API for managing texture memory, vertex shading, pixel shading, and mesh rendering. Transparently executed usingOpenGL (onMac OS X andLinux) andDirectX (onMicrosoft Windows).
  • Accelerated GPU Rendering - Integrated support forgraphic cards built by NVidia, AMD and Intel,[3] Blacklist for incompatible graphic cards.
  • Accelerated CPU Rendering - Integrated software renderer fallback usingSwiftShader, for systems with missing/incompatible graphics cards.
  • AGAL (Adobe Graphics Assembly Language) - A language for writingShaders (programs that run on the GPU) such that they can be converted toOpenGL GLSL Shaders andDirectX HLSL Shaders by Flash Player.
  • ATF (Adobe Texture Format) - Atexture format such that textures can be converted to appropriate platform-specific texture formats such asDXT on Windows and MacOS,PVRTC on iOS.[14]: 47–48 [24]

Stage3D is supported by the following components:

  • XC APIs - the "premium features" for Flash Player, consisting of high-speed memory manipulation opcodes (known as"Alchemy") and Stage3D APIs.
  • CrossBridge - A cross-compilation toolkit to compile OpenGL-based 3D games or game engines to run within Flash Player.
  • Adobe Scout - A visual profiler for Flash content running on desktop or mobile. Scout enables in-depth profiling of Stage3D content with the following integrated features:[25]
    • Stage3D Preview - View the current back-buffer of executed Stage3D Content[25]
    • Stage3D Recording - Capture every Stage3D command executed by the Flash content, and replay/step through executed commands[25]
    • GPU memory usage - Profile texture memory usage with a real-time breakdown[25]
    • Stage3D Program Editor - Interactively modify recorded Stage3D commands and see what effect this has on rendering. Edit the AGAL code for the vertex and fragment programs executed by each draw call.[25]

AGAL

[edit]

Adobe Graphics Assembly Language (AGAL) is anassembly language for writing GPUshaders.[26] AGAL was invented by Adobe to provide a unified shader language for all platforms.[26] AGAL programs are written by hand with low-levelopcodes andregisters.[26] AGAL programs are compiled into bytecode which is then embedded into FlashSWF movies.[26] This AGAL bytecode is automaticallycompiled intoOpenGL GLSL Shaders andDirectX HLSL Shaders byAdobe 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 complexdynamic lighting effects on the GPU (pixel shader). AGAL also allows high-quality texture rendering withmip-mapping.[27] AGAL is used extensively in Flashgame engines such asAway3D andFlare3D for various effects. AGAL is commonly used to providedynamic lighting,high dynamic ranging (HDR),alpha masking, multipass rendering,displacement mapping, andenvironment 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 portingC++3D video games for playback inAdobe Flash Player, developers must translate traditional HLSL and GLSL shaders into AGAL.[31] TheC++ video game code can be converted into Flash-compatible code usingCrossBridge.

See also

[edit]

References

[edit]
  1. ^abcdeJoseph Labrecque (2011).What's New in Flash Player 11. O'Reilly Media, Inc. p. 17.ISBN 978-1-4493-1110-0.
  2. ^abAdobe Premium Features for Flash Player, Flash Player Dev Center, Adobe
  3. ^abStage3D 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. ^abc"Stage3D vs WebGL Performance — Airtight Interactive". Airtightinteractive.com. 2011-10-28. Retrieved2014-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. ^abChrister 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. Retrieved2014-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. Retrieved2014-08-04.
  12. ^"Tools Spotlight: CopperCube 4.0".MCV. evelop-online.net. 2014-05-28. Retrieved2014-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. ^abThibault 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. Retrieved2014-08-04.
  18. ^abcdeAdobe Flash Roadmap, Adobe
  19. ^abAnd Then Premium Features ArrivedArchived 2015-02-05 at theWayback Machine, ASV Guy Blog
  20. ^Update: Premium Features for Flash Player, Adobe AIR and FP Blog
  21. ^Imbert, Thibault."Introducing Flash Player 11.4/AIR 3.4 beta!". ByteArray.
  22. ^"Stage3D". scratch.mit.edu. Retrieved2014-08-05.
  23. ^Adobe Flash Player 11.8 - Bug 3591185: Pixel Bender shader performance drastically degraded in FP11.8. Closed as "NeverFix"Archived 2014-04-22 at theWayback Machine
  24. ^"Stage3D compressed textures – Introducing the ATF SDK - ByteArray.org". bytearray.org. Retrieved2014-08-04.
  25. ^abcdeGetting started with Adobe Scout, Adobe Developer Connection
  26. ^abcdeWhat is AGAL, Adobe Developer Connection
  27. ^Mipmapping for smoother textures in Stage3D, Adobe Developer Connection
  28. ^Session : Flash to the Max! High Performance 3D Graphics in Silent Hunter OnlineArchived 2021-08-28 at theWayback Machine,GDC Europe 2013
  29. ^abFLSLArchived 2023-01-14 at theWayback Machine, Flare3D Wiki
  30. ^HLAG is currently in alphaArchived 2022-07-02 at theWayback Machine, HLAG Tool Website
  31. ^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
Software
(list)
Players
Animation
tools
Programming
tools
Libraries
Converters
Server-side
Obsolete
software
Related
topics
Developers
Retrieved from "https://en.wikipedia.org/w/index.php?title=Stage3D&oldid=1296976402"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp