XNA是否支持OpenGL

时间:2010-11-09 20:01:18

标签: opengl xna

最终,当我完成我正在写的游戏时,我想把它移植到XNA。我目前正在使用C ++和OpenGL。我的问题很简单:XNA是否支持OpenGL(如果需要,我可以从C ++切换到XNA语言)?

2 个答案:

答案 0 :(得分:5)

不,不是直接的。 XNA基于DirectX构建。

如果需要,可以使用OpenGL周围的包装器旋转一个单独的窗口。但是,您需要使用非官方绑定才能执行此操作。然后在其中使用XNA构造。我曾经参与过这样的项目,不会推荐它。有两种方法可以使用XNA。按书的方式,对大多数人来说太有限了,或者另一种方式。 “其他”方式没有利用基础游戏类和处理你自己的游戏逻辑。使用另一种渲染方法的第二种方法是太多的工作,没有真正的回报。

我建议您在当前游戏中使用逻辑和图形。如果您决定稍后移植,则转移应该更容易从C ++转换为C#。

此外,XNA不是一种语言。它是使用C#构建的框架。

答案 1 :(得分:3)

XnaTouch实现在iPhone上运行,因此使用OpenGL ES。它通过Mono项目使用C#(特别是iPhone的MonoTouch)。这可以被用作将XNA移植到不支持DirectX的其他平台的基础(例如:Mac,Linux)。

(注意:根据我的经验,XnaTouch的实现并不是很好。)

显然,Xbox 360根本不使用OpenGL - 它使用DirectX - 你没有得到关于此的选项。

我甚至不明白为什么你想要使用XNA,但是使用OpenGL,在Windows上,当现有的XNA实现工作正常时。