;;;
(define-module
- (figl low-level gl)
+ (figl gl low-level)
#:use-module
- (figl low-level support)
+ (figl runtime)
+ #:use-module
+ (figl gl types)
#:export
(glAccum
glActiveTexture
glWindowPos3i
glWindowPos3d))
-(define-gl-procedure
+(define-foreign-procedure
((glAccum (op GLenum) (value GLfloat) -> void))
"Operate on the accumulation buffer.
`GL_INVALID_OPERATION' is generated if `glAccum' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glActiveTexture (texture GLenum) -> void))
"Select active texture unit.
where i ranges from 0 to the larger of (`GL_MAX_TEXTURE_COORDS' - 1) and
(`GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS' - 1).")
-(define-gl-procedure
+(define-foreign-procedure
((glAlphaFunc
(func GLenum)
(ref GLclampf)
`GL_INVALID_OPERATION' is generated if `glAlphaFunc' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glAreTexturesResident
(n GLsizei)
(textures *)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glArrayElement (i GLint) -> void))
"Render a vertex using the specified vertex array element.
bound to an enabled array and the buffer object's data store is
currently mapped.")
-(define-gl-procedure
+(define-foreign-procedure
((glAttachShader
(program GLuint)
(shader GLuint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBeginQuery
(target GLenum)
(id GLuint)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBegin (mode GLenum) -> void) (glEnd -> void))
"Delimit the vertices of a primitive or a group of like primitives.
`glBegin' and before the corresponding call to `glEnd', but an error may
or may not be generated.")
-(define-gl-procedure
+(define-foreign-procedure
((glBindAttribLocation
(program GLuint)
(index GLuint)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBindBuffer
(target GLenum)
(buffer GLuint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBindTexture
(target GLenum)
(texture GLuint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBitmap
(width GLsizei)
(height GLsizei)
`GL_INVALID_OPERATION' is generated if `glBitmap' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBlendColor
(red GLclampf)
(green GLclampf)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBlendEquationSeparate
(modeRGB GLenum)
(modeAlpha GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBlendEquation (mode GLenum) -> void))
"Specify the equation used for both the RGB blend equation and the Alpha
blend equation.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBlendFuncSeparate
(srcRGB GLenum)
(dstRGB GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBlendFunc
(sfactor GLenum)
(dfactor GLenum)
`GL_INVALID_OPERATION' is generated if `glBlendFunc' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBufferData
(target GLenum)
(size GLsizeiptr)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glBufferSubData
(target GLenum)
(offset GLintptr)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCallLists
(n GLsizei)
(type GLenum)
`GL_UNSIGNED_BYTE', `GL_SHORT', `GL_UNSIGNED_SHORT', `GL_INT',
`GL_UNSIGNED_INT', `GL_FLOAT', `GL_2_BYTES', `GL_3_BYTES', `GL_4_BYTES'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCallList (list GLuint) -> void))
"Execute a display list.
`glPopAttrib', `glPushMatrix', and `glPopMatrix' to preserve GL state
across `glCallList' calls.")
-(define-gl-procedure
+(define-foreign-procedure
((glClearAccum
(red GLfloat)
(green GLfloat)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glClearColor
(red GLclampf)
(green GLclampf)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glClearDepth (depth GLclampd) -> void))
"Specify the clear value for the depth buffer.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glClearIndex (c GLfloat) -> void))
"Specify the clear value for the color index buffers.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glClearStencil (s GLint) -> void))
"Specify the clear value for the stencil buffer.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glClear (mask GLbitfield) -> void))
"Clear buffers to preset values.
`GL_INVALID_OPERATION' is generated if `glClear' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glClientActiveTexture (texture GLenum) -> void))
"Select active texture unit.
`GL_INVALID_ENUM' is generated if TEXTURE is not one of `GL_TEXTURE'I ,
where i ranges from 0 to the value of `GL_MAX_TEXTURE_COORDS' - 1.")
-(define-gl-procedure
+(define-foreign-procedure
((glClipPlane (plane GLenum) (equation *) -> void))
"Specify a plane against which all geometry is clipped.
`GL_INVALID_OPERATION' is generated if `glClipPlane' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glColorMask
(red GLboolean)
(green GLboolean)
`GL_INVALID_OPERATION' is generated if `glColorMask' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glColorMaterial
(face GLenum)
(mode GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glColorPointer
(size GLint)
(type GLenum)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glColorSubTable
(target GLenum)
(start GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glColorTable
(target GLenum)
(internalformat GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glColor3i
(red GLint)
(green GLint)
components are clamped to this range before they are interpolated or
written into a color buffer.")
-(define-gl-procedure
+(define-foreign-procedure
((glCompileShader (shader GLuint) -> void))
"Compiles a shader object.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCompressedTexImage1D
(target GLenum)
(level GLint)
if DATA is not encoded in a manner consistent with the extension
specification defining the internal compression format.")
-(define-gl-procedure
+(define-foreign-procedure
((glCompressedTexImage2D
(target GLenum)
(level GLint)
if DATA is not encoded in a manner consistent with the extension
specification defining the internal compression format.")
-(define-gl-procedure
+(define-foreign-procedure
((glCompressedTexImage3D
(target GLenum)
(level GLint)
if DATA is not encoded in a manner consistent with the extension
specification defining the internal compression format.")
-(define-gl-procedure
+(define-foreign-procedure
((glCompressedTexSubImage1D
(target GLenum)
(level GLint)
if DATA is not encoded in a manner consistent with the extension
specification defining the internal compression format.")
-(define-gl-procedure
+(define-foreign-procedure
((glCompressedTexSubImage2D
(target GLenum)
(level GLint)
if DATA is not encoded in a manner consistent with the extension
specification defining the internal compression format.")
-(define-gl-procedure
+(define-foreign-procedure
((glCompressedTexSubImage3D
(target GLenum)
(level GLint)
if DATA is not encoded in a manner consistent with the extension
specification defining the internal compression format.")
-(define-gl-procedure
+(define-foreign-procedure
((glConvolutionFilter1D
(target GLenum)
(internalformat GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glConvolutionFilter2D
(target GLenum)
(internalformat GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glConvolutionParameterf
(target GLenum)
(pname GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyColorSubTable
(target GLenum)
(start GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyColorTable
(target GLenum)
(internalformat GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyConvolutionFilter1D
(target GLenum)
(internalformat GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyConvolutionFilter2D
(target GLenum)
(internalformat GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyPixels
(x GLint)
(y GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyTexImage1D
(target GLenum)
(level GLint)
`GL_DEPTH_COMPONENT', `GL_DEPTH_COMPONENT16', `GL_DEPTH_COMPONENT24', or
`GL_DEPTH_COMPONENT32' and there is no depth buffer.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyTexImage2D
(target GLenum)
(level GLint)
`GL_DEPTH_COMPONENT', `GL_DEPTH_COMPONENT16', `GL_DEPTH_COMPONENT24', or
`GL_DEPTH_COMPONENT32' and there is no depth buffer.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyTexSubImage1D
(target GLenum)
(level GLint)
`GL_TEXTURE_BORDER' of the texture image being modified. Note that W
includes twice the border width.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyTexSubImage2D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCopyTexSubImage3D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCreateProgram -> GLuint))
"Creates a program object.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCreateShader (shaderType GLenum) -> GLuint))
"Creates a shader object.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glCullFace (mode GLenum) -> void))
"Specify whether front- or back-facing facets can be culled.
`GL_INVALID_OPERATION' is generated if `glCullFace' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDeleteBuffers (n GLsizei) (buffers *) -> void))
"Delete named buffer objects.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDeleteLists
(list GLuint)
(range GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDeleteProgram (program GLuint) -> void))
"Deletes a program object.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDeleteQueries (n GLsizei) (ids *) -> void))
"Delete named query objects.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDeleteShader (shader GLuint) -> void))
"Deletes a shader object.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDeleteTextures
(n GLsizei)
(textures *)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDepthFunc (func GLenum) -> void))
"Specify the value used for depth buffer comparisons.
`GL_INVALID_OPERATION' is generated if `glDepthFunc' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDepthMask (flag GLboolean) -> void))
"Enable or disable writing into the depth buffer.
`GL_INVALID_OPERATION' is generated if `glDepthMask' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDepthRange
(nearVal GLclampd)
(farVal GLclampd)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDetachShader
(program GLuint)
(shader GLuint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDrawArrays
(mode GLenum)
(first GLint)
`GL_INVALID_OPERATION' is generated if `glDrawArrays' is executed
between the execution of `glBegin' and the corresponding `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDrawBuffers (n GLsizei) (bufs *) -> void))
"Specifies a list of color buffers to be drawn into.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDrawBuffer (mode GLenum) -> void))
"Specify which color buffers are to be drawn into.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDrawElements
(mode GLenum)
(count GLsizei)
`GL_INVALID_OPERATION' is generated if `glDrawElements' is executed
between the execution of `glBegin' and the corresponding `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDrawPixels
(width GLsizei)
(height GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glDrawRangeElements
(mode GLenum)
(start GLuint)
`GL_INVALID_OPERATION' is generated if `glDrawRangeElements' is executed
between the execution of `glBegin' and the corresponding `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glEdgeFlagPointer
(stride GLsizei)
(pointer *)
`GL_INVALID_ENUM' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glEdgeFlag (flag GLboolean) -> void))
"Flag edges as either boundary or nonboundary.
`GL_POLYGON_MODE' is set to `GL_POINT' or `GL_LINE'. See
`glPolygonMode'.")
-(define-gl-procedure
+(define-foreign-procedure
((glEnableClientState (cap GLenum) -> void)
(glDisableClientState (cap GLenum) -> void))
"Enable or disable client-side capability.
and the corresponding `glEnd', but an error may or may not be generated.
If no error is generated, the behavior is undefined.")
-(define-gl-procedure
+(define-foreign-procedure
((glEnableVertexAttribArray
(index GLuint)
->
' or `glDisableVertexAttribArray ' is executed between the execution of
`glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glEnable (cap GLenum) -> void)
(glDisable (cap GLenum) -> void))
"Enable or disable server-side GL capabilities.
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glEvalCoord1d (u GLdouble) -> void)
(glEvalCoord2d (u GLdouble) (v GLdouble) -> void))
"Evaluate enabled one- and two-dimensional maps.
automatic normal generation nor a normal map is enabled, no normal is
generated for `glEvalCoord2' commands.")
-(define-gl-procedure
+(define-foreign-procedure
((glEvalMesh1
(mode GLenum)
(i1 GLint)
`GL_INVALID_OPERATION' is generated if `glEvalMesh' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glEvalPoint1 (i GLint) -> void)
(glEvalPoint2 (i GLint) (j GLint) -> void))
"Generate and evaluate a single point in a mesh.
);")
-(define-gl-procedure
+(define-foreign-procedure
((glFeedbackBuffer
(size GLsizei)
(type GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glFinish -> void))
"Block until all GL execution is complete.
`GL_INVALID_OPERATION' is generated if `glFinish' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glFlush -> void))
"Force execution of GL commands in finite time.
`GL_INVALID_OPERATION' is generated if `glFlush' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glFogCoordPointer
(type GLenum)
(stride GLsizei)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glFogCoordd (coord GLdouble) -> void))
"Set the current fog coordinates.
vertex and the current raster position. The value specified is
interpolated and used in computing the fog color (see `glFog').")
-(define-gl-procedure
+(define-foreign-procedure
((glFogf (pname GLenum) (param GLfloat) -> void)
(glFogi (pname GLenum) (param GLint) -> void))
"Specify fog parameters.
`GL_INVALID_OPERATION' is generated if `glFog' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glFrontFace (mode GLenum) -> void))
"Define front- and back-facing polygons.
`GL_INVALID_OPERATION' is generated if `glFrontFace' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glFrustum
(left GLdouble)
(right GLdouble)
`GL_INVALID_OPERATION' is generated if `glFrustum' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGenBuffers (n GLsizei) (buffers *) -> void))
"Generate buffer object names.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGenLists (range GLsizei) -> GLuint))
"Generate a contiguous set of empty display lists.
`GL_INVALID_OPERATION' is generated if `glGenLists' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGenQueries (n GLsizei) (ids *) -> void))
"Generate query object names.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGenTextures (n GLsizei) (textures *) -> void))
"Generate texture names.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetActiveAttrib
(program GLuint)
(index GLuint)
`GL_INVALID_VALUE' is generated if BUFSIZE is less than 0.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetActiveUniform
(program GLuint)
(index GLuint)
`GL_INVALID_VALUE' is generated if BUFSIZE is less than 0.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetAttachedShaders
(program GLuint)
(maxCount GLsizei)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetAttribLocation
(program GLuint)
(name *)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetBufferSubData
(target GLenum)
(offset GLintptr)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetClipPlane
(plane GLenum)
(equation *)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetColorTable
(target GLenum)
(format GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetCompressedTexImage
(target GLenum)
(lod GLint)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetConvolutionFilter
(target GLenum)
(format GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetError -> GLenum))
"Return error information.
the execution of `glBegin' and the corresponding execution of `glEnd'.
In this case, `glGetError' returns 0.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetHistogram
(target GLenum)
(reset GLboolean)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetMinmax
(target GLenum)
(reset GLboolean)
`GL_INVALID_OPERATION' is generated if `glGetMinmax' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetPolygonStipple (pattern *) -> void))
"Return the polygon stipple pattern.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetProgramInfoLog
(program GLuint)
(maxLength GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetSeparableFilter
(target GLenum)
(format GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetShaderInfoLog
(shader GLuint)
(maxLength GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetShaderSource
(shader GLuint)
(bufSize GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetString (name GLenum) -> *))
"Return a string describing the current GL connection.
`GL_INVALID_OPERATION' is generated if `glGetString' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetTexImage
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glGetUniformLocation
(program GLuint)
(name *)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glHint (target GLenum) (mode GLenum) -> void))
"Specify implementation-specific hints.
`GL_INVALID_OPERATION' is generated if `glHint' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glHistogram
(target GLenum)
(width GLsizei)
`GL_INVALID_OPERATION' is generated if `glHistogram' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIndexMask (mask GLuint) -> void))
"Control the writing of individual bits in the color index buffers.
`GL_INVALID_OPERATION' is generated if `glIndexMask' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIndexPointer
(type GLenum)
(stride GLsizei)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glIndexi (c GLint) -> void)
(glIndexd (c GLdouble) -> void)
(glIndexub (c GLubyte) -> void))
bits in the integer portion of the resulting fixed-point value that do
not correspond to bits in the frame buffer are masked out.")
-(define-gl-procedure
+(define-foreign-procedure
((glInitNames -> void))
"Initialize the name stack.
`GL_INVALID_OPERATION' is generated if `glInitNames' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glInterleavedArrays
(format GLenum)
(stride GLsizei)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glIsBuffer (buffer GLuint) -> GLboolean))
"Determine if a name corresponds to a buffer object.
`GL_INVALID_OPERATION' is generated if `glIsBuffer' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIsEnabled (cap GLenum) -> GLboolean))
"Test whether a capability is enabled.
`GL_INVALID_OPERATION' is generated if `glIsEnabled' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIsList (list GLuint) -> GLboolean))
"Determine if a name corresponds to a display list.
`GL_INVALID_OPERATION' is generated if `glIsList' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIsProgram (program GLuint) -> GLboolean))
"Determines if a name corresponds to a program object.
`GL_INVALID_OPERATION' is generated if `glIsProgram' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIsQuery (id GLuint) -> GLboolean))
"Determine if a name corresponds to a query object.
`GL_INVALID_OPERATION' is generated if `glIsQuery' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIsShader (shader GLuint) -> GLboolean))
"Determines if a name corresponds to a shader object.
`GL_INVALID_OPERATION' is generated if `glIsShader' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glIsTexture (texture GLuint) -> GLboolean))
"Determine if a name corresponds to a texture.
`GL_INVALID_OPERATION' is generated if `glIsTexture' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLightModelf
(pname GLenum)
(param GLfloat)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLightf
(light GLenum)
(pname GLenum)
`GL_INVALID_OPERATION' is generated if `glLight' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLineStipple
(factor GLint)
(pattern GLushort)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLineWidth (width GLfloat) -> void))
"Specify the width of rasterized lines.
`GL_INVALID_OPERATION' is generated if `glLineWidth' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLinkProgram (program GLuint) -> void))
"Links a program object.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glListBase (base GLuint) -> void))
"Set the display-list base for .
`GL_INVALID_OPERATION' is generated if `glListBase' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLoadIdentity -> void))
"Replace the current matrix with the identity matrix.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLoadMatrixd (m *) -> void))
"Replace the current matrix with the specified matrix.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLoadName (name GLuint) -> void))
"Load a name onto the name stack.
`GL_INVALID_OPERATION' is generated if `glLoadName' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLoadTransposeMatrixd (m *) -> void))
"Replace the current matrix with the specified row-major ordered matrix.
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glLogicOp (opcode GLenum) -> void))
"Specify a logical pixel operation for color index rendering.
`GL_INVALID_OPERATION' is generated if `glLogicOp' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMap1d
(target GLenum)
(u1 GLdouble)
`GL_INVALID_OPERATION' is generated if `glMap1' is called and the value
of `GL_ACTIVE_TEXTURE' is not `GL_TEXTURE0'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMap2d
(target GLenum)
(u1 GLdouble)
`GL_INVALID_OPERATION' is generated if `glMap2' is called and the value
of `GL_ACTIVE_TEXTURE' is not `GL_TEXTURE0'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMapBuffer
(target GLenum)
(access GLenum)
is executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMapGrid1d
(un GLint)
(u1 GLdouble)
`GL_INVALID_OPERATION' is generated if `glMapGrid' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMaterialf
(face GLenum)
(pname GLenum)
`GL_INVALID_VALUE' is generated if a specular exponent outside the range
[0,128] is specified.")
-(define-gl-procedure
+(define-foreign-procedure
((glMatrixMode (mode GLenum) -> void))
"Specify which matrix is the current matrix.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMinmax
(target GLenum)
(internalformat GLenum)
`GL_INVALID_OPERATION' is generated if `glMinmax' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMultiDrawArrays
(mode GLenum)
(first *)
`GL_INVALID_OPERATION' is generated if `glMultiDrawArrays' is executed
between the execution of `glBegin' and the corresponding `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMultiDrawElements
(mode GLenum)
(count *)
`GL_INVALID_OPERATION' is generated if `glMultiDrawElements' is executed
between the execution of `glBegin' and the corresponding `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMultiTexCoord1i
(target GLenum)
(s GLint)
with each vertex and with the current raster position. Initially, the
values for (S,TRQ) are (0,001) .")
-(define-gl-procedure
+(define-foreign-procedure
((glMultMatrixd (m *) -> void))
"Multiply the current matrix with the specified matrix.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glMultTransposeMatrixd (m *) -> void))
"Multiply the current matrix with the specified row-major ordered matrix.
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glNewList (list GLuint) (mode GLenum) -> void)
(glEndList -> void))
"Create or replace a display list.
other change is made to the GL state. (It is as if no attempt had been
made to create the new display list.)")
-(define-gl-procedure
+(define-foreign-procedure
((glNormalPointer
(type GLenum)
(stride GLsizei)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glNormal3d
(nx GLdouble)
(ny GLdouble)
`GL_NORMALIZE' or `GL_RESCALE_NORMAL'. Normalization is initially
disabled.")
-(define-gl-procedure
+(define-foreign-procedure
((glOrtho
(left GLdouble)
(right GLdouble)
`GL_INVALID_OPERATION' is generated if `glOrtho' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPassThrough (token GLfloat) -> void))
"Place a marker in the feedback buffer.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPixelStoref
(pname GLenum)
(param GLfloat)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPixelTransferf
(pname GLenum)
(param GLfloat)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPixelZoom
(xfactor GLfloat)
(yfactor GLfloat)
`GL_INVALID_OPERATION' is generated if `glPixelZoom' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPointParameterf
(pname GLenum)
(param GLfloat)
`GL_POINT_SIZE_MAX', the point size after clamping is undefined, but no
error is generated.")
-(define-gl-procedure
+(define-foreign-procedure
((glPointSize (size GLfloat) -> void))
"Specify the diameter of rasterized points.
`GL_INVALID_OPERATION' is generated if `glPointSize' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPolygonMode
(face GLenum)
(mode GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPolygonOffset
(factor GLfloat)
(units GLfloat)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPolygonStipple (pattern *) -> void))
"Set the polygon stippling pattern.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPrioritizeTextures
(n GLsizei)
(textures *)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPushAttrib (mask GLbitfield) -> void)
(glPopAttrib -> void))
"Push and pop the server attribute stack.
is executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPushClientAttrib (mask GLbitfield) -> void)
(glPopClientAttrib -> void))
"Push and pop the client attribute stack.
`GL_STACK_UNDERFLOW' is generated if `glPopClientAttrib' is called while
the attribute stack is empty.")
-(define-gl-procedure
+(define-foreign-procedure
((glPushMatrix -> void) (glPopMatrix -> void))
"Push and pop the current matrix stack.
is executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glPushName (name GLuint) -> void)
(glPopName -> void))
"Push and pop the name stack.
executed between a call to `glBegin' and the corresponding call to
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glRasterPos2i (x GLint) (y GLint) -> void)
(glRasterPos2d (x GLdouble) (y GLdouble) -> void)
(glRasterPos3i
`GL_INVALID_OPERATION' is generated if `glRasterPos' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glReadBuffer (mode GLenum) -> void))
"Select a color buffer source for pixels.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glReadPixels
(x GLint)
(y GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glRectd
(x1 GLdouble)
(y1 GLdouble)
`GL_INVALID_OPERATION' is generated if `glRect' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glRenderMode (mode GLenum) -> GLint))
"Set rasterization mode.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glResetHistogram (target GLenum) -> void))
"Reset histogram table entries to zero.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glResetMinmax (target GLenum) -> void))
"Reset minmax table entries to initial values.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glRotated
(angle GLdouble)
(x GLdouble)
`GL_INVALID_OPERATION' is generated if `glRotate' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glSampleCoverage
(value GLclampf)
(invert GLboolean)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glScaled
(x GLdouble)
(y GLdouble)
`GL_INVALID_OPERATION' is generated if `glScale' is executed between the
execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glScissor
(x GLint)
(y GLint)
`GL_INVALID_OPERATION' is generated if `glScissor' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glSecondaryColorPointer
(size GLint)
(type GLenum)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glSecondaryColor3i
(red GLint)
(green GLint)
components are clamped to this range before they are interpolated or
written into a color buffer.")
-(define-gl-procedure
+(define-foreign-procedure
((glSelectBuffer
(size GLsizei)
(buffer *)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glSeparableFilter2D
(target GLenum)
(internalformat GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glShadeModel (mode GLenum) -> void))
"Select flat or smooth shading.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glShaderSource
(shader GLuint)
(count GLsizei)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glStencilFuncSeparate
(face GLenum)
(func GLenum)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glStencilFunc
(func GLenum)
(ref GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glStencilMaskSeparate
(face GLenum)
(mask GLuint)
executed between the execution of `glBegin' and the corresponding
execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glStencilMask (mask GLuint) -> void))
"Control the front and back writing of individual bits in the stencil
planes.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glStencilOpSeparate
(face GLenum)
(sfail GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glStencilOp
(sfail GLenum)
(dpfail GLenum)
`GL_INVALID_OPERATION' is generated if `glStencilOp' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexCoordPointer
(size GLint)
(type GLenum)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexCoord1i (s GLint) -> void)
(glTexCoord1d (s GLdouble) -> void)
(glTexCoord2i (s GLint) (t GLint) -> void)
with each vertex and with the current raster position. Initially, the
values for S, T, R, and Q are (0, 0, 0, 1).")
-(define-gl-procedure
+(define-foreign-procedure
((glTexEnvf
(target GLenum)
(pname GLenum)
`GL_INVALID_OPERATION' is generated if `glTexEnv' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexGeni
(coord GLenum)
(pname GLenum)
`GL_INVALID_OPERATION' is generated if `glTexGen' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexImage1D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexImage2D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexImage3D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexParameterf
(target GLenum)
(pname GLenum)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexSubImage1D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexSubImage2D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTexSubImage3D
(target GLenum)
(level GLint)
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glTranslated
(x GLdouble)
(y GLdouble)
`GL_INVALID_OPERATION' is generated if `glTranslate' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glUniform1f
(location GLint)
(v0 GLfloat)
`GL_INVALID_OPERATION' is generated if `glUniform' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glUseProgram (program GLuint) -> void))
"Installs a program object as part of current rendering state.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glValidateProgram (program GLuint) -> void))
"Validates a program object.
between the execution of `glBegin' and the corresponding execution of
`glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glVertexAttribPointer
(index GLuint)
(size GLint)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glVertexAttrib1s
(index GLuint)
(v0 GLshort)
`GL_INVALID_VALUE' is generated if INDEX is greater than or equal to
`GL_MAX_VERTEX_ATTRIBS'.")
-(define-gl-procedure
+(define-foreign-procedure
((glVertexPointer
(size GLint)
(type GLenum)
`GL_INVALID_VALUE' is generated if STRIDE is negative.")
-(define-gl-procedure
+(define-foreign-procedure
((glVertex2i (x GLint) (y GLint) -> void)
(glVertex2d (x GLdouble) (y GLdouble) -> void)
(glVertex3i
When only X and Y are specified, Z defaults to 0 and W defaults to 1.
When X , Y , and Z are specified, W defaults to 1.")
-(define-gl-procedure
+(define-foreign-procedure
((glViewport
(x GLint)
(y GLint)
`GL_INVALID_OPERATION' is generated if `glViewport' is executed between
the execution of `glBegin' and the corresponding execution of `glEnd'.")
-(define-gl-procedure
+(define-foreign-procedure
((glWindowPos2i (x GLint) (y GLint) -> void)
(glWindowPos2d (x GLdouble) (y GLdouble) -> void)
(glWindowPos3i