2

我参与了一个为其客户使用freeglut(基于长期失效的过剩)的开发项目。

客户端最终将允许与大型 3d 环境进行完全交互。我应该让 freeglut 继续开发(甚至可能)还是我应该建议他们使用另一种替代方案,例如 libsdl、opentk 甚至 axiom。

我不是图形专家,但我觉得 freeglut 可能是一个有限的选择。

最有说服力的答案(赞成或反对)将被认可。

编辑:有几点要说...

  • 该项目已经在使用 Tao 框架。
  • DirectX 和 XNA 不是选项(即:必须使用诸如 freeglut 或 libsdl 之类的东西)。

我确实进行了研究,发现 freeglut 再次处于积极开发中,并且他们正在等待发布。这并没有改变我的感觉,即它可能仍然是一个潜在的有限选择。

我的问题不在于它是如何完成的,而是关于 freeglut 是否仍然是可能会变大的东西的可行选择,以及是否有更多“现代”解决方案可以稍微简化开发。

编辑:如果其他替代方案具有更好的多线程支持(不是用于渲染对象,而是用于处理数据等),那将有所帮助。

编辑:更详细一点......客户端必须至少在linux和windows中工作。

谢谢!

4

3 回答 3

6

我不认为freeglut有什么问题。它正在积极开发中,并且在 Nabble 上有一个活跃的支持板。

也就是说,在 Windows 中创建 OpenGL 上下文并不难,为什么不直接使用它呢?我一直认为人们使用 Glut/FreeGlut,因为那是红皮书使用的。(虽然鼠标和键盘的回调确实简化了事情)我从来没有计时过,但 Glut 总感觉比通过互操作使用 OpenGL 慢一点。

如果你想直接使用 OpenGL,Tao 项目有一个很好的 OpenGL 包装器它还为 FreeGlut 和 GLFW 提供了很好的 .Net 绑定,这是一种 Glut 替代方案,它也提供鼠标和键盘回调。

于 2009-07-21T11:09:28.323 回答
3

我会选择 libsdl,它的多媒体功能也可以更轻松地使用音频硬件,它具有与 C# 和各种其他语言的本机绑定,如果您决定集成移动接口,也可以使用你的项目。

于 2009-07-29T14:06:10.810 回答
1

使用 C# 的 OpenGL 是通过包装器完成的。他们中的大多数都不再积极开发了。

使用 c# 进行 3d 开发的标准选择是使用托管的 directX,或者使用 XNA 库。

R

于 2009-07-21T08:36:46.213 回答