Language bindings

Jump to: navigation, search

OpenGL Language Bindings

OpenGL is supported on every major operating system, it works with every major windowing system, and it is callable from most programming languages. It offers complete independence from network protocols and topologies.

All OpenGL applications produce consistent visual display results on any OpenGL API-compliant hardware, regardless of operating system or windowing system.


Common Lisp

  • cl-opengl is a set of CFFI bindings to OpenGL. It works with any implementation that supports CFFI and also includes optional bindings to GLU and GLUT.
  • cl-glfw includes, in addition to the GLFW bindings, a set of automatically generated OpenGL bindings, and a hand-written interface to GLU. (last update in mid-2008)


  • The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenCL and OpenAL
  • The Tao Framework for .NET is a collection of bindings to facilitate cross-platform game-related development utilizing the .NET platform.
  • OpenGL4Net is a simple wrapper of OpenGL 4.3 for .NET platform.
  • OpenGL DotNet is a full-featured OpenGL, GLU, GLUT/FREEGLUT, DevIL/ILU/ILUT wrapper, supporting up to OpenGL version 4.4 and over 550+ OpenGL Extensions.

Delphi/Free Pascal (Object Pascal)

  • GlScene Delphi and Lazarus/FreePascal. High level (GUI) components and bindings, only for 32 bit compilers, CrossPlatform with many designers, options and support for multiple 3D and image formats.
  • FreePascal CrossPlatform OpenGL headers are included for all platforms and CPUs, based on those from Delphi3D.
  • Lazarus IDE Has support for OpenGL using TOpenGlControl and other components.
  • Delphi OpenGL Bindings (german)


  • FORTRAN OpenGL (f90gl) bindings is a public domain implementation of the official Fortran 90 bindings for OpenGL. With the new bindings, a Fortran programmer can write standard-conforming graphics applications that will be portable over most computing platforms. The current version is Version 1.2.3 This version implements the interface for OpenGL 1.2, GLU 1.2, GLUT 3.7, and several extensions. It supports several Unix workstations and Windows 95/98/NT. It is also the Fortran interface for Mesa.




  • Java OpenGL (JOGL) bindings - the JOGL project hosts an implementation of the Java Bindings for OpenGL (JSR-231), and is designed to provide hardware-supported 3D graphics to applications written in Java. JOGL provides full access to the APIs in the OpenGL 1.3 - 3.0, 3.1 - 3.3, ≥ 4.0, ES 1.x and ES 2.x specification as well as nearly all vendor extensions, and integrates with the AWT and Swing widget sets. Coding demos are available.
  • Lightweight Java Game Library is aimed at professional and amateur Java programmers alike with support for OpenGL, OpenAL, Gamepads, Steering wheel and Joysticks.
  • Java 3D - Oracle's retained mode library layered on OpenGL.
  • OpenGL for Java (GL4Java)
  • jGL is a 3D graphics library for the JavaTM Programming Language with an API which is similar to that of OpenGL.
  • Java 3D for IRIX
  • JavaOpenGL 1.0a3 JavaOpenGL is a set of Java classes that let you program the OpenGL API on a Windows 95 or Windows NT box.


  • glMLite - provides the OpenGL API, GLU, Glut, GLE, FTGL, optimised texture loaders for jpeg, png and svg, and also a generic image loader. There is also an experimental module attempting to provide a functional interface to OpenGL.



  • Pike - provides a native interface to OpenGL, GLU and GLUT.


Note: File archives with headers are visible after login on linked site


  • PyOpenGL is a cross-platform open source Python binding to the standard OpenGL API providing 2-D and 3-D graphic drawing. PyOpenGL supports the GL, GLU, and GLUT libraries. The library can be used with the Tkinter, wxPython, FxPy, and Win32GUI windowing libraries (or almost any windowing library which can provide an OpenGL context).
  • PyGLUT makes GLUT available from the Python interpreter.



  • Allows use of OpenGL up to version 2.1 and GLU in default installation
  • Supports TBGL higher level abstraction over OpenGL

Visual Basic