Posts Tagged ‘molehill’
It’s alive! Unity Technologies has a preview of their Unity export to Flash 3D (Molehill now called Stage3D) posted. Unity and Flash exporting was announced earlier this year. This is great as it provides huge benefits for Unity developers and Flash developers for games.
Over the last few months here at Unity, we have been hard at work on, amongst many other cool things, the ability to publish from Unity to the Flash Player. This means that next to the already existing build targets of a Unity project, one will be able to target Flash with Stage3D, announced for Flash Player 11.
A sneak preview
Unity provides the 3d + editor pipeline tools that are arguably the best for web/mobile/desktop/console games. Flash it ubiquitous across all browsers and Unity content will be seen more often if users already have Flash and don’t need to download the Unity WebPlayer plugin. I do hope the Unity WebPlayer stays strong but if Flash 3D Stage3D low level player can integrate 3d with user interfaces kind of like how games use scaleform for killer interfaces layers on and into high quality hardware accelerated games, then we are all in for a treat, both developers, designers and consumers.
Unity is smart to provide more and more platform exports that are solid but I’d also like to see exporting to html5/WebGL. But for controlling the experience entirely in a plugin today, Unity and Flash are the top two interactive and gaming plugins that provide tremendous content and opportunity for the web. Unity also provides for better low level export to Android and iOS (in addition to desktop mac and pc, consoles). Seems like Adobe should buy Unity soon but hope that they don’t sometimes as the competition is nice.
How are the new Stage3D APIs different from the 3D functionality introduced in Flash Player 10?
In Flash Player 10, we introduced APIs that allowed ActionScript developers and designers to apply 3D effects to 2D content. Those 3D effects allow developers to add perspective and projection to content – which could also be described as 2.5D or “postcards in space.” Additionally, these 3D effects are software rendered and cannot be used for highly complex scenes with a lot of content to render.
The new low-level APIs will provide advanced 3D and 3D engine developers the flexibility to leverage GPU hardware acceleration for significant performance gains. Today, Flash Player, renders thousands of non z-buffered triangles at approximately 30 Hz. With the new Stage3D APIs, developers can expect hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz. Using the new 3D APIs in Flash Player and AIR will make it possible to deliver sophisticated 3D experiences across almost every computer and device connected to the Internet.
Why is Adobe adding 3D functionality to Flash Player?
3D has been one of the most popular requests from our customers. Enabling true 3D experiences in Flash Player aligns with Adobe’s commitment to innovation and delivering a more complete Flash Platform.
Adobe evolved the web with video and now we are going to evolve the web again with 3D. From interactive websites, e-commerce, and marketing to gaming, 3D will be available to everyone, everywhere.
Does this mean the 3D APIs introduced in Flash Player 10 will be deprecated?
No, the initial 3D APIs introduced in Flash Player 10 continue to provide designers, interactive designers and developers a simple way to apply 3D effects to 2D content. The new low-level 3D APIs are targeted to advanced developers for building complex 3D experiences leveraging GPU hardware acceleration. Choosing one API over another one will depend on the use case and type of content created.
What are the requirements for 3D to work in Flash Player?
We are working to ensure 3D content always works with the best performance, regardless of context and hardware configuration. The 3D APIs will rely on DirectX 9 on Windows and OpenGL 1.3 on MacOS and Linux. For mobile platforms, Flash Player will rely on OpenGL ES 2.0. For those graphics cards that aren’t supported, Flash Player will elegantly fallback to a fast software rasterizer called SwiftShader, a technology licensed from TransGaming.
How do the Stage3D APIs compare to WebGL’s proposal to have the capability be available through browsers and HTML5?
In terms of design, our approach is very similar to the WebGL design. However, we offer a consistent, browser-agnostic solution that will enable advanced 3D experiences on almost every computer and device connected to the Internet. Additionally, GPU-accelerated 3D in Flash Player will build on all the expressiveness features that exist today in Adobe Flash Player.
At the Flash Games Summit today there was good news from Unity and Adobe about the Flash 3D API called Molehill. Adobe’s Flash 3D API Molehill public preview was released and Unity announced they will be adding export support for it.
New features available in the current Incubator build include:
- “Molehill” 3D APIs for Flash Player and AIR — A new set of low-level, GPU-accelerated 3D APIs that enable advanced 3D experiences across devices through the Adobe Flash Platform runtimes.
- Cubic Bezier Curves — Using the cubicCurveTo drawing API, developers can easily create cubic Beziers without requiring custom ActionScript code.
This is really a new era of browser based game development support that is going to be very exciting. It was announced at the Flash Games Summit by Thibault Imbert (Adobe Product Manager) and Lee Brimelow (Adobe Platform Evangelist) after they explained and showed examples to the audience of what “Molehill” could do for flash games.
Thibault has a list of available Molehill enabled 3D engines already:
Also a test of hardware accelerated molehill vs software rendered flash:
- Check 2D animation with the display list (check your CPU usage)
- Check 2D animation with Molehill (check your CPU usage)
Flash Molehill is coming and Unity will be targeting it for export. Unity states that they will allow it as an export option just like there are mobile options for iOS and Android.
These are exciting times. Today, at the Flash Gaming Summit in San Francisco (of which we’re proud Gold Sponsors), Adobe has announced the public availability of a beta version of the Flash Player, codenamed Molehill, that has a very interesting new feature: hardware accelerated 3D support.
Molehill exposes a very low-level shader-based interface to the graphics hardware. Adobe has decided to focus on that low-level part, and do that really well. The molehill pre-release will not be shipping with a 3D engine, scene building tools, model and animation importers / exporters, physics, lighting or lightmap creation tools, etc.
The article states that Unity will be keeping the Unity Player and the developer will decide when to target Flash or Unity Players or other platforms like desktop, mobile that are currently available and use the rendering platforms that work best with each (DirectX/OpenGL/OpenGL ES/Molehill… maybe WebGL in the future).
Q. Is this the end of the Unity’s own Web Player?
Absolutely not. The Flash and Unity Web Players both have their strengths. We’re excited by the opportunity to target the Flash Player and all of its features with Unity, but there will be plenty of experiences that the Unity plugin is better suited for. It will be up to developers in the end, to decide whether they want to target only the Flash Player, only the Unity Web Player, or some combination of the two (now things are getting interesting!)
Q. What programming language will I use?
You’ll have two options:
- For people with a Flash background:
Target our ActionScript API directly from Flash. Think:
var go:GameObject = new GameObject(“Just normal ActionScript 3 code”);
- For people with a Unity background:
Adobe is good to move to a model where hardware acceleration is part of the platform. Since Molehill is low level and competing products like Unity, WebGL, and others would take that in time, opening it so others can build tools on their platform will attract interesting new developments like this.
It’s about time. Here at drawlogic we have been pushing hardware acceleration in Flash as it died in Adobe’s Director product that is all but history. Director was horribly not useful as a programming tool but Flash and AS3 have become a great environment, the only thing missing was getting past software rendering limitations to use hardware acceleration that have been made more apparent by mobile devices which are like late 90′s early 00′s computers.
With Flash gaming being so huge and competitors like Unity it is surprising it took this long but it seems Flash and AIR development will be kicking up a notch in 2011 with hardware acceleration.
Adobe has finally delivered or will so in 2011 on this pressing need.
It’s a good thing ByteArray (Thibault Imbert – the man inside) got in there at Adobe he has been there delivering killer stuff and presents a video on Molehill on Adobe Labs showing this new tech.
“Molehill” is the code name for a new set of low-level, GPU-accelerated 3D APIs that will enable advanced 3D experiences across screens through the Adobe® Flash® Platform runtimes. These new low-level APIs will provide advanced 3D and 3D engine developers the flexibility to leverage GPU hardware acceleration for significant performance gains. Today, Adobe Flash Player 10.1, renders thousands of non z-buffered triangles at approximately 30 Hz. With the new 3D APIs, developers can expect hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz. Using the new 3D APIs in Flash Player and AIR will make it possible to deliver sophisticated 3D experiences across almost every computer and device connected to the Internet.
Developers will be able to create content through the upcoming Flash Player beta program starting in the first half of 2011. To leverage the 3D features exposed in Flash Player during the beta period, developers will use Adobe Flash Builder™ or the Adobe Flex® SDK with an updated SWC exposing the required APIs.
More on the capabilities and rendering tech:
Developers were told to expect “hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz” under the new APIs, compared to “thousands” of un-z-buffered, 30Hz triangles under the current Flash Player 10.1.
The acceleration will rely on DirectX 9 standards on Windows, OpenGL ES 1.3 on Macs and OpenGL ES 2.0 on mobile platforms, and potentially puts Flash more directly into competition with 3D-centric web game engines such as Unity.
We are very excited about this development and what it means to Unity, WebGL and other technologies that have filled the gap. With Adobe making this change and recent tool support for html5 it seems the old Macromedia innovative spirit has been awoken. I only wish it could have kicked into high gear in 2007-2008 when mobile made native and hardware acceleration necessary again and probably for good.
As we learn more and get our hands on it we will be posting much more on ‘Molehill’.