chickadee » opengl-glew

Outdated egg!

This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.

If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.


Bindings to OpenGL with GLEW extension loading. This egg should work (at least) on Linux, OS X, Windows, and on OpenGL ES platforms.

Chicken's other opengl bindings are based on the old fixed function pipeline OpenGL. These bindings generated by bind with the OpenGL core header file. Additionally, bindings to GLEW are provided for extension management.

This egg can also be compiled to provide bindings for OpenGL ES. This will be done automatically when compiled on ARM systems, or with the feature gles (e.g. chicken-install -D gles).



All functions and constants from the OpenGL core header file are exported. Scheme style names are provided (underscores and camelCase replaced with hyphens), the gl prefix is removed from names, functions starting with is instead end in question marks, and constants are bookended by +s (e.g. delete-texture, enabled?, +arb-viewport-array+). The terms 1D, 2D and 3D are additionally hyphen separated in order to match their constant counterparts (e.g. tex-image-2d and +texture-2d+).

Functions whose C counterparts accept or return GLboolean accept or return a Scheme boolean value. Do not pass +true+ or +false+ to these functions.

GLEW functions


Required to initialize GLEW/OpenGL. An OpenGL context must be created before this is called.

is-supported? EXTENSION-NAMEprocedure

Query whether the OpenGL extension, given as a string, is supported.


For numerous examples of opengl-glew usage, look at the gl-utils egg, glls egg, or the noise egg.

Version history

Version 0.9.0

28 November 2014

Version 0.8.0

24 August 2014

Version 0.7.0

8 August 2014

Version 0.6.0

17 June 2014

Version 0.5.0

3 June 2014

Version 0.4.4

2 June 2014

Version 0.4.3

30 May 2014

Version 0.4.2

24 May 2014

Version 0.4.1

12 May 2014

Version 0.4.0

11 May 2014

Version 0.3.0

Version 0.2.0

Version 0.1.0

Source repository

Source available on GitHub.

Bug reports and patches welcome! Bugs can be reported via GitHub or to alex.n.charlton at gmail.


Alex Charlton



Contents »