Flash 3D API - Molehill亮相MAX:
http://labs.adobe.com/technologies/flash/molehill/
我的同事Thibault Imbert来介绍这个大家期待已久的Flash 3D API – Molehill
“Molehill” 是即将在Adobe® Flash® 平台出现的支持显卡加速的3D底层API。这组底层API会让3D开发者利用GPU性能得到惊人的效率提升。这是什么概念呢? 今天, Adobe Flash Player 10.1可以在大约30Hz下渲染几千个非Z缓冲三角形,而利用全新的3D API,可以在60Hz左右的高分辨率显示器下全屏渲染近百万的Z缓冲三角形。利用新的3D API,Flash Player和AIR可以在差不多所有的计算机和联机设备中提供高水平的3D体验。
大家所熟知的ActionScript 3D第三方框架如Alternativa3D, Away3s, Flare3D, Sophie3D以及Yogurt3D也将完美整合这组最新的3D API。
下面是关于Molehill的一些焦点问题:
Molehill API提供什么样的3D功能?
技术上讲,“Molehill” 是一组可编程的基于shader着色器的3D API, 包括诸如z轴缓冲、模具颜色缓冲、碎片和角顶点着色器、立方体纹理以及更多的特性。”Molehill” 将允许开发者在任何可能的情况下调用GPU,同时也提供当GPU不兼容的情况下使用CPU来做备用处理器的方案。
这个新的3D API和Flash Player 10介绍过的3D功能有什么不同?
在Flash Player 10, 我们介绍了一组可供ActionScript开发者和设计师针对2D物体制作3D特效的API。那些3D特效允许开发者对物体添加透视,也就是我们常说的2.5D或者“空间里的明信片”。另外,这些利用软件渲染的3D特效无法在复杂度极高的场景中用在大量的物体中。
Adobe为什么要在Flash Player里增加3D功能?
3D已经成为我们客户中最普遍的要求。在Flash Player中增加真实的3D体验,兑现了Adobe关于创新和提供一个更完整的Flash平台的承诺。Adobe曾经利用视频促进了网页的发展,现在我们要利用3D促使网页的再一次进化。从交互的站点,电子商务平台到游戏市场,3D将在任何地方与每一个人见面。
是不是说在Flash Player10中介绍过的3D API 就不再被推荐使用了呢?
不是的,起初在Flash Player 10中介绍过的3D API 会继续为设计师,交互设计师和开发人员提供一个简单的方法来给2D的内容增加3D效果。此次的底层3D API面向的是高级开发人员,用GPU加速来搭建复杂的3D体验。到底使用哪种3D API还是需要根据实际的需要和内容的种类来决定。
硬件有什么要求?
我们正在致力于使3D的内容在各种环境和硬件配置下都能保证最佳的运行效率。3D API在 Windows操作系统下依赖DirectX 9,在Mac和Linux下依赖于OpenGL 1.3。对于移动平台,Flash Player会依赖于OpenGL ES 2.0。对于那些不兼容的显卡,其备用的解决方案是,Flash Player会使用一个叫做SwiftShader的软件来进行光栅渲染,这是一项由TransGaming提供的专利技术。
如何对比3D API和 HTML5 WebGL?
从设计角度上说,我们的目的和WebGL非常相似。然而,我们提供一个统一的跨浏览器的方案,使在几乎每一台计算机和联网设备上都能享受3D的体验。另外,Flash Player中的GPU加速3D功能是建立在当前Adobe Flash Player的所有具有丰富表现力的功能之上。
开发者什么时候可以使用这组新的3D API?
我们会在将来的一个新版的Adobe Flash Player中介绍这组API,我们计划在2011年上半年发布一个公测的Beta版本,届时开发者便可以使用这组API并向我们提供宝贵的建议。
这组3D API也会同时面向Adobe AIR么?
是的,我们计划将在发布Flash Player版本的同时将这组API集成在Adobe AIR里面。
设计师和开发者什么时候可以使用Molehill来开发3D内容?使用什么工具?
开发者可以在2011上半年的新版Flash Player中使用。在Beta阶段,开发者可以使用Adobe Flash Builder或者Adobe Flex SDK(更新的SWC将包含所需的API)。
移动设备中的Flash Player也将支持3D么?什么时候?
是的,我们也将在移动平台上支持这组3D API,如Android和Linux Mobile。我们会与合作者一起通过Open Screen Project计划,在设备中的Flash Player 和AIR上启用3D。