OpenGL的空间模拟器(闭合)

问题描述 投票:3回答:6

与几个朋友,我们开始这个业余独立于平台的基于Java的项目进行太空作战模拟器游戏(类似翼指挥官的死多头传奇)。我们当中没有虽然是3D程序员,让道路会很长。

我的问题是:在我们的地方,你会开始(通过GLUT也许)学习OpenGL或有更好的可能性的今天?怎么样的Direct3D?你可以建议的书吗?我们点了一对夫妇,特别是

  • 戴夫·施赖的OpenGL编程指南
  • 卢克Benstead年代开始的OpenGL游戏程序设计
java opengl 3d glut direct3d
6个回答
5
投票

考虑使用开源的3D引擎像Ogre3DIrrlicht。这样你就可以专注于做一个游戏:内容,游戏的可玩性。

两个发动机限定一个抽象层,可以映射到的Direct3D或OpenGL后端。

编辑:首先我没有看到你所提到的Java,反正这两个引擎都支持Java绑定。


3
投票

如果你决定学习底层图形编程,而不是使用更高级别的3D引擎像OGRE3D或Irrlicht的,我建议首先是OpenGL ES的2.X,这是OpenGL的一个子集。

OpenGL ES的2.X是OpenGL在具有可编程硬件嵌入式系统,如电话的简化子集。例如,在OpenGL中可能有多种方式来完成任务,但在开放GL ES 2.X,只有一个办法。因为有在OpenGL ES 2.X更少的选择,有如此多的少学习掌握OpenGL ES的2.X.在OpenGL ES 2.0的编程指南480页,且OpenGL编程指南,第七版为936页。

此外,使用OpenGL ES 2.X会给你的游戏更广泛的硬件观众。因为它是OpenGL的子集,支持OpenGL ES 2.X编写的代码将很少或根本没有修改一个完整的OpenGL系统上工作。你的游戏的图形可以从台式机到智能手机的一系列目标机器的工作。


2
投票

你可以选择像Ogre3D一个开源的3D引擎。

但是,如果你真的想上写上自己的(非常有趣)的图形引擎,通过学习线性代数启动。不是很先进的东西,但你应该很舒服,在平移矢量,旋转矩阵等的表达自己。

如果你已经熟悉了这些概念,选择使用的Direct3D或OpenGL - 这取决于更多的可用平台上。如果你喜欢在一个环境的Mircosoft其他代码,选择Direct3D的,应有尽有,选择的OpenGL。

附加库的选择依赖于编程语言。比GLUT更好的选择可能是SDL(C)或QT(C ++)。


1
投票

好吧,如果你从来没有做过的3D图形编程,去简单和学习,随你去。曾经有由讷河(氖氦)的OpenGL,这是我所走的路线了一套非常好的教程。


1
投票

我发现的OpenGL较易入手的学习曲线不那么陡峭。你可以立竿见影,帮助了很多初始的挫折/动机。警告的帮助等词虽然万吨 - 3D编程本质上是复杂的,你会花更多的精力放在建筑的图形技术比游戏本身。考虑采用OGRE3D,如果你真的想看到游戏结束:O)(声明:我知道还有其他的引擎,但食人魔是稳定的,成熟的,并配有良好的文档)


0
投票

如果你想保持与平台无关的,因为它仅限于Microsoft Windows平台的DirectX不会做

© www.soinside.com 2019 - 2024. All rights reserved.