View on GitHub


Documenting everything about OCaml



Image Manipulation

  • stb_image: OCaml bindings to the C stb_image library. Loads images into BigArrays.
  • camlimages: Image manipulation library for different image formats.
  • imagelib: Read and write various image formats. Backed by BigArrays. Only PNGs and BMPs are supported – other formats are converted to PNG first.


  • 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.
  • owl_base: Part of Owl. This is essential for manipulating BigArrays efficiently (with vectorized operations), for graphics and such.


  • tgls: Thin bindings to OpenGL 3.{2,3},4.{0,1,2,3,4} and OpenGL ES {2,3}. This is the recommended library for OpenGL support in OCaml.
  • glMLite: OpenGL bindings for OCaml. Provides an experimental functional API.
  • lablgl: Interface to OpenGL and GLUT, a simple framework for creating simple applications with OpenGL.
  • 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.
  • ZENITH: A wireframe render with support for .obj models and simple materials

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