Misplaced Pages

Stage3D

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

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 render 3D graphics, and such applications run natively on Windows, Mac OS X, Linux, Apple iOS and Google Android . Stage3D is similar in purpose and design to WebGL .

#152847

52-632: 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 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 . GPU Shaders in Stage3D are expressed in

104-764: A custom version of the Chromium browser with the Adobe Flash Player "time bomb" removed. This browser can access only a small set of SARS online pages containing Flash-based forms required for filing financial reports. Although no longer available directly from Adobe, all versions of Adobe Flash Player Projector (also known as Adobe Flash Player Standalone) lack the "time bomb" present in the newer plug-in variants, and thus continue to be able to play all supported Flash file formats , including SWF files, without modification. The Internet Archive hosts some Flash content and makes it playable in modern browsers via

156-646: A higher-level library similar to these. Away3D and Starling have been christened as official components of the Adobe Gaming SDK. 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. 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. In June 2012, Flash Player 11.3

208-445: A license or royalty from developers or publishers. 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. 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. In July 2013, Flash Player 11.8

260-541: A number of less well-endowed projects, including MIT's Scratch , which could not find the manpower to rapidly recode their applications. Stage3D consists of the following components: Stage3D is supported by the following components: Adobe Graphics Assembly Language (AGAL) is an assembly language for writing GPU shaders . AGAL was invented by Adobe to provide a unified shader language for all platforms. AGAL programs are written by hand with low-level opcodes and registers . AGAL programs are compiled into bytecode which

312-402: A path forward for replacement. The China-specific variant of Flash is still supported, by a company known as Zhongcheng. The Projector (standalone) versions of this variant also work outside of China and do not include the "Flash Helper Service"; however, some tracking code still seems to be present. They are available on a somewhat hidden "Debug" page. In addition, as the global variant of

364-643: Is a proprietary shading language developed by Microsoft for the Direct3D 9 API to augment the shader assembly language, and went on to become the required shading language for the unified shader model of Direct3D 10 and higher. HLSL is analogous to the GLSL shading language used with the OpenGL standard. It is very similar to the Nvidia Cg shading language, as it was developed alongside it. Early versions of

416-518: Is a runtime that executes and displays content from a provided SWF file, although it has no in-built features to modify the SWF file at runtime. It can execute software written in the ActionScript programming language which enables the runtime manipulation of text, data, vector graphics , raster graphics , sound , and video . The player can also access certain connected hardware devices, including

468-519: Is another example of a high-level Shader language that compiles into AGAL. When porting C++ 3D video games for playback in Adobe Flash Player , developers must translate traditional HLSL and GLSL shaders into AGAL. The C++ video game code can be converted into Flash-compatible code using CrossBridge . Adobe Flash Player Adobe Flash Player (known in Internet Explorer , Firefox , and Google Chrome as Shockwave Flash )

520-430: Is applied. Apple dropped Flash Player support from Safari 14 alongside the release of macOS Big Sur . Despite the years of notice, several websites still were using Flash following December 31, 2020, including the U.S. Securities and Exchange Commission . Many of these were resolved in the weeks after the deadline. However, many educational institutions still relied on Flash for educational material and did not have

572-439: Is available in two major versions: On February 22, 2012, Adobe announced that it would no longer release new versions of NPAPI Flash plugins for Linux, although Flash Player 11.2 would continue to receive security updates. In August 2016, Adobe announced that, beginning with version 24, it would resume offering of Flash Player for Linux for other browsers. The Extended Support Release (ESR) of Flash Player on macOS and Windows

SECTION 10

#1732772915153

624-685: Is based on ECMAScript (similar to JavaScript ). Internet Explorer 11 and Microsoft Edge Legacy since Windows 8 , along with Google Chrome on all versions of Windows, came bundled with a sandboxed Adobe Flash Player plug-in. Flash Player once had a large user base, and was required to run many web games , animations, and graphical user interface (GUI) elements embedded in web pages. Adobe stated in 2013 that more than 400 million, out of over 1 billion connected desktops, updated to new versions of Flash Player within six weeks of release. However, Flash Player became increasingly criticized for poor performance, consumption of battery on mobile devices,

