类似于C ++中的jMonkey

时间:2014-01-06 12:32:28

标签: c++ game-engine game-physics

我非常喜欢jMonkey,因为将游戏开发所需的一切集成到一个软件包中,并提供合理的文档支持和许多示例。您可以下载它,并在几分钟内开始制作您的游戏(基于修改过的示例)。它是开源

我不喜欢jMonkey是Java。如果你想做一个很多快速向量/四元数/矩阵数学,这是非常有限的。在C ++中,您可以为此数学运算重载运算符。在Java中,通过访问对象元素和分配新对象(通常无法避免),您会失去很多性能。将getter和setter一直用于受保护的对象属性是非常不方便的,而不是直接访问数字。

所以我想知道是否有像jMonkey这样多的功能(物理引擎,场景图,着色器,各种3D网格/纹理格式的导入,网络 ......)但是在C ++,你可以写:

Vector1 += scalar1*Vector2*Vector3;

而不是

Vector1.add(  vector2.mul( Vector3 ).mul( scalar1 ) );

并且不用担心构建新对象

我做了一些测试:

  • 在C ++中使用-02优化我在1个处理器中得到了double3的fmul(融合乘法加法) 打勾
  • 在java中,如果我只使用本地操作,则需要4-6个刻度 Vectro3f(没有分配)
  • 创建新对象时,
  • 和~10滴答。由于Vectro3f类的体系结构,有时无法避免创建新对象,对于组件x,y,z,w是受保护变量的四元数,更糟糕的是)

1 个答案:

答案 0 :(得分:2)

查看Simple Fast Media Library (SFML),它甚至还有一个标记: