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

时间:2010-08-11 13:49:23

标签: c# .net opengl graphics mono

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

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

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

是否有适用于.NET / Mono的良好且稳定的 OpenGL包装器?

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

谢谢。

7 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

目前,为了您的目的,我建议MonoXNA

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

由于您正在寻找活跃且受支持的内容,Qt怎么样?它有.NET support。这不是我个人使用的东西,但它们肯定已经存在了很长时间。

答案 5 :(得分:0)

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

如果你热衷于可以试试Moonlight.Desktop,那么稳定版本可以很好地运行silverlight 2.0控件,测试版支持silverlight 3.0和4.0版本的一些,我已经制作了许多小单片应用程序在Linux和Windows上,但有一些人工黑客的构建脚本来构建我的项目。

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

答案 6 :(得分:0)

Csgl非常稳定......因为它已经不再开发了。

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

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