除了性能之外,对于 2D 游戏/应用程序使用 WebGL 而不是 2D-Canvas 有什么理由吗?
换句话说,WebGL 提供了哪些 2D 功能是不可能用 2D-Canvas 轻松实现的?
原文由 Ali Shakiba 发布,翻译遵循 CC BY-SA 4.0 许可协议
除了性能之外,对于 2D 游戏/应用程序使用 WebGL 而不是 2D-Canvas 有什么理由吗?
换句话说,WebGL 提供了哪些 2D 功能是不可能用 2D-Canvas 轻松实现的?
原文由 Ali Shakiba 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答882 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答899 阅读✓ 已解决
2 回答782 阅读
1 回答771 阅读✓ 已解决
2 回答1.1k 阅读
换个角度看这个问题:
开发人员如何选择一种技术而不是另一种技术?
因此,我将讨论 canvas 和 webGL API 在这些特性方面的差异。
canvas 和 webGL 都是 JavaScript API。它们在集成(绑定)方面几乎相同。它们都受到许多可以加快编码速度的库的支持。不同的库为您提供了不同的代码组织方式,因此库的选择决定了您的绘图 API 的结构,但它仍然非常相似(其余代码如何与其绑定在一起)。如果使用库,编写代码的难易程度取决于库本身。
如果您从零开始编写代码,画布 API 将更容易学习和理解。它需要最少的数学知识,并且开发快速而直接。
使用 WebGL API 需要强大的数学技能和对渲染管道的全面理解。具备这些技能的人更难找到,生产速度更慢(由于此类代码库的规模和复杂性),因此成本更高。
WebGL 速度更快,功能更多。毫无疑问。它是一种原生 3D API,可让您完全访问渲染管道、代码和效果,执行速度更快,更“可调整”。使用 webGL 真的没有限制。
canvas 和 webGL 都是 html5 的好东西。通常支持一个的设备将支持另一个。
所以,总结一下:
希望这可以帮助。
PS 开放讨论。