阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

专访 Nihao Flash3D 负责人——谈可视化 Stage3D 学习工具

  • 2011-10-26
  • 本文字数:2608 字

    阅读完需:约 9 分钟

以往的 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 的界面:

InfoQ:Nihao 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

相关主题

Adobe Stage3D 专区页面: http://www.adobe.com/devnet/flashplayer/stage3d.html

如何启用 AIR3 的 Stage3D: http://vdisk.weibo.com/s/HrQp

关于 Nihao Flash3D

Nihao Flash3D v1.0 稳定版本已正式发布。对 Stage3D 感兴趣的朋友可以用来作为一款学习帮助的小工具了。点击微盘下载

2011-10-26 01:264163
用户头像

发布了 156 篇内容, 共 49.6 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

针对 MySQL IO 特点进行的存储优化揭秘

焱融科技

MySQL 技术 分布式 高性能 文件存储

校友会小程序开发笔记二:功能需求设计

CC同学

小程序云开发 校友录小程序 校友会小程序

618 技术特辑(一)不知不觉超预算3倍,你为何买买买停不下来?

华为云开发者联盟

电商 图数据库 知识图谱 618 图引擎服务

6月26日,HarmonyOS开发者日将于杭州举办

科技汇

JavaScript 学习(三)

空城机

JavaScript 大前端 6月日更

教你两招,解决数据膨胀

华为云开发者联盟

数据 GaussDB(DWS) VACUUM 数据膨胀 FSM

开发者如何构建技术影响力

不脱发的程序猿

程序人生 开发者如何构建技术影响力 技术影响力

pprof排查Golang服务内存问题

循环智能

pprof 性能分析 Go 语言

PO 就是Scrum中的产品经理?别再搞不清啦

万事ONES

项目管理 Scrum 敏捷开发 PO ONES

项目经理如何有效管理需求变更?

万事ONES

需求管理 ONES 项目经理

5W1H聊开源之Who/When/Where——谁在何时何地“发明”了开源?

禅道项目管理

Linux 开源 软件

凭这份pdf每天花2小时学习,3个月后拿下阿里/美团/京东等offer

Java 程序员 架构 面试

618 技术特辑(二)几百万人同时下单的秒杀,为什么越来越容易抢到了

华为云开发者联盟

数据库 服务器 流量 618 弹性负载均衡

拍乐云受邀2021亚太CDN峰会,技术创新赋能行业新价值

拍乐云Pano

RTC

校友会小程序开发笔记三:数据库设计

CC同学

小程序云开发 校友录小程序 校友会小程序

缓存的世界 Redis(二)-持久化

卢卡多多

redis redis持久化 配置文件持久化 6月日更

JAVA笔记(三)--变量及运算符

加百利

Java 程序员 后端 6月日更

校友会小程序开发笔记四:UI基本元素设计

CC同学

小程序云开发

[译] 规避供应商以及特定版本的 VM Bugs

Antway

6月日更

快来,这里有23种设计模式的Go语言实现

华为云开发者联盟

线程 设计模式 单例模式 Go 语言

校友会小程序开发笔记一:背景与技术方案的选型

CC同学

小程序云开发 校友录小程序 校友会小程序

阿里云视频云 Retina 多媒体 AI 体验馆开张啦!

阿里云视频云

阿里云 短视频 视频处理 媒体处理 视频制作

Bzz节点分币系统开发,云算力矿机租赁系统搭建

可视化协助矿山,打造“高效率运营战略”,年降成本500W

一只数据鲸鱼

数据可视化 工业4.0 智慧矿山

详解 Go 程序的启动流程,你知道 g0,m0 是什么吗?

煎鱼

Java php 后端 Go 语言

并发王者课-铂金1:探本溯源-为何说Lock接口是Java中锁的基础

MetaThoughts

Java 多线程 并发 并发王者

【LeetCode】石子游戏Java题解

Albert

算法 LeetCode 6月日更

测试工程师如何收拾交接项目的烂摊子

陈磊@Criss

测试

MySQL中的pid与socket是什么?

Simon

MySQL

🌏【架构师指南】分布式技术知识点总结(上)

洛神灬殇

分布式 raft协议 paxos协议 6月日更

译文 | AI产品经理:如何打造一款SaaS+AI的优质产品

LigaAI

产品经理 研发管理

专访Nihao Flash3D负责人——谈可视化Stage3D学习工具_语言 & 开发_贾国清_InfoQ精选文章