我应该使用.NET / Mono / Tao / OpenTK / ......还有其他什么?

时间:2010-08-02 09:44:59

标签: .net mono opentk tao-framework

我对众多可供选择的框架感到困惑: 我想跨平台,甚至可以尝试为我的手机申请。可能是游戏,但也可能是其他东西。

  1. 我可以在Windows Phone上使用除Xna之外的其他东西吗?上述框架之一。
  2. Tao说这是一个基于Mono的框架。 (至少,当您在Google中搜索Tao框架时,这是直接的潜台词。) 但在他们的常见问题解答中,它说: “Mono Project是一个由Novell赞助的开放式开发计划,旨在开发一个开源的,UNIX版本的Microsoft .NET开发平台” 这意味着它是Mono的完全替代品,对吗?
  3. OpenTK是否总是需要使用Mono或Tao来跨平台工作?
  4. 谢谢

1 个答案:

答案 0 :(得分:9)

AFAIK,WinPhone7只支持XNA,即.NET类库的CF子集,以及XNA图形/音频/输入/等API。

Tao和OpenTK都是对OpenGL等的绑定。它们可以在.NET或Mono上使用,但仅适用于存在OpenGL等的平台。 OpenTK基本上是Tao的一个更好的版本 - 你不会同时使用它们。

可移植性的关键是像所有大型游戏引擎那样做 - 抽象出音频和视频渲染器以及输入系统。此渲染器对象将采用场景图并使用平台的API将其渲染到屏幕。所以在WinPhone和Xbox上你可以使用XnaRenderer;在Windows上,您可以使用XnaRenderer,OpenTKRenderer或DirectXRenderer;在Linux,Mac,iPhone(通过MonoTouch),Android(通过MonoDroid)上你可以使用OpenTkRenderer。

你可能想看看开源的C#Axiom3d图形引擎,它已经做到了。