gl.gl_xxx ? gl.xx, GL.GL_XXX ? GL.XXX
From
Lawrence D?Oliveiro@3:633/10 to
All on Sat Jun 13 05:37:27 2026
import types
import OpenGL
import OpenGL.GL
import OpenGL.GLU
def gen_gl() :
# Funny thing: the OpenGL specs document all routines and
# constants *without* ?gl? and ?GL_? prefixes. It makes
# sense to add these in a language that does not have
# namespaces, like C. In Python, it does not. So this
# routine takes apart the contents of the PyOpenGL modules
# into separate pieces, with those unnecessary prefixes
# stripped. So instead of calling OpenGL.GL.glClear(), say,
# you can call gl.Clear(). And instead of referring to
# OpenGL.GL.GL_ACCUM, you can use GL.ACCUM instead.
# Much more concise all round.
gl = types.ModuleType("gl", doc = "OpenGL routines")
GL = types.ModuleType("GL", doc = "OpenGL constants")
glu = types.ModuleType("glu", doc = "OpenGL utility routines")
GLU = types.ModuleType("GLU", doc = "OpenGL utility constants")
for prefix, src, dest in \
(
("gl", OpenGL.GL, gl),
("GL_", OpenGL.GL, GL),
("glu", OpenGL.GLU, glu),
("GLU_", OpenGL.GLU, GLU),
) \
:
for name in dir(src) :
if name.startswith(prefix) :
setattr(dest, name[len(prefix):], getattr(src, name))
#end if
#end for
#end for
return \
gl, GL, glu, GLU
#end gen_gl
gl, GL, glu, GLU = gen_gl()
del gen_gl # your work is done
--- PyGate Linux v1.5.16
* Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)