要在OpenGL ES 2.0游戏中使用的完整数学库?[关闭]


14

您是否知道用于OpenGL ES 2.0游戏的完整(或几乎完整)的跨平台数学库

该库应包含:

  • Matrix2x2,Matrix 3x3,Matrix4x4类
  • 四元数
  • Vector2,Vector3,Vector4类
  • 欧拉角类
  • 上述类,转换等之间的操作。
  • 3D图形中的标准数学运算(点积,叉积,SLERP等)

是否可以单独或作为任何软件包一部分使用这样的Math API ?

编程语言:Visual C ++,但计划移植到OS X和Android OS。



目前还没有完美的数学库,我只是尝试编写一些需求,而没有一个库包含它们,实际上我希望有人能够像GLM那样简化一个库,使其具有与着色器相同的功能+ Ogre数学库的样式及其某些功能(例如视图视锥,边界框等,缺少GLM)。另外请注意,GLM并没有那么快(实际上并不重要),所以我怀疑有人会在光线跟踪器或密集型东西中使用它吗?由于其API和设计风格而
很有用

Answers:


14

您是否考虑过可配置数学库


+1 @Josh:感谢您的提示。我目前正在考虑使用GLM(glm.g-truc.net)GL数学库。我将拭目以待人们已经尝试过并被证明是好的图书馆。
Bunkai.Satori 2011年

3
我强烈建议您使用GLM。我用它及其“很棒”
brainydexter 2011年

+1,我非常喜欢CML,并将其发布为答案=)。但是,由于它是通用的和基于模板的,因此它在很大程度上取决于编译器的优化。如果您以移动设备为目标(可能像您引用的ES所示),则可以针对目标更好地优化一些其他数学库。
贾里·孔帕

嗨,布雷尼,贾里,感谢您的评论。我仍然希望看到,是否还有更多选项可以提供用户反馈,因此,我希望将此问题保留一段时间。
2011年

@Jari-在讨论OpenGL ES平台的数学库优化时,包括哪些内容?我的意思是,如果正确设计了公式和数据类型,还可以做些什么来优化ES平台的库?(这可能是一个基本问题,但我没有答案。)
Bunkai.Satori 2011年

8

Eigen是仅支持C ++标头的数学库,支持SSE,AltiVec和ARM Neon向量化。


+1为小费。嗨,西蒙,谢谢您的提示。我开始使用GLM(OpenGL数学库),这真是太神奇了。到目前为止,它包含了矢量,矩阵,四元数数学,SLERP插值等所有内容,到目前为止,它提供的功能超出了我真正需要的,因此我对此感到满意。
Bunkai.Satori,2011年


4

我致力于将Apple的GLKMath添加到该测试中 (实际上是分叉了此分叉

这是我的第四代iPod Touch的结果:

Eigen:
Additions: 77624 milliseconds.
Multiplications: 227179 milliseconds.

GLM:
Additions: 23935 milliseconds.
Multiplications: 80599 milliseconds.

CML:
Additions: 102390 milliseconds.
Multiplications: 161059 milliseconds.

GLKMath:
Additions: 8526 milliseconds.
Multiplications: 21775 milliseconds.

这是我的代码

我没有Android设备,但我很好奇GLKMath在Android上的性能如何。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.