676-639: Is based on Chromium, followed the same plan as Google Chrome. Google Chrome blocked the Flash plugin as "out of date" in January 2021, and fully removed it from the browser with Chrome version 88, released on January 20, 2021. Starting with Firefox 85, Flash is disabled by default without any prompts to activate Flash content. To play Flash content, users had to manually set a browser to prompt for Flash content, and then during each browser session enable Flash plugin for every site individually. Firefox 85, released on January 26, 2021, completely removed support for

728-403: Is cooperating with Google to implement it via Chrome web browser on all Linux platforms. Mixing Flash applications with HTML leads to inconsistent input handling leading to poor user experience with the site (keyboard and mouse not working as they would in an HTML-only document). High-Level Shader Language The High-Level Shader Language or High-Level Shading Language ( HLSL )

780-459: Is executed for each vertex that is submitted by the application, and is primarily responsible for transforming the vertex from object space to view space, generating texture coordinates, and calculating lighting coefficients such as the vertex's normal, tangent, and bitangent vectors. When a group of vertices (normally 3, to form a triangle) come through the vertex shader, their output position is interpolated to form pixels within its area; this process

832-488: Is known as rasterization . Optionally, an application using a Direct3D 10/11/12 interface and Direct3D 10/11/12 hardware may also specify a geometry shader. This shader takes as its input some vertices of a primitive (triangle/line/point) and uses this data to generate/degenerate (or tessellate ) additional primitives or to change the type of primitives, which are each then sent to the rasterizer. D3D11.3 and D3D12 introduced Shader Model 5.1 and later 6.0. GPUs listed are

884-723: Is labeled as version 50.x, to avoid confusion with other variants. Internet Explorer 11, along with IE mode in Edge , will continue with ActiveX support, and by extension Flash Player support. Firefox forks that plan to continue NPAPI support, and by extension Flash Player support, include Basilisk , Pale Moon , K-Meleon , and Waterfox Classic . Various Chromium -based Chinese browsers will also continue to support Flash Player in PPAPI and/or NPAPI form, including, but not limited to, 360 Secure Browser . Shortly after Flash reached end-of-life, South African Revenue Service (SARS) released

936-406: Is primarily a graphics and multimedia platform, and has supported raster graphics and vector graphics since its earliest version. It supports the following different multimedia formats, which it can natively decode and play back. Until version 10 of the Flash player, there was no support for GPU acceleration. Version 10 added a limited form of support for shaders on materials in the form of

988-501: Is then embedded into Flash SWF movies . This AGAL bytecode is automatically compiled into OpenGL GLSL Shaders and DirectX HLSL Shaders by Adobe Flash Player , depending on the platform. 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 . AGAL

1040-410: 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 . Flare3D extends AGAL with a proprietary Shader language called FLSL (FLare3D Shader Language), that makes writing Shader programs easier. HLAG

1092-754: The Adobe Graphics Assembly Language (AGAL). 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 . 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, Away3D 4, CopperCube , Flare3D , Starling , ND2D or Adobe Labs' Proscenium. Similarly, WebGL 3D applications may be built with three.js ,

SECTION 20

#1732772915153

1144-909: The Adobe Integrated Runtime . Up until 2012, Flash Player 11 was available for the Android (ARM Cortex-A8 and above), although in June 2012, Google announced that Android 4.1 (codenamed Jelly Bean ) would not support Flash by default. In August 2012, Adobe stopped updating Flash for Android. Flash Player was supported on a select range of mobile and tablet devices, from Acer , BlackBerry 10 , Dell , HTC , Lenovo , Logitech , LG , Motorola , Samsung , Sharp , SoftBank , Sony (and Sony Ericsson ), and Toshiba . As of 2012, Adobe has stopped browser-based Flash Player development for mobile browsers in favor of HTML5 ; however, Adobe continues to support Flash content on mobile devices with

