HUTell的GLUT替代品?

Lan*_*nbo 11 opengl glut haskell sdl glfw

我不想使用GLUT,因为它没有类似Haskell的感觉.IORef由于回调,它基本上迫使你使用等等.

我考虑过GLFW,这似乎很简单,让我在monad中进行游戏循环.但它似乎有不同的硬件问题,例如,它在我的笔记本电脑上工作正常,但不在我的桌面上.在窗户上,纹理消失了.

所以我想通过SDL进入,但是Windows依赖关系可能存在问题,我只是不知道需要哪个DLL.

那么打开OpenGL窗口还剩下什么呢?

luq*_*qui 14

GLUT,其声誉不佳,完好无损,是我发现的最好的.

然而,不使用它并不是一个好的理由.您的级别低于您希望在此处用于项目的抽象级别.同样,你不应该使用OpenGL,因为它与命令式思想深深纠缠在一起.

但是GLUT和OpenGL都很好.关键是在使用它们之前将它们包装成更好的抽象.我已经发布了在OpenGL,图形绘图组合器中破解我的2D图形包装器.我相信还有其他的尝试,我已经离开了图形游戏一段时间,所以我不再精通最先进的技术.

结束GLUT有点困难.IORefs并不比IO它本身更具功能性,并且在避开IO(和其他命令性构造)时表达交互性,你将需要某种形式的FRP.最后,这些FRP库将最终包含在它们下面的命令性想法 - 当你处理为C编写的库时,你不会逃避这一点.无论如何,生活在其下的东西是非常不重要的 - 所有软件都有电压系统.

无论如何,几年前我正在研究时,GLUT是唯一真正跨平台工作的图书馆.我更喜欢所有其他界面,但每个界面只能在某些受控条件下工作.这是一个主要的限制,如果你不分享,你可能会尝试其他的东西.但是窗口界面是一个很容易包装的薄层,你不需要根据这个选择作出任何重大决定.