Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
我非常喜欢jMonkey,因为它将游戏开发所需的一切都集成到一个软件包中,并提供了合理的文档支持和许多示例。您可以下载它,然后在几分钟内开始制作游戏(基于修改后的示例)。它是开源的
我不喜欢jMonkey的是Java。如果要进行大量快速向量/四元数/矩阵数学运算,这是非常有限的。在C ++中,您可以为此数学运算符重载。在Java中,通过访问对象元素和分配新对象(您通常无法避免)会失去很多性能。始终使用getter和setter来保护对象属性非常不便,而不是直接访问数字。
因此,我想知道是否有功能如此丰富的东西,例如jMonkey(物理引擎,场景图,着色器,各种3D网格/纹理格式的导入,网络...),但是在C ++中,您可以编写:
代替
不用担心构造新对象
我做了一些测试:
在带有-02优化的C ++中,我在1个处理器中获得了double3的fmul(融合乘加)
蜱
在Java中,如果我只使用的本地操作,大约需要4-6个刻度
Vectro3f(未分配)
创建新对象时约10个滴答声。有时由于Vectro3f类的体系结构而无法避免创建新对象,对于使用分量x,y,z,w是受保护变量的四元数,则更糟。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
我非常喜欢jMonkey,因为它将游戏开发所需的一切都集成到一个软件包中,并提供了合理的文档支持和许多示例。您可以下载它,然后在几分钟内开始制作游戏(基于修改后的示例)。它是开源的
我不喜欢jMonkey的是Java。如果要进行大量快速向量/四元数/矩阵数学运算,这是非常有限的。在C ++中,您可以为此数学运算符重载。在Java中,通过访问对象元素和分配新对象(您通常无法避免)会失去很多性能。始终使用getter和setter来保护对象属性非常不便,而不是直接访问数字。
因此,我想知道是否有功能如此丰富的东西,例如jMonkey(物理引擎,场景图,着色器,各种3D网格/纹理格式的导入,网络...),但是在C ++中,您可以编写:
Vector1 += scalar1*Vector2*Vector3;
代替
Vector1.add( vector2.mul( Vector3 ).mul( scalar1 ) );
不用担心构造新对象
我做了一些测试:
在带有-02优化的C ++中,我在1个处理器中获得了double3的fmul(融合乘加)
蜱
在Java中,如果我只使用的本地操作,大约需要4-6个刻度
Vectro3f(未分配)
创建新对象时约10个滴答声。有时由于Vectro3f类的体系结构而无法避免创建新对象,对于使用分量x,y,z,w是受保护变量的四元数,则更糟。
最佳答案
看看Simple Fast Media Library (SFML),它甚至在这里有一个标签:sfml
10-08 05:21