【问题标题】:Is there a middleground between writing raw OpenGL versus using a full-blown game engine?编写原始 OpenGL 与使用成熟的游戏引擎之间是否存在中间地带?
【发布时间】:2010-01-04 15:50:11
【问题描述】:

我在玩 OpenGL,我发现自己正在编写我觉得我不应该编写的代码。

GLU 和 GLUT 很好,但不是我想的那样。

  • 从 Blender 加载 .obj 模型(顶点和法线向量)并渲染它们的代码。
  • 碰撞检测代码。
  • 导航/相机的代码。
  • 简单地形生成代码。

但与此同时,我觉得一个成熟的游戏引擎超出了我的需要。

是否有任何基于 OpenGL 的优秀库可供我利用,或许可以用来创建相对简单的游戏?我不一定需要上面列出的所有项目。这些只是我所想的例子。

【问题讨论】:

  • 你看过食人魔吗?
  • 投票结束,因为范围太广/工具推荐。

标签: opengl game-engine


【解决方案1】:

是的。

我不能更具体,因为我没有编写自己的游戏引擎,但我在 this location 有一个在线库列表,其中大部分位于完整引擎之下。

【讨论】:

  • 这是一个非常棒的列表。谢谢!
【解决方案2】:

Ogre
Irrlicht
openscenegraph(替换表演者)

【讨论】:

    【解决方案3】:

    根据您的需要,这些工具包/库之一可能适合您的目的。

    • GLUT - OpenGL 实用工具包
    • Ogre3D - OGRE 面向对象的图形库
    • Open Inventor - SGI 创建的用于场景管理的 OpenGL 工具包
    • Performer - SGI 创建的用于实时渲染的 OpenGL 工具包

    【讨论】:

      【解决方案4】:

      我从 GameTutorialsGamedev 学到了我的 opengl 知识。不幸的是,gametutorials 不再是免费的教程选择(有一些示例),但它们很好。再加上SDL,你将拥有代码来做你想做的一切——你将能够理解幕后发生的事情,我发现这在以后非常有用(例如,如果你想编写 HTML5 /WebGL 代码稍后)。

      许多游戏引擎的文档记录不如我想的那么好(好吧,在我寻找的时候还不是几年前),但它们可能仍然可以满足您的需求。 Sourceforge 有很多,包括Ogre3dIrrlichtCrystalSpace

      【讨论】:

        【解决方案5】:

        总的来说,我同意你的观点。有一种观点认为编程应该由可插拔模块组成。一旦您编写了 OpenGL 应用程序,您应该能够获取模型加载器和/或骨骼动画引擎并将它们插入。

        令人沮丧的是,该列表(我看过)上的大多数游戏引擎都是全有或全无的命题。它们提供了一个完整的框架,并没有真正考虑到更常见的真实案例场景。

        也就是说,一切都没有丢失。许多这些引擎将许多其他“实用程序”库打包到它们的发行版中。稍有耐心就可以自己拼凑组件库:OpenAL 用于声音,Freetype 用于字体渲染,libpng、libjpeg 等用于图像编解码器

        【讨论】:

          猜你喜欢
          • 2013-01-21
          • 2020-09-16
          • 1970-01-01
          • 2011-06-28
          • 1970-01-01
          • 1970-01-01
          • 2011-03-22
          • 1970-01-01
          • 2022-01-12
          相关资源
          最近更新 更多