Write in front
From the light of Darkness, Buddha is the Tao, the god of war has plugin 3D page tour. To the Dragon's ring now. Enough to prove that 3D no plug-in is leading the trend of the page tour technology.
Currently, to achieve the 3D engine, there are several options.
Speaking of which, we found. None of this matters. Because the purpose of this article is to analyze the current support of the Adobe Flash Platform for 3D games from beginning to end.
Words return to positive turn
Originally wanted to write some articles about Stage3D, FLASCC and the 3D page tour engine based on Flash. Also did a few days of preparation, hope to put these things to everyone (mainly in the company project team members) to share, and clarify the clue.
However, at the end of the week to prepare the information, I found that I need to solve the usual in the beginning of the process is often asked questions. Like what:
"Which version of Flash Player we use is better"
"Workers and mutexes are used in the project and do not know if the requirements for the Flash Player version will be increased"
"What is the difference between AGAL 1.0,2.0,3.0 and what is the corresponding FP version?"
Such problems are not uncommon in the development of the project. To be able to answer these questions accurately, you need to have a good understanding of the features of the FP versions. A two-dimensional table like the one below
After searching for the relationship between the Flash Player feature and the version number on the Web, I finally decided to do it myself. Extract the information you want from release notes for each version.
and to. I'm going to start with the first version of Flash Player that supports 3D acceleration. Analyze the current 3D support for Adobe Flash with feature updates and perimeter support for each Flash Player version.
3D game-related features evolutionary history in Adobe Flash player versions
Flash Player One and Adobe AIR 3 (October 4, 2011)
Release notes:https://release-notes-flash-player-11.html
stage 3D Accelerated Graphics Rendering (Player & Air desktop + air for TV)
This is the first FP version that supports 3D acceleration. The FP provides 3D acceleration support for the GPU via Stage3D, but this version does not yet support the mobile version.
Flash Player 11.1 and Adobe AIR 3.1
Release notes:https://developer-releases-notes-11_1.html
This version has no notable features, mainly fixing bugs and boosting Android support.
Flash Player 11.2 and Adobe AIR 3.2 (March 28, 2012)
Release notes:https://release-notes-developer-flash-player.html
Stage3D for Adobe AIR (MOBILE)
Mouse Lock
This release provides GPU acceleration support for mobile versions.
In addition, a feature of the mouse lock is added. Allows us to swipe the mouse without restrictions, but this only works in full-screen mode. This is very useful when implementing the FPS game such as CS.
At the same time, the game developer Page was released http://gaming.adobe.com
Adobe Flash Player 11.3 and AIR 3.3 (June 8,2012)
Release notes:https://developer-release-notes-11_3.html
Full Screen Keyboard input
Keyboard input in full-screen mode. Before this release, keyboard interaction was not possible in full-screen mode. This feature is what we do in 3D full-screen game indispensable.
This version does not have any new features related to 3D, but only adds support for WIN8.
Adobe Flash Player 11.4 and AIR 3.4 (August 21,2012)
Release notes:https://fp_114_air_34_release_notes.html
ActionScript Workers (Flash Player)
Licensing Support:flash player Premium Features for Gaming (Flash player)
Stage3D "constrained" profile for increased GPU reach (Flash Player and AIR)
Lzma support for ByteArray (Flash Player and AIR)
stagevideo Attachcamera/camera Improvements (Flash Player and AIR)
compressed texture with alpha support for Stage3D (Flash Player and AIR)
dxt Encoding (Flash Player and AIR)
This is a fairly important version, which can be said to complement and refine 3D content for the first time since Flash Player 11.0 was released. As shown above
One, it provides multi-threaded support. The decompression and parsing of large files will not cause the game to get stuck.
Second, added a ' restricted ' mode to Stage3D. In restricted mode, the Stage3D available resources are relatively small, but can be compatible with older video cards.
Third, Flash also provides the native LZMA support. In this way, we only need to use LZMA compression for the configuration file. Then ByteArray after reading, using Lzma decompression can. No need to integrate third-party solution Engross.
Iv. ATF supports the compression format of the alpha channel. At the same time, it also adds support for uploading textures using DXT compression.
V. Apart from Stage3D itself, Adobe has introduced a new technology Flash Player Premium Features for Gaming from links to the Web page and FAQs. This so-called premium Features, which Adobe provides to developers, compiles other languages such as C + + into a collection of basic APIs for Flash Player. XC APIs. The subsequent launch of the FLASCC is the C + + binding of XC APIs. When Unity released the Flash platform, it should be a direct use of XC APIs. No XC APIs have been found on the official website. The official link has also been redirected to the game developer page. I guess it was replaced by FLASCC.
Adobe Flash Player 11.5 and AIR 3.5 (November 6,2012)
Release notes:https://fp_115_air_35_release_note.html
shared ByteArray
Debug Stack Trace in release builds of Flash Player
Shaderd bytes array to reduce memory copy in workers communication
Release of the trace, then let us in the case of release more easy to check the wrong
This version does not have any new features related to 3D and adds the Invoke event support. When the air exe is started, parameters can be passed.
Adobe Flash Player 11.6 and AIR 3.6 (February 2,2013)
Release notes:https://fp_116_air_36_release_notes.html
separate sampler State for Stage3D
Until then, we can only use Tex ft0,v0,fs0<2d,linear,repeat> to determine how a texture is sampled. 11.6 provides a context3d.setsamplerstateat method that allows us to dynamically change the sampling rules of a texture without rebuilding the agal.
This version does not have any new features related to 3D, adding some of the features required by iOS.
Adobe Flash Player 11.7 and AIR 3.7 (April 9,2013)
Release notes:https://fp_117_air_37_release_notes.html
added context3dtextureformat.bgr_packed
addedcontext3dtextureformat.bgra_packed
Added the context3dtextureformat.bgr_packed and context3dtextureformat.bgra_packed texture formats. Note: bgr_packed = bgr565, bgra_packed = bgra4444
Added some features required by iOS.
Adobe Flash Player 11.8 (July 9,2013) and AIR 3.8 (July 24,2013)
Release notes:https://fp_118_air_38_release_notes.html
context3dprofile.baseline_extended
context3d.createrectangletexture
New context3dprofile.baseline_extended mode, in which the size of the map and RT can be up to 4096*4096.
Context3d.createrectangletexture creating a texture for RT
Added some features required by the mobile side.
Adobe Flash Player 11.9 and AIR (October 8,2013)
Release notes:https://fp_119_air_39_release_notes.html
This version does not have any new 3D related features, adding some features and WIN8 support required by the mobile side
However, accompanying 11.9,adobe provides the ASC 2.0 compiler. It is said to improve the efficiency of compiled AS3 code execution.
Adobe Flash Player and AIR 4 (January 14,2014)
Release notes:https://fp_12_air_4_release_notes.html
graphics:buffer Usage Flag for Stage3D
Stage3D Creation of Context3d with profile Array
Above
This version provides the use of buffer tokens. Used to tell the video card whether the data submitted by buffer is permanently valid or temporary (typically used in dynamic fills, such as particle systems). Can significantly improve rendering efficiency.
At the same time, this version allows us to create a device, give a bunch of profile,stage3d will help us choose the most suitable one. This is usually done for compatibility testing. Profile that is used to check which gear the device supports. And the material Lod, you have to do it yourself.
Adobe Flash Player 8,2014 and AIR (April)
Release notes:https://fp_13_air_13_release_notes.html
new Stage3D Texture wrapping Modes
Stage3D anti-aliasing for Texture Rendering
This version allows for more texture wrapping modes. Before can only be whether to repeat. Clamp is now added, and the wrapping method of u,v can be determined separately.
MSAA anti-aliasing has been added for Rt.
Adobe Flash Player + and AIR (June 10,2014)
Release notes:https://fp_14_air_14_release_notes.html
anisotropic Filtering
new Stage3D "standard" profile
Agal v2.0
MRT up to 4
context3dtextureformat.rgba_half_float
Provides a way to sample anisotropic textures, which is much more expensive than bilinear sampling, but it works better.
Added a new ' standard ' profile. Under this profile. AGAL v2.0 available. MRT (4) is available. Floating point Texture half_float (FMT_F16) is available. As for the difference between Agal 2.0 and 1.0. As shown
Adobe Flash Player and AIR (Sept. 9,2014)
Release notes:https://fp_15_air_15_release_notes.html
relaxing Stage3D Render Target Clear
Stage3D "standard" profiles for IOS and Android
Previous versions require that present must be matched with the clear operation. No, not now. This allows multiple RT to share the depth information.
Put the previous version of "Standard" on the mobile platform.
Adobe Flash Player (November 9,2014) and AIR (January 13,2015)
Release notes:https://fp_16_air_16_release_notes.html
Stage3D Wireframe Mode Support
Stage3d-standard Constrained Profile
Wireframe mode supported, but limited to air version of desktop environment
Support for restricted standard profiles
The difference between the profile characteristics is as follows
Adobe Flash Player and AIR (March 12,2015)
Release notes:https://fp_17_air_17_release_notes.html
stage3d-standard Extended profile for AIR Mobile
Supports standard Extended profiles. The legendary Agal v3.0. But this version is only valid for the mobile side. Yes, you have not read it correctly, in this version, the mobile side is first. The PC has to wait a minute.
AGAL v3, you can refer to the image of Flash Player 14 above. At the same time, a small picture is attached below
Adobe Flash Player and AIR (June 9,2015)
Release notes:https://fp_18_air_18_release_notes.html
stage3d-standard Extended profile for Desktop
ETC2 support for ATF
Well. The 17 version of the pledge, which was cashed here. The PC can also use Agal 3.0.
ETC2 is a transparent channel etc, but for Android.
Adobe Flash Player Sept and AIR (9,2015)
Release notes:https://fp_19_air_19_release_notes.html
Improved Stage3D Error Messages
Strengthen the error information mechanism of Stage3D. That is, if it's hard to find the wrong thing, try a high-version FP compilation. See if you can locate the error quickly.
Alchemy--FlasCC--Crossbridge
Flash player aside for a while, let's say another major member of Adobe's Game technology is FlasCC.
This article also calls it FLASCC because it is the official name that Adobe gives it. Its main function is to compile C + + code as SWC and SWF for use on the Flash platform.
Its predecessor, Alchemy, was an experimental thing. This is the version of many AS3 embedded in Lua online.
Later, on December 4, 2012, Adobe officially released the FlasCC 1.0.0. Try to get some end-travel companies to borrow this technology and quickly transplant the game to the page-tour platform. Imagine what a great strategy it is. It seems that all the end-trips to CP, overnight, became Adobe's people. Unfortunately this version because of the huge package compiled, and many of the end-use is actually D3D, not OpenGL. FLASCC didn't get the approval of too many teams.
FLASCC released the 1.0.1 version on February 7, 2013. Many optimizations have been made. The Last post on the team blog was March 18, 2013. Said some suggestions for compiling and optimizing. Thereafter, no more messages.
Then there was crossbridge on GitHub. Its updates have also ceased in 2014 years.
Away3d
The AWAY3D,FLARE3D,ALTERNATIVA3D engine released the first 3D accelerated version when Adobe released FP 11. For the next year, it was more of a hunt. Many versions were updated in one breath. The first should be counted away3d. Pulled to Adobe's investment, established the away fundation. At the same time, it was paid to the Adobe Gaming SDK.
However, the engine was released on January 24, 2014, and no new versions were released after 4.1.6. The last post of the team blog is July 26, 2014.
Conclusion
The intention is to write an article describing Adobe's support for 3D technology and the potential for future force. Don't want to dig up so much black history. And the most critical factor is time.
We can see. Flash Player 11.6 is a stable and usable version. In this version, we can use the Stage3D acceleration feature of Adobe, which can use multi-threading and can use FLASCC to do complex mathematical operations. You can move the mouse and do keyboard operations without restrictions in full screen. You can use ATF for texture format compression.
At the same time, there are open source or commercial engines like Away3d.
However, at the end of 2013 to the beginning of 2014. Adobe seems to have halted development efforts in the areas of Stage3D and FLASCC. From the later versions of the FP version, it appears that only a few small features are supported for Stage3D. and strengthen the support of mobile platform.
At the same time, FLASCC appeared on GitHub in a Crossbridge way, and it stopped being updated by early 2014.
Away3d, too, Away3d's GitHub stopped for 2014 years.
Immediately after that, Adobe handed the Flex SDK to Apache and closed the Greater China Research and Development Division.
I think this could be a problem with Adobe's money. has led to some shift in the focus of work. After all, Adobe is the most profitable of its Ps,ae,flash IDE tools.
Recently, a lot of friends asked me to do 3D page tour with Flash? Why not use WebGL directly.
Before I wrote this article, I thought I could not persuade him.
But with this article, I can tell him in a clear way.
1, Flash Player 11.6 is enough for me to make a very good picture of the game
2, Away3d 4.1.0 is already a stable version.
3, Flasc 1.0.1 is ready for practicality
4, the telecommunications broadband has been 20MB popular
Moreover, Flash Player 17 has pushed Stage3D to the height of OpenGL ES 3.0. What else can not be achieved!
This article does not do a detailed analysis of Stage3d,flascc,away3d. Wait for me to be free, and then to the end of the road to everyone! Thanks for coming!!
Resources:
Flash Player Release Notes:
Https://helpx.adobe.com/flash-player/flash-player-releasenotes.html
FP & AIR Feature List:
Http://www.adobe.com/devnet/articles/flashplayer-air-feature-list.html
AGAL Binary Format:
Http://help.adobe.com/en_US/as3/dev/WSd6a006f2eb1dc31e-310b95831324724ec56-8000.html
Adobe Gaming Website:
Http://gaming.adobe.com
FlasCC Reference:
Http://www.adobe.com/devnet-docs/flascc/docs/Reference.html
FlasCC Blog:
http://blogs.adobe.com/flascc/
Analysis of 3D technology based on Adobe Flash Platform