Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphics 游戏引擎还是图形库?_Graphics_Jogl - Fatal编程技术网

Graphics 游戏引擎还是图形库?

Graphics 游戏引擎还是图形库?,graphics,jogl,Graphics,Jogl,我应该使用游戏引擎还是图形库?我只是想做一个简单的游戏开始,但当你得到更高端的东西和高多边形模型呢?哪个更快 另外,我应该选择Xith3D还是JMonkeyEngine? 或者如果我要使用图形库,我应该使用JOGL、LWJGL还是新的JOgre java是制作游戏的好方法,如果我想切换到C++,我不会问。 我不推荐java用于游戏开发,因为它往往是慢的,游戏需要性能。要制作一个简单的游戏,一个图形库就足够了。不过,对于复杂的游戏,游戏引擎会为您提供更有趣的内容 openGL+GLUT是一组简单

我应该使用游戏引擎还是图形库?我只是想做一个简单的游戏开始,但当你得到更高端的东西和高多边形模型呢?哪个更快

另外,我应该选择Xith3D还是JMonkeyEngine? 或者如果我要使用图形库,我应该使用JOGL、LWJGL还是新的JOgre


java是制作游戏的好方法,如果我想切换到C++,我不会问。

我不推荐java用于游戏开发,因为它往往是慢的,游戏需要性能。要制作一个简单的游戏,一个图形库就足够了。不过,对于复杂的游戏,游戏引擎会为您提供更有趣的内容


openGL+GLUT是一组简单的图形库,带有一些很酷的实用工具,可以使游戏变得简单。我已经在小游戏中使用过它…

事实上,有两个问题需要问你自己才能找到答案:

  • 您想立即制作游戏,还是想了解游戏编程的更多技术方面的知识
  • 该游戏是著名/已确立的类型的变体,还是在结构上有所不同
  • 如果你回答:

    • 1==游戏和&2==流派:使用游戏引擎。选择一个已用于目标流派的。只要用这个工具使游戏尽可能快
    • 1==游戏和&2==不同:由于游戏的结构不同,很难用完整的引擎制作出与游戏结构相匹配的东西。也许使用一个框架(由几个独立的lib组成)会有更好的用途。无论如何,它不会很快实现,但至少有了一个框架,您不必构建底层代码并检查所有lib是否兼容
    • 1==technical&&2==genre:在这种情况下,您可以研究一个引擎或制作自己的引擎。如果这是您的第一个游戏或第一个3D应用程序,我建议您直接使用DirectX或OpenGL一次,然后再将其传递给引擎,如Ogre。不管怎样,试着纠正自己想要学习的技术
    • 1==technical&&2==different:花点时间为游戏的每一方选择几个库,然后将它们组合在一起,使其在您的特定情况下发挥作用。这可能是最有趣的案例,但也是最耗时的。无论如何,使用libs。使用食人魔绘制图形等
    现在,在选择lib/engine时,无论之前的选择是什么,仍然需要问自己一个问题:游戏是否需要跨平台

    检查工具/引擎是否与此问题的答案匹配


    顺便说一下,如果你想进入这个行业或者想得到技术,你必须和硬件对话(至少如果你想学习图形编程),那么用C++(或C)代替java。这会妨碍你的。

    好的,你想学习游戏编程。你有很多选择,但我在你的问题或评论中看不到多少计划,我也不太确定你的确切目标是什么。我得到的唯一确定的东西是你想要使用3D图形

    问题是,您询问的是性能,而实际上没有遇到性能问题。你的问题似乎为时过早

    为了做出选择,从开始构建。它似乎是Java中相当高级的3D引擎。从引擎开始,你可以更专注于游戏的设计,而不必自己对一切进行微调

    花点时间完成游戏,完成所有的收尾工作,比如菜单、玩家选项,完成游戏的任何东西。完成的项目教你很多关于游戏设计的知识,并且在你的投资组合中看起来不错

    对复杂度稍高的项目重复这个过程,一遍又一遍。根据您提高复杂性的速度以及引擎的构建情况,您最终将完成一个引擎无法满足您期望的项目。从这里,您可以利用引擎的开源特性,准确地了解引擎是如何处理您的设计的

    从这一点开始,你的学习道路就会转变。你不再学习一般游戏编程(到目前为止,你应该在这方面有相当多的专业知识),而是开始深入研究硬件交互和低级优化


    所有这些都假设您刚刚开始进入游戏设计和游戏编程领域,但在所选语言方面有相当多的经验。

    1==技术和&2==不同。我知道这需要很长时间,但我有时间,所以这不是我的问题。所以,我使用所有的库来做某些事情?哪一个是哪一个?但是,如果库是用于使用硬件交互的方法的包装器/绑定,那么我可以使用java。如果没有,我可以使用JNI并使用它,进一步提高我的知识。谢谢。不过,如果你符合我所说的条件(想进入这个行业或者想了解它是如何工作的),那么你就必须去挖掘,这需要在游戏代码中使用的几乎所有的LIBS的母语,即C++(和C)。我编辑了我的评论,再看一看,我在错误的时间按下输入。我会是你,我会做我现在正在做的事情:使用C++(因为它是唯一的方式来对你的源和LIB进行深入的控制),OGRE,FMod(或者CoDead),RakNet(用于网络),OIS(用于输入)。现在这是我的具体情况,所以如果你的游戏真的有不同于其他游戏的结构,你必须根据需要自己设置正确的LIB。食人魔是多面手。RakNet和Fmod都是为游戏设计的。OOIS是跨平台的,必要时甚至可以管理wiimote。所以我选择了非常抽象的库,让我可以做我需要的事情。你有什么样的经验,什么样的游戏