最终,当我完成我写的游戏时,我想将它移植到XNA。目前我正在使用C++和OpenGL。我的问题很简单:XNA是否支持OpenGL(如果需要,我可以从C++切换到XNA语言)?XNA是否支持OpenGL
回答
XnaTouch实现在iPhone上运行,因此在底层使用OpenGL ES。它通过Mono项目(特别是iPhone的MonoTouch)使用C#。这可以想象将其用作将XNA移植到不支持DirectX的其他平台(例如:Mac,Linux)的基础。 (注:在我的经验中XnaTouch执行不是很好)
显然,在Xbox 360不使用OpenGL在所有 - 它使用DirectX - 你没有得到这个选项。
我甚至不明白你为什么想要使用XNA,但是在OpenGL下,在Windows上,现有的XNA实现工作的很好。
我只是有点担心学习一个全新的图形库,但我想我有没有选择。这是一个耻辱XNA或XBox不支持OpenGL - 它会使它对我认为更小的开发者更有吸引力。感谢您的建议:) – Bojangles 2010-11-10 15:34:23
@JamWaffles幸运的是,改变图形库就像改变编程语言一样。基本概念都是一样的 - 它只是顶点缓冲区和索引缓冲区,着色器和渲染状态等等。 (不可否认,OpenGL可以让你使用XNA不支持的即时模式等事情,但是这些东西太过时了,太慢了,以至于你不应该使用它们)。 – 2010-11-11 00:25:30
这就是我在做所有OpenGL的工作,直到20几秒钟前,当我读你的帖子!我将使用更多的顶点缓冲区和绝对着色器 - 它们看起来很酷,但我还没有设法绕过GLSL。从我在这篇文章中读到的内容看,在我移植到XNA之前,看起来有一段时间。应该最终到达那里! – Bojangles 2010-11-11 16:18:32
不,不是直接。 XNA构建于DirectX之上。
但是,如果你想使用OpenGL的包装,你可以分离出一个单独的窗口。您需要使用非官方的绑定,才能做到这一点。然后在这里使用XNA构造。我一直在做这样的项目,并不会推荐它。有两种使用XNA的方法。书中的方法对大多数人来说太有限了,或者相反。 '其他'方式不使用基础游戏类和处理自己的游戏逻辑。使用另一种渲染方法的第二种方法是太多的工作,没有真正的回报。
我建议你的游戏逻辑和图形是分开的。如果您决定在以后的日期移植,那么转换应该更容易从C++转换为C#。
此外,XNA不是一种语言。这是一个使用C#构建的框架。
Bah!废话。好吧。看起来XBox不会得到我的任何代码,这是我猜的好。另外,感谢额外的信息 - OpenGL的实现看起来很可怕!至于XNA不是一种语言,我知道它使用.NET,但不知何故忘了在我的OP中提到。非常感谢:) – Bojangles 2010-11-09 20:10:53
不客气。尽管如此,我鼓励你查看XNA。我曾经是一个硬核C++的坚果,但与XNA的几个星期,你会爱上它。与C++相比,加上C#是一种乐趣。目前没有帮助你,但值得一玩。 – Finglas 2010-11-09 20:17:43
好点。当我有一个工作的C++/OpenGL实现我的游戏时,我肯定会有一个玩法(想想几年:-P) – Bojangles 2010-11-10 15:35:44
- 1. 我的电脑是否支持OpenGL 2.1?
- 2. 检查是否支持DirectX或OpenGL
- 3. HTC Magic是否支持OpenGl ES 2.0?
- 4. Silverlight是否真的不支持OpenGL?
- 5. 英特尔IPP是否支持任何支持OpenGL的GPU?
- 6. 库支持OpenGL
- 7. Android OpenGL-ES VBO支持与否?
- 8. Robotium支持OpenGL吗?
- 9. OpenGL多GPU支持
- 10. Libgdx - 支持OpenGL 4+
- 11. 是否支持groovvy
- 12. 是否支持SSI?
- 13. 是否支持DataGrid?
- 14. 是否支持MSNP9?
- 15. 是否支持ARC?
- 16. Android是否支持手表支持NFC
- 17. OpenGL:如何检查用户是否支持glGenBuffers()?
- 18. 是否支持OpenGl ES2.0的Android模拟器?
- 19. 如何检测openGL /卡是否支持2的非功率?
- 20. 如何确定GPU是否支持OpenGL的Gamma校正
- 21. 在OpenGL ES 2.0 Shader语言中是否支持modf()?
- 22. 知道OpenGL ES 2.0中是否支持函数
- 23. 未来的Android设备是否仍然支持OpenGL ES 1.x?
- 24. 渲染SVG支持OpenGL(和OpenGL ES)
- 25. Opengl ES 3.1支持ios?
- 26. openGL ES视网膜支持
- 27. Visual Studio 2012不支持OpenGL
- 28. OpenTK OpenGL GLSL 3.30不支持
- 29. OpenGL ES 2.0支持Android?
- 30. XElement是否支持nil = true
您的反微软态度很荒谬。特别是当你谈论XNA和.NET/C#时,它们被广泛认为是各自领域的最佳技术。除了“我讨厌微软”之外,你真的需要提出更好的选择平台的标准。 – 2010-11-10 00:49:47
我的歉意。我确实倾向于表达我的观点太难(轻描淡写?)。我会编辑我的OP,并保留我的个人意见。抱歉。 – Bojangles 2010-11-10 15:36:44