The com.io7m.jcanephora package implements a set of abstractions over OpenGL with the intention of providing an API that enforces program correctness statically.


  • Strongly typed wrappers for OpenGL 3.3 objects: No more accidental API misuse
  • Run-time checking (where static checks are not possible) of various OpenGL preconditions and invariants
  • Generated cursor types for efficient and safe texture updates (provided by jpra)
  • Strict checking of cross-context object sharing
  • Run-time type checking of shader parameters
  • Large automated test suite: ~95% coverage
  • API design that abstracts over both JOGL and LWJGL3; Write your code once, choose which OpenGL bindings you use at compile time.
  • OSGi-ready.
  • ISC license