7Yue谈Stage3D学习工具Nihao Flash3D

以往的Flash3D引擎都不支持GPU硬件解码,解码工作只能由CPU来完成,导致性能极其低下,只能渲染简单的3D模型。为了帮助国内Flash开发者学习,Adobe Evangelist与9RIA团队共同开发了一款Stage3D可视化学习工具——Nihao Flash3D。

以往的Flash3D引擎都不支持GPU硬件解码,解码工作只能由CPU来完成,导致性能极其低下,只能渲染简单的3D模型。Adobe一项新技术Stage3D的面世标志着这一问题终于被解决,GPU承担起解码的重任,仅需占用很少的CPU就能得到很复杂的3D模型。但是Stage3D是底层API,需要开发者有较高的编程技巧,开发门槛较高,为了帮助国内Flash开发者学习,Adobe Evangelist与9RIA团队共同开发了一款Stage3D可视化学习工具——Nihao Flash3D。以下为InfoQ对该工具的两位主导者@7yue@杜增强DzQ的主要访谈内容:

InfoQ:请谈下Nihao Flash3D开发的初衷及开发背景是什么?

7yue:2011年初,Adobe在其labs网站上放出了一个叫做Flash Player Incubator的测试项目,其目的是将很多新功能的测试引入其中,供开发者评测。第一期引入的新功能叫做Stage3D,是下一代Flash Player 11使用GPU对3D进行硬件加速的底层API,使Flash Player 11可以与支持DirectX和OpenGL驱动的独立显卡进行直接协作,对Flash中的3D内容进行硬件加速。这对于很多使用Flash技术进行游戏开发的开发者而言,是一个革命性的新功能。

由于Stage3D API是底层API,需要开发者有较高的编程技巧,并且对于特定的Shader语言和宏汇编有一定的了解,如果想要被广大开发者尤其是初学者所掌握,还是具备比较高的知识门槛。因此,2011年5月,我与我们国内的Flash开发者冠军社区9RIA的几名Flash开发专家决定推出一款供开发者可视化学习Stage3D的工具,经过1个月的架构规划和几个月的开发,Nihao Flash3D这个工具即将随着Flash Player 11和AIR 3的正式发布而推出第一个正式版本。

以下是Nihao Flash3D的界面:


InfoQNihao Flash3D的主要功能及特点是什么?

7yue: Nihao Flash3D这个工具使用Flex框架,AIR运行时打包成为可以在Window和MAC平台上运行的一款工具,它的界面灵感来自Adobe的另一款开发者工具TourDe Flex。在这款工具中,开发者可以浏览到不断更新的演示范例,而这些演示范例分别来源于Adobe官方的Stage3D基本演示,支持Stage3D API的流行的第三方3D 最新版本的框架,如Flare3D、Alternativa3D、Yogurt3D、Away3D等,还包括了利用Stage3D进行2D图形渲染加速的框架ND2D和Starling等等,目前内置的Demo数量有将近50个,而且95%以上的Demo都附带源代码供学习者参考。

Nihao Flash3D是一款特点鲜明的可视化学习工具,目标是使用Stage3D的Flash开发者,旨在通过持续的更新,将全球范围内最流行的框架和相关演示代码不断的聚合在Nihao Flash3D这款工具中,方便开发者尤其是刚刚接触Stage3D的开发者进行快速的可视化学习。在这个工具中,除了可以看到最新的Stage3D API的用法,还能直接看到Stage3D构造的各种范例,并且能将范例的源代码打包下载。

这个工具还提供了3个重要的功能,搜索排序,评分和分享。随着Demo数量的不断增多,开发者可以使用关键字搜索特定Demo,也可以按照应用以往所有Demo被浏览的次数和评分等条件进行排序浏览。评分是提供给开发者对特定范例进行评价,提供了工具后台进行范例的更新一个有力的数据支撑,高评分的Demo留下,低评分的Demo慢慢被淘汰。分享是允许开发者通过新浪微博将喜欢的Demo转发到新浪微博上,让更多感兴趣的开发者看到这样的范例,进而下载Nihao Flash3D这个工具。

InfoQ:现在是否有可下载的版本供开发者使用?

7yue:在Nihao Flash3D最后正式发布前,开发者可以通过加入新浪微博Flash3D这个开发者群来获取到这个应用的下载地址。http://q.weibo.com/312314

InfoQ:您对这个工具的后续规划是什么?

7yue:2011年最后一个季度的规划是,通过9RIA社区公开发布Nihao Flash3D的第一个版本。后续更多的规划包括:在2011年底,将范例数量提升到70个左右。2012年,规划英文版本和移动设备上针对OpenGL ES的版本。

InfoQ:现在微群上也有关于该工具的讨论,能否分享下开发者的使用感受?

7yue:目前此款工具处在正式发布前的最后阶段,共有47个范例供开发者使用,其中有几个有代表性的Demo是由中国的开发者提供,被工具进行了收录。这款工具在测试期间,Flash3D的开发者微群的注册人数增长到了900多个成员,微群内工具下载次数超过1100次,Demo浏览次数累计达4000多次。

InfoQ:您开发这个工具所用技术是如何选择的,技术选型的依据是什么?

杜增强:我们使用的是Adobe AIR+Flex技术来开发这个应用的,主要考虑的是借助AIR可以很轻松的实现跨平台,同时使用Flex框架提供的一整套完善的组件和机制可以快速的开发企业类应用程序,这样可以降低我们的开发成本,提供开发效率。

infoQ:您是怎么看待Stage3D的?

杜增强:大家不要被Stage3D这个名字所误导,不要以为只有写3D有关的程序才会用到。其实不是这样的,就如同7yue上面提到的,Stage3D实现的是使用GPU对程序硬件加速的底层支持,同样可以用在传统的2D应用中。在Nihao Flash3D中有相关的例子,大家可以去学习参考一下。

infoQ:您可以给广大的Flash开发者推荐几个学习的途径吗?

杜增强:好的,首先,第一个就是Adobe官方的开发人员中心(Adobe Developer Connection),上面都是Adobe的相关技术人员发布的最新的技术特性讲解和示例。第二个就是借助广大的社区资源,比如9RIA天地会等,第三个就是参加各种社区活动,比如RIA天地行等。还有当然就是可以在微博上去关注7yue等flash牛人。

关于受访者

7yue,Adobe平台技术推广经理 。99年开始接触 Flash,2004年加入 Macromedia 公司任职解决方案工程师,2006至2008年,在 Adobe 公司担任过解决方案工程师和大客户技术经理,目前是 Adobe 平台技术传教士。作者博客:7yue的博客,作者微博:@7yue

杜增强,Adobe RIA社区认证专家,9RIA天地会专家讲师,多年来一直从事Flash的开发工作,曾供职于123Show公司从事富媒体解决方案工具开发,为HP某移动平台项目做过Flex顾问。作者博客:DzQ杜增强.com,作者微博:@杜增强DzQ

如若转载,请注明出处:http://www.gamelook.com.cn/2011/10/58309

关注微信