C#中的密集图形应用程序(使用.NET / Mono)

如果你在C#中编写一个2d图形密集型应用程序(如动画软件或带有自动图形控件的音序器),哪一个是图形库的更好选择?

我想开发一个跨平台的应用程序(至少在Windows 7,Linux上是可移植的),我只想使用C#,避免在C ++中混合代码(由于互操作问题)。

我已经尝试过OpenTK了,但它缺少文档,而且它似乎不是很稳定(使用Mono它会让我有时会崩溃X服务器!!!)……也许我错了,但是我觉得它不是一个长期支持的库,它会死…

.NET / Mono有一个好的和稳定的 OpenGL包装器吗?

我知道在Mono(Moonlight)上有一个Silverlight的移植,但我读到它的性能很差。

谢谢。

有irrlicht库,但我们决定在我们的项目中使用OpenTK。 除了最新版本(1.0)的一些缺点,它在Win7上运行相当稳定,它也适用于Linux。

您可以使用SDL.NET ,它是Simple DirectMedia Layer的.NET绑定,这是一个用于创建快速2D游戏的库。

另一种方式可能是GTK#,但我不知道它的图形性能。

现在,为了您的目的,我推荐MonoXNA

或者, CSGL (用于.NET / Mono的OpenGL包装器)

自从我用.NET研究跨平台游戏已经有一段时间了,但当我考虑这样做时, Unity游戏开发工具看起来很有吸引力。 我猜他们正在使用OpenGL,我不知道Unity在确实提供自己的Graphics API方面究竟在哪里,或者更多的是为了提供一套用于游戏开发的集成工具。 如果你之前没有看过它,虽然值得一看。

既然你正在寻找积极和支持的东西, Qt怎么样? 它有.NET支持 。 这不是我个人使用的东西,但它们肯定已经存在了很长时间。

如果你真的需要3D,我只考虑OpenGL。 你看过开罗了吗? 另外,据我所知,System.Drawing在mono + gtk上的效果与使用.Net的Windows一样。

如果你很热衷,你可以试试Moonlight.Desktop,稳定版本可以很好地运行silverlight 2.0控件,测试版支持silverlight 3.0和一些4.0版本,我已经制作了许多小型应用程序,在linux上使用mono和Windows,但有一些手动黑客的构建脚本,以建立我的项目。

除非你有理由不这样做,否则我会尝试在windows上做一个基本的silverlight桌面应用程序,并为linux / mono设置一个gtk#shell,同时保持两个平台的核心(模型+控制器)组装项目构建。

Csgl完全稳定……
……因为它不再发展。

我真的推荐TAO框架 。 它是跨平台(linux,mac os,windows)并且仍在开发中。 它非常庞大,具有很多function。

Irrlicht和(单声道)Xna专为游戏而设计。