On this page:
gl-version
gl-extensions
gl-has-extension?
gl-version-at-least?
GLsync?
set-gl-procedure-loader!
default-gl-procedure-loader

25 Additional utility procedures🔗ℹ

These procedures can be used to check the OpenGL version and supported extensions. Note that these, too, should only be called when an OpenGL context is active!

procedure

(gl-version)  (listof exact-integer?)

Returns the OpenGL version, as a list of exact integers. For example, version 3.1.2 would return a list (3 1 2).

procedure

(gl-extensions)  set-eq?

Returns the supported OpenGL extensions, as a set of symbols.

procedure

(gl-has-extension? extension)  boolean?

  extension : symbol?
Checks whether the given extension is supported.

procedure

(gl-version-at-least? version)  boolean?

  version : (listof exact-integer?)
Checks if the OpenGL version is at least the given version.

procedure

(GLsync? v)  boolean?

  v : any/c
Returns #t if v is an OpenGL sync object, #f otherwise.

procedure

(set-gl-procedure-loader! loader)  any

  loader : (-> string? (or/c cpointer? procedure? #f))
Registers a custom GL procedure loader. This is useful for exotic platforms which the default procedure loader does not know about. Note that the result of the loader is cached, so changing the loader halfway during your program will not work and will probably result in impressive crashes.

procedure

(default-gl-procedure-loader name)

  (or/c cpointer? procedure? #f)
  name : string?
This is the default loader. It knows how to load OpenGL procedures on Windows, MacOS X and Linux/Unix X11.