我应该使用某种引擎还是从头开始?

时间:2011-01-20 00:46:56

标签: opengl graphics 3d opengl-3

我想学习如何制作炫酷的图形,如灯光,阴影,水等。我也希望最终将它变成游戏。创造一款游戏在名单上排名第二,我真的很想专注于制作好的图形。

所以,无论如何,这样做的最佳方法是什么?我想使用OpenGL 3.0+,因为我不喜欢使用过时的东西,而且我必须能够在linux和Windows 7之间传输相同的代码并让它在不改变任何东西的情况下运行。

到目前为止,我一直在尝试从头开始尝试,但我似乎无法找到一种创建最新OpenGL 3.0+跨平台上下文的好方法。我一直在搜索并尝试像SDL这样的东西,以帮助更多的平台独立,但我发现Windows上几乎所有版本都有不同于Linux的版本,所以几乎不可能让它跨平台而不必做大代码更改。

然后我开始考虑使用某种引擎。我不太确定我在引擎中寻找的是什么,但我希望能够找到一个能够使用相同的代码轻松跨平台的方法。我正在考虑使用OGRE,但这似乎照顾了所有的照明和阴影。有没有其他类型的引擎可以让我专注于在独立于平台的同时制作出酷炫的图形?

有没有人对我应该做什么或使用什么有任何建议?

2 个答案:

答案 0 :(得分:5)

过去几年,我一直在使用C#和OpenGL攻击一个项目。我最初是从OpenGL绑定的Tao Framework开始的,但是Tao Framework不再处于活跃开发状态,并且没有包含新的OpenGL绑定。

我最近的工作是将引擎转换为OpenGL 3,所以我已经切换到OpenTK(http://www.opentk.com/),它具有OpenGL 3所需的所有绑定,并且也是跨平台的。目前我在Linux(MonoDevelop)和Win7(VS2010)上开发,我的朋友恰好使用的是Mac OS X.我们可以直接在彼此之间传递二进制文件,没有任何问题。所以,如果您喜欢OpenGL 3,跨平台功能,并且您可以使用Mono Framework,我会建议这样的事情。

Ogre(http://www.ogre3d.org/)可以配置为使用新材料/脚本/等,因此您可以编写自己的阴影着色器等。

在我看来 - 直接使用OpenGL而不是依赖全功能引擎更有趣。然而,它也更加努力,在你编写可能包含在Ogre之类的样板代码之前,你不会看到游戏开发。

祝你好运!

tl; dr:查看OpenTK for OpenGL 3的跨平台mono / .net绑定.Ogre也是一个很好的跨平台引擎,您可以随时创建新的材质/着色器和实验,而无需编写低级代码。 / p>

答案 1 :(得分:3)

根据您的想法,您可以使用Blender。我没有用它,但有一天我想用它。 Blender中有一个引擎来制作游戏,例如:

http://www.tutorialsforblender3d.com/

http://colinmaxwell.wordpress.com/2010/08/10/3d-games-with-blender/

http://www.techimo.com/articles/index.pl?photo=60

我最终选择了JMonkey Engine:http://jmonkeyengine.org/。它是Java中的游戏引擎,本质上它是跨平台的。它具有非常好的渲染速度,非常简单,就像在Java中一样:)

关于你的问题,我认为这取决于你的技能。如果您是C / C ++的高手,那么您可以从头开始。但为什么重新发明轮子?那里有非常好的游戏引擎(就像我发布的那些)。这可以帮助您从设计开始,并留下许多实现。