An OpenGL context may be shared. Briefly,
this means that if a context c is
shared with a context
d, then certain types of objects
allocated on c are visible to
d, and vice versa. This is often
used in rendering engines to enable textures and other large resources
to be loaded on a separate background thread without interrupting
rendering. The jcanephora API
knows types of objects may be shared across contexts, and raises
errors at run-time if the user attempts to use a non-shared object
on the wrong context.