SceneJS vs Three.JS vs其他人

时间:2011-07-20 13:26:49

标签: javascript webgl

任何人的利弊?找不到three.js库的完整功能集。虽然我知道它很受欢迎并且正在积极开发中。也许有人在WebGL引擎上做了一些R& D,可以建议每个库给出哪些好处?

4 个答案:

答案 0 :(得分:89)

作为SceneJS的作者,我认为如果有帮助的话我会把它扔进去:SceneJS专门用于快速渲染大量单独关联的对象,没有阴影,反射等游戏引擎效果。

换句话说,它的目标是CAD,医学解剖学,工程可视化,1000个螺母和螺栓,器官等的需求。

因此,它的灵活性低于three.js,GLGE和PhiloGL。

然而它确实有一个纯JSON API,人们发现它与AJAX,解析器和数据库(例如CouchDB)很好地集成。

因此,如果您正在编写游戏,我会指向其他框架之一,但如果您正在编写CAD查看器,那么SceneJS可能会做到这一点。

答案 1 :(得分:36)

我经常使用GitHub上项目的受欢迎程度作为其成功的指标。虽然这种方法存在问题,但我发现这通常是做出选择的最佳方式。列出流行的WebGL项目,按“星星”的数量逐渐减少:

这也反映了我在研究这些项目时发现的内容。 three.js似乎是功能最齐全,拥有大量示例,结构良好的代码库和蓬勃发展的社区。

答案 2 :(得分:6)

这基本上是WebGL Framework的副本,但从那以后答案可能已经改变了。另请参阅Which WebGL framework should i learn?

由于WebGL的发展现在如此之快,因此很难找到WebGL框架的完整,最新的比较。一旦有人花时间研究这样的事情,它就会过时了。但这是一个带注释的WebGL框架列表:

http://www.khronos.org/webgl/wiki/User_Contributions

如果您使用其中一个框架启动项目,然后根据您的经验更新此列表,它将比以前更新。

顺便看一下PhiloGL,我对完整的API文档印象深刻,他们已经移植了所有的WebGL课程来使用PhiloGL(仅源代码,没有解释性文字) 。我本身没有看到教程;但是他们有几个例子,所以总的来说,他们在文档方面比three.js更好。

对于那些可能追随的人(包括我自己),还有一些注意事项:

  • CopperLicht似乎主要从文件加载模型,而不是在代码中生成几何。它不是开源的。
  • PhiloGL使用O3D生成几何图形,例如球体。
  • Three.js附带常用的纹理。

答案 3 :(得分:1)

我是Jax(http://blog.jaxgl.com/what-is-jax)的作者,这是一个强调测试驱动,行为驱动开发和纯粹生产力的框架。 Jax为您的WebGL应用程序提供了强大的代码生成器,集成的应用程序服务器和测试环境,以及一个组织清晰的MVC(模型,视图,控制器)架构。

Jax的设计首先是围绕“完成东西”。这是一个基于配置的约定框架,这意味着 - 虽然你可以制作它可以做你喜欢的事情 - 如果你接受它的约定,你会发现前面几乎没有让您的应用程序开始运作的成本。

此外,Jax是围绕可扩展性设计的。使用您喜欢使用的任何数据集或算法构建网格很容易,从通过JSON加载它们到在顶点着色器上生成它们;并且该框架采用诚实至善的插件系统,因此您可以根据应用程序的需要选择其他功能(例如碰撞检测),而不会使用您不关心的内容使框架膨胀。

它有大量的文档,我每增加一次机会就会增加更多;快速入门页面现已在http://jaxgl.com上线,一套全面的指南正慢慢进入http://guides.jaxgl.com。此处还提供了API文档的链接。

越来越多的Jax现场演示在Github上也很活跃:http://sinisterchipmunk.github.com