1196-484: The Apache Software Foundation and rebranded as Apache Flex , superseded by Apache Royale), CrossBridge C++ cross-compilation toolset (released on GitHub ). In some browsers, prior Flash versions have had to be uninstalled before an updated version could be installed. However, as of version 11.2 for Windows, there are now automatic updater options. Linux is partially supported, as Adobe

1248-776: The CrossBridge toolkit which cross-compiles C / C++ code to run within the Flash Player, using LLVM and GCC as compiler backends, and high-performance memory-access opcodes in the Flash Player (termed "Domain Memory") to work with in-memory data quickly. CrossBridge is targeted toward the game development industry, and includes tools for building, testing, and debugging C/C++ projects in Flash Player. Notable online video games developed in Flash include Angry Birds , FarmVille , and AdventureQuest (started in 2002, and still active as of 2020). Adobe Flash Player

1300-574: The Nintendo Entertainment System . They enable video games created for such platforms to run within Flash Player. Adobe announced on July 25, 2017, that it would end support for the normal/global variant of Flash Player on January 1, 2021, and encouraged developers to use HTML5 standards in place of Flash. The announcement was coordinated with Apple , Facebook , Google , Microsoft , and Mozilla . Adobe announced that all major web browsers planned to officially remove

1352-570: The Pixel Bender API, but still did not have GPU-accelerated 3D vertex processing. A significant change came in version 11, which added a new low-level API called Stage3D (initially codenamed Molehill), which provides full GPU acceleration, similar to WebGL . (The partial support for GPU acceleration in Pixel Bender was completely removed in Flash 11.8, resulting in the disruption of some projects like MIT's Scratch , which lacked

1404-780: The Ruffle emulator integrated within its Emularity system. Other emulators, such as CheerpX, also exist as options for Flash Player emulation on other websites. BlueMaxima's Flashpoint project claims to have collected more than 38,000 Adobe Flash Player games and animations and made them available for download. Adobe has released some components of Adobe Flash products as open source software via Open Screen Project or donated them to open source organizations. As of 2021, most of these technologies are considered obsolete. This includes: ActionScript Virtual Machine 2 (AVM2) which implements ActionScript 3 (donated as open-source to Mozilla Foundation ), Adobe Flex Framework (donated as open-source to

1456-455: The web cameras and microphones , after permission for the same has been granted by the user. Flash Player was used internally by the Adobe Integrated Runtime (AIR), to provide a cross-platform runtime environment for desktop applications and mobile applications. AIR supports installable applications on Windows , Linux , macOS , and some mobile operating systems such as iOS and Android . Flash applications must specifically be built for

1508-458: The AIR runtime to use additional features provided, such as file system integration, native client extensions, native window/screen integration, taskbar/dock integration, and hardware integration with connected Accelerometer and GPS devices. Flash Player included native support for many data formats , some of which can only be accessed through the ActionScript scripting interface. Flash Player

1560-731: The Adobe Flash Player component on December 31, 2020, and Microsoft removed it from the Windows OS in January 2021 via Windows Update . In a move to further reduce the number of Flash Player installations, Adobe added a "time bomb" to Flash to disable existing installations after January 12, 2021. In mid-2020, Flash Player started prompting users to uninstall itself. Adobe removed all existing download links for Flash installers. After January 26, 2021, all major web browsers including Apple Safari , Google Chrome , Microsoft Edge , and Mozilla Firefox have already permanently removed Flash support. However, Flash content continues to be accessible on

1612-680: The Adobe Flex SDK compiler. Flash Player applications and games can be built in two significantly different methods: In both methods, developers can access the full Flash Player set of functions, including text , vector graphics , bitmap graphics, video , audio , camera, microphone, and others. AIR also includes added features such as file system integration, native extensions, native desktop integration, and hardware integration with connected devices. Adobe provides five ways of developing applications for Flash Player: Third-party development environments are also available: Adobe offers

Stage3D - Misplaced Pages Continue

1664-677: The Adobe Integrated Runtime, which allows developers to publish content that runs as native applications on certain supported mobile phone platforms. Adobe said it will optimize Flash for use on ARM architecture (ARMv7 and ARMv6 architectures used in the Cortex-A series of processors and in the ARM11 family) and release it in the second half of 2009. The company also stated it wants to enable Flash on NVIDIA Tegra , Texas Instruments OMAP 3, and Samsung ARMs. Beginning 2009, it

1716-606: The Flash Player with touch-screen support. Version 9 was the most recent version available for the Linux/ ARM -based Nokia 770 / N800 / N810 Internet tablets running Maemo OS2008. Other versions of the player have been available at some point for Symbian OS and Palm OS . The Kodak Easyshare One includes Flash Player. The following table documents historical support for Flash Player on mobile operating systems : Some CPU emulators have been created for Flash Player, including Chip8 , Commodore 64 , ZX Spectrum , and

1768-464: The Flash plugin. Firefox ESR dropped support on November 2, 2021 (Firefox 78 ESR was the last version with support). On October 27, 2020, Microsoft released an update (named KB4577586) for Windows 10 and 8.1 which removes the embedded Adobe Flash Player component from IE11 and Edge Legacy . In July 2021, this update was automatically installed as a security patch. However, an ActiveX Flash Player plugin may still be used with IE after this update

1820-566: The LLVM compiler uses more aggressive optimization. Adobe has released ActionScript Compiler 2 (ASC2) in Flex 4.7 and onwards, which improves compilation times and optimizes the generated bytecode and supports method inlining , improving its performance at runtime. As of 2012, the Haxe multiplatform language can build programs for Flash Player that perform faster than the same application built with

1872-522: The free Adobe Gaming SDK, consisting (as of August 2014 ) of several open-source AS3 libraries built on the Flash Player Stage3D APIs for GPU-accelerated graphics: A few commercial game engines target Flash Player (Stage3D) as run-time environment, such as Unity 3D and Unreal Engine 3. Before the introduction of Stage3D, a number of older 2D engines or isometric engines like Flixel saw their heyday. Adobe also developed

1924-520: The manpower to recode their applications quickly enough. ) Current versions of Flash Player are optimized to use hardware acceleration for video playback and 3D graphics rendering on many devices, including desktop computers. Performance is similar to HTML video playback. Also, Flash Player has been used on multiple mobile devices as a primary user interface renderer. Although code written in ActionScript 3 executes up to 10 times faster than

