2

我想学习如何制作很酷的图形,比如灯光、阴影、水等等。我也想最终把它变成一个游戏。不过,创建游戏是排在第二位的,我真的很想首先专注于制作好的图形。

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

到目前为止,我一直在尝试从头开始,但我似乎找不到创建跨平台的最新 OpenGL 3.0+ 上下文的好方法。我一直在搜索并尝试 SDL 之类的东西来帮助更加独立于平台,但我发现 Windows 上的几乎所有东西都有不同于 Linux 的版本,所以几乎不可能在不做重要工作的情况下使其跨平台代码更改。

于是我开始考虑使用某种引擎。我不太确定我在寻找什么引擎,但我希望我能够找到一个可以轻松跨平台使用相同代码的引擎。我在考虑使用 OGRE,但它似乎为你处理了所有的东西,比如光照和阴影。是否有任何其他类型的引擎可以让我专注于制作酷炫的图形,同时独立于平台?

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

4

2 回答 2

5

在过去的几年里,我一直在使用 C# 和 OpenGL 开发一个项目。我最初是从用于 OpenGL 绑定的 Tao 框架开始的,但是 Tao 框架不再处于积极开发中,并且不包含新的 OpenGL 绑定。

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

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

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

祝你好运!

tl;dr:查看 OpenTK 以获得 OpenGL 3 的跨平台单声道/.net 绑定。​​Ogre 也是一个很好的跨平台引擎,您可以随时创建新的材质/着色器并进行实验,而无需编写低级代码。

于 2011-01-20T01:54:19.203 回答
4

根据您正在考虑的游戏类型,您可以使用 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++ 的大师,那么您可以从头开始。但为什么要重新发明轮子呢?那里有相当不错的游戏引擎(就像我发布的那样)。这可以帮助您从设计开始,而忽略许多实现。

于 2011-01-20T01:12:27.420 回答