我想编写一个.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而设计的,但仍然很有希望。
答案 0 :(得分:7)
也许不是你想要的,但Unity3D是一个基于Mono的跨平台3D游戏环境,这意味着你可以在C#中编写你需要的位。独立版和专业版的独立版本是免费的。 http://unity3d.com/
答案 1 :(得分:3)
使用OpenTK
答案 2 :(得分:2)
我想看看Unity的想法,如果我记得正确使用C#作为脚本语言让你编写游戏代码(使用Mono),允许实际的渲染引擎等使用本机代码(大概是C ++)。
否则,我会担心将Mono用于3D图形或其他“硬核”用途......任何涉及GUI或渲染的东西我都会感到紧张。但这是我个人的选择,如果你有时间花时间研究它可能值得一起投放原型......但我不会写很多C#代码而没有能力在Linux很早就测试它以防万一的问题。
答案 3 :(得分:1)
您可能会考虑使用Qt和OpenGL。但是,我想,OpenGL可能太低级了(读作:“不必要的复杂”),以满足您的特殊需求。