【发布时间】:2026-01-12 21:45:02
【问题描述】:
如果您正在用 C# 编写一个 2d 图形密集型应用程序(如动画软件或具有自动图形控制的音乐音序器),哪个图形库更适合选择?
我想开发一个跨平台应用程序(至少在 Windows 7、Linux 上可移植),并且我想只使用 C#,避免在 C++ 中混合代码(也由于互操作问题)。
我已经尝试过 OpenTK,但它缺乏文档,而且它似乎不是很稳定(使用 Mono 它有时会使我的 X 服务器崩溃!!!)...也许我错了,但我觉得它不是一个长期支持的库,它会死......
对于 .NET/Mono 是否有良好且稳定的 OpenGL 包装器?
我知道在 Mono (Moonlight) 上有一个 Silverlight 的移植,但我读到它的性能很差。
谢谢。
【问题讨论】:
-
不同意您对 OpenTK 的解释。几乎不需要文档,它是一个非常纤薄的包装器,几乎没有/没有陷阱。它正在积极开发和改进(+瘦身!),尽管根据我的经验,它足够稳定,不需要积极支持。我将 Mono 与 OpenTK + Windows.Forms 一起使用,问题很少,尽管 Mono 在某些事情上非常不稳定。
-
@Rushyo:也许我的问题是我对 OpenGL 的经验很差,我几乎猜不出它的方法应该实现哪些类:-/ 但例如,我发现很难找到一种编写方法一些使用 OpenTK 的文本。如果我学习了 OpenGL 基础(在 C++ 中)然后切换到 OpenTK 会怎样?这是个好主意吗?
-
在 OpenGL 中编写文本至少可以说是一种痛苦。 OpenTK 实际上包括一个(非常过时的)名为“TextWriter”(IIRC)的类来帮助解决这个问题。 OpenGL 完全不提供这样的功能。看看这个:sjbaker.org/steve/omniv/opengl_text.html 不要把 'GLUT' 和其他类似的实用程序库误认为是 OpenGL。它们是附加功能。 OpenGL 是一个非常苗条的包。听起来你在寻找一个框架而不是一个包装器。 OpenTK 在旧版本中提供了比 OpenGL 更多的功能。随着它变得更薄,它逐渐提供相同的功能。
标签: c# .net opengl graphics mono