View on GitHub


Documenting everything about OCaml




  • Wall: Vector drawing library using OpenGL as the backend.
  • archimedes: 2D plotting library.
  • cairo2: Bindings to Cairo, a 2D Vector Graphics Library. Integrates well with lablgtk.
  • Vg: Declarative 2D vector graphics for OCaml.
  • TSDL: An OCaml module providing thin bindings to the cross-platform SDL2 library. This library uses ctypes, and therefore requires less work to track changes to the C SDL libraries.
    • tsdl-ttf: Support for SDL’s truetype font library.
    • tsdl-mixer: Support for the sound mixer component of TSDL.
    • tsdl-image: Support for the image-loading component of SDL.
  • OcamlSDL2: Bindings to the SDL2 library using C files rather than ctypes. Bindings (possibly incomplete) exist also for SDL_image and SDL_mixer, but not for SDL_ttf.
  • OcamlSDL: Bindings to the older SDL v1.2 suite, including SDL_image, SDL_ttf, and SDL_mixer.
  • imagelib: Read and write various image formats. Backed by BigArrays.
  • owl_base: Part of Owl. This is essential for manipulating BigArrays efficiently (with vectorized operations), for graphics and such.
  • camlimages: Image manipulation library for different image formats (old).


  • Reprocessing: A Reason 2d graphics library inspired by Processing.


  • glMLite: OpenGL bindings for OCaml. Provides an experimental functional API.
  • lablgl: Interface to OpenGL. Integrates well with lablgtk.
  • tgls: Thin bindings to OpenGL 3.{2,3},4.{0,1,2,3,4} and OpenGL ES {2,3}.
  • glfw-ocaml: Bindings to GLFW, an OpenGL library providing OS-specific functionality, such as window, surface and input management.
  • ocaml-glfw: Another library with bindings to GLFW.

Linear Algebra

  • Owl: Numerical library, useful for fast linear algebra operations. See the Owl Manual for details.
  • reason-gl-matrix: Bindings to glm, the OpenGL linear algebra C++ library for graphics.

Functional Reactive Programming