As SceneJS author I thought I'd throw this in if it helps: SceneJS is specialised towards fast rendering of large numbers of individually articulated objects, without game engine effects like shadows, reflections etc.
In other words it's aimed at requirements of CAD, medical anatomy, engineering visualisations, things with 1000's of nuts and bolts, organs etc.
It therefore has less flexibility than three.js, GLGE and PhiloGL.
It does however have a pure JSON API, which people have found integrates well with AJAX, parsers and databases (eg CouchDB).
So if you're writing a game I would point you at one of the other frameworks, but if you're writing a CAD viewer then SceneJS might do the trick.
I often use the popularity of a project on GitHub as an indicator of its success. While there are problems with this method, I do find it's often the best way to make a choice. Listing popular WebGL projects, in decreasing popularity by number of "stars":
This also mirrors what I've found when looking into these projects. three.js seems to be the most feature complete, has an extensive set of examples, a well-structured code base, and a thriving community.
Since the world of WebGL is developing so fast right now, it would be difficult to find a complete, up-to-date comparison of WebGL frameworks. As soon as somebody spent the time researching such a thing, it would be obsolete. But here is an annotated list of WebGL frameworks:
If you start a project using one of these frameworks, and then if you update this list based on your experience, it will be more up to date than before.
By the way in looking just now at PhiloGL, I was impressed with the full set of API docs, and that they've ported all the WebGL lessons to use PhiloGL (source code only, no explanatory text). I don't see a tutorial per se; but they have several examples, so overall they're better off than three.js in regard to documentation.
A few more notes, for those who may come after (including myself):
CopperLicht seems to major on loading models from files, as opposed to generating geometry in code. It is not open source.
PhiloGL uses O3D for generating geometry, e.g. spheres.
I'm the author of Jax ( http://blog.jaxgl.com/what-is-jax ), a framework with emphasis on test-driven, behavior-driven development and sheer productivity. Jax offers powerful code generators, an integrated application server and testing environment, and a cleanly-organized MVC (Model, View, Controller) architecture for your WebGL application.
Jax is designed first and foremost around Getting Stuff Done. It's a convention-over-configuration framework, which means that -- while you can certainly make it do things however you like -- if you accept its conventions, you'll find there's very little up-front cost to getting your application off the ground.
In addition, Jax was designed around extensibility. It's easy to build meshes with whatever data set or algorithms you prefer to use, from loading them via JSON to generating them on the vertex shader; and the framework sports an honest-to-goodness plugin system so you can pick and choose additional functionality (such as collision detection) based on the needs of your application, without bloating the framework with things you don't care about.
It has loads of documentation and I'm adding more every chance I get; the quick-start page is now online at http://jaxgl.com, and a set of comprehensive guides are slowly making their way to http://guides.jaxgl.com. Links to the API documentation are available there, as well.
发布评论
评论(4)
作为 SceneJS 的作者,我想如果有帮助的话我会加入它:SceneJS 专门用于快速渲染大量单独铰接的对象,没有游戏引擎效果,如阴影、反射等。
换句话说,它针对 CAD、医学的要求解剖学、工程可视化、具有 1000 个螺母和螺栓的事物、器官等。
因此,它的灵活性低于 Three.js、GLGE 和 PhiloGL。
然而,它确实有一个纯 JSON API,人们发现它与 AJAX、解析器和数据库(例如 CouchDB)很好地集成。
因此,如果您正在编写游戏,我会向您推荐其他框架之一,但如果您正在编写 CAD 查看器,那么 SceneJS 可能可以解决问题。
As SceneJS author I thought I'd throw this in if it helps: SceneJS is specialised towards fast rendering of large numbers of individually articulated objects, without game engine effects like shadows, reflections etc.
In other words it's aimed at requirements of CAD, medical anatomy, engineering visualisations, things with 1000's of nuts and bolts, organs etc.
It therefore has less flexibility than three.js, GLGE and PhiloGL.
It does however have a pure JSON API, which people have found integrates well with AJAX, parsers and databases (eg CouchDB).
So if you're writing a game I would point you at one of the other frameworks, but if you're writing a CAD viewer then SceneJS might do the trick.
我经常使用 GitHub 上项目的受欢迎程度作为其成功的指标。虽然这种方法存在问题,但我确实发现它通常是做出选择的最佳方法。列出流行的 WebGL 项目,按“星星”数量递减受欢迎程度:
这也反映了我在研究这些项目时发现的内容。 Three.js 似乎是功能最齐全的,拥有大量示例、结构良好的代码库和蓬勃发展的社区。
I often use the popularity of a project on GitHub as an indicator of its success. While there are problems with this method, I do find it's often the best way to make a choice. Listing popular WebGL projects, in decreasing popularity by number of "stars":
This also mirrors what I've found when looking into these projects. three.js seems to be the most feature complete, has an extensive set of examples, a well-structured code base, and a thriving community.
这基本上是 WebGL Framework 的重复,但从那时起答案可能已经改变。另请参阅 我应该学习哪个 WebGL 框架?
由于 WebGL 的世界正在发展现在速度如此之快,很难找到完整的、最新的 WebGL 框架比较。一旦有人花时间研究这样的东西,它就会过时。但这里有一个带注释的 WebGL 框架列表:
http://www.khronos.org/webgl/ wiki/User_Contributions
如果您使用这些框架之一启动一个项目,然后根据您的经验更新此列表,它将比以前更新。
顺便说一句,在刚刚查看 PhiloGL 时,我对全套 API 文档印象深刻,他们已经将所有 WebGL 课程移植到使用 PhiloGL(仅源代码,无解释文本)。我本身没有看到教程;但他们有几个例子,所以总的来说,他们在文档方面比 Three.js 更好。
对于那些可能会关注的人(包括我自己),还有一些注意事项:
This is basically a duplicate of WebGL Framework, but the answers have probably changed since then. See also Which WebGL framework should i learn?
Since the world of WebGL is developing so fast right now, it would be difficult to find a complete, up-to-date comparison of WebGL frameworks. As soon as somebody spent the time researching such a thing, it would be obsolete. But here is an annotated list of WebGL frameworks:
http://www.khronos.org/webgl/wiki/User_Contributions
If you start a project using one of these frameworks, and then if you update this list based on your experience, it will be more up to date than before.
By the way in looking just now at PhiloGL, I was impressed with the full set of API docs, and that they've ported all the WebGL lessons to use PhiloGL (source code only, no explanatory text). I don't see a tutorial per se; but they have several examples, so overall they're better off than three.js in regard to documentation.
A few more notes, for those who may come after (including myself):
我是 Jax 的作者 ( http://blog.jaxgl.com/what-is-jax ),一个强调测试驱动、行为驱动的开发和纯粹生产力的框架。 Jax 为您的 WebGL 应用程序提供强大的代码生成器、集成的应用程序服务器和测试环境以及组织清晰的 MVC(模型、视图、控制器)架构。
Jax 的设计首先是围绕“完成工作”而设计的。它是一个约定优于配置的框架,这意味着——虽然你当然可以让它按照你喜欢的方式做事——如果你接受它的约定,你会发现很少有预先的事情启动您的应用程序所需的成本。
此外,Jax 是围绕可扩展性设计的。使用您喜欢使用的任何数据集或算法构建网格都很容易,从通过 JSON 加载它们到在顶点着色器上生成它们;该框架拥有一个诚实的插件系统,因此您可以根据应用程序的需求挑选附加功能(例如碰撞检测),而不会因为您不关心的事情而使框架变得臃肿。
它有大量的文档,我会一有机会就添加更多文档;快速入门页面现已上线,网址为 http://jaxgl.com,并且一组综合指南正在慢慢制作前往 http://guides.jaxgl.com 的方式。那里还提供了 API 文档的链接。
Github 上也有越来越多的 Jax 现场演示可供选择:http://sinisterchipmunk.github.com。
I'm the author of Jax ( http://blog.jaxgl.com/what-is-jax ), a framework with emphasis on test-driven, behavior-driven development and sheer productivity. Jax offers powerful code generators, an integrated application server and testing environment, and a cleanly-organized MVC (Model, View, Controller) architecture for your WebGL application.
Jax is designed first and foremost around Getting Stuff Done. It's a convention-over-configuration framework, which means that -- while you can certainly make it do things however you like -- if you accept its conventions, you'll find there's very little up-front cost to getting your application off the ground.
In addition, Jax was designed around extensibility. It's easy to build meshes with whatever data set or algorithms you prefer to use, from loading them via JSON to generating them on the vertex shader; and the framework sports an honest-to-goodness plugin system so you can pick and choose additional functionality (such as collision detection) based on the needs of your application, without bloating the framework with things you don't care about.
It has loads of documentation and I'm adding more every chance I get; the quick-start page is now online at http://jaxgl.com, and a set of comprehensive guides are slowly making their way to http://guides.jaxgl.com. Links to the API documentation are available there, as well.
A growing selection of live demos of Jax in action are also alive and well on Github: http://sinisterchipmunk.github.com.