No es exactamente una biblioteca "simple", pero hay mucha información en línea sobre OpenGL y GLUT, así como algunos tutoriales muy buenos y un montón de código de ejemplo.
El mayor problema al que se enfrenta es que los enlaces OpenGL y GLUT en Haskell no incluyen las bibliotecas a las que se enlazan. (Esto también se aplica a wxWidgets). Muchas distribuciones de Linux vienen con binarios OpenGL incluidos, pero no Windows. Se suponía que el Haskell Platform solucionaba esto, pero no me pareció a mí.
Así, suponiendo que va a instalar en Windows, esto es lo que yo recomiendo que pruebe:
- Siga las instrucciones in this blog a la carta. Son complicados, involucran instalaciones de MinGW, MSys y compilación manual de un proyecto GLUT de SourceForge, pero es la única forma en que he hecho funcionar OpenGL. Ahora instalé con éxito en tres máquinas separadas, incluyendo XP y Vista, así que puedo decir con seguridad que estas son muy buenas direcciones.
- Una vez que funciona, consulte estos twoawesome tutoriales. Realmente me abrieron los ojos sobre lo poderoso que Haskell puede ser cuando se trata de gráficos. Encontrará que el código involucrado es mucho más simple de lo que pueda haber anticipado.
- Echa un vistazo a los juegos de ejemplo en el Haskell OpenGL page. Son muy experimentales, lo cual es bueno, ya que significa menos código para navegar que el que encontrarás en un sistema de producción, pero también son sorprendentemente sofisticados. (Y sí, ya hay más de una implementación escueta de Tetris, pero no dejes que eso te detenga).
- Otra buena fuente de código de muestra es el enlace GLUT de Haskell. Busque el directorio de ejemplos y encontrará muchos puertos de código de muestra del OpenGL Red Book.
OpenGL es muy asertivo, por lo que es posible que el código de Haskell sea un poco desalentador si aún no has asimilado completamente las Monad. Estoy usando mis experimentos de OpenGL como motivación para finalmente concentrarme en el concepto.
¡Buena suerte!
Es extremadamente importante que una de las primeras cosas que hagas es descargar Cabal Install. Sin eso, la gestión de la dependencia es horrible. – Rayne
Cabal es genial, definitivamente deberías descargarlo.Pero no resuelve el problema de la falta de bibliotecas nativas subyacentes. Muchas bibliotecas (p. Ej., WxWidgets, OpenGL, probablemente GTK) simplemente no están incluidas en el paquete Cabal. – rtperson
Acabo de echar un vistazo al GTK2HS de Haskell, e incluye la pila completa de GTK (lo cual es bueno). Desafortunadamente, no tiene un paquete Cabal (no es tan bueno), y su instalador requiere GHC 6.10.3. No es "6.10.3 o superior", solo "6.10.3". Bastante fácil de evitar, pero aún ...: P – rtperson