使用.NET的跨平台图形3D

时间:2010-06-25 08:53:03

标签: .net graphics 3d cross-platform xna

我想编写一个.NET应用程序,它提供动画世界的3D渲染。我在Windows PC上编码,但我的许多目标受众都将使用Linux。

有很多框架看起来很有用,我尽可能分为高级和低级:

低级图形

游戏开发框架

这些非竞争者中的任何一个吗?你发现什么是最好的选择,为什么?我正在寻找任何有见地的比较,以及建议/反对。其中一些声称可以作为XNA替代品。这是否意味着您可以部署到Win / Mac / Linux以及Xbox?有捕获吗?

我还不熟悉用于3D图形的OpenGL / DirectX / XNA API。这些中的任何一个都比其他人更容易使用吗?由于抽象级别较高,您是否会失去任何灵活性/功率/性能?

请注意,我将无法访问Linux机器一个月左右,因此我将无法在Linux上测试我的开发(因此这个问题)。

编辑我发现this table会在列表中添加更多内容。我把它们合并在上面。

编辑2 我倾向于Axiom。它提供了相当粗略的着陆,但在功能方面显示出真正的希望。 Here is a great summary article with user reviews。但到目前为止,初学者文档和示例项目很难使用。教程都引用了API的不同版本,并且它们都建议您使用不同的基类(不包括在API中)来开始。当然不是考虑到Pit Of Success而设计的,但仍然很有希望。

4 个答案:

答案 0 :(得分:7)

也许不是你想要的,但Unity3D是一个基于Mono的跨平台3D游戏环境,这意味着你可以在C#中编写你需要的位。独立版和专业版的独立版本是免费的。 http://unity3d.com/

答案 1 :(得分:3)

使用OpenTK

  • 这是OpenGL 这是平台 独立。这是强类型的

答案 2 :(得分:2)

我想看看Unity的想法,如果我记得正确使用C#作为脚本语言让你编写游戏代码(使用Mono),允许实际的渲染引擎等使用本机代码(大概是C ++)。

否则,我会担心将Mono用于3D图形或其他“硬核”用途......任何涉及GUI或渲染的东西我都会感到紧张。但这是我个人的选择,如果你有时间花时间研究它可能值得一起投放原型......但我不会写很多C#代码而没有能力在Linux很早就测试它以防万一的问题。

答案 3 :(得分:1)

您可能会考虑使用Qt和OpenGL。但是,我想,OpenGL可能太低级了(读作:“不必要的复杂”),以满足您的特殊需求。