Graphics
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.
2D
- 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.
3D
- 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
See FRP