有没有适用于WebGL的2D精灵库?

15

我希望使用WebGL构建2D游戏,因为我需要WebGL提供的硬件加速,而在canvas标记中的2D画布上下文无法实现。

说了这么多,是否有适用于WebGL创建2D精灵的教程?或者更好的是,是否有适用于WebGL的2D精灵库?理想情况下,我正在寻找像cocos2d移植到WebGL的东西。

毫不奇怪,我发现WebGL的所有演示、教程和库都集中在3D操作上。是否有任何支持2D精灵的WebGL库呢?

7个回答

5

我可能错了,但我认为2D画布API是设计成让浏览器能够利用硬件加速的,只是他们还没有选择使用。随着WebGL的进展,我预计canvas 2D的实现会显著改善。


5

您可以在此处找到WebGL中的Canvas 2D API。


3
我最近在github上发布了一个简单的2D库,使用webgl编写,并带有幼稚(但功能)的canvas替代方案。它使用与cocos2d相同的场景图,你可以在http://github.com/funkaster/ChesterGL上查看 - 请注意,它不是100%功能完备的,但你可以将其用作编写简单的2D游戏的起点。

1

在 3D 中使用 2D 非常容易。您只需将所有对象放置在平面内,并缩放视口以绘制该平面的所需部分。

无论如何,大约需要 10 年时间,才能在大多数人的浏览器中找到 WebGL 功能。通过正确的方法,您可以在不使用画布的情况下走得很远,使用预渲染的图形旋转技巧对于任何 JavaScript 游戏开发人员来说都是必备的,还有“精灵”动画。

重要的问题是,您只是玩弄工具,还是正在制作供人们玩耍和享受的游戏?


3
尽管并非所有人都会很快使用最新的HTML5/WebGL浏览器,但很多人将会这样做。Firefox/Chrome/Safari致力于HTML5/WebGL,并根据以下链接显示它们的用户升级速度相当快。这些浏览器在市场上具有重要份额,因此HTML5/WebGL应该是一个安全选择(还请注意某些“i”平台禁止使用Flash)。 “让用户升级他们的浏览器” [http://ajaxian.com/archives/getting-users-to-upgrade-their-browsers?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ajaxian+%28Ajaxian+Blog%29&utm_content=Google+Reader] - Jayesh
安全[你称之为什么]是我用来描述市场覆盖率达到99%以上的术语。我不会说舍弃50%的市场去获取更多功能总是一个坏主意,但你所获得的功能必须非常显著才能支撑这种策略。 - aaaaaaaaaaaa

1
请记住,您可以使用gl.POINTS绘制模式,并在每个点上绘制纹理(精灵),而不是点。您只需要使用采样器即可。它非常强大。

1

0
这可能有点即兴,但我认为值得花费精力,以防有人正在寻找一个良好的WebGL包装器来进行2D对象操作。我强烈推荐使用fabric.js,它在canvas元素上提供了交互式对象模型。它还具有SVG到canvas(和canvas到SVG)解析器。官方网站的demos部分清楚地展示了这个JavaScript库的潜力。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接