`

[转]M2D的介绍——针对Flash ‘Molehill’ API的GPU加速2D框架

阅读更多

http://bbs.9ria.com/viewthread.php?tid=76603&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000

 

 

可以确定,你们当中很多人都知道Molehill —— Flash Player的一套可以实现GPU加速的3dAPI。有些人误以为他只是针对3d实现GPU加速,有一个好消息就是你实际上可以在stage3d上而不是在stage(DisplayList)上加速2d图形的渲染。这个是有一点棘手,但绝对是可能的。
例如这个demo —— http://www.bytearray.org/wp-content/projects/molehill2d/molehill/ – 这个2d图形是通过Molehill在GPU上进行渲染的。但你看这个例子代码,如果你不是真正了解OpenGL或者DirectX世界的话,你可能需要花很多的时间去研究他。
为了使你更方便的去了解,Ely Greenfield写了一个名叫M2D的框架
特点如下:

  • 嵌入式渲染。
  • spritesheets动画
  • 位置,旋转对象。
  • 粒子。



Ely太伟大了!我的意思是,他对2d flash游戏真是件大事情。现在你可以轻而易举的渲染60帧成千上万个sprite了,我期待着在游戏中看到使用他。
我有分开Ely的原始M2D框架,并使用Box2D C++ Alchemy 端口添加了一个RenderScene和Physics类。RenderScene是为了使用M2D而被简化了的API,他将满足你在大多数情况下的使用,也方便其他人很轻易的使用他。

他的工作原理是什么?
在3d中有一些东西可以供你使用——几何geometry (在我们项目中的三角形)、纹理textures 和着色shaders。
要真正显示一张图片 —— 你需要通过两个三角形组成一个矩形同时通过正确的UVs加载一个bitmap数据。如图:



我可以加快 Flash DisplayList中的DisplayObjects吗?
是的,你当然可以。唯一一点是现在只支持静态的DisplayObject对象,但是计划在将来实现MovieClip。目前通过SpriteSheets支持sprite动画——这里有个工具可以轻松的让你把SWF转换成PNG ——Zoë by Grant Skinner

未来计划

  • 文档。
  • 鼠标事件 —— 目前的框架还不支持鼠标事件。
  • 影片剪辑动画 —— 动画可以通过SpriteSheets做到。
  • 优化 —— 我们比较肯定的是他在实际运用中会有多次优化过程。
  • ATF的支持(Adobe Texture Format)



开源项目

该框架可以无限制的应用于公共领域,你可以在免费的应用在你的商业项目中,同时也可以自己修改、升级这个版本。我们期待在社区里看到这个框架的更新以及应用这个框架的项目和对未来版本的一些建议。

The API

  1. // create RenderScene - the sprite which renders Actors to Stage3D (GPU accelerated layer)
  2. scene = new RenderScene(800,480);
  3. addChild(scene);

  4. // Add rectangle 100x100 px
  5. var rect:Actor = scene.addRect(100,100);
  6. rect.x = 100;
  7. rect.y = 100;
  8. rect.rotation = 10;

  9. // Add embedded image
  10. var image:Actor = scene.addImageEmbed(imageEmbed);
  11. image.x = 300;
  12. image.y = 100;
  13. image.rotation = 45;
复制代码


实例





提醒:你必须通过支持Molehill API的Flash Player Incubator版本运行,可以从这里获取。也有可能遇到浏览器不支持GPU加速的情况,你可以换一个浏览器试试看。

下载M2D类库

M2DSamples.zip(包含M2D.swc 、 Box2DAlchemy.swc 、RenderScene.as 和Physics.as)。

M2D源代码地址
https://github.com/egreenfield/M2D

分享到:
评论

相关推荐

    [转]Flash ‘Molehill’ API上的GPU加速2D框架-M2D

    **标题解析:**“Flash ‘Molehill’ API上的GPU加速2D框架-M2D”指的是一项技术,它利用了Adobe Flash平台中的Molehill API来实现2D图形的GPU加速。M2D(可能是“Molehill 2D”的缩写)引擎是一个专门设计用于提高2...

    nd2d:Flash Molehill(Stage3D)GPU加速2D游戏引擎

    ND2D-Flash Molehill(Stage3D)GPU加速的2D引擎。 ND2D是使用Flash的新GPU硬件功能的2D框架。 要运行此引擎,您必须下载并安装最新的Flash Player: 您必须使用FP11 playerglobal.swc和编译器选项-swf-version = ...

    Molehill API分析

    Molehill API 是 Adobe Flash Player 11 和 Adobe AIR 3 引入的一组新功能,主要提供了对 GPU 加速 3D 渲染的支持。这一 API 的出现极大地提升了 Flash 在 3D 图形处理方面的能力,使其能够实现高性能的 3D 应用程序...

    flash3d的molehill参考资料

    Molehill是Adobe Flash Player的一个底层API,提供了对硬件加速3D图形的支持,使得开发者能够创建出更加生动、交互性更强的3D网页应用。以下是对这一技术的详细解释: 1. **Molehill API**:Molehill是Adobe发布的...

    源码Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide

    《源码Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide》是针对初学者的一本深入解析Adobe Flash 11中的Stage3D(Molehill)技术的游戏编程指南。这本书通过一系列章节的示例代码,旨在帮助...

    Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner 书源码

    这本书——"Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner"是针对初学者的一本经典教程,旨在帮助读者掌握如何利用Stage3D进行游戏开发。书中的源代码提供了丰富的实例,帮助读者深入理解3D编程的...

    FlashDevelop + FlashPlayer11(Molehill) + Away3D 4.0 Alpha配置

    其中,FlashPlayer11通过引入代号为Molehill的新功能,为开发者提供了强大的GPU加速3D渲染能力。同时,结合Away3D这样的开源3D框架,可以更方便地创建复杂的3D应用程序。本文将详细介绍如何配置FlashDevelop环境,...

    Adobe Flash 11 Stage3D Molehill Game Programming Beginners Guide

    Stage3D (代号Molehill) 是Adobe Flash Player 11和AIR 3引入的一项新技术,它允许开发者通过低级的API访问GPU硬件加速,从而实现高性能的2D和3D图形渲染。这一技术大大提升了Flash平台上的图形处理能力,使得开发者...

    as3 molehill实例

    AS3 Molehill是Adobe AIR 3和Flash Player 11引入的低级3D图形API,它允许开发者直接访问硬件加速的图形处理器(GPU),以创建高性能的3D内容。这个API包括两个主要部分:Stage3D和Context3D,它们分别提供了舞台...

    Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide.pdf

    2. **Stage3D (Molehill)**:这是Adobe Flash Player 11和AIR 3.0中引入的新技术,用于加速3D图形渲染。它允许开发者直接访问GPU(图形处理单元),从而极大地提高了3D图形性能。 3. **Game Programming**:指使用...

    Adobe Flash 11 Stage3D (Molehill) Game Programming Beginner's Guide

    Adobe Flash 11引入了一项革命性的技术,Stage3D(又称为Molehill),它为游戏开发者提供了在Flash平台上构建高性能、低延迟的3D图形应用的能力。这本书《Adobe Flash 11 Stage3D (Molehill) Game Programming ...

    AS3游戏引擎Starling中文手册 Starling入门

    Starling游戏引擎是基于Adobe Flash平台的一个2D游戏开发框架,它利用Stage3D(原代号Molehill)API,使得开发者能够能够通过GPU加速2D应用程序。Starling提供了一套简化的API,使得Flash和Flex的开发人员可以较为...

    全新Flash 3D APIs

    这一新的API旨在通过直接访问GPU资源来实现真正的硬件加速,从而极大地提高3D渲染的速度和质量。 - **为何现在需要Molehill**:随着互联网技术的发展,越来越多的应用场景需要更加强大的3D渲染能力。例如,增强现实...

    flash3d电子文件

    2011年,Adobe推出了被称为“孵化器”(Incubator)的新项目,其中包括Flash3D API的更新版Molehill,这是一个全新的3D API。Molehill项目的设计目标是为了提供更强大的图形性能和更广泛的第三方引擎支持。除了...

    Packt.Adobe.Flash.11.Stage3D.(Molehill).Game.Programming.Beginner's.Guide

    Stage3D是ActionScript 3.0的一个关键特性,它提供了一个低级别的接口,可以直接与GPU进行通信,实现了硬件加速的2D和3D渲染。这个特性极大地提升了Flash内容的性能,尤其是在处理复杂的3D场景时。通过Stage3D,...

Global site tag (gtag.js) - Google Analytics