在编写原始OpenGL与使用完整的游戏引擎之间是否存在中间点?

时间:2010-01-03 01:41:54

标签: opengl game-engine

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

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

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

但与此同时,我觉得一个成熟的游戏引擎比我需要的更多。

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

5 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

Ogre
Irrlicht
openscenegraph(替换表演者)

答案 2 :(得分:3)

根据您的需要,其中一个工具包/库可能适合您的目的。

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

答案 3 :(得分:2)

我从GameTutorialsGamedev学到了我的opengl内容。不幸的是,gametutorials不再是教程的自由选择(有一些例子),但它们很好。加上SDL,您可以使用代码来完成您想要的所有操作 - 并且您将能够理解幕后发生的事情,我发现这些内容在以后非常有用(例如,如果您想要稍后写HTML5 / WebGL代码。)

很多游戏引擎都没有我想要的那么好(很好,不是几年前我在看的时候),但他们可能仍然可以做你需要的。 Sourceforge有很多,包括Ogre3dIrrlichtCrystalSpace

答案 4 :(得分:0)

总的来说,我同意你的观点。有一种思想流派认为编程应该包含可插拔模块。一旦你编写了一个OpenGL应用程序,你应该能够获取模型加载器和/或骨架动画引擎并插入它们。

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

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