我想学习如何制作很酷的图形,如灯光,阴影,水等。我还想最终把它变成一款游戏。不过,创建游戏是第二位的,我真的想首先专注于制作好的图形。
那么,最好的方法是什么呢?我想使用OpenGL 3.0+,因为我不喜欢使用过时的东西,而且我必须能够在linux和windows7之间传输相同的代码,并在不做任何更改的情况下运行它。
到目前为止,我一直在尝试从头开始,但似乎找不到一种创建跨平台的最新OpenGL 3.0+上下文的好方法。我一直在到处搜索并尝试像SDL这样的东西来帮助提高平台独立性,但我发现几乎所有东西在Windows上都有不同于Linux的版本,所以在不进行重大代码更改的情况下几乎不可能使其跨平台。
因此,我开始考虑使用某种引擎。我真的不确定我在引擎中寻找的是什么,但我希望我能够找到一个可以很容易地用相同代码跨平台的引擎。我正在考虑使用食人魔,但它似乎为你处理了所有的东西,比如光照和阴影。有没有其他类型的引擎可以让我在独立于平台的同时专注于制作很酷的图形?
有人对我应该做什么或使用什么有什么建议吗?
发布于 2011-01-20 09:54:19
在过去的几年里,我一直在使用C#和OpenGL开发一个项目。我最初是从用于OpenGL绑定的Tao框架开始的,但是,Tao框架不再处于活跃的开发阶段,并且不包括新的OpenGL绑定。
我最近的工作是将引擎转换到OpenGL 3,所以我切换到了OpenTK (http://www.opentk.com/),它具有OpenGL 3所需的所有绑定,而且也是跨平台的。目前我在Linux (MonoDevelop)和Win7 (VS2010)上开发,我的朋友碰巧用的是Mac,我们可以在彼此之间直接传递二进制文件,没有任何问题。所以,如果你喜欢Mono 3的跨平台功能,并且你可以使用OpenGL框架,我建议你这样做。
Ogre (http://www.ogre3d.org/)可以配置为使用新的材质/脚本/等,因此您可以编写自己的阴影着色器等。
在我看来-直接使用OpenGL而不是依赖全功能的引擎更有趣。然而,这也是更困难的,除非你已经编写了Ogre之类的东西可能包含的样板代码,否则你不会看到游戏的开发。
祝好运!
tl;dr:查看OpenGL 3的跨平台mono/.net绑定的OpenTK。Ogre也是一个很好的跨平台引擎,您可以始终创建新的材质/着色器并进行实验,而无需编写低级代码。
发布于 2011-01-20 09:12:27
根据你正在考虑的游戏类型,你可以使用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引擎:http://jmonkeyengine.org/。它是Java中的游戏引擎,本质上是跨平台的。它具有非常好的渲染速度,而且非常简单,就像在Java中一样:)
关于你的问题,我认为这取决于你的技能。如果你是C/C++的高手,那么你可以从头开始。但为什么要重新发明轮子呢?有相当不错的游戏引擎(就像我发布的那些)。这可以帮助您从设计开始,而不考虑许多实现。
https://stackoverflow.com/questions/4742402
复制相似问题