1976-550: The need for third-party plugins. This led to the eventual deprecation of the platform. Flash Player was officially discontinued on 31 December 2020, and its download page was removed two days later. Since 12 January 2021, Flash Player (original global variants) versions newer than 32.0.0.371, released in May 2020, refuse to play Flash content and instead display a static warning message. The software remains supported in mainland China and in some enterprise variants. Adobe Flash Player

2028-468: The number of security vulnerabilities that had been discovered in the software, and its nature as a closed platform controlled by Adobe. Apple co-founder Steve Jobs was highly critical of Flash Player, having published an open letter criticising the platform and detailing Apple's reasoning for not supporting Flash on its iOS device family. Its usage further waned due to more modern web standards which replaced some of Flash's functionality, reducing

2080-452: The player have been available at some point for BeOS . In 2011, Flash Player had emerged as the de facto standard for online video publishing on the desktop, with adaptive bitrate video streaming, DRM , and fullscreen support. On mobile devices, however, after Apple refused to allow the Flash Player within iOS 's integrated web browser, Adobe changed its strategy, enabling Flash content to be delivered as native mobile applications using

2132-531: The plugin was discontinued, some users have figured how to modify and repack the China-specific variant to bring it more in line with the global variant. This includes removing the "Flash Helper Service" and removing the China only installation restriction, along with all other geo-restrictions and tracking code. A "time bomb," similar to the one found in later versions of the global variant, is also present in

Stage3D - Misplaced Pages Continue

2184-438: 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. Various notable members of the Flash community objected to the change, referring to it as a "speed-tax". In January 2013, Adobe classified all premium features as general availability, and could be freely used by Flash applications, without requiring

2236-542: The prior ActionScript 2, the Adobe ActionScript 3 compiler is a non- optimizing compiler , and produces inefficient bytecode in the resulting SWF, when compared to toolkits such as CrossBridge . CrossBridge , a toolkit that targets C++ code to run within the Flash Player, uses the LLVM compiler to produce bytecode that runs up to 10 times faster than code the ActionScript 3 compiler produces, only because

2288-559: The two languages were considered identical, only marketed differently. HLSL shaders can enable profound speed and detail increases as well as many special effects in both 2D and 3D computer graphics . HLSL programs come in six forms: pixel shaders (fragment in GLSL), vertex shaders , geometry shaders , compute shaders , tessellation shaders (Hull and Domain shaders), and ray tracing shaders (Ray Generation Shaders, Intersection Shaders, Any Hit/Closest Hit/Miss Shaders). A vertex shader

2340-551: The unmodified China variant; this is also removed in most repacks. In theory, these repacks should provide users outside of China with the latest security updates to Flash Player, without having to deal with invasive advertisements or worry about privacy risks. One such project, "Clean Flash Installer," was served a DMCA takedown from Adobe in October 2021. Adobe has partnered with Harman to support enterprise Flash Player users until at least 2023. The Harman Flash player variant

2392-452: The web through emulators such as Ruffle , with varying degrees of compatibility and performance, although this is not endorsed by Adobe . Starting from Chrome 76, Flash is disabled by default without any prompts to activate Flash content. Users who wanted to play Flash content had to manually set a browser to prompt for Flash content, and then during each browser session, enable Flash plugin for every site individually. Microsoft Edge, which

2444-537: Was a computer program for viewing multimedia content, executing rich Internet applications , and streaming audio and video content created on the Adobe Flash platform. It can run from a web browser as a browser plug-in or independently on supported devices. Originally created by FutureWave under the name FutureSplash Player , it was renamed to Macromedia Flash Player after Macromedia acquired FutureWave in 1996. After Adobe acquired Macromedia in 2005, it

2496-478: Was a version of Flash Player kept up to date with security updates, but none of the new features or bug fixes available in later versions. In August 2016, Adobe discontinued the ESR branch and instead focused solely on the standard release. Version 10 can be run under Windows 98/Me using KernelEx. HP offered Version 6 of the player for HP-UX , while Innotek GmbH offered versions 4 and 5 for OS/2 . Other versions of

2548-598: Was announced that Adobe would be bringing Flash to TV sets via Intel Media Processor CE 3100 before mid-2009. ARM Holdings later said it welcomes the move of Flash, because "it will transform mobile applications and it removes the claim that the desktop controls the Internet." However, as of May 2009, the expected ARM/Linux netbook devices had poor support for Web video and fragmented software base. Among other devices, LeapFrog Enterprises provides Flash Player with their Leapster Multimedia Learning System and extended

2600-563: Was developed and distributed by Adobe as Adobe Flash Player. It is currently developed and distributed by Zhongcheng for users in China, and by Harman International for enterprise users outside of China, in collaboration with Adobe. Flash Player ran on SWF files that can be created using Adobe Flash Professional , Adobe Flash Builder , or third-party tools such as FlashDevelop. Flash Player supports video and raster graphics ; vector graphics ; 3D graphics ; embedded audio; and an object-oriented scripting language called ActionScript , which

2652-414: Was released, enabling progressive streaming of Stage3D texture maps, allowing for faster performance and startup times for games and applications utilizing Stage3D. 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. In March 2012, Adobe announced that Stage3D will be part of

SECTION 50

#1732772915153

2704-495: 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. 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

#152847