在glMatrix, Sylvester和CanvasMatrix之间选择
Choosing between glMatrix, Sylvester and CanvasMatrix?
最后,我决定从头开始制作自己的WebGL 3D引擎,我从http://www.khronos.org/webgl/和http://learningwebgl.com和https://developer.mozilla.org/en/WebGL开始教程
但问题是,每个教程使用/推荐不同的库矩阵计算,所以我很困惑!
- khronos推荐CanvasMatrix(但现在他们从Apple切换到J3DI.js ?)
- Mozilla一直推荐Sylvester ! Learningwebgl.com推荐glMatrix
问题是:哪一个适合3D WebGL应用程序,图表和游戏?(性能和可用性都很重要)
谢谢
看http://greggman.github.io/webgl-matrix-benchmarks/matrix_benchmark.html
我使用glMatrix,它工作得很好。这个API有点奇怪。
var in = vec3.create([1, 2, 3]);
//overwrite 'in' in-place
vec3.scale(in, 2);
//write output to a different vector
var out = vec3.create();
vec3.scale(in, 2, out);
对于glMatrix 2
var in = vec3.fromValues(1, 2, 3);
//overwrite 'in' in-place
vec3.scale(in, in, 2);
//write output to a different vector
var out = vec3.create();
vec3.scale(out, in, 2);
但是它很快,它支持我想要的操作,而且它很简单。此外,来源是非常容易理解的。
我对其他的没有经验。
更新:
在http://stepheneb.github.io/webgl-matrix-benchmarks/matrix_benchmark.html上有更多库的基准测试。在我Mac上的Chrome浏览器中,Closure很容易获胜。在我个人电脑上的Chrome浏览器中,这就更像是一种选择了。我现在仍然使用glMatrix,因为它存在于单个Javascript文件中。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- d3中堆栈函数和嵌套函数之间的差异
- JQuery:在页面之间滑动
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 操作放置在画布上的元素之间的连接
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- jquery在表单之间切换
- Nodejs API控制器,用于在API之间切换
- 如何在aspx页面之间传递参数
- 在索引.html和应用.js [node.js] 之间共享变量
- 什么是&&在没有if的行中的变量之间
- DOM元素和angular元素之间的主要区别是什么
- 在glMatrix, Sylvester和CanvasMatrix之间选择