OpenTK.Compatibility The X-Ram Extension is provided on the top-end Sound Blaster X-Fi solutions (Sound Blaster X-Fi Fatal1ty, Sound Blaster X-Fi Elite Pro, or later). These products feature 64MB of X-Ram that can only be used for audio purposes, which can be controlled by this Extension. This function is used to set the storage Mode of an array of OpenAL Buffers. The number of OpenAL Buffers pointed to by buffer. An array of OpenAL Buffer handles. The storage mode that should be used for all the given buffers. Should be the value of one of the following enum names: XRamStorage.Automatic, XRamStorage.Hardware, XRamStorage.Accessible True if all the Buffers were successfully set to the requested storage mode, False otherwise. This function is used to set the storage Mode of an array of OpenAL Buffers. The number of OpenAL Buffers pointed to by buffer. An array of OpenAL Buffer handles. The storage mode that should be used for all the given buffers. Should be the value of one of the following enum names: XRamStorage.Automatic, XRamStorage.Hardware, XRamStorage.Accessible True if all the Buffers were successfully set to the requested storage mode, False otherwise. This function is used to retrieve the storage Mode of a single OpenAL Buffer. The handle of an OpenAL Buffer. The current Mode of the Buffer. This function is used to retrieve the storage Mode of a single OpenAL Buffer. The handle of an OpenAL Buffer. The current Mode of the Buffer. Returns True if the X-Ram Extension has been found and could be initialized. Query total amount of X-RAM in bytes. Query free X-RAM available in bytes. This enum is used to abstract the need of using AL.GetEnumValue() with the Extension. The values do NOT correspond to AL_STORAGE_* tokens! Put an Open AL Buffer into X-RAM if memory is available, otherwise use host RAM. This is the default mode. Force an Open AL Buffer into X-RAM, good for non-streaming buffers. Force an Open AL Buffer into 'accessible' (currently host) RAM, good for streaming buffers. Alc = Audio Library Context This function creates a context using a specified device. a pointer to a device a pointer to a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC Returns a pointer to the new context (NULL on failure). The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values. This function creates a context using a specified device. a pointer to a device an array of a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC Returns a pointer to the new context (NULL on failure). The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values. This function makes a specified context the current context. A pointer to the new context. Returns True on success, or False on failure. This function tells a context to begin processing. When a context is suspended, changes in OpenAL state will be accepted but will not be processed. alcSuspendContext can be used to suspend a context, and then all the OpenAL state changes can be applied at once, followed by a call to alcProcessContext to apply all the state changes immediately. In some cases, this procedure may be more efficient than application of properties in a non-suspended state. In some implementations, process and suspend calls are each a NOP. a pointer to the new context This function suspends processing on a specified context. When a context is suspended, changes in OpenAL state will be accepted but will not be processed. A typical use of alcSuspendContext would be to suspend a context, apply all the OpenAL state changes at once, and then call alcProcessContext to apply all the state changes at once. In some cases, this procedure may be more efficient than application of properties in a non-suspended state. In some implementations, process and suspend calls are each a NOP. a pointer to the context to be suspended. This function destroys a context. a pointer to the new context. This function retrieves the current context. Returns a pointer to the current context. This function retrieves a context's device pointer. a pointer to a context. Returns a pointer to the specified context's device. This function opens a device by name. a null-terminated string describing a device. Returns a pointer to the opened device. The return value will be NULL if there is an error. This function closes a device by name. a pointer to an opened device True will be returned on success or False on failure. Closing a device will fail if the device contains any contexts or buffers. This function retrieves the current context error state. a pointer to the device to retrieve the error state from Errorcode Int32. This function queries if a specified context extension is available. a pointer to the device to be queried for an extension. a null-terminated string describing the extension. Returns True if the extension is available, False if the extension is not available. This function retrieves the address of a specified context extension function. a pointer to the device to be queried for the function. a null-terminated string describing the function. Returns the address of the function, or NULL if it is not found. This function retrieves the enum value for a specified enumeration name. a pointer to the device to be queried. a null terminated string describing the enum value. Returns the enum value described by the enumName string. This is most often used for querying an enum value for an ALC extension. This function returns pointers to strings related to the context. ALC_DEFAULT_DEVICE_SPECIFIER will return the name of the default output device. ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER will return the name of the default capture device. ALC_DEVICE_SPECIFIER will return the name of the specified output device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. A list is a pointer to a series of strings separated by NULL characters, with the list terminated by two NULL characters. See Enumeration Extension for more details. ALC_CAPTURE_DEVICE_SPECIFIER will return the name of the specified capture device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. ALC_EXTENSIONS returns a list of available context extensions, with each extension separated by a space and the list terminated by a NULL character. a pointer to the device to be queried. an attribute to be retrieved: ALC_DEFAULT_DEVICE_SPECIFIER, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER, ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_EXTENSIONS A string containing the name of the Device. This function returns a List of strings related to the context. ALC_DEVICE_SPECIFIER will return the name of the specified output device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. A list is a pointer to a series of strings separated by NULL characters, with the list terminated by two NULL characters. See Enumeration Extension for more details. ALC_CAPTURE_DEVICE_SPECIFIER will return the name of the specified capture device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. ALC_EXTENSIONS returns a list of available context extensions, with each extension separated by a space and the list terminated by a NULL character. a pointer to the device to be queried. an attribute to be retrieved: ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_ALL_DEVICES_SPECIFIER A List of strings containing the names of the Devices. This function returns integers related to the context. a pointer to the device to be queried. an attribute to be retrieved: ALC_MAJOR_VERSION, ALC_MINOR_VERSION, ALC_ATTRIBUTES_SIZE, ALC_ALL_ATTRIBUTES the size of the destination buffer provided, in number of integers. a pointer to the buffer to be returned This function returns integers related to the context. a pointer to the device to be queried. an attribute to be retrieved: ALC_MAJOR_VERSION, ALC_MINOR_VERSION, ALC_ATTRIBUTES_SIZE, ALC_ALL_ATTRIBUTES the size of the destination buffer provided, in number of integers. a pointer to the buffer to be returned This function opens a capture device by name. a pointer to a device name string. the frequency that the buffer should be captured at. the requested capture buffer format. the size of the capture buffer in samples, not bytes. Returns the capture device pointer, or NULL on failure. This function opens a capture device by name. a pointer to a device name string. the frequency that the buffer should be captured at. the requested capture buffer format. the size of the capture buffer in samples, not bytes. Returns the capture device pointer, or NULL on failure. This function closes the specified capture device. a pointer to a capture device. Returns True if the close operation was successful, False on failure. This function begins a capture operation. alcCaptureStart will begin recording to an internal ring buffer of the size specified when opening the capture device. The application can then retrieve the number of samples currently available using the ALC_CAPTURE_SAPMPLES token with alcGetIntegerv. When the application determines that enough samples are available for processing, then it can obtain them with a call to alcCaptureSamples. a pointer to a capture device. This function stops a capture operation. a pointer to a capture device. This function completes a capture operation, and does not block. a pointer to a capture device. a pointer to a buffer, which must be large enough to accommodate the number of samples. the number of samples to be retrieved. This function completes a capture operation, and does not block. a pointer to a capture device. a reference to a buffer, which must be large enough to accommodate the number of samples. the number of samples to be retrieved. This function completes a capture operation, and does not block. a pointer to a capture device. a buffer, which must be large enough to accommodate the number of samples. the number of samples to be retrieved. This function completes a capture operation, and does not block. a pointer to a capture device. a buffer, which must be large enough to accommodate the number of samples. the number of samples to be retrieved. This function completes a capture operation, and does not block. a pointer to a capture device. a buffer, which must be large enough to accommodate the number of samples. the number of samples to be retrieved. Encapsulates a sound stream and provides decoding and streaming capabilities. Creates a new AudioReader that can read the specified sound file. The path to the sound file. A new OpenTK.Audio.AudioReader, which can be used to read from the specified sound file. Creates a new AudioReader that can read the specified soundstream. The System.IO.Stream to read from. A new OpenTK.Audio.AudioReader, which can be used to read from the specified sound stream. When overriden in a derived class, checks if the decoder supports the specified sound stream. The System.IO.Stream to check. True if the sound stream is supported; false otherwise. When overriden in a derived class, reads and decodes the specified number of samples from the sound stream. The number of samples to read and decode. An OpenTK.Audio.SoundData object that contains the decoded buffer. When overriden in a derived class, reads and decodes the sound stream. An OpenTK.Audio.SoundData object that contains the decoded buffer. Closes the underlying Stream and disposes of the AudioReader resources. Finalizes this AudioReader. Returns true if the AudioReader has reached the end of the file. Gets or sets the input of the AudioReader. OpenGL binding for .NET, implementing OpenGL 2.1, plus extensions. This class contains all OpenGL enums and functions defined in the 2.1 specification. The official .spec files can be found at: http://opengl.org/registry/. We rely on static initialization to obtain the entry points for OpenGL functions. Please ensure that a valid OpenGL context has been made current in the pertinent thread before any OpenGL functions are called (toolkits like GLUT, SDL or GLFW will automatically take care of the context initialization process). Without a valid OpenGL context, we will only be able to retrieve statically exported entry points (typically corresponding to OpenGL version 1.1 under Windows, 1.3 under Linux and 1.4 under Windows Vista), and extension methods will need to be loaded manually. If you prefer to have more control on extension loading, you can use the ReloadFunctions or ReloadFunction methods to manually force the initialisation of OpenGL entry points. The ReloadFunctions method should be called whenever you change an existing visual or pixelformat. This generally happens when you change the color/stencil/depth buffer associated with a window (but probably not the resolution). This may or may not be necessary under Linux/MacOS, but is generally required for Windows. You can use the Gl.IsExtensionSupported method to check whether any given category of extension functions exists in the current OpenGL context. The results can be cached to speed up future searches. Keep in mind that different OpenGL contexts may support different extensions, and under different entry points. Always check if all required extensions are still supported when changing visuals or pixel formats. You may retrieve the entry point for an OpenGL function using the Gl.GetDelegate method. Determines whether the specified OpenGL extension category is available in the current OpenGL context. Equivalent to IsExtensionSupported(name, true) The string for the OpenGL extension category (eg. "GL_ARB_multitexture") True if the specified extension is available, false otherwise. Creates a System.Delegate that can be used to call an OpenGL function, core or extension. The name of the OpenGL function (eg. "glNewList") The signature of the OpenGL function. A System.Delegate that can be used to call this OpenGL function, or null if the specified function name did not correspond to an OpenGL function. Loads all OpenGL functions (core and extensions). This function will be automatically called the first time you use any opengl function. There is Call this function manually whenever you need to update OpenGL entry points. This need may arise if you change the pixelformat/visual, or in case you cannot (or do not want) to use the automatic initialization of the GL class. Tries to reload the given OpenGL function (core or extension). The name of the OpenGL function (i.e. glShaderSource) True if the function was found and reloaded, false otherwise. Use this function if you require greater granularity when loading OpenGL entry points. While the automatic initialisation will load all OpenGL entry points, in some cases the initialisation can take place before an OpenGL Context has been established. In this case, use this function to load the entry points for the OpenGL functions you will need, or use ReloadFunctions() to load all available entry points. This function returns true if the given OpenGL function is supported, false otherwise. To query for supported extensions use the IsExtensionSupported() function instead. Builds a cache of all supported extensions. Retrieves the entry point for a dynamically exported OpenGL function. The function string for the OpenGL function (eg. "glNewList") An IntPtr contaning the address for the entry point, or IntPtr.Zero if the specified OpenGL function is not dynamically exported. The Marshal.GetDelegateForFunctionPointer method can be used to turn the return value into a call-able delegate. This function is cross-platform. It determines the underlying platform and uses the correct wgl, glx or agl GetAddress function to retrieve the function pointer. Executes "uname" which returns a string representing the name of the underlying Unix kernel. "Unix", "Linux", "Darwin" or null. Source code from "Mono: A Developer's Notebook" Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. The name of the OpenGL function (eg. "glNewList") The signature of the OpenGL function. A System.Delegate that can be used to call this OpenGL function or null if the function is not available in the current OpenGL context. Contains DllImports for the core OpenGL functions. Build a string->MethodInfo map to speed up extension loading. OpenGL bindings for .NET, implementing OpenGL 3.1, plus extensions. This class contains all OpenGL enums and functions defined in the 3.1 specification. The official .spec files can be found at: http://opengl.org/registry/. A valid OpenGL context must be created before calling any OpenGL function. Use the GL.Load and GL.LoadAll methods to prepare function entry points prior to use. To maintain cross-platform compatibility, this must be done for both core and extension functions. The GameWindow and the GLControl class will take care of this automatically. You can use the GL.SupportsExtension method to check whether any given category of extension functions exists in the current OpenGL context. Keep in mind that different OpenGL contexts may support different extensions, and under different entry points. Always check if all required extensions are still supported when changing visuals or pixel formats. You may retrieve the entry point for an OpenGL function using the GL.GetDelegate method. Operate on the accumulation buffer Specifies the accumulation buffer operation. Symbolic constants GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, and GL_RETURN are accepted. Specifies a floating-point value used in the accumulation buffer operation. op determines how value is used. Select active texture unit Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). The initial value is GL_TEXTURE0. Specify the alpha test function Specifies the alpha comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_ALWAYS. Specifies the reference value that incoming alpha values are compared to. This value is clamped to the range [0,1], where 0 represents the lowest possible alpha value and 1 the highest possible value. The initial reference value is 0. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Render a vertex using the specified vertex array element Specifies an index into the enabled vertex data arrays. Attaches a shader object to a program object Specifies the program object to which a shader object will be attached. Specifies the shader object that is to be attached. Attaches a shader object to a program object Specifies the program object to which a shader object will be attached. Specifies the shader object that is to be attached. Delimit the vertices of a primitive or a group of like primitives Specifies the primitive or primitives that will be created from vertices presented between glBegin and the subsequent glEnd. Ten symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON. Delimit the boundaries of a query object Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. Specifies the name of a query object. Delimit the boundaries of a query object Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. Specifies the name of a query object. Associates a generic vertex attribute index with a named attribute variable Specifies the handle of the program object in which the association is to be made. Specifies the index of the generic vertex attribute to be bound. Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. Associates a generic vertex attribute index with a named attribute variable Specifies the handle of the program object in which the association is to be made. Specifies the index of the generic vertex attribute to be bound. Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. Bind a named buffer object Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the name of a buffer object. Bind a named buffer object Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the name of a buffer object. Bind a named texture to a texturing target Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the name of a texture. Bind a named texture to a texturing target Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the name of a texture. Draw a bitmap Specify the pixel width and height of the bitmap image. Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes. Specify the x and y offsets to be added to the current raster position after the bitmap is drawn. Specifies the address of the bitmap image. Draw a bitmap Specify the pixel width and height of the bitmap image. Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes. Specify the x and y offsets to be added to the current raster position after the bitmap is drawn. Specifies the address of the bitmap image. Draw a bitmap Specify the pixel width and height of the bitmap image. Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes. Specify the x and y offsets to be added to the current raster position after the bitmap is drawn. Specifies the address of the bitmap image. Set the blend color specify the components of GL_BLEND_COLOR Specify the equation used for both the RGB blend equation and the Alpha blend equation specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Specify the equation used for both the RGB blend equation and the Alpha blend equation specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Specify the equation used for both the RGB blend equation and the Alpha blend equation specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Set the RGB blend equation and the alpha blend equation separately specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Set the RGB blend equation and the alpha blend equation separately specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Set the RGB blend equation and the alpha blend equation separately specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Specify pixel arithmetic Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specify pixel arithmetic Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specify pixel arithmetic Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specify pixel arithmetic for RGB and alpha components separately Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. Specify pixel arithmetic for RGB and alpha components separately Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. Specify pixel arithmetic for RGB and alpha components separately Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Execute a display list Specifies the integer name of the display list to be executed. Execute a display list Specifies the integer name of the display list to be executed. Execute a list of display lists Specifies the number of display lists to be executed. Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. Execute a list of display lists Specifies the number of display lists to be executed. Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. Execute a list of display lists Specifies the number of display lists to be executed. Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. Execute a list of display lists Specifies the number of display lists to be executed. Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. Execute a list of display lists Specifies the number of display lists to be executed. Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. Clear buffers to preset values Bitwise OR of masks that indicate the buffers to be cleared. The four masks are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT. Specify clear values for the accumulation buffer Specify the red, green, blue, and alpha values used when the accumulation buffer is cleared. The initial values are all 0. Specify clear values for the color buffers Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0. Specify the clear value for the depth buffer Specifies the depth value used when the depth buffer is cleared. The initial value is 1. Specify the clear value for the color index buffers Specifies the index used when the color index buffers are cleared. The initial value is 0. Specify the clear value for the stencil buffer Specifies the index used when the stencil buffer is cleared. The initial value is 0. Select active texture unit Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. The initial value is GL_TEXTURE0. Specify a plane against which all geometry is clipped Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted. Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation. Specify a plane against which all geometry is clipped Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted. Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation. Specify a plane against which all geometry is clipped Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted. Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Set the current color Specify new red, green, and blue values for the current color. Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. Enable and disable writing of frame buffer color components Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written. Enable and disable writing of frame buffer color components Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written. Enable and disable writing of frame buffer color components Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written. Cause a material color to track the current color Specifies whether front, back, or both front and back material parameters should track the current color. Accepted values are GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. The initial value is GL_FRONT_AND_BACK. Specifies which of several material parameters track the current color. Accepted values are GL_EMISSION, GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, and GL_AMBIENT_AND_DIFFUSE. The initial value is GL_AMBIENT_AND_DIFFUSE. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Compiles a shader object Specifies the shader object to be compiled. Compiles a shader object Specifies the shader object to be compiled. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The window coordinates of the left corner of the row of pixels to be copied. The number of table entries to replace. Copy pixels into a color table The color table target. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The internal storage format of the texture image. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The x coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. The y coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. The width of the pixel rectangle. Copy pixels into a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The window space coordinates of the lower-left coordinate of the pixel array to copy. The width of the pixel array to copy. Copy pixels into a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The window space coordinates of the lower-left coordinate of the pixel array to copy. The width of the pixel array to copy. The height of the pixel array to copy. Copy pixels in the frame buffer Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. Specify the dimensions of the rectangular region of pixels to be copied. Both must be nonnegative. Specifies whether color values, depth values, or stencil values are to be copied. Symbolic constants GL_COLOR, GL_DEPTH, and GL_STENCIL are accepted. Copy pixels into a 1D texture image Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specify the window coordinates of the left corner of the row of pixels to be copied. Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . The height of the texture image is 1. Specifies the width of the border. Must be either 0 or 1. Copy pixels into a 2D texture image Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . Specifies the height of the texture image. Must be 0 or 2 sup m + 2 ( border ) for some integer . Specifies the width of the border. Must be either 0 or 1. Copy a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the texel offset within the texture array. Specify the window coordinates of the left corner of the row of pixels to be copied. Specifies the width of the texture subimage. Copy a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Copy a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Creates a program object Creates a shader object Specifies the type of shader to be created. Must be either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER. Specify whether front- or back-facing facets can be culled Specifies whether front- or back-facing facets are candidates for culling. Symbolic constants GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. The initial value is GL_BACK. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete a contiguous group of display lists Specifies the integer name of the first display list to delete. Specifies the number of display lists to delete. Delete a contiguous group of display lists Specifies the integer name of the first display list to delete. Specifies the number of display lists to delete. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Deletes a shader object Specifies the shader object to be deleted. Deletes a shader object Specifies the shader object to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Specify the value used for depth buffer comparisons Specifies the depth comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_LESS. Enable or disable writing into the depth buffer Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE, depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled. Specify mapping of depth values from normalized device coordinates to window coordinates Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0. Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1. Detaches a shader object from a program object to which it is attached Specifies the program object from which to detach the shader object. Specifies the shader object to be detached. Detaches a shader object from a program object to which it is attached Specifies the program object from which to detach the shader object. Specifies the shader object to be detached. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the starting index in the enabled arrays. Specifies the number of indices to be rendered. Specify which color buffers are to be drawn into Specifies up to four color buffers to be drawn into. Symbolic constants GL_NONE, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, GL_FRONT_AND_BACK, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1, are accepted. (GL_AUX_BUFFERS is not the upper limit; use glGet to query the number of available aux buffers.) The initial value is GL_FRONT for single-buffered contexts, and GL_BACK for double-buffered contexts. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Write a block of pixels to the frame buffer Specify the dimensions of the pixel rectangle to be written into the frame buffer. Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Specifies a pointer to the pixel data. Write a block of pixels to the frame buffer Specify the dimensions of the pixel rectangle to be written into the frame buffer. Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Specifies a pointer to the pixel data. Write a block of pixels to the frame buffer Specify the dimensions of the pixel rectangle to be written into the frame buffer. Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Specifies a pointer to the pixel data. Write a block of pixels to the frame buffer Specify the dimensions of the pixel rectangle to be written into the frame buffer. Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Specifies a pointer to the pixel data. Write a block of pixels to the frame buffer Specify the dimensions of the pixel rectangle to be written into the frame buffer. Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Specifies a pointer to the pixel data. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Flag edges as either boundary or nonboundary Specifies the current edge flag value, either GL_TRUE or GL_FALSE. The initial value is GL_TRUE. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Flag edges as either boundary or nonboundary Specifies the current edge flag value, either GL_TRUE or GL_FALSE. The initial value is GL_TRUE. Enable or disable server-side GL capabilities Specifies a symbolic constant indicating a GL capability. Enable or disable client-side capability Specifies the capability to enable. Symbolic constants GL_COLOR_ARRAY, GL_EDGE_FLAG_ARRAY, GL_FOG_COORD_ARRAY, GL_INDEX_ARRAY, GL_NORMAL_ARRAY, GL_SECONDARY_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY, and GL_VERTEX_ARRAY are accepted. Enable or disable server-side GL capabilities Specifies a symbolic constant indicating a GL capability. Enable or disable server-side GL capabilities Specifies a symbolic constant indicating a GL capability. Enable or disable a generic vertex attribute array Specifies the index of the generic vertex attribute to be enabled or disabled. Enable or disable a generic vertex attribute array Specifies the index of the generic vertex attribute to be enabled or disabled. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Evaluate enabled one- and two-dimensional maps Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. Compute a one- or two-dimensional grid of points or lines In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines. Symbolic constants GL_POINT and GL_LINE are accepted. Specify the first and last integer values for grid domain variable . Compute a one- or two-dimensional grid of points or lines In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines. Symbolic constants GL_POINT and GL_LINE are accepted. Specify the first and last integer values for grid domain variable . Generate and evaluate a single point in a mesh Specifies the integer value for grid domain variable . Specifies the integer value for grid domain variable (glEvalPoint2 only). Generate and evaluate a single point in a mesh Specifies the integer value for grid domain variable . Specifies the integer value for grid domain variable (glEvalPoint2 only). Controls feedback mode Specifies the maximum number of values that can be written into buffer. Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted. Returns the feedback data. Controls feedback mode Specifies the maximum number of values that can be written into buffer. Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted. Returns the feedback data. Controls feedback mode Specifies the maximum number of values that can be written into buffer. Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted. Returns the feedback data. Block until all GL execution is complete Force execution of GL commands in finite time Set the current fog coordinates Specify the fog distance. Set the current fog coordinates Specify the fog distance. Set the current fog coordinates Specify the fog distance. Set the current fog coordinates Specify the fog distance. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Specify fog parameters Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. Specifies the value that pname will be set to. Specify fog parameters Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. Specifies the value that pname will be set to. Specify fog parameters Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. Specifies the value that pname will be set to. Specify fog parameters Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. Specifies the value that pname will be set to. Specify fog parameters Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. Specifies the value that pname will be set to. Specify fog parameters Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. Specifies the value that pname will be set to. Define front- and back-facing polygons Specifies the orientation of front-facing polygons. GL_CW and GL_CCW are accepted. The initial value is GL_CCW. Multiply the current matrix by a perspective matrix Specify the coordinates for the left and right vertical clipping planes. Specify the coordinates for the bottom and top horizontal clipping planes. Specify the distances to the near and far depth clipping planes. Both distances must be positive. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate a contiguous set of empty display lists Specifies the number of contiguous empty display lists to be generated. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns the handles of the shader objects attached to a program object Specifies the program object to be queried. Specifies the size of the array for storing the returned object names. Returns the number of names actually returned in objects. Specifies an array that is used to return the names of attached shader objects. Returns the handles of the shader objects attached to a program object Specifies the program object to be queried. Specifies the size of the array for storing the returned object names. Returns the number of names actually returned in objects. Specifies an array that is used to return the names of attached shader objects. Returns the handles of the shader objects attached to a program object Specifies the program object to be queried. Specifies the size of the array for storing the returned object names. Returns the number of names actually returned in objects. Specifies an array that is used to return the names of attached shader objects. Returns the handles of the shader objects attached to a program object Specifies the program object to be queried. Specifies the size of the array for storing the returned object names. Returns the number of names actually returned in objects. Specifies an array that is used to return the names of attached shader objects. Returns the handles of the shader objects attached to a program object Specifies the program object to be queried. Specifies the size of the array for storing the returned object names. Returns the number of names actually returned in objects. Specifies an array that is used to return the names of attached shader objects. Returns the handles of the shader objects attached to a program object Specifies the program object to be queried. Specifies the size of the array for storing the returned object names. Returns the number of names actually returned in objects. Specifies an array that is used to return the names of attached shader objects. Returns the location of an attribute variable Specifies the program object to be queried. Points to a null terminated string containing the name of the attribute variable whose location is to be queried. Returns the location of an attribute variable Specifies the program object to be queried. Points to a null terminated string containing the name of the attribute variable whose location is to be queried. Return parameters of a buffer object Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE. Returns the requested parameter. Return parameters of a buffer object Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE. Returns the requested parameter. Return parameters of a buffer object Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE. Returns the requested parameter. Return the pointer to a mapped buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. Returns the pointer value specified by pname. Return the pointer to a mapped buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. Returns the pointer value specified by pname. Return the pointer to a mapped buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. Returns the pointer value specified by pname. Return the pointer to a mapped buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. Returns the pointer value specified by pname. Return the pointer to a mapped buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. Returns the pointer value specified by pname. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Return the coefficients of the specified clipping plane Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1. Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0). Return the coefficients of the specified clipping plane Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1. Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0). Return the coefficients of the specified clipping plane Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1. Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0). Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Return error information Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Return light source parameter values Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. Returns the requested data. Return light source parameter values Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. Returns the requested data. Return light source parameter values Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. Returns the requested data. Return light source parameter values Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. Returns the requested data. Return light source parameter values Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. Returns the requested data. Return light source parameter values Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return evaluator parameters Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. Returns the requested data. Return material parameters Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. Returns the requested data. Return material parameters Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. Returns the requested data. Return material parameters Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. Returns the requested data. Return material parameters Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. Returns the requested data. Return material parameters Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. Returns the requested data. Return material parameters Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. Returns the requested data. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the specified pixel map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. Returns the pixel map contents. Return the address of the specified pointer Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. Returns the pointer value specified by pname. Return the address of the specified pointer Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. Returns the pointer value specified by pname. Return the address of the specified pointer Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. Returns the pointer value specified by pname. Return the address of the specified pointer Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. Returns the pointer value specified by pname. Return the address of the specified pointer Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. Returns the pointer value specified by pname. Return the polygon stipple pattern Returns the stipple pattern. The initial value is all 1's. Return the polygon stipple pattern Returns the stipple pattern. The initial value is all 1's. Return the polygon stipple pattern Returns the stipple pattern. The initial value is all 1's. Returns the information log for a program object Specifies the program object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns the information log for a program object Specifies the program object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns the information log for a program object Specifies the program object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns the information log for a program object Specifies the program object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Return parameters of a query object target Specifies a query object target. Must be GL_SAMPLES_PASSED. Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. Returns the requested data. Return parameters of a query object target Specifies a query object target. Must be GL_SAMPLES_PASSED. Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. Returns the requested data. Return parameters of a query object target Specifies a query object target. Must be GL_SAMPLES_PASSED. Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Returns the information log for a shader object Specifies the shader object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns the information log for a shader object Specifies the shader object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns the information log for a shader object Specifies the shader object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns the information log for a shader object Specifies the shader object whose information log is to be queried. Specifies the size of the character buffer for storing the returned information log. Returns the length of the string returned in infoLog (excluding the null terminator). Specifies an array of characters that is used to return the information log. Returns a parameter from a shader object Specifies the shader object to be queried. Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. Returns the requested object parameter. Returns a parameter from a shader object Specifies the shader object to be queried. Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. Returns the requested object parameter. Returns a parameter from a shader object Specifies the shader object to be queried. Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. Returns the requested object parameter. Returns a parameter from a shader object Specifies the shader object to be queried. Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. Returns the requested object parameter. Returns a parameter from a shader object Specifies the shader object to be queried. Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. Returns the requested object parameter. Returns a parameter from a shader object Specifies the shader object to be queried. Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. Returns the requested object parameter. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Return a string describing the current GL connection Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. Return a string describing the current GL connection Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. Return a string describing the current GL connection Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. Return texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Returns the requested data. Return texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Returns the requested data. Return texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Returns the requested data. Return texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Returns the requested data. Return texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Returns the requested data. Return texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return texture coordinate generation parameters Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. Returns the requested data. Return a texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Returns the texture image. Should be a pointer to an array of the type specified by type. Return a texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Returns the texture image. Should be a pointer to an array of the type specified by type. Return a texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Returns the texture image. Should be a pointer to an array of the type specified by type. Return a texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Returns the texture image. Should be a pointer to an array of the type specified by type. Return a texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Returns the texture image. Should be a pointer to an array of the type specified by type. Return texture parameter values for a specific level of detail Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. Returns the requested data. Return texture parameter values for a specific level of detail Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. Returns the requested data. Return texture parameter values for a specific level of detail Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. Returns the requested data. Return texture parameter values for a specific level of detail Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. Returns the requested data. Return texture parameter values for a specific level of detail Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. Returns the requested data. Return texture parameter values for a specific level of detail Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. Returns the requested data. Return texture parameter values Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. Returns the texture parameters. Return texture parameter values Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. Returns the texture parameters. Return texture parameter values Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. Returns the texture parameters. Return texture parameter values Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. Returns the texture parameters. Return texture parameter values Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. Returns the texture parameters. Return texture parameter values Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. Returns the texture parameters. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the location of a uniform variable Specifies the program object to be queried. Points to a null terminated string containing the name of the uniform variable whose location is to be queried. Returns the location of a uniform variable Specifies the program object to be queried. Points to a null terminated string containing the name of the uniform variable whose location is to be queried. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Return the address of the specified generic vertex attribute pointer Specifies the generic vertex attribute parameter to be returned. Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. Returns the pointer value. Specify implementation-specific hints Specifies a symbolic constant indicating the behavior to be controlled. GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted. Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted. Define histogram table The histogram whose parameters are to be set. Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The number of entries in the histogram table. Must be a power of 2. The format of entries in the histogram table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. If GL_TRUE, pixels will be consumed by the histogramming process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the minmax process after histogramming. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Control the writing of individual bits in the color index buffers Specifies a bit mask to enable and disable the writing of individual bits in the color index buffers. Initially, the mask is all 1's. Control the writing of individual bits in the color index buffers Specifies a bit mask to enable and disable the writing of individual bits in the color index buffers. Initially, the mask is all 1's. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Set the current color index Specifies the new value for the current color index. Initialize the name stack Simultaneously specify and enable several interleaved arrays Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. Specifies the offset in bytes between each aggregate array element. Simultaneously specify and enable several interleaved arrays Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. Specifies the offset in bytes between each aggregate array element. Simultaneously specify and enable several interleaved arrays Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. Specifies the offset in bytes between each aggregate array element. Simultaneously specify and enable several interleaved arrays Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. Specifies the offset in bytes between each aggregate array element. Simultaneously specify and enable several interleaved arrays Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. Specifies the offset in bytes between each aggregate array element. Determine if a name corresponds to a buffer object Specifies a value that may be the name of a buffer object. Determine if a name corresponds to a buffer object Specifies a value that may be the name of a buffer object. Test whether a capability is enabled Specifies a symbolic constant indicating a GL capability. Test whether a capability is enabled Specifies a symbolic constant indicating a GL capability. Test whether a capability is enabled Specifies a symbolic constant indicating a GL capability. Determine if a name corresponds to a display list Specifies a potential display list name. Determine if a name corresponds to a display list Specifies a potential display list name. Determines if a name corresponds to a program object Specifies a potential program object. Determines if a name corresponds to a program object Specifies a potential program object. Determine if a name corresponds to a query object Specifies a value that may be the name of a query object. Determine if a name corresponds to a query object Specifies a value that may be the name of a query object. Determines if a name corresponds to a shader object Specifies a potential shader object. Determines if a name corresponds to a shader object Specifies a potential shader object. Determine if a name corresponds to a texture Specifies a value that may be the name of a texture. Determine if a name corresponds to a texture Specifies a value that may be the name of a texture. Set light source parameters Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. Specifies the value that parameter pname of light source light will be set to. Set light source parameters Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. Specifies the value that parameter pname of light source light will be set to. Set light source parameters Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. Specifies the value that parameter pname of light source light will be set to. Set light source parameters Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. Specifies the value that parameter pname of light source light will be set to. Set light source parameters Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. Specifies the value that parameter pname of light source light will be set to. Set light source parameters Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. Specifies the value that parameter pname of light source light will be set to. Set the lighting model parameters Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. Specifies the value that param will be set to. Set the lighting model parameters Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. Specifies the value that param will be set to. Set the lighting model parameters Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. Specifies the value that param will be set to. Set the lighting model parameters Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. Specifies the value that param will be set to. Set the lighting model parameters Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. Specifies the value that param will be set to. Set the lighting model parameters Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. Specifies the value that param will be set to. Specify the line stipple pattern Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1. Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's. Specify the line stipple pattern Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1. Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's. Specify the width of rasterized lines Specifies the width of rasterized lines. The initial value is 1. Links a program object Specifies the handle of the program object to be linked. Links a program object Specifies the handle of the program object to be linked. Set the display-list base for glCallLists Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0. Set the display-list base for glCallLists Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0. Replace the current matrix with the identity matrix Replace the current matrix with the specified matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. Replace the current matrix with the specified matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. Replace the current matrix with the specified matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. Replace the current matrix with the specified matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. Replace the current matrix with the specified matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. Replace the current matrix with the specified matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. Load a name onto the name stack Specifies a name that will replace the top value on the name stack. Load a name onto the name stack Specifies a name that will replace the top value on the name stack. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Specify a logical pixel operation for color index rendering Specifies a symbolic constant that selects a logical operation. The following symbols are accepted: GL_CLEAR, GL_SET, GL_COPY, GL_COPY_INVERTED, GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED, GL_OR_REVERSE, and GL_OR_INVERTED. The initial value is GL_COPY. Define a one-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. Specifies the number of control points. Must be positive. Specifies a pointer to the array of control points. Define a one-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. Specifies the number of control points. Must be positive. Specifies a pointer to the array of control points. Define a one-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. Specifies the number of control points. Must be positive. Specifies a pointer to the array of control points. Define a one-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. Specifies the number of control points. Must be positive. Specifies a pointer to the array of control points. Define a one-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. Specifies the number of control points. Must be positive. Specifies a pointer to the array of control points. Define a one-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. Specifies the number of control points. Must be positive. Specifies a pointer to the array of control points. Define a two-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specifies a pointer to the array of control points. Define a two-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specifies a pointer to the array of control points. Define a two-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specifies a pointer to the array of control points. Define a two-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specifies a pointer to the array of control points. Define a two-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specifies a pointer to the array of control points. Define a two-dimensional evaluator Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. Specifies a pointer to the array of control points. Map a buffer object's data store Specifies the target buffer object being mapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. Define a one- or two-dimensional mesh Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. Specify the mappings for integer grid domain values i = 0 and i = un. Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). Define a one- or two-dimensional mesh Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. Specify the mappings for integer grid domain values i = 0 and i = un. Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). Define a one- or two-dimensional mesh Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. Specify the mappings for integer grid domain values i = 0 and i = un. Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). Define a one- or two-dimensional mesh Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. Specify the mappings for integer grid domain values i = 0 and i = un. Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). Specify material parameters for the lighting model Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. Specifies the value that parameter GL_SHININESS will be set to. Specify material parameters for the lighting model Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. Specifies the value that parameter GL_SHININESS will be set to. Specify material parameters for the lighting model Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. Specifies the value that parameter GL_SHININESS will be set to. Specify material parameters for the lighting model Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. Specifies the value that parameter GL_SHININESS will be set to. Specify material parameters for the lighting model Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. Specifies the value that parameter GL_SHININESS will be set to. Specify material parameters for the lighting model Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. Specifies the value that parameter GL_SHININESS will be set to. Specify which matrix is the current matrix Specifies which matrix stack is the target for subsequent matrix operations. Three values are accepted: GL_MODELVIEW, GL_PROJECTION, and GL_TEXTURE. The initial value is GL_MODELVIEW. Additionally, if the ARB_imaging extension is supported, GL_COLOR is also accepted. Define minmax table The minmax table whose parameters are to be set. Must be GL_MINMAX. The format of entries in the minmax table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. If GL_TRUE, pixels will be consumed by the minmax process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the final conversion process after minmax. Render multiple sets of primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of starting indices in the enabled arrays. Points to an array of the number of indices to be rendered. Specifies the size of the first and count Render multiple sets of primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of starting indices in the enabled arrays. Points to an array of the number of indices to be rendered. Specifies the size of the first and count Render multiple sets of primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of starting indices in the enabled arrays. Points to an array of the number of indices to be rendered. Specifies the size of the first and count Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Multiply the current matrix with the specified matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. Multiply the current matrix with the specified matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. Multiply the current matrix with the specified matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. Multiply the current matrix with the specified matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. Multiply the current matrix with the specified matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. Multiply the current matrix with the specified matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Create or replace a display list Specifies the display-list name. Specifies the compilation mode, which can be GL_COMPILE or GL_COMPILE_AND_EXECUTE. Create or replace a display list Specifies the display-list name. Specifies the compilation mode, which can be GL_COMPILE or GL_COMPILE_AND_EXECUTE. Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Set the current normal vector Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Multiply the current matrix with an orthographic matrix Specify the coordinates for the left and right vertical clipping planes. Specify the coordinates for the bottom and top horizontal clipping planes. Specify the distances to the nearer and farther depth clipping planes. These values are negative if the plane is to be behind the viewer. Place a marker in the feedback buffer Specifies a marker value to be placed in the feedback buffer following a GL_PASS_THROUGH_TOKEN. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set up pixel transfer maps Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. Specifies the size of the map being defined. Specifies an array of mapsize values. Set pixel storage modes Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_IMAGES, and GL_PACK_ALIGNMENT. Six more affect the unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_IMAGE_HEIGHT, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_IMAGES, and GL_UNPACK_ALIGNMENT. Specifies the value that pname is set to. Set pixel storage modes Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_IMAGES, and GL_PACK_ALIGNMENT. Six more affect the unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_IMAGE_HEIGHT, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_IMAGES, and GL_UNPACK_ALIGNMENT. Specifies the value that pname is set to. Set pixel transfer modes Specifies the symbolic name of the pixel transfer parameter to be set. Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS. Additionally, if the ARB_imaging extension is supported, the following symbolic names are accepted: GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, and GL_POST_CONVOLUTION_ALPHA_BIAS. Specifies the value that pname is set to. Set pixel transfer modes Specifies the symbolic name of the pixel transfer parameter to be set. Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS. Additionally, if the ARB_imaging extension is supported, the following symbolic names are accepted: GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, and GL_POST_CONVOLUTION_ALPHA_BIAS. Specifies the value that pname is set to. Specify the pixel zoom factors Specify the and zoom factors for pixel write operations. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify the diameter of rasterized points Specifies the diameter of rasterized points. The initial value is 1. Select a polygon rasterization mode Specifies the polygons that mode applies to. Must be GL_FRONT for front-facing polygons, GL_BACK for back-facing polygons, or GL_FRONT_AND_BACK for front- and back-facing polygons. Specifies how polygons will be rasterized. Accepted values are GL_POINT, GL_LINE, and GL_FILL. The initial value is GL_FILL for both front- and back-facing polygons. Set the scale and units used to calculate depth values Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0. Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0. Set the polygon stippling pattern Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels. Set the polygon stippling pattern Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels. Set the polygon stippling pattern Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Push and pop the server attribute stack Specifies a mask that indicates which attributes to save. Values for mask are listed below. Push and pop the client attribute stack Specifies a mask that indicates which attributes to save. Values for mask are listed below. Push and pop the current matrix stack Push and pop the name stack Specifies a name that will be pushed onto the name stack. Push and pop the name stack Specifies a name that will be pushed onto the name stack. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Specify the raster position for pixel operations Specify the , , , and object coordinates (if present) for the raster position. Select a color buffer source for pixels Specifies a color buffer. Accepted values are GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1. Read a block of pixels from the frame buffer Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. Returns the pixel data. Read a block of pixels from the frame buffer Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. Returns the pixel data. Read a block of pixels from the frame buffer Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. Returns the pixel data. Read a block of pixels from the frame buffer Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. Returns the pixel data. Read a block of pixels from the frame buffer Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. Returns the pixel data. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Draw a rectangle Specify one vertex of a rectangle. Specify the opposite vertex of the rectangle. Set rasterization mode Specifies the rasterization mode. Three values are accepted: GL_RENDER, GL_SELECT, and GL_FEEDBACK. The initial value is GL_RENDER. Reset histogram table entries to zero Must be GL_HISTOGRAM. Reset minmax table entries to initial values Must be GL_MINMAX. Multiply the current matrix by a rotation matrix Specifies the angle of rotation, in degrees. Specify the x, y, and z coordinates of a vector, respectively. Multiply the current matrix by a rotation matrix Specifies the angle of rotation, in degrees. Specify the x, y, and z coordinates of a vector, respectively. Specify multisample coverage parameters Specify a single floating-point sample coverage value. The value is clamped to the range [0 ,1]. The initial value is 1.0. Specify a single boolean value representing if the coverage masks should be inverted. GL_TRUE and GL_FALSE are accepted. The initial value is GL_FALSE. Multiply the current matrix by a general scaling matrix Specify scale factors along the x, y, and z axes, respectively. Multiply the current matrix by a general scaling matrix Specify scale factors along the x, y, and z axes, respectively. Define the scissor box Specify the lower left corner of the scissor box. Initially (0, 0). Specify the width and height of the scissor box. When a GL context is first attached to a window, width and height are set to the dimensions of that window. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Establish a buffer for selection mode values Specifies the size of buffer. Returns the selection data. Establish a buffer for selection mode values Specifies the size of buffer. Returns the selection data. Establish a buffer for selection mode values Specifies the size of buffer. Returns the selection data. Establish a buffer for selection mode values Specifies the size of buffer. Returns the selection data. Establish a buffer for selection mode values Specifies the size of buffer. Returns the selection data. Establish a buffer for selection mode values Specifies the size of buffer. Returns the selection data. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Select flat or smooth shading Specifies a symbolic value representing a shading technique. Accepted values are GL_FLAT and GL_SMOOTH. The initial value is GL_SMOOTH. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Set front and back function and reference value for stencil testing Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Set front and back function and reference value for stencil testing Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Set front and/or back function and reference value for stencil testing Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Set front and/or back function and reference value for stencil testing Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Control the front and back writing of individual bits in the stencil planes Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. Control the front and back writing of individual bits in the stencil planes Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. Control the front and/or back writing of individual bits in the stencil planes Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. Control the front and/or back writing of individual bits in the stencil planes Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. Set front and back stencil test actions Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Set front and/or back stencil test actions Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Set the current texture coordinates Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Set texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. Set texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. Set texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. Set texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. Set texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. Set texture environment parameters Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Control the generation of texture coordinates Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Specify a one-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Set texture parameters Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. Specifies the value of pname. Set texture parameters Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. Specifies the value of pname. Set texture parameters Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. Specifies the value of pname. Set texture parameters Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. Specifies the value of pname. Set texture parameters Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. Specifies the value of pname. Set texture parameters Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. Specifies the value of pname. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Multiply the current matrix by a translation matrix Specify the x, y, and z coordinates of a translation vector. Multiply the current matrix by a translation matrix Specify the x, y, and z coordinates of a translation vector. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Installs a program object as part of current rendering state Specifies the handle of the program object whose executables are to be used as part of current rendering state. Installs a program object as part of current rendering state Specifies the handle of the program object whose executables are to be used as part of current rendering state. Validates a program object Specifies the handle of the program object to be validated. Validates a program object Specifies the handle of the program object to be validated. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specify a vertex Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Set the viewport Specify the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0). Specify the width and height of the viewport. When a GL context is first attached to a window, width and height are set to the dimensions of that window. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Determines whether the specified OpenGL extension category is available in the current OpenGL context. Equivalent to IsExtensionSupported(name, true) The string for the OpenGL extension category (eg. "GL_ARB_multitexture") True if the specified extension is available, false otherwise. Returns a System.Delegate wrapping the specified OpenGL function. You must use the base OpenGL name of the function (e.g. "glVertex3fv" instead of "Vertex3"). The name of the OpenGL function (eg. "glNewList") A System.Delegate that can be used to call this OpenGL function or null, if the specified function name does not correspond to an OpenGL function or if the function is not supported by the video drivers. Returns a System.Delegate wrapping an OpenGL function. The name of the OpenGL function (eg. "glNewList") The signature of the OpenGL function. A System.Delegate that can be used to call this OpenGL function, or null if the specified function name did not correspond to an OpenGL function. Loads all OpenGL functions (core and extensions). This function will be automatically called the first time you use any opengl function. There is Call this function manually whenever you need to update OpenGL entry points. This need may arise if you change the pixelformat/visual, or in case you cannot (or do not want) to use the automatic initialization of the GL class. Tries to reload the given OpenGL function (core or extension). The name of the OpenGL function (i.e. glShaderSource) True if the function was found and reloaded, false otherwise. Use this function if you require greater granularity when loading OpenGL entry points. While the automatic initialisation will load all OpenGL entry points, in some cases the initialisation can take place before an OpenGL Context has been established. In this case, use this function to load the entry points for the OpenGL functions you will need, or use ReloadFunctions() to load all available entry points. This function returns true if the given OpenGL function is supported, false otherwise. To query for supported extensions use the IsExtensionSupported() function instead. Loads an OpenGL function into a type-safe System.Delegate. The name of the OpenGL function (eg. "glNewList") The signature of the OpenGL function. A System.Delegate that can be used to call this OpenGL function, or null if the specified function name did not correspond to an OpenGL function. Checks if a given OpenGL function is supported by the current context The name of the OpenGL function (i.e. glShaderSource) True if the function is supported, false otherwise Checks if a given OpenGL function is supported by the current context The name of the OpenGL function (e.g. glShaderSource) The name of the extension catagory (e.g. ARB, EXT, ATI, ...) True if the function is supported, false otherwise Checks if a given OpenGL function is supported by the current context. The System.Reflection.MethodInfo for the OpenGL function. True if the function is supported, false otherwise. Builds a cache of the supported extensions to speed up searches. Retrieves the entry point for a dynamically exported OpenGL function. The function string for the OpenGL function (eg. "glNewList") An IntPtr contaning the address for the entry point, or IntPtr.Zero if the specified OpenGL function is not dynamically exported. The Marshal.GetDelegateForFunctionPointer method can be used to turn the return value into a call-able delegate. This function is cross-platform. It determines the underlying platform and uses the correct wgl, glx or agl GetAddress function to retrieve the function pointer. Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. The name of the OpenGL function (eg. "glNewList") The signature of the OpenGL function. A System.Delegate that can be used to call this OpenGL function or null if the function is not available in the current OpenGL context. Helper function that defines the coordinate origin of the Point Sprite. A OpenTK.Graphics.OpenGL.GL.PointSpriteCoordOriginParameter token, denoting the origin of the Point Sprite. Select active texture unit Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). The initial value is GL_TEXTURE0. Delimit the boundaries of a query object Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. Specifies the name of a query object. Delimit the boundaries of a query object Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. Specifies the name of a query object. Associates a generic vertex attribute index with a named attribute variable Specifies the handle of the program object in which the association is to be made. Specifies the index of the generic vertex attribute to be bound. Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. Associates a generic vertex attribute index with a named attribute variable Specifies the handle of the program object in which the association is to be made. Specifies the index of the generic vertex attribute to be bound. Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. Bind a named buffer object Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the name of a buffer object. Bind a named buffer object Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the name of a buffer object. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Creates and initializes a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the size in bytes of the buffer object's new data store. Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Updates a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. Specifies the size in bytes of the data store region being replaced. Specifies a pointer to the new data that will be copied into the data store. Select active texture unit Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. The initial value is GL_TEXTURE0. Compiles a shader object Specifies the shader object to be compiled. Compiles a shader object Specifies the shader object to be compiled. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture image in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the format of the compressed image data stored at address data. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a one-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a two-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Specify a three-dimensional texture subimage in a compressed format Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the compressed image data stored at address data. Specifies the number of unsigned bytes of image data starting at the address specified by data. Specifies a pointer to the compressed image data in memory. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Delete named buffer objects Specifies the number of buffer objects to be deleted. Specifies an array of buffer objects to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Delete named query objects Specifies the number of query objects to be deleted. Specifies an array of query objects to be deleted. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Enable or disable a generic vertex attribute array Specifies the index of the generic vertex attribute to be enabled or disabled. Enable or disable a generic vertex attribute array Specifies the index of the generic vertex attribute to be enabled or disabled. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate buffer object names Specifies the number of buffer object names to be generated. Specifies an array in which the generated buffer object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Generate query object names Specifies the number of query object names to be generated. Specifies an array in which the generated query object names are stored. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active attribute variable for the specified program object Specifies the program object to be queried. Specifies the index of the attribute variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the attribute variable. Returns the data type of the attribute variable. Returns a null terminated string containing the name of the attribute variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns information about an active uniform variable for the specified program object Specifies the program object to be queried. Specifies the index of the uniform variable to be queried. Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. Returns the size of the uniform variable. Returns the data type of the uniform variable. Returns a null terminated string containing the name of the uniform variable. Returns the location of an attribute variable Specifies the program object to be queried. Points to a null terminated string containing the name of the attribute variable whose location is to be queried. Returns the location of an attribute variable Specifies the program object to be queried. Points to a null terminated string containing the name of the attribute variable whose location is to be queried. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Returns a subset of a buffer object's data store Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. Specifies the size in bytes of the data store region being returned. Specifies a pointer to the location where buffer object data is returned. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Return a compressed texture image Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. Returns the compressed texture image. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Return parameters of a query object Specifies the name of a query object. Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. Returns the requested data. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Returns the source code string from a shader object Specifies the shader object to be queried. Specifies the size of the character buffer for storing the returned source code string. Returns the length of the string returned in source (excluding the null terminator). Specifies an array of characters that is used to return the source code string. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the location of a uniform variable Specifies the program object to be queried. Points to a null terminated string containing the name of the uniform variable whose location is to be queried. Returns the location of a uniform variable Specifies the program object to be queried. Points to a null terminated string containing the name of the uniform variable whose location is to be queried. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Determine if a name corresponds to a buffer object Specifies a value that may be the name of a buffer object. Determine if a name corresponds to a buffer object Specifies a value that may be the name of a buffer object. Determines if a name corresponds to a program object Specifies a potential program object. Determines if a name corresponds to a program object Specifies a potential program object. Determine if a name corresponds to a query object Specifies a value that may be the name of a query object. Determine if a name corresponds to a query object Specifies a value that may be the name of a query object. Links a program object Specifies the handle of the program object to be linked. Links a program object Specifies the handle of the program object to be linked. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Replace the current matrix with the specified row-major ordered matrix Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. Map a buffer object's data store Specifies the target buffer object being mapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Specifies the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Set the current texture coordinates Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Multiply the current matrix with the specified row-major ordered matrix Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify multisample coverage parameters Specify a single floating-point sample coverage value. The value is clamped to the range [0 ,1]. The initial value is 1.0. Specify a single boolean value representing if the coverage masks should be inverted. GL_TRUE and GL_FALSE are accepted. The initial value is GL_FALSE. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Replaces the source code in a shader object Specifies the handle of the shader object whose source code is to be replaced. Specifies the number of elements in the string and length arrays. Specifies an array of pointers to strings containing the source code to be loaded into the shader. Specifies an array of string lengths. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Validates a program object Specifies the handle of the program object to be validated. Validates a program object Specifies the handle of the program object to be validated. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Specifies a list of color buffers to be drawn into Specifies the number of buffers in bufs. Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Set front and/or back function and reference value for stencil testing Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Set front and/or back function and reference value for stencil testing Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Set front and/or back stencil test actions Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Determine if textures are loaded in texture memory Specifies the number of textures to be queried. Specifies an array containing the names of the textures to be queried. Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Render a vertex using the specified vertex array element Specifies an index into the enabled vertex data arrays. Bind a named texture to a texturing target Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the name of a texture. Bind a named texture to a texturing target Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. Specifies the name of a texture. Set the blend color specify the components of GL_BLEND_COLOR Specify the equation used for both the RGB blend equation and the Alpha blend equation specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Set the RGB blend equation and the alpha blend equation separately specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Specify pixel arithmetic for RGB and alpha components separately Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The number of table entries to replace. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Define a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The width of the pixel array referenced by data. The height of the pixel array referenced by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Set convolution parameters The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. Respecify a portion of a color table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The starting index of the portion of the color table to be replaced. The window coordinates of the left corner of the row of pixels to be copied. The number of table entries to replace. Copy pixels into a one-dimensional convolution filter Must be GL_CONVOLUTION_1D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The window space coordinates of the lower-left coordinate of the pixel array to copy. The width of the pixel array to copy. Copy pixels into a two-dimensional convolution filter Must be GL_CONVOLUTION_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The window space coordinates of the lower-left coordinate of the pixel array to copy. The width of the pixel array to copy. The height of the pixel array to copy. Copy pixels into a 1D texture image Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specify the window coordinates of the left corner of the row of pixels to be copied. Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . The height of the texture image is 1. Specifies the width of the border. Must be either 0 or 1. Copy pixels into a 2D texture image Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . Specifies the height of the texture image. Must be 0 or 2 sup m + 2 ( border ) for some integer . Specifies the width of the border. Must be either 0 or 1. Copy a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies the texel offset within the texture array. Specify the window coordinates of the left corner of the row of pixels to be copied. Specifies the width of the texture subimage. Copy a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Copy a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Delete named textures Specifies the number of textures to be deleted. Specifies an array of textures to be deleted. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the starting index in the enabled arrays. Specifies the number of indices to be rendered. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Render primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Specifies the minimum array index contained in indices. Specifies the maximum array index contained in indices. Specifies the number of elements to be rendered. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Define an array of edge flags Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first edge flag in the array. The initial value is 0. Set the current fog coordinates Specify the fog distance. Set the current fog coordinates Specify the fog distance. Set the current fog coordinates Specify the fog distance. Set the current fog coordinates Specify the fog distance. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Define an array of fog coordinates Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Generate texture names Specifies the number of texture names to be generated. Specifies an array in which the generated texture names are stored. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get current 1D or 2D convolution filter kernel The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the output image. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get convolution parameters The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. Pointer to storage for the parameters to be retrieved. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram table Must be GL_HISTOGRAM. If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned histogram table. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get histogram parameters Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. Pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minimum and maximum pixel values Must be GL_MINMAX. If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. A pointer to storage for the returned values. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get minmax parameters Must be GL_MINMAX. The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. A pointer to storage for the retrieved parameters. Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Get separable convolution filter kernel images The separable filter to be retrieved. Must be GL_SEPARABLE_2D. Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to storage for the row filter image. Pointer to storage for the column filter image. Pointer to storage for the span filter image (currently unused). Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Returns the value of a uniform variable Specifies the program object to be queried. Specifies the location of the uniform variable to be queried. Returns the value of the specified uniform variable. Define histogram table The histogram whose parameters are to be set. Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. The number of entries in the histogram table. Must be a power of 2. The format of entries in the histogram table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. If GL_TRUE, pixels will be consumed by the histogramming process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the minmax process after histogramming. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Define an array of color indexes Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first index in the array. The initial value is 0. Determine if a name corresponds to a texture Specifies a value that may be the name of a texture. Determine if a name corresponds to a texture Specifies a value that may be the name of a texture. Define minmax table The minmax table whose parameters are to be set. Must be GL_MINMAX. The format of entries in the minmax table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. If GL_TRUE, pixels will be consumed by the minmax process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the final conversion process after minmax. Render multiple sets of primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of starting indices in the enabled arrays. Points to an array of the number of indices to be rendered. Specifies the size of the first and count Render multiple sets of primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of starting indices in the enabled arrays. Points to an array of the number of indices to be rendered. Specifies the size of the first and count Render multiple sets of primitives from array data Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of starting indices in the enabled arrays. Points to an array of the number of indices to be rendered. Specifies the size of the first and count Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Render multiple sets of primitives by specifying indices of array data elements Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. Points to an array of the elements counts. Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. Specifies a pointer to the location where the indices are stored. Specifies the size of the count array. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Set the scale and units used to calculate depth values Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0. Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Set texture residence priority Specifies the number of textures to be prioritized. Specifies an array containing the names of the textures to be prioritized. Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Reset histogram table entries to zero Must be GL_HISTOGRAM. Reset minmax table entries to initial values Must be GL_MINMAX. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Set the current secondary color Specify new red, green, and blue values for the current secondary color. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of secondary colors Specifies the number of components per color. Must be 3. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define a separable two-dimensional convolution filter Must be GL_SEPARABLE_2D. The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture image Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. Specifies the width of the border. Must be either 0 or 1. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a one-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_1D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies the width of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a two-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify a three-dimensional texture subimage Specifies the target texture. Must be GL_TEXTURE_3D. Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. Specifies a texel offset in the x direction within the texture array. Specifies a texel offset in the y direction within the texture array. Specifies a texel offset in the z direction within the texture array. Specifies the width of the texture subimage. Specifies the height of the texture subimage. Specifies the depth of the texture subimage. Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Specifies a pointer to the image data in memory. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Specify the value of a uniform variable for the current program object Specifies the location of the uniform variable to be modified. Specifies the new values to be used for the specified uniform variable. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Specify pixel arithmetic for RGB and alpha components separately Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of colors Specifies the number of components per color. Must be 3 or 4. The initial value is 4. Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of normals Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of texture coordinates Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Define an array of vertex data Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the raster position in window coordinates for pixel operations Specify the , , coordinates for the raster position. Specify the clear value for the depth buffer Specifies the depth value used when the depth buffer is cleared. The initial value is 1. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Deletes a program object Specifies the program object to be deleted. Specify mapping of depth values from normalized device coordinates to window coordinates Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0. Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Returns a parameter from a program object Specifies the program object to be queried. Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. Returns the requested object parameter. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Return a generic vertex attribute parameter Specifies the generic vertex attribute parameter to be queried. Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. Returns the requested data. Determines if a name corresponds to a program object Specifies a potential program object. Determines if a name corresponds to a program object Specifies a potential program object. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Specifies the value of a generic vertex attribute Specifies the index of the generic vertex attribute to be modified. Specifies the new values to be used for the specified vertex attribute. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Define an array of generic vertex attribute data Specifies the index of the generic vertex attribute to be modified. Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Specify implementation-specific hints Specifies a symbolic constant indicating the behavior to be controlled. GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted. Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Set color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. A pointer to an array where the values of the parameters are stored. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Define a color lookup table Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. The number of entries in the color lookup table specified by data. The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. Pointer to a one-dimensional array of pixel data that is processed to build the color table. Copy pixels into a color table The color table target. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The internal storage format of the texture image. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. The x coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. The y coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. The width of the pixel rectangle. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Get color lookup table parameters The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. A pointer to an array where the values of the parameter will be stored. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Retrieve contents of a color lookup table Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. Pointer to a one-dimensional array of pixel data containing the contents of the color table. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Specify point parameters Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. Specifies the value that pname will be set to. Defines available quality levels for text printing. Use the default quality, as specified by the operating system. Use fast, low quality text (typically non-antialiased) . Use medium quality text (typically grayscale antialiased). Use slow, high quality text (typically subpixel antialiased). Represents a single character of a specific Font. Represents an item that can be packed with the TexturePacker. The type of the packable item. Checks whether the given object is equal (memberwise) to the current Glyph. The obj to check. True, if the object is identical to the current Glyph. Describes this Glyph object. Returns a System.String describing this Glyph. Calculates the hashcode for this Glyph. A System.Int32 containing a hashcode that uniquely identifies this Glyph. Compares the current Glyph with the given Glyph. The Glyph to compare to. True if both Glyphs represent the same character of the same Font, false otherwise. Gets the character represented by this Glyph. Gets the Font of this Glyph. Gets the size of this Glyph. Gets the bounding box of this Glyph. Gets an integer representing the width of the Glyph in pixels. Gets an integer representing the height of the Glyph in pixels. Constructs a new TextureFont, using the specified System.Drawing.Font. The System.Drawing.Font to use. Constructs a new TextureFont, using the specified parameters. The System.Drawing.FontFamily to use for the typeface. The em size to use for the typeface. Constructs a new TextureFont, using the specified parameters. The System.Drawing.FontFamily to use for the typeface. The em size to use for the typeface. The style to use for the typeface. Prepares the specified glyphs for rendering. The glyphs to prepare for rendering. Prepares the specified glyph for rendering. The glyph to prepare for rendering. Returns the characteristics of a loaded glyph. The character corresponding to this glyph. The width of this glyph. The height of this glyph (line spacing). The bounding box of the texture buffer of this glyph. The handle to the texture that contains this glyph. True if the glyph has been loaded, false otherwise. Measures the width of the specified string. The string to measure. The measured width. The measured height. If true, adds space to account for glyph overhangs. Set to true if you wish to measure a complete string. Set to false if you wish to perform layout on adjacent strings. Measures the width of the specified string. The string to measure. The measured width. The measured height. Calculates size information for the specified text. The string to measure. A RectangleF containing the bounding box for the specified text. Calculates size information for the specified text. The string to measure. A SizeF structure containing the maximum desired width and height of the text. Default is SizeF.Empty. A RectangleF containing the bounding box for the specified text. Calculates size information for the specified text. The string to measure. A SizeF structure containing the maximum desired width and height of the text. Pass SizeF.Empty to disable wrapping calculations. A width or height of 0 disables the relevant calculation. A StringFormat object which specifies the measurement format of the string. Pass null to use the default StringFormat (StringFormat.GenericTypographic). A RectangleF containing the bounding box for the specified text. Calculates size information for the specified text. The string to measure. A SizeF structure containing the maximum desired width and height of the text. Pass SizeF.Empty to disable wrapping calculations. A width or height of 0 disables the relevant calculation. A StringFormat object which specifies the measurement format of the string. Pass null to use the default StringFormat (StringFormat.GenericDefault). Fills the specified IList of RectangleF structures with position information for individual characters. If this argument is null, these calculations are skipped. A RectangleF containing the bounding box for the specified text. Calculates the optimal size for the font texture and TexturePacker, and creates both. Releases all resources used by this OpenTK.Graphics.TextureFont. Finalizes this TextureFont. Gets a float indicating the default line spacing of this font. Gets a float indicating the default size of this font, in points. Gets the handle to the texture were this font resides. Provides text printing through OpenGL 1.1 Display Lists. Defines the interface for TextPrinter implementations. Caches a text fragment for future use. The vertex array for the text fragment. The index array for the text fragment. Please use the indexCount parameter instead of indices.Count, as the indices array may be larger than necessary for performance reasons. The actual number of indices in the text fragment. A TextHandle that can be used to draw the text fragment. Draws the specified cached text fragment. The TextHandle corresponding to the desired text fragment. Draws a text fragment, without caching. The vertex array for the text fragment. The index array for the text fragment. Please use the indexCount parameter instead of indices.Count, as the indices array may be larger than necessary for performance reasons. The actual number of indices in the text fragment. Provides access to the OpenGL Utilities library. Methods i this library are considered deprecated and should be avoided. Creates a System.Delegate that can be used to call a GLU function, core or extension. The name of the GLU function (eg. "gluBuild2DMipmaps") The signature of the GLU function. A System.Delegate that can be used to call this GLU function, or null if the specified function name did not correspond to an GLU function. Loads all GLU functions (core and extensions). Call this function manually whenever you need to update GLU entry points. This need will never arise under normal usage patterns. Tries to reload the given GLU function (core or extension). The name of the GLU function. True if the function was found and reloaded, false otherwise. While the automatic initialisation will load all GLU entry points, in some cases the initialization can take place before a render context has been established. In this case, use this function to load the entry points for the GLU functions you will need, or use LoadAll() to load all available entry points. This function returns true if the given GLU function is supported, false otherwise. To query for supported extensions use the IsExtensionSupported() function instead. Determines whether the specified GLU extension is available in the current GLU context. The string for the GLU extension. True if the specified extension is available, false otherwise. Builds a cache of the supported extensions to speed up searches. Represents exceptions related to IGraphicsResources. Constructs a new GraphicsResourceException. Constructs a new string with the specified error message. This function enables a feature of the OpenAL driver. There are no capabilities defined in OpenAL 1.1 to be used with this function, but it may be used by an extension. The name of a capability to enable. This function disables a feature of the OpenAL driver. The name of a capability to disable. This function returns a boolean indicating if a specific feature is enabled in the OpenAL driver. The name of a capability to enable. True if enabled, False if disabled. This function retrieves an OpenAL string property. The property to be returned: Vendor, Version, Renderer and Extensions Returns a pointer to a null-terminated string. This function retrieves an OpenAL string property. The human-readable errorstring to be returned. Returns a pointer to a null-terminated string. This function returns an integer OpenAL state. the state to be queried: DistanceModel. The integer state described by param will be returned. This function returns a floating-point OpenAL state. the state to be queried: DopplerFactor, SpeedOfSound. The floating-point state described by param will be returned. Error support. Obtain the most recent error generated in the AL state machine. When an error is detected by AL, a flag is set and the error code is recorded. Further errors, if they occur, do not affect this recorded code. When alGetError is called, the code is returned and the flag is cleared, so that a further error will again record its code. The first error that occured. can be used with AL.GetString. Returns an Alenum representing the error state. When an OpenAL error occurs, the error state is set and will not be changed until the error state is retrieved using alGetError. Whenever alGetError is called, the error state is cleared and the last state (the current state when the call was made) is returned. To isolate error detection to a specific portion of code, alGetError should be called before the isolated section to clear the current error state. This function tests if a specific Extension is available for the OpenAL driver. A string naming the desired extension. Example: "EAX-RAM" Returns True if the Extension is available or False if not available. This function returns the address of an OpenAL extension function. Handle with care. A string containing the function name. The return value is a pointer to the specified function. The return value will be IntPtr.Zero if the function is not found. This function returns the enumeration value of an OpenAL token, described by a string. A string describing an OpenAL token. Example "AL_DISTANCE_MODEL" Returns the actual ALenum described by a string. Returns 0 if the string doesn’t describe a valid OpenAL token. This function sets a floating-point property for the listener. The name of the attribute to be set: ALListenerf.Gain The float value to set the attribute to. This function sets a floating-point property for the listener. The name of the attribute to set: ALListener3f.Position, ALListener3f.Velocity The value to set the attribute to. The value to set the attribute to. The value to set the attribute to. This function sets a Math.Vector3 property for the listener. The name of the attribute to set: ALListener3f.Position, ALListener3f.Velocity The Math.Vector3 to set the attribute to. This function sets a floating-point vector property of the listener. The name of the attribute to be set: ALListener3f.Position, ALListener3f.Velocity, ALListenerfv.Orientation Pointer to floating-point vector values. This function sets two Math.Vector3 properties of the listener. The name of the attribute to be set: ALListenerfv.Orientation A Math.Vector3 for the At-Vector. A Math.Vector3 for the Up-Vector. This function retrieves a floating-point property of the listener. the name of the attribute to be retrieved: ALListenerf.Gain a pointer to the floating-point value being retrieved. This function retrieves a set of three floating-point values from a property of the listener. The name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity Pointers to the three floating-point being retrieved. Pointers to the three floating-point being retrieved. Pointers to the three floating-point being retrieved. This function retrieves a Math.Vector3 from a property of the listener. The name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity A Math.Vector3 to hold the three floats being retrieved. This function retrieves a floating-point vector property of the listener. You must pin it manually. the name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity, ALListenerfv.Orientation A pointer to the floating-point vector value being retrieved. This function retrieves two Math.Vector3 properties of the listener. the name of the attribute to be retrieved: ALListenerfv.Orientation A Math.Vector3 for the At-Vector. A Math.Vector3 for the Up-Vector. This function generates one or more sources. References to sources are uint values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). The number of sources to be generated. Pointer to an array of uint values which will store the names of the new sources. This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). The number of sources to be generated. Pointer to an array of int values which will store the names of the new sources. This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). Pointer to an array of int values which will store the names of the new sources. This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). The number of sources to be generated. Pointer to an array of int values which will store the names of the new sources. This function generates one source only. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). Pointer to an int value which will store the name of the new source. This function generates one source only. References to sources are uint values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). Pointer to an uint value which will store the name of the new source. This function deletes one or more sources. The number of sources to be deleted. Pointer to an array of source names identifying the sources to be deleted. This function deletes one or more sources. The number of sources to be deleted. Reference to a single source, or an array of source names identifying the sources to be deleted. This function deletes one or more sources. The number of sources to be deleted. Reference to a single source, or an array of source names identifying the sources to be deleted. This function deletes one or more sources. An array of source names identifying the sources to be deleted. This function deletes one or more sources. An array of source names identifying the sources to be deleted. This function deletes one source only. Pointer to a source name identifying the source to be deleted. This function deletes one source only. Pointer to a source name identifying the source to be deleted. This function tests if a source name is valid, returning True if valid and False if not. A source name to be tested for validity Success. This function tests if a source name is valid, returning True if valid and False if not. A source name to be tested for validity Success. This function sets a floating-point property of a source. Source name whose attribute is being set The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. The value to set the attribute to. This function sets a floating-point property of a source. Source name whose attribute is being set The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. The value to set the attribute to. This function sets a source property requiring three floating-point values. Source name whose attribute is being set. The name of the attribute to set: ALSource3f.Position, Velocity, Direction. The three ALfloat values which the attribute will be set to. The three ALfloat values which the attribute will be set to. The three ALfloat values which the attribute will be set to. This function sets a source property requiring three floating-point values. Source name whose attribute is being set. The name of the attribute to set: ALSource3f.Position, Velocity, Direction. The three ALfloat values which the attribute will be set to. The three ALfloat values which the attribute will be set to. The three ALfloat values which the attribute will be set to. This function sets a source property requiring three floating-point values. Source name whose attribute is being set. The name of the attribute to set: ALSource3f.Position, Velocity, Direction. A Math.Vector3 which the attribute will be set to. This function sets a source property requiring three floating-point values. Source name whose attribute is being set. The name of the attribute to set: ALSource3f.Position, Velocity, Direction. A Math.Vector3 which the attribute will be set to. This function sets an integer property of a source. Source name whose attribute is being set. The name of the attribute to set: ALSourcei.SourceRelative, ConeInnerAngle, ConeOuterAngle, Looping, Buffer, SourceState. The value to set the attribute to. This function sets an integer property of a source. Source name whose attribute is being set. The name of the attribute to set: ALSourcei.SourceRelative, ConeInnerAngle, ConeOuterAngle, Looping, Buffer, SourceState. The value to set the attribute to. This function sets an bool property of a source. Source name whose attribute is being set. The name of the attribute to set: ALSourceb.SourceRelative, Looping. The value to set the attribute to. This function sets an bool property of a source. Source name whose attribute is being set. The name of the attribute to set: ALSourceb.SourceRelative, Looping. The value to set the attribute to. (Helper) Binds a Buffer to a Source handle. Source name to attach the Buffer to. Buffer name which is attached to the Source. (Helper) Binds a Buffer to a Source handle. Source name to attach the Buffer to. Buffer name which is attached to the Source. This function sets 3 integer properties of a source. This property is used to establish connections between Sources and Auxiliary Effect Slots. Source name whose attribute is being set. The name of the attribute to set: EfxAuxiliarySendFilter The value to set the attribute to. (EFX Extension) The destination Auxiliary Effect Slot ID The value to set the attribute to. (EFX Extension) The Auxiliary Send number. The value to set the attribute to. (EFX Extension) optional Filter ID. This function sets 3 integer properties of a source. This property is used to establish connections between Sources and Auxiliary Effect Slots. Source name whose attribute is being set. The name of the attribute to set: EfxAuxiliarySendFilter The value to set the attribute to. (EFX Extension) The destination Auxiliary Effect Slot ID The value to set the attribute to. (EFX Extension) The Auxiliary Send number. The value to set the attribute to. (EFX Extension) optional Filter ID. This function retrieves a floating-point property of a source. Source name whose attribute is being retrieved. The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. A pointer to the floating-point value being retrieved This function retrieves a floating-point property of a source. Source name whose attribute is being retrieved. The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. A pointer to the floating-point value being retrieved This function retrieves three floating-point values representing a property of a source. Source name whose attribute is being retrieved. the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. Pointer to the value to retrieve. Pointer to the value to retrieve. Pointer to the value to retrieve. This function retrieves three floating-point values representing a property of a source. Source name whose attribute is being retrieved. the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. Pointer to the value to retrieve. Pointer to the value to retrieve. Pointer to the value to retrieve. This function retrieves three floating-point values representing a property of a source. Source name whose attribute is being retrieved. the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. A Math.Vector3 to retrieve the values to. This function retrieves three floating-point values representing a property of a source. Source name whose attribute is being retrieved. the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. A Math.Vector3 to retrieve the values to. This function retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: ALSourcei.SourceRelative, Buffer, SourceState, BuffersQueued, BuffersProcessed. A pointer to the integer value being retrieved. This function retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: ALSourcei.SourceRelative, Buffer, SourceState, BuffersQueued, BuffersProcessed. A pointer to the integer value being retrieved. This function retrieves a bool property of a source. Source name whose attribute is being retrieved. The name of the attribute to get: ALSourceb.SourceRelative, Looping. A pointer to the bool value being retrieved. This function retrieves a bool property of a source. Source name whose attribute is being retrieved. The name of the attribute to get: ALSourceb.SourceRelative, Looping. A pointer to the bool value being retrieved. This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. The number of sources to be played. A pointer to an array of sources to be played. This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. The number of sources to be played. A pointer to an array of sources to be played. This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. The number of sources to be played. A pointer to an array of sources to be played. This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. The number of sources to be played. A pointer to an array of sources to be played. This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. The number of sources to stop. A pointer to an array of sources to be stopped. This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. The number of sources to stop. A pointer to an array of sources to be stopped. This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. The number of sources to stop. A pointer to an array of sources to be stopped. This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. The number of sources to stop. A pointer to an array of sources to be stopped. This function stops a set of sources and sets all their states to ALSourceState.Initial. The number of sources to be rewound. A pointer to an array of sources to be rewound. This function stops a set of sources and sets all their states to ALSourceState.Initial. The number of sources to be rewound. A pointer to an array of sources to be rewound. This function stops a set of sources and sets all their states to ALSourceState.Initial. The number of sources to be rewound. A pointer to an array of sources to be rewound. This function stops a set of sources and sets all their states to ALSourceState.Initial. The number of sources to be rewound. A pointer to an array of sources to be rewound. This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. The number of sources to be paused. A pointer to an array of sources to be paused. This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. The number of sources to be paused. A pointer to an array of sources to be paused. This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. The number of sources to be paused. A pointer to an array of sources to be paused. This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. The number of sources to be paused. A pointer to an array of sources to be paused. This function plays, replays or resumes a source. The playing source will have it's state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. The name of the source to be played. This function plays, replays or resumes a source. The playing source will have it's state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. The name of the source to be played. This function stops a source. The stopped source will have it's state changed to ALSourceState.Stopped. The name of the source to be stopped. This function stops a source. The stopped source will have it's state changed to ALSourceState.Stopped. The name of the source to be stopped. This function stops the source and sets its state to ALSourceState.Initial. The name of the source to be rewound. This function stops the source and sets its state to ALSourceState.Initial. The name of the source to be rewound. This function pauses a source. The paused source will have its state changed to ALSourceState.Paused. The name of the source to be paused. This function pauses a source. The paused source will have its state changed to ALSourceState.Paused. The name of the source to be paused. This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. The name of the source to queue buffers onto. The name of the buffer to be queued. This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. The name of the source to unqueue buffers from. This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. The name of the source to unqueue buffers from. The number of buffers to be unqueued. This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). The number of buffers to be generated. Pointer to an array of uint values which will store the names of the new buffers. This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). The number of buffers to be generated. Pointer to an array of uint values which will store the names of the new buffers. This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). The number of buffers to be generated. Pointer to an array of uint values which will store the names of the new buffers. This function generates one or more buffers, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). The number of buffers to be generated. Pointer to an array of uint values which will store the names of the new buffers. This function generates one buffer only, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). Pointer to an uint value which will store the name of the new buffer. This function generates one buffer only, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). Pointer to an uint value which will store the names of the new buffer. This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. The number of buffers to be deleted. Pointer to an array of buffer names identifying the buffers to be deleted. This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. The number of buffers to be deleted. Pointer to an array of buffer names identifying the buffers to be deleted. This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. The number of buffers to be deleted. Pointer to an array of buffer names identifying the buffers to be deleted. This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. Pointer to a buffer name identifying the buffer to be deleted. This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. Pointer to an array of buffer names identifying the buffers to be deleted. This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. Pointer to a buffer name identifying the buffer to be deleted. This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. Pointer to a buffer name identifying the buffer to be deleted. This function tests if a buffer name is valid, returning True if valid, False if not. A buffer Handle previously allocated with . Success. This function tests if a buffer name is valid, returning True if valid, False if not. A buffer Handle previously allocated with . Success. This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well. buffer Handle/Name to be filled with buffer. Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16. Pointer to a pinned audio buffer. The size of the audio buffer in bytes. The frequency of the audio buffer. This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well. buffer Handle/Name to be filled with buffer. Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16. Pointer to a pinned audio buffer. The size of the audio buffer in bytes. The frequency of the audio buffer. This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well. buffer Handle/Name to be filled with buffer. Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16. The audio buffer. The size of the audio buffer in bytes. The frequency of the audio buffer. This function fills a buffer with audio buffer (PCM format). Buffer Handle/Name to be filled with buffer. A SoundData object containing the buffer to upload. This function fills a buffer with audio buffer (PCM format). Buffer Handle/Name to be filled with buffer. A SoundData object containing the buffer to upload. This function retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved The name of the attribute to be retrieved: ALGetBufferi.Frequency, Bits, Channels, Size, and the currently hidden AL_DATA (dangerous). A pointer to an int to hold the retrieved buffer This function retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved The name of the attribute to be retrieved: ALGetBufferi.Frequency, Bits, Channels, Size, and the currently hidden AL_DATA (dangerous). A pointer to an int to hold the retrieved buffer AL.DopplerFactor is a simple scaling of source and listener velocities to exaggerate or deemphasize the Doppler (pitch) shift resulting from the calculation. A negative value will result in an error, the command is then ignored. The default value is 1f. The current setting can be queried using AL.Get with parameter ALGetFloat.SpeedOfSound. This function is deprecated and should not be used. The default is 1.0f. AL.SpeedOfSound allows the application to change the reference (propagation) speed used in the Doppler calculation. The source and listener velocities should be expressed in the same units as the speed of sound. A negative or zero value will result in an error, and the command is ignored. Default: 343.3f (appropriate for velocity units of meters and air as the propagation medium). The current setting can be queried using AL.Get with parameter ALGetFloat.SpeedOfSound. This function selects the OpenAL distance model – ALDistanceModel.InverseDistance, ALDistanceModel.InverseDistanceClamped, ALDistanceModel.LinearDistance, ALDistanceModel.LinearDistanceClamped, ALDistanceModel.ExponentDistance, ALDistanceModel.ExponentDistanceClamped, or ALDistanceModel.None. The default distance model in OpenAL is ALDistanceModel.InverseDistanceClamped. The ALDistanceModel .InverseDistance model works according to the following formula: gain = ALSourcef.ReferenceDistance / (ALSourcef.ReferenceDistance + ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance)); The ALDistanceModel .InverseDistanceClamped model works according to the following formula: distance = max(distance,ALSourcef.ReferenceDistance); distance = min(distance,ALSourcef.MaxDistance); gain = ALSourcef.ReferenceDistance / (ALSourcef.ReferenceDistance + ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance)); The ALDistanceModel.LinearDistance model works according to the following formula: distance = min(distance, ALSourcef.MaxDistance) // avoid negative gain gain = (1 – ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance) / (ALSourcef.MaxDistance – ALSourcef.ReferenceDistance)) The ALDistanceModel.LinearDistanceClamped model works according to the following formula: distance = max(distance, ALSourcef.ReferenceDistance) distance = min(distance, ALSourcef.MaxDistance) gain = (1 – ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance) / (ALSourcef.MaxDistance – ALSourcef.ReferenceDistance)) The ALDistanceModel.ExponentDistance model works according to the following formula: gain = (distance / ALSourcef.ReferenceDistance) ^ (- ALSourcef.RolloffFactor) The ALDistanceModel.ExponentDistanceClamped model works according to the following formula: distance = max(distance, ALSourcef.ReferenceDistance) distance = min(distance, ALSourcef.MaxDistance) gain = (distance / ALSourcef.ReferenceDistance) ^ (- ALSourcef.RolloffFactor) The ALDistanceModel.None model works according to the following formula: gain = 1f; (Helper) Returns Source state information. The source to be queried. state information from OpenAL. (Helper) Returns Source state information. The source to be queried. state information from OpenAL. (Helper) Returns Source type information. The source to be queried. type information from OpenAL. (Helper) Returns Source type information. The source to be queried. type information from OpenAL. A list of valid 32-bit Float Effect/GetEffect parameters Reverb Modal Density controls the coloration of the late reverb. Lowering the value adds more coloration to the late reverb. Range [0.0f .. 1.0f] Default: 1.0f The Reverb Diffusion property controls the echo density in the reverberation decay. The default 1.0f provides the highest density. Reducing diffusion gives the reverberation a more "grainy" character that is especially noticeable with percussive sound sources. If you set a diffusion value of 0.0f, the later reverberation sounds like a succession of distinct echoes. Range [0.0f .. 1.0f] Default: 1.0f The Reverb Gain property is the master volume control for the reflected sound - both early reflections and reverberation - that the reverb effect adds to all sound sources. Ranges from 1.0 (0db) (the maximum amount) to 0.0 (-100db) (no reflected sound at all) are accepted. Units: Linear gain Range [0.0f .. 1.0f] Default: 0.32f The Reverb Gain HF property further tweaks reflected sound by attenuating it at high frequencies. It controls a low-pass filter that applies globally to the reflected sound of all sound sources feeding the particular instance of the reverb effect. Ranges from 1.0f (0db) (no filter) to 0.0f (-100db) (virtually no reflected sound) are accepted. Units: Linear gain Range [0.0f .. 1.0f] Default: 0.89f The Decay Time property sets the reverberation decay time. It ranges from 0.1f (typically a small room with very dead surfaces) to 20.0 (typically a large room with very live surfaces). Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f The Decay HF Ratio property sets the spectral quality of the Decay Time parameter. It is the ratio of high-frequency decay time relative to the time set by Decay Time.. Unit: linear multiplier Range [0.1f .. 2.0f] Default: 0.83f The Reflections Gain property controls the overall amount of initial reflections relative to the Gain property. The value of Reflections Gain ranges from a maximum of 3.16f (+10 dB) to a minimum of 0.0f (-100 dB) (no initial reflections at all), and is corrected by the value of the Gain property. Unit: Linear gain Range [0.0f .. 3.16f] Default: 0.05f The Reflections Delay property is the amount of delay between the arrival time of the direct path from the source to the first reflection from the source. It ranges from 0 to 300 milliseconds. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. The value of Late Reverb Gain ranges from a maximum of 10.0f (+20 dB) to a minimum of 0.0f (-100 dB) (no late reverberation at all). Unit: Linear gain Range [0.0f .. 10.0f] Default: 1.26f The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium and applies to reflected sound only. Unit: Linear gain per meter Range [0.892f .. 1.0f] Default: 0.994f The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL's Rolloff Factor, but operates on reverb sound instead of direct-path sound. Unit: Linear multiplier Range [0.0f .. 10.0f] Default: 0.0f This property sets the modulation rate of the low-frequency oscillator that controls the delay time of the delayed signals. Unit: Hz Range [0.0f .. 10.0f] Default: 1.1f This property controls the amount by which the delay time is modulated by the low-frequency oscillator. Range [0.0f .. 1.0f] Default: 0.1f This property controls the amount of processed signal that is fed back to the input of the chorus effect. Negative values will reverse the phase of the feedback signal. At full magnitude the identical sample will repeat endlessly. Range [-1.0f .. +1.0f] Default: +0.25f This property controls the average amount of time the sample is delayed before it is played back, and with feedback, the amount of time between iterations of the sample. Larger values lower the pitch. Unit: Seconds Range [0.0f .. 0.016f] Default: 0.016f This property controls the shape of the distortion. The higher the value for Edge, the "dirtier" and "fuzzier" the effect. Range [0.0f .. 1.0f] Default: 0.2f This property allows you to attenuate the distorted sound. Range [0.01f .. 1.0f] Default: 0.05f Input signals can have a low pass filter applied, to limit the amount of high frequency signal feeding into the distortion effect. Unit: Hz Range [80.0f .. 24000.0f] Default: 8000.0f This property controls the frequency at which the post-distortion attenuation (Distortion Gain) is active. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f This property controls the bandwidth of the post-distortion attenuation. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f This property controls the delay between the original sound and the first "tap", or echo instance. Subsequently, the value for Echo Delay is used to determine the time delay between each "second tap" and the next "first tap". Unit: Seconds Range [0.0f .. 0.207f] Default: 0.1f This property controls the delay between the "first tap" and the "second tap". Subsequently, the value for Echo LR Delay is used to determine the time delay between each "first tap" and the next "second tap". Unit: Seconds Range [0.0f .. 0.404f] Default: 0.1f This property controls the amount of high frequency damping applied to each echo. As the sound is subsequently fed back for further echoes, damping results in an echo which progressively gets softer in tone as well as intensity. Range [0.0f .. 0.99f] Default: 0.5f This property controls the amount of feedback the output signal fed back into the input. Use this parameter to create "cascading" echoes. At full magnitude, the identical sample will repeat endlessly. Below full magnitude, the sample will repeat and fade. Range [0.0f .. 1.0f] Default: 0.5f This property controls how hard panned the individual echoes are. With a value of 1.0f, the first "tap" will be panned hard left, and the second "tap" hard right. –1.0f gives the opposite result and values near to 0.0f result in less emphasized panning. Range [-1.0f .. +1.0f] Default: -1.0f The number of times per second the low-frequency oscillator controlling the amount of delay repeats. Range [0.0f .. 10.0f] Default: 0.27f The ratio by which the delay time is modulated by the low-frequency oscillator. Range [0.0f .. 1.0f] Default: 1.0f This is the amount of the output signal level fed back into the effect's input. A negative value will reverse the phase of the feedback signal. Range [-1.0f .. +1.0f] Default: -0.5f The average amount of time the sample is delayed before it is played back. When used with the Feedback property it's the amount of time between iterations of the sample. Unit: Seconds Range [0.0f .. 0.004f] Default: 0.002f This is the carrier frequency. For carrier frequencies below the audible range, the single sideband modulator may produce phaser effects, spatial effects or a slight pitch-shift. As the carrier frequency increases, the timbre of the sound is affected. Unit: Hz Range [0.0f .. 24000.0f] Default: 0.0f This controls the frequency of the low-frequency oscillator used to morph between the two phoneme filters. Unit: Hz Range [0.0f .. 10.0f] Default: 1.41f This is the frequency of the carrier signal. If the carrier signal is slowly varying (less than 20 Hz), the result is a slow amplitude variation effect (tremolo). Unit: Hz Range [0.0f .. 8000.0f] Default: 440.0f This controls the cutoff frequency at which the input signal is high-pass filtered before being ring modulated. Unit: Hz Range [0.0f .. 24000.0f] Default: 800.0f This property controls the time the filtering effect takes to sweep from minimum to maximum center frequency when it is triggered by input signal. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f This property controls the time the filtering effect takes to sweep from maximum back to base center frequency, when the input signal ends. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f This property controls the resonant peak, sometimes known as emphasis or Q, of the auto-wah band-pass filter. Range [2.0f .. 1000.0f] Default: 1000.0f This property controls the input signal level at which the band-pass filter will be fully opened. Range [0.00003f .. 31621.0f] Default: 11.22f This property controls amount of cut or boost on the low frequency range. Range [0.126f .. 7.943f] Default: 1.0f This property controls the low frequency below which signal will be cut off. Unit: Hz Range [50.0f .. 800.0f] Default: 200.0f This property allows you to cut/boost signal on the "mid1" range. Range [0.126f .. 7.943f] Default: 1.0f This property sets the center frequency for the "mid1" range. Unit: Hz Range [200.0f .. 3000.0f] Default: 500.0f This property controls the width of the "mid1" range. Range [0.01f .. 1.0f] Default: 1.0f This property allows you to cut/boost signal on the "mid2" range. Range [0.126f .. 7.943f] Default: 1.0f This property sets the center frequency for the "mid2" range. Unit: Hz Range [1000.0f .. 8000.0f] Default: 3000.0f This property controls the width of the "mid2" range. Range [0.01f .. 1.0f] Default: 1.0f This property allows to cut/boost the signal at high frequencies. Range [0.126f .. 7.943f] Default: 1.0f This property controls the high frequency above which signal will be cut off. Unit: Hz Range [4000.0f .. 16000.0f] Default: 6000.0f Reverb Modal Density controls the coloration of the late reverb. Range [0.0f .. 1.0f] Default: 1.0f The Reverb Diffusion property controls the echo density in the reverberation decay. Range [0.0f .. 1.0f] Default: 1.0f Reverb Gain controls the level of the reverberant sound in an environment. A high level of reverb is characteristic of rooms with highly reflective walls and/or small dimensions. Unit: Linear gain Range [0.0f .. 1.0f] Default: 0.32f Gain HF is used to attenuate the high frequency content of all the reflected sound in an environment. You can use this property to give a room specific spectral characteristic. Unit: Linear gain Range [0.0f .. 1.0f] Default: 0.89f Gain LF is the low frequency counterpart to Gain HF. Use this to reduce or boost the low frequency content in an environment. Unit: Linear gain Range [0.0f .. 1.0f] Default: 1.0f The Decay Time property sets the reverberation decay time. It ranges from 0.1f (typically a small room with very dead surfaces) to 20.0f (typically a large room with very live surfaces). Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f Decay HF Ratio scales the decay time of high frequencies relative to the value of the Decay Time property. By changing this value, you are changing the amount of time it takes for the high frequencies to decay compared to the mid frequencies of the reverb. Range [0.1f .. 2.0f] Default: 0.83f Decay LF Ratio scales the decay time of low frequencies in the reverberation in the same manner that Decay HF Ratio handles high frequencies. Unit: Linear multiplier Range [0.1f .. 2.0f] Default: 1.0f Reflections Gain sets the level of the early reflections in an environment. Early reflections are used as a cue for determining the size of the environment we are in. Unit: Linear gain Range [0.0f .. 3.16f] Default: 0.05f Reflections Delay controls the amount of time it takes for the first reflected wave front to reach the listener, relative to the arrival of the direct-path sound. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. Range [0.0f .. 10.0f] Default: 1.26f The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f Echo Time controls the rate at which the cyclic echo repeats itself along the reverberation decay. Range [0.075f .. 0.25f] Default: 0.25f Echo Depth introduces a cyclic echo in the reverberation decay, which will be noticeable with transient or percussive sounds. Range [0.0f .. 1.0f] Default: 0.0f Modulation Time controls the speed of the rate of periodic changes in pitch (vibrato). Range [0.04f .. 4.0f] Default: 0.25f Modulation Depth controls the amount of pitch change. Low values of Diffusion will contribute to reinforcing the perceived effect by reducing the mixing of overlapping reflections in the reverberation decay. Range [0.0f .. 1.0f] Default: 0.0f The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium. It applies to reflected sound only. Range [0.892f .. 1.0f] Default: 0.994f The property HF reference determines the frequency at which the high-frequency effects created by Reverb properties are measured. Unit: Hz Range [1000.0f .. 20000.0f] Default: 5000.0f The property LF reference determines the frequency at which the low-frequency effects created by Reverb properties are measured. Unit: Hz Range [20.0f .. 1000.0f] Default: 250.0f The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL Rolloff Factor, but operates on reverb sound instead of direct-path sound. Range [0.0f .. 10.0f] Default: 0.0f A list of valid Math.Vector3 Effect/GetEffect parameters Reverb Pan does for the Reverb what Reflections Pan does for the Reflections. Unit: Vector3 of length 0f to 1f Default: {0.0f, 0.0f, 0.0f} This Vector3 controls the spatial distribution of the cluster of early reflections. The direction of this vector controls the global direction of the reflections, while its magnitude controls how focused the reflections are towards this direction. For legacy reasons this Vector3 follows a left-handed co-ordinate system! Note that OpenAL uses a right-handed coordinate system. Unit: Vector3 of length 0f to 1f Default: {0.0f, 0.0f, 0.0f} A list of valid Int32 Effect/GetEffect parameters This property sets the waveform shape of the low-frequency oscillator that controls the delay time of the delayed signals. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1 This property controls the phase difference between the left and right low-frequency oscillators. At zero degrees the two low-frequency oscillators are synchronized. Unit: Degrees Range [-180 .. 180] Default: 90 Selects the shape of the low-frequency oscillator waveform that controls the amount of the delay of the sampled signal. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1 This changes the phase difference between the left and right low-frequency oscillator's. At zero degrees the two low-frequency oscillators are synchronized. Range [-180 .. +180] Default: 0 These select which internal signals are added together to produce the output. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 These select which internal signals are added together to produce the output. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 Sets the vocal morpher 4-band formant filter A, used to impose vocal tract effects upon the input signal. The vocal morpher is not necessarily intended for use on voice signals; it is primarily intended for pitched noise effects, vocal-like wind effects, etc. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 0, "Phoneme A" This is used to adjust the pitch of phoneme filter A in 1-semitone increments. Unit: Semitones Range [-24 .. +24] Default: 0 Sets the vocal morpher 4-band formant filter B, used to impose vocal tract effects upon the input signal. The vocal morpher is not necessarily intended for use on voice signals; it is primarily intended for pitched noise effects, vocal-like wind effects, etc. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 10, "Phoneme ER" This is used to adjust the pitch of phoneme filter B in 1-semitone increments. Unit: Semitones Range [-24 .. +24] Default: 0 This controls the shape of the low-frequency oscillator used to morph between the two phoneme filters. Unit: (0) Sinusoid, (1) Triangle, (2) Sawtooth Range [0 .. 2] Default: 0 This sets the number of semitones by which the pitch is shifted. There are 12 semitones per octave. Unit: Semitones Range [-12 .. +12] Default: +12 This sets the number of cents between Semitones a pitch is shifted. A Cent is 1/100th of a Semitone. Unit: Cents Range [-50 .. +50] Default: 0 This controls which waveform is used as the carrier signal. Traditional ring modulator and tremolo effects generally use a sinusoidal carrier. Unit: (0) Sinusoid, (1) Sawtooth, (2) Square Range [0 .. 2] Default: 0 Enabling this will result in audio exhibiting smaller variation in intensity between the loudest and quietest portions. Unit: (0) Off, (1) On Range [0 .. 1] Default: 1 When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property Air Absorption HF. Unit: (0) False, (1) True Range [False, True] Default: True When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property AirAbsorptionGainHF. Unit: (0) False, (1) True Range [False, True] Default: True Used with the enum EfxEffectType as it's parameter. Vocal morpher effect parameters. If both parameters are set to the same phoneme, that determines the filtering effect that will be heard. If these two parameters are set to different phonemes, the filtering effect will morph between the two settings at a rate specified by EfxEffectf.VocalMorpherRate. Effect type definitions to be used with EfxEffecti.EffectType. No Effect, disable. This Effect type is used when an Effect object is initially created. The Reverb effect is the standard Effects Extension's environmental reverberation effect. It is available on all Generic Software and Generic Hardware devices. The Chorus effect essentially replays the input audio accompanied by another slightly delayed version of the signal, creating a "doubling" effect. The Distortion effect simulates turning up (overdriving) the gain stage on a guitar amplifier or adding a distortion pedal to an instrument's output. The Echo effect generates discrete, delayed instances of the input signal. The Flanger effect creates a "tearing" or "whooshing" sound, like a jet flying overhead. The Frequency shifter is a single-sideband modulator, which translates all the component frequencies of the input signal by an equal amount. The Vocal morpher consists of a pair of 4-band formant filters, used to impose vocal tract effects upon the input signal. The Pitch shifter applies time-invariant pitch shifting to the input signal, over a one octave range and controllable at a semi-tone and cent resolution. The Ring modulator multiplies an input signal by a carrier signal in the time domain, resulting in tremolo or inharmonic effects. The Auto-wah effect emulates the sound of a wah-wah pedal used with an electric guitar, or a mute on a brass instrument. The Compressor will boost quieter portions of the audio, while louder portions will stay the same or may even be reduced. The Equalizer is very flexible, providing tonal control over four different adjustable frequency ranges. The EAX Reverb has a more advanced parameter set than EfxEffectType.Reverb, but is only natively supported on devices that support the EAX 3.0 or above. A list of valid Int32 AuxiliaryEffectSlot/GetAuxiliaryEffectSlot parameters This property is used to attach an Effect object to the Auxiliary Effect Slot object. After the attachment, the Auxiliary Effect Slot object will contain the effect type and have the same effect parameters that were stored in the Effect object. Any Sources feeding the Auxiliary Effect Slot will immediate feed the new effect type and new effect parameters. This property is used to enable or disable automatic send adjustments based on the physical positions of the sources and the listener. This property should be enabled when an application wishes to use a reverb effect to simulate the environment surrounding a listener or a collection of Sources. Range [False, True] Default: True A list of valid 32-bits Float AuxiliaryEffectSlot/GetAuxiliaryEffectSlot parameters This property is used to specify an output level for the Auxiliary Effect Slot. Setting the gain to 0.0f mutes the output. Range [0.0f .. 1.0f] Default: 1.0f A list of valid 32-bits Float Filter/GetFilter parameters Range [0.0f .. 1.0f] Default: 1.0f Range [0.0f .. 1.0f] Default: 1.0f Range [0.0f .. 1.0f] Default: 1.0f Range [0.0f .. 1.0f] Default: 1.0f Range [0.0f .. 1.0f] Default: 1.0f Range [0.0f .. 1.0f] Default: 1.0f Range [0.0f .. 1.0f] Default: 1.0f A list of valid Int32 Filter/GetFilter parameters Used with the enum EfxFilterType as Parameter to select a filter logic. Filter type definitions to be used with EfxFilteri.FilterType. No Filter, disable. This Filter type is used when a Filter object is initially created. A low-pass filter is used to remove high frequency content from a signal. Currently not implemented. A high-pass filter is used to remove low frequency content from a signal. Currently not implemented. A band-pass filter is used to remove high and low frequency content from a signal. 2-component Vector of the Half type. Occupies 4 Byte total. The X component of the Half2. The Y component of the Half2. The new Half2 instance will avoid conversion and copy directly from the Half parameters. An Half instance of a 16-bit half-precision floating-point number. An Half instance of a 16-bit half-precision floating-point number. The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. Enable checks that will throw if the conversion result is not meaningful. The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. OpenTK.Vector2 The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. OpenTK.Vector2 Enable checks that will throw if the conversion result is not meaningful. The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. This is the fastest constructor. OpenTK.Vector2 The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. OpenTK.Vector2 Enable checks that will throw if the conversion result is not meaningful. The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. OpenTK.Vector2d The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. OpenTK.Vector2d Enable checks that will throw if the conversion result is not meaningful. The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. This is the faster constructor. OpenTK.Vector2d The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. OpenTK.Vector2d Enable checks that will throw if the conversion result is not meaningful. Returns this Half2 instance's contents as Vector2. OpenTK.Vector2 Returns this Half2 instance's contents as Vector2d. Converts OpenTK.Vector2 to OpenTK.Half2. The Vector2 to convert. The resulting Half vector. Converts OpenTK.Vector2d to OpenTK.Half2. The Vector2d to convert. The resulting Half vector. Converts OpenTK.Half2 to OpenTK.Vector2. The Half2 to convert. The resulting Vector2. Converts OpenTK.Half2 to OpenTK.Vector2d. The Half2 to convert. The resulting Vector2d. The size in bytes for an instance of the Half2 struct is 4. Constructor used by ISerializable to deserialize the object. Used by ISerialize to serialize the object. Updates the X and Y components of this instance by reading from a Stream. A BinaryReader instance associated with an open Stream. Writes the X and Y components of this instance into a Stream. A BinaryWriter instance associated with an open Stream. Returns a value indicating whether this instance is equal to a specified OpenTK.Half2 vector. OpenTK.Half2 to compare to this instance.. True, if other is equal to this instance; false otherwise. Returns a string that contains this Half2's numbers in human-legible form. Returns the Half2 as an array of bytes. The Half2 to convert. The input as byte array. Converts an array of bytes into Half2. A Half2 in it's byte[] representation. The starting position within value. A new Half2 instance. Contains mathematical functions for the OpenTK.Math toolkit. Returns the next power of two that is larger than the specified number. The specified number. The next power of two. Returns the next power of two that is larger than the specified number. The specified number. The next power of two. Returns the next power of two that is larger than the specified number. The specified number. The next power of two. Returns the next power of two that is larger than the specified number. The specified number. The next power of two. Calculates the factorial of a given natural number. The number. n! Calculates the binomial coefficient above . The n. The k. n! / (k! * (n - k)!) Returns an approximation of the inverse square root of left number. A number. An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 This is an improved implementation of the the method known as Carmack's inverse square root which is found in the Quake III source code. This implementation comes from http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see http://www.beyond3d.com/content/articles/8/ Returns an approximation of the inverse square root of left number. A number. An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 This is an improved implementation of the the method known as Carmack's inverse square root which is found in the Quake III source code. This implementation comes from http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see http://www.beyond3d.com/content/articles/8/ Convert degrees to radians An angle in degrees The angle expressed in radians Convert radians to degrees An angle in radians The angle expressed in degrees Represents a bezier curve with as many points as you want. The parallel value. This value defines whether the curve should be calculated as a parallel curve to the original bezier curve. A value of 0.0f represents the original curve, 5.0f i.e. stands for a curve that has always a distance of 5.0f to the orignal curve at any point. Constructs a new . The points. Constructs a new . The points. Constructs a new . The parallel value. The points. Constructs a new . The parallel value. The points. Calculates the point with the specified t. The t value, between 0.0f and 1.0f. Resulting point. Calculates the length of this bezier curve. The precision. Length of curve. The precision gets better as the value gets smaller. Calculates the length of the specified bezier curve. The points. The precision value. The precision gets better as the value gets smaller. Calculates the length of the specified bezier curve. The points. The precision value. The parallel value. Length of curve. The precision gets better as the value gets smaller. The parameter defines whether the curve should be calculated as a parallel curve to the original bezier curve. A value of 0.0f represents the original curve, 5.0f represents a curve that has always a distance of 5.0f to the orignal curve. Calculates the point on the given bezier curve with the specified t parameter. The points. The t parameter, a value between 0.0f and 1.0f. Resulting point. Calculates the point on the given bezier curve with the specified t parameter. The points. The t parameter, a value between 0.0f and 1.0f. The parallel value. Resulting point. The parameter defines whether the curve should be calculated as a parallel curve to the original bezier curve. A value of 0.0f represents the original curve, 5.0f represents a curve that has always a distance of 5.0f to the orignal curve. Calculates the point with the specified t of the derivative of the given bezier function. The points. The t parameter, value between 0.0f and 1.0f. Resulting point. Gets the points of this curve. The first point and the last points represent the anchor points. Provides methods to perform layout and print hardware accelerated text. Defines the interface for a TextPrinter. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to print text. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to print text. The OpenTK.Graphics.TextAlignment that will be used to print text. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to print text. The OpenTK.Graphics.TextAlignment that will be used to print text. The OpenTK.Graphics.TextDirection that will be used to print text. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. The OpenTK.Graphics.TextAlignment that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. The OpenTK.Graphics.TextAlignment that will be used to measure text. The OpenTK.Graphics.TextDirection that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Sets up a resolution-dependent orthographic projection. Restores the projection and modelview matrices to their previous state. Constructs a new TextPrinter instance. Constructs a new TextPrinter instance with the specified TextQuality level. The desired TextQuality of this TextPrinter. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to print text. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to print text. The OpenTK.Graphics.TextAlignment that will be used to print text. Prints text using the specified color and layout options. The System.String to print. The System.Drawing.Font that will be used to print text. The System.Drawing.Color that will be used to print text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to print text. The OpenTK.Graphics.TextAlignment that will be used to print text. The OpenTK.Graphics.TextDirection that will be used to print text. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. The OpenTK.Graphics.TextAlignment that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Measures text using the specified layout options. The System.String to measure. The System.Drawing.Font that will be used to measure text. The System.Drawing.Rectangle that defines the bounds for text layout. The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. The OpenTK.Graphics.TextAlignment that will be used to measure text. The OpenTK.Graphics.TextDirection that will be used to measure text. An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. Sets up a resolution-dependent orthographic projection. Restores the projection and modelview matrices to their previous state. Frees the resources consumed by this TextPrinter object. Creates a System.Delegate that can be used to call a dynamically exported OpenAL function. The function string for the OpenAL function The signature of the OpenAL function. A System.Delegate that can be used to call this OpenAL function or null if the function is not available in the current OpenAL context. 3-component Vector of the Half type. Occupies 6 Byte total. The X component of the Half3. The Y component of the Half3. The Z component of the Half3. The new Half3 instance will avoid conversion and copy directly from the Half parameters. An Half instance of a 16-bit half-precision floating-point number. An Half instance of a 16-bit half-precision floating-point number. An Half instance of a 16-bit half-precision floating-point number. The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. Enable checks that will throw if the conversion result is not meaningful. The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. OpenTK.Vector3 The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. OpenTK.Vector3 Enable checks that will throw if the conversion result is not meaningful. The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. This is the fastest constructor. OpenTK.Vector3 The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. OpenTK.Vector3 Enable checks that will throw if the conversion result is not meaningful. The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. OpenTK.Vector3d The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. OpenTK.Vector3d Enable checks that will throw if the conversion result is not meaningful. The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. This is the faster constructor. OpenTK.Vector3d The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. OpenTK.Vector3d Enable checks that will throw if the conversion result is not meaningful. Returns this Half3 instance's contents as Vector3. OpenTK.Vector3 Returns this Half3 instance's contents as Vector3d. Converts OpenTK.Vector3 to OpenTK.Half3. The Vector3 to convert. The resulting Half vector. Converts OpenTK.Vector3d to OpenTK.Half3. The Vector3d to convert. The resulting Half vector. Converts OpenTK.Half3 to OpenTK.Vector3. The Half3 to convert. The resulting Vector3. Converts OpenTK.Half3 to OpenTK.Vector3d. The Half3 to convert. The resulting Vector3d. The size in bytes for an instance of the Half3 struct is 6. Constructor used by ISerializable to deserialize the object. Used by ISerialize to serialize the object. Updates the X,Y and Z components of this instance by reading from a Stream. A BinaryReader instance associated with an open Stream. Writes the X,Y and Z components of this instance into a Stream. A BinaryWriter instance associated with an open Stream. Returns a value indicating whether this instance is equal to a specified OpenTK.Half3 vector. OpenTK.Half3 to compare to this instance.. True, if other is equal to this instance; false otherwise. Returns a string that contains this Half3's numbers in human-legible form. Returns the Half3 as an array of bytes. The Half3 to convert. The input as byte array. Converts an array of bytes into Half3. A Half3 in it's byte[] representation. The starting position within value. A new Half3 instance. Gets or sets an OpenTK.Vector2h with the X and Y components of this instance. Defines a common interface to all OpenGL resources. Gets the GraphicsContext that owns this resource. Gets the Id of this IGraphicsResource. Defines available alignments for text. The text is aligned to the near side (left for left-to-right text and right for right-to-left text). The text is aligned to the center. The text is aligned to the far side (right for left-to-right text and left for right-to-left text). Gets the width of the texture. Gets the height of the texture. Discards all packed items. Changes the dimensions of the TexturePacker surface. The new width of the TexturePacker surface. The new height of the TexturePacker surface. Changing the size of the TexturePacker surface will implicitly call TexturePacker.Clear(). Alut, FreeAlut = Free Audio Library Utilities Alut.Init initializes the ALUT internals and creates an OpenAL context on the default device and makes it the current OpenAL context. If you want something more complex than that (e.g. running on a non-default device or opening multiple contexts on multiple devices), you can use alutInitWithoutContext instead. alutInit examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv. Application Main Parameters. Can be IntPtr.Zero. Application Main Parameters. Can be IntPtr.Zero. Success. Parameterless function for convenience. Internally passes IntPtr.Zero as parameters. Success. Alut.InitWithoutContext initializes the ALUT internals. It does not create any OpenAL context or device, so this has to be done via the usual ALC calls. alutInitWithoutContext examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv. Application Main Parameters Application Main Parameters Success. Alut.InitWithoutContext initializes the ALUT internals. It does not create any OpenAL context or device, so this has to be done via the usual ALC calls. alutInitWithoutContext examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv. Success. When the application has finished playing audio, it should shut down ALUT using Alut.Exit. This closes any OpenAL device/context that ALUT may have created in alutInit (but not any that the application created using ALC). After calling alutExit, you may subsequently call alutInit or alutInitWithoutContext again. Note that under well-behaved operating systems, it should be acceptable to simply exit from your program without bothering to call alutExit, relying on the OS to clean up after you. However, it is dangerous to rely on this behavior if portable operation is expected. Success. Any ALUT routine that fails will return AL_FALSE / AL_NONE / NULL and set the global error state. If a subsequent error occurs while there is still an error recorded internally, the second error will simply be ignored. Calling alutGetError will reset the error code to ALUT_ERROR_NO_ERROR. Note that the error state is not cleared by other successful ALUT calls. Alut.GetError can be called in any ALUT state and will never fail. Alut.GetErrorString can be used to convert an error code into a human-readable description. The precise text of these descriptions may vary from implementation to implementation and should not be relied upon by the application. Retrieve first occured error with Alut.GetError A human-readable description of the Error. Alut.CreateBufferFromFile tries to guess the sound buffer format by looking at the filename and/or the file contents and loads the sound buffer into an OpenAL buffer. The file to be loaded OpenAL Buffer, 0 on failure. Alut.CreateBufferFromFileImage tries to guess the sound buffer format by looking at the contents of the memory region given as parameters and loads the sound buffer into an OpenAL buffer. A Pointer to the sound buffer in memory. Size in Bytes of the sound buffer. OpenAL Buffer, 0 on failure. Alut.CreateBufferHelloWorld returns a handle to an OpenAL buffer containing the sound of someone saying 'Hello, world!'. OpenAL Buffer, 0 on failure. Alut.CreateBufferWaveform returns a handle to an OpenAL buffer containing a snippet of audio with the specified waveshape at the specified frequency (in hertz), phase (in degrees: -180 to +180) and duration (in seconds). Frequency in hertz [Hz]. Phase (in degrees: -180 to +180) Duration (in seconds) OpenAL Buffer, 0 on failure. Alut.GetMIMETypes returns a comma-separated list of supported MIME types for the given loader type, e.g. something like "audio/basic,audio/mpeg,audio/x-wav". It is possible that AlutLoader.Memory loaders will be unable to support some file types that AlutLoader.Buffer loaders can support (although the reverse is never the case). Furthermore, it is possible that for some file types (notably audio/x-wav) the support may be only for a few sub-formats. For example, an implementation may advertise that audio/x-wav is supported when in fact it only supports uncompressed (i.e. PCM) WAV files and not any of the compressed subformats. In this event, the various ALUT loaders may return an error and set ALUT_ERROR_UNSUPPORTED_FILE_SUBTYPE rather than ALUT_ERROR_UNSUPPORTED_FILE_TYPE which would indicate that no files of this type are allowed. A comma-separated list of supported MIME types. Alut.GetMajorVersion returns the major version number of the ALUT in use, which will match the major version number of the corresponding ALUT specification document. Can be compared using AlutVersions. Major Version Number. Alut.GetMinorVersion returns the minor version number of the ALUT in use, which will match the minor version number of the corresponding ALUT specification document. Can be compared using AlutVersions. Minor Version Number. GLU (OpenGL Utility) binding for .NET, implementing GLU 1.3. Binds functions and definitions in glu32.dll or libGLU.so. The OpenGL Utility (GLU) library contains several groups of functions that complement the core OpenGL interface by providing support for auxiliary features. These features include: mipmapping, matrix manipulation, polygon tessellation, quadrics, NURBS, and error handling. Mipmapping routines include image scaling and automatic mipmap generation. A variety of matrix manipulation functions build projection and viewing matrices, or project vertices from one coordinate system to another. Polygon tessellation routines convert concave polygons into triangles for easy rendering. Quadrics support renders a few basic quadrics such as spheres and cones. NURBS code maps complicated NURBS curves and trimmed surfaces into simpler OpenGL evaluators. Lastly, an error lookup routine translates OpenGL and GLU error codes into strings. GLU library routines may call OpenGL library routines. Thus, an OpenGL context should be made current before calling any GLU functions. Otherwise an OpenGL error may occur. These utility functions make use of core OpenGL functions, so any OpenGL implementation is guaranteed to support the utility functions. Specifies the calling convention. Specifies for Windows and Linux, to indicate that the default should be used. GLU API revision. Specifies GLU 1.1. GLU API revision. Specifies GLU 1.2. GLU API revision. Specifies GLU 1.3. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Unknown. Unable to locate definitive documentation on this constant. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Called from . This method is not CLS-compliant due to naming conventions. Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition. The NURBS object (created with ). Use gluBeginCurve to mark the beginning of a NURBS curve definition. After calling gluBeginCurve, make one or more calls to to define the attributes of the curve. Exactly one of the calls to must have a curve type of or . To mark the end of the NURBS curve definition, call . OpenGL evaluators are used to render the NURBS curve as a series of line segments. Evaluator state is preserved during rendering with Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib. For information on exactly what state these calls preserve, see . EXAMPLE The following commands render a textured NURBS curve with normals; texture coordinates and normals are also specified as NURBS curves: Glu.gluBeginCurve(nobj); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); Glu.gluEndCurve(nobj); Delimits a polygon description. The tessellation object (created with ). gluBeginPolygon delimits the definition of a nonconvex polygon. To define such a polygon, first call gluBeginPolygon. Then define the contours of the polygon by calling for each vertex and to start each new contour. Finally, call to signal the end of the definition. See the and reference pages for more details. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. NOTES This command is obsolete and is provided for backward compatibility only. Calls to gluBeginPolygon are mapped to followed by . Calls to are mapped to followed by . EXAMPLE A quadrilateral with a triangular hole in it can be described like this: Glu.gluBeginPolygon(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluNextContour(tobj, Glu.GLU_INTERIOR); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluEndPolygon(tobj); Delimits a NURBS surface definition. The NURBS object (created with ). Use gluBeginSurface to mark the beginning of a NURBS surface definition. After calling gluBeginSurface, make one or more calls to to define the attributes of the surface. Exactly one of these calls to must have a surface type of or . To mark the end of the NURBS surface definition, call . Trimming of NURBS surfaces is supported with , , , and . See the reference page for details. OpenGL evaluators are used to render the NURBS surface as a set of polygons. Evaluator state is preserved during rendering with Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib(). See the reference page for details on exactly what state these calls preserve. EXAMPLE The following commands render a textured NURBS surface with normals; the texture coordinates and normals are also described as NURBS surfaces: Glu.gluBeginSurface(nobj); Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2); Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL); Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4); Glu.gluEndSurface(nobj); Delimits a NURBS trimming loop definition. The NURBS object (created with ). Use gluBeginTrim to mark the beginning of a trimming loop, and to mark the end of a trimming loop. A trimming loop is a set of oriented curve segments (forming a closed curve) that define boundaries of a NURBS surface. You include these trimming loops in the definition of a NURBS surface, between calls to and . The definition for a NURBS surface can contain many trimming loops. For example, if you wrote a definition for a NURBS surface that resembled a rectangle with a hole punched out, the definition would contain two trimming loops. One loop would define the outer edge of the rectangle; the other would define the hole punched out of the rectangle. The definitions of each of these trimming loops would be bracketed by a gluBeginTrim and pair. The definition of a single closed trimming loop can consist of multiple curve segments, each described as a piecewise linear curve (see ) or as a single NURBS curve (see ), or as a combination of both in any order. The only library calls that can appear in a trimming loop definition (between the calls to gluBeginTrim and ) are and . The area of the NURBS surface that is displayed is the region in the domain to the left of the trimming curve as the curve parameter increases. Thus, the retained region of the NURBS surface is inside a counterclockwise trimming loop and outside a clockwise trimming loop. For the rectangle mentioned earlier, the trimming loop for the outer edge of the rectangle runs counterclockwise, while the trimming loop for the punched-out hole runs clockwise. If you use more than one curve to define a single trimming loop, the curve segments must form a closed loop (that is, the endpoint of each curve must be the starting point of the next curve, and the endpoint of the final curve must be the starting point of the first curve). If the endpoints of the curve are sufficiently close together but not exactly coincident, they will be coerced to match. If the endpoints are not sufficiently close, an error results (see ). If a trimming loop definition contains multiple curves, the direction of the curves must be consistent (that is, the inside must be to the left of all of the curves). Nested trimming loops are legal as long as the curve orientations alternate correctly. If trimming curves are self-intersecting, or intersect one another, an error results. If no trimming information is given for a NURBS surface, the entire surface is drawn. EXAMPLE This code fragment defines a trimming loop that consists of one piecewise linear curve, and two NURBS curves: Glu.gluBeginTrim(nobj); Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2); Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2); Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3); Glu.gluEndTrim(nobj); Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of one-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width in pixels of the texture image. This should be a power of 2. Specifies the format of the pixel data. Must be one of: , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16Χ1, 8Χ1, 4Χ1, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ1, 4Χ1 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2((width)*(2^level)). See the reference page for a description of the acceptable values for type parameter. See the reference page for a description of the acceptable values for level parameter. NOTES gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width is < 1. is returned if internalFormat, format, or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a one-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57 then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(width). For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ1, 32Χ1, 16Χ1, 8Χ1, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for the type parameter. See the reference page for a description of the acceptable values for the data parameter. NOTES Note that there is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log2(width). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. ERRORS is returned if width is < 1. is returned if format or type are not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of two-dimensional mipmap levels. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies the width, in pixels, of the texture image. Should be a power of 2. Specifies the height, in pixels, of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16Χ8, 8Χ4, 4Χ2, 2Χ1, 1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4, 4Χ2 and 2Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a two-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Specifies, in pixels, the height of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data itself), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23 then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is <= 1.0, both maximum texture dimensions are clamped to the value returned by with the argument .) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an NΧ1 or 1ΧN configuration. Here, two texels are averaged instead.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height)). For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16, 32Χ8, 16Χ4, 8Χ2, 4Χ1, 2Χ1 and 1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height)). Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. ERRORS is returned if width or height is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a subset of three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width of the texture image. Should be a power of 2. Specifies, in pixels, the height of the texture image. Should be a power of 2. Specifies, in pixels, the depth of the texture image. Should be a power of 2. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of , , , , , , , , , , , , , , , , , , , or . Specifies the mipmap level of the image data. Specifies the minimum mipmap level to pass to . Specifies the maximum mipmap level to pass to . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). A series of mipmap levels from min to max is built by decimating data in half along both dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load these mipmap levels from min to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see ) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16Χ8Χ4, 8Χ4Χ2, 4Χ2Χ1, 2Χ1Χ1, 1Χ1Χ1. These correspond to levels 2 through 6 respectively. If min is 3 and max is 5, then only mipmap levels 8Χ4Χ2, 4Χ2Χ1 and 2Χ1Χ1 are loaded. However, if max is 7 then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log2(max(width,height,depth)*(2^level)). See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if level > min, min < 0, max < min or max is > the highest mipmap level for data. is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Builds a three-dimensional mipmap. Specifies the target texture. Must be . Requests the internal storage format of the texture image. Must be 1, 2, 3, 4, or one of the following symbolic constants: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , or . Specifies, in pixels, the width in pixels of the texture image. Specifies, in pixels, the height in pixels of the texture image. Specifies, in pixels, the depth in pixels of the texture image. Specifies the format of the pixel data. Must be one of , , , , , , , , , , , or . Specifies the data type for data. Must be one of: , , , , , , , , , , , , , , , , , , , or . Specifies a pointer to the image data in memory. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see ). Initially, the width, height and depth of data are checked to see if they are a power of two. If not, a copy of data (not data itself), is scaled up or down to the nearest power of two. This copy will be used for subsequent mipmapping operations described below. (If width, height or depth is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57, height is 23 and depth is 24 then a copy of data will scale up to 64 in width, down to 16 in height and up to 32 in depth, before mipmapping takes place. Then, proxy textures (see ) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1Χ1Χ1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log2(max(width,height,depth)). For example, if width is 64, height is 16 and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64Χ16Χ32, 32Χ8Χ16, 16Χ4Χ8, 8Χ2Χ4, 4Χ1Χ2, 2Χ1Χ1 and 1Χ1Χ1. These correspond to levels 0 through 6, respectively. See the reference page for a description of the acceptable values for format parameter. See the reference page for a description of the acceptable values for type parameter. NOTES There is no direct way of querying the maximum level. This can be derived indirectly via . First, query for the width, height and depth actually used at level 0. (The width, height and depth may not be equal to width, height and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log2(max(width,height,depth)). gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if width, height, or depth is < 1. is returned if internalFormat, format, or type is not legal. is returned if type is or and format is not . is returned if type is or and format is not . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . is returned if type is or and format is neither nor . Determines if an extension name is supported. Specifies an extension name. Specifies a space-separated list of extension names supported. Returns if extensionName is supported otherwise is returned. gluCheckExtension is used to check for the presence for OpenGL, GLU or GLX extension names by passing the extension strings returned by , , /*see cref="glXGetClientString" />*/, /*see cref="glXQueryExtensionsString" />*/, or /*see cref="glXQueryServerString" />*/, respectively, as extensionString. Returns if extensionName is supported otherwise is returned. NOTES Cases where one extension name is a substring of another are correctly handled. There may or may not be leading or trailing blanks in extensionString. Extension names should not contain embedded spaces. All strings are null-terminated. /*seealso cref="glXGetClientString" />*/ /*seealso cref="glXQueryExtensionsString" />*/ /*seealso cref="glXQueryServerString" />*/ Draws a cylinder. Specifies the quadrics object (created with ). Specifies the radius of the cylinder at z = 0. Specifies the radius of the cylinder at z = height. If top is set to 0, this subroutine generates a cone. Specifies the height of the cylinder. Specifies the number of subdivisions around the z axis. Specifies the number of subdivisions along the z axis. gluCylinder draws a cylinder oriented along the z axis. The base of the cylinder is placed at z = 0, and the top at z = height. Like a sphere, a cylinder is subdivided around the z axis into slices, and along the z axis into stacks. Note that if top is set to 0.0, this routine generates a cone. If the orientation is set to (with ), then any generated normals point away from the z axis. Otherwise, they point toward the z axis. If texturing is turned on using the subroutine, texture coordinates are generated so that t ranges linearly from 0.0 at z = 0 to 1.0 at z = height, and s ranges from 0.0 at the +y axis to 0.25 at the +x axis, as well as up to 0.5 at the -y axis and 0.75 at the -x axis, then back to 1.0 at the +y axis. Destroys a NURBS object. The NURBS object to be destroyed (created with ). gluDeleteNurbsRenderer destroys the NURBS object (which was created with ) and frees any memory it uses. Once gluDeleteNurbsRenderer has been called, nurb cannot be used again. Destroys a quadrics object. The quadric object to be destroyed (created with ). gluDeleteQuadric destroys the quadrics object (created with ) and frees any memory it uses. Once gluDeleteQuadric has been called, quad cannot be used again. Destroys a tessellation object. The tessellation object to destroy (created with ). gluDeleteTess destroys the indicated tessellation object (which was created with ) and frees any memory that it used. Once gluDeleteTess has been called, tess cannot be used again. Draws a disk. The quadric object (created with ). The inner radius of the disk (may be zero). The outer radius of the disk. The number of subdivisions around the z-axis. The number of concentric rings about the origin into which the disk is subdivided. gluDisk renders a disk on the z = 0 plane. The disk has a radius of outerRadius, and contains a concentric circular hole with a radius of innerRadius. If innerRadius is 0, then no hole is generated. The disk is subdivided around the z axis into slices (like pizza slices), and also about the z axis into rings (as specified by slices and loops, respectively). With respect to orientation, the +z side of the disk is considered to be "outside" (see ). This means that if the orientation is set to , then any normals generated point along the +z axis. Otherwise, they point along the -z axis. If texturing has been turned on (with ), texture coordinates are generated linearly such that where r = outerRadius, the value at (r, 0, 0) is (1, 0.5), at (0, r, 0) it is (0.5, 1), at (-r, 0, 0) it is (0, 0.5), and at (0, -r, 0) it is (0.5, 0). Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition. The NURBS object (created with ). Use to mark the beginning of a NURBS curve definition. After calling , make one or more calls to to define the attributes of the curve. Exactly one of the calls to must have a curve type of or . To mark the end of the NURBS curve definition, call gluEndCurve. OpenGL evaluators are used to render the NURBS curve as a series of line segments. Evaluator state is preserved during rendering with Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib. For information on exactly what state these calls preserve, see . EXAMPLE The following commands render a textured NURBS curve with normals; texture coordinates and normals are also specified as NURBS curves: Glu.gluBeginCurve(nobj); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); Glu.gluEndCurve(nobj); Delimits a polygon description. The tessellation object (created with ). delimits the definition of a nonconvex polygon. To define such a polygon, first call . Then define the contours of the polygon by calling for each vertex and to start each new contour. Finally, call gluEndPolygon to signal the end of the definition. See the and reference pages for more details. Once gluEndPolygon is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. NOTES This command is obsolete and is provided for backward compatibility only. Calls to are mapped to followed by . Calls to gluEndPolygon are mapped to followed by . EXAMPLE A quadrilateral with a triangular hole in it can be described like this: Glu.gluBeginPolygon(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluNextContour(tobj, Glu.GLU_INTERIOR); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluEndPolygon(tobj); Delimits a NURBS surface definition. The NURBS object (created with ). Use to mark the beginning of a NURBS surface definition. After calling , make one or more calls to to define the attributes of the surface. Exactly one of these calls to must have a surface type of or . To mark the end of the NURBS surface definition, call gluEndSurface. Trimming of NURBS surfaces is supported with , , , and . See the reference page for details. OpenGL evaluators are used to render the NURBS surface as a set of polygons. Evaluator state is preserved during rendering with Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib(). See the reference page for details on exactly what state these calls preserve. EXAMPLE The following commands render a textured NURBS surface with normals; the texture coordinates and normals are also described as NURBS surfaces: Glu.gluBeginSurface(nobj); Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2); Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL); Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4); Glu.gluEndSurface(nobj); Delimits a NURBS trimming loop definition. The NURBS object (created with ). Use to mark the beginning of a trimming loop, and gluEndTrim to mark the end of a trimming loop. A trimming loop is a set of oriented curve segments (forming a closed curve) that define boundaries of a NURBS surface. You include these trimming loops in the definition of a NURBS surface, between calls to and . The definition for a NURBS surface can contain many trimming loops. For example, if you wrote a definition for a NURBS surface that resembled a rectangle with a hole punched out, the definition would contain two trimming loops. One loop would define the outer edge of the rectangle; the other would define the hole punched out of the rectangle. The definitions of each of these trimming loops would be bracketed by a and gluEndTrim pair. The definition of a single closed trimming loop can consist of multiple curve segments, each described as a piecewise linear curve (see ) or as a single NURBS curve (see ), or as a combination of both in any order. The only library calls that can appear in a trimming loop definition (between the calls to and gluEndTrim are and . The area of the NURBS surface that is displayed is the region in the domain to the left of the trimming curve as the curve parameter increases. Thus, the retained region of the NURBS surface is inside a counterclockwise trimming loop and outside a clockwise trimming loop. For the rectangle mentioned earlier, the trimming loop for the outer edge of the rectangle runs counterclockwise, while the trimming loop for the punched-out hole runs clockwise. If you use more than one curve to define a single trimming loop, the curve segments must form a closed loop (that is, the endpoint of each curve must be the starting point of the next curve, and the endpoint of the final curve must be the starting point of the first curve). If the endpoints of the curve are sufficiently close together but not exactly coincident, they will be coerced to match. If the endpoints are not sufficiently close, an error results (see ). If a trimming loop definition contains multiple curves, the direction of the curves must be consistent (that is, the inside must be to the left of all of the curves). Nested trimming loops are legal as long as the curve orientations alternate correctly. If trimming curves are self-intersecting, or intersect one another, an error results. If no trimming information is given for a NURBS surface, the entire surface is drawn. EXAMPLE This code fragment defines a trimming loop that consists of one piecewise linear curve, and two NURBS curves: Glu.gluBeginTrim(nobj); Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2); Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2); Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3); Glu.gluEndTrim(nobj); Produces an error string from a GL or GLU error code. An OpenGL or GLU error code. A string representation of the error. gluErrorString produces an error string from a GL or GLU error code. The string is in ISO Latin 1 format. For example, gluErrorString(Gl.GL_OUT_OF_MEMORY) returns the string 'out of memory'. The standard GLU error codes are , , and . Certain other GLU functions can return specialized error codes through callbacks. See the reference page for the list of GL error codes. ERRORS NULL is returned if errorCode is not a valid GL or GLU error code. Produces an error string from a GL or GLU error code. An OpenGL or GLU error code. A string representation of the error. gluErrorStringWIN produces an error string from a GL or GLU error code. The string is in UNICODE format. For example, gluErrorStringWIN(Gl.GL_OUT_OF_MEMORY) returns the string 'out of memory'. The standard GLU error codes are , , and . Certain other GLU functions can return specialized error codes through callbacks. See the reference page for the list of GL error codes. ERRORS NULL is returned if errorCode is not a valid GL or GLU error code. Produces an error string from a GL or GLU error code. An OpenGL or GLU error code. A Unicode string representation of the error. gluErrorString produces an error string from a GL or GLU error code. The string is in UNICODE format. For example, gluErrorString(Gl.GL_OUT_OF_MEMORY) returns the string 'out of memory'. The standard GLU error codes are , , and . Certain other GLU functions can return specialized error codes through callbacks. See the reference page for the list of GL error codes. ERRORS NULL is returned if errorCode is not a valid GL or GLU error code. Gets a NURBS property. The NURBS object (created with ). The property whose value is to be retrieved. The following values are valid: , , , , , , , and . A pointer to the location into which the value of the named property is written. gluGetNurbsProperty retrieves properties stored in a NURBS object. These properties affect the way that NURBS curves and surfaces are rendered. See the reference page for information about what the properties are and what they do. Gets a NURBS property. The NURBS object (created with ). The property whose value is to be retrieved. The following values are valid: , , , , , , , and . A pointer to the location into which the value of the named property is written. gluGetNurbsProperty retrieves properties stored in a NURBS object. These properties affect the way that NURBS curves and surfaces are rendered. See the reference page for information about what the properties are and what they do. Gets a NURBS property. The NURBS object (created with ). The property whose value is to be retrieved. The following values are valid: , , , , , , , and . A pointer to the location into which the value of the named property is written. gluGetNurbsProperty retrieves properties stored in a NURBS object. These properties affect the way that NURBS curves and surfaces are rendered. See the reference page for information about what the properties are and what they do. Gets a string that describes the GLU version number or supported GLU extension calls. Either the version number of GLU () or available vendor-specific extension calls (). Returns a string describing the GLU version or the GLU extensions that are supported. gluGetString returns a string describing the GLU version or the GLU extensions that are supported. When name is , the returned string is a value that represents the version number of GLU. The format of the version number is as follows: <version number><space><vendor-specific information> (for example, "1.2.11 Microsoft Windows NT") The version number has the form "major_number.minor_number" or "major_number.minor_number.release_number". The vendor-specific information is optional, and the format and contents depend on the implementation. When name is , the returned string contains a list of names of supported GLU extensions that are separated by spaces. The format of the returned list of names is as follows: <extension_name><space><extension_name><space> . . . (for example, "GLU_NURBS GL_TESSELATION") The extension names cannot contain any spaces. NOTES The gluGetString function is valid for GLU version 1.1 or later. All strings are NULL-terminated. gluGetString only returns information about GLU extensions. Call to get a list of GL extensions. gluGetString is an initialization routine. Calling it after a results in undefined behavior. ERRORS NULL is returned if name is not or . Gets a tessellation object property. The tessellation object (created with ). The property whose value is to be retrieved. The following values are valid: , , and . A pointer to the location where the value of the named property is written. gluGetTessProperty retrieves properties stored in a tessellation object. These properties affect the way that tessellation objects are interpreted and rendered. See the reference page for information about the properties and what they do. Gets a tessellation object property. The tessellation object (created with ). The property whose value is to be retrieved. The following values are valid: , , and . A pointer to the location where the value of the named property is written. gluGetTessProperty retrieves properties stored in a tessellation object. These properties affect the way that tessellation objects are interpreted and rendered. See the reference page for information about the properties and what they do. Gets a tessellation object property. The tessellation object (created with ). The property whose value is to be retrieved. The following values are valid: , , and . A pointer to the location where the value of the named property is written. gluGetTessProperty retrieves properties stored in a tessellation object. These properties affect the way that tessellation objects are interpreted and rendered. See the reference page for information about the properties and what they do. Loads NURBS sampling and culling matrices. The NURBS object (created with ). A modelview matrix (as from a call). A projection matrix (as from a call). A viewport (as from a call). gluLoadSamplingMatrices uses modelMatrix, projectionMatrix, and viewport to recompute the sampling and culling matrices stored in nurb. The sampling matrix determines how finely a NURBS curve or surface must be tessellated to satisfy the sampling tolerance (as determined by the property). The culling matrix is used in deciding if a NURBS curve or surface should be culled before rendering (when the property is turned on). gluLoadSamplingMatrices is necessary only if the property is turned off (see ). Although it can be convenient to leave the property turned on, there can be a performance penalty for doing so. (A round trip to the GL server is needed to fetch the current values of the modelview matrix, projection matrix, and viewport.) Defines a viewing transformation. The x axis position of the eye point. The y axis position of the eye point. The z axis position of the eye point. The x axis position of the reference point. The y axis position of the reference point. The z axis position of the reference point. The x axis direction of the up vector. The y axis direction of the up vector. The z axis direction of the up vector. gluLookAt creates a viewing matrix derived from an eye point, a reference point indicating the center of the scene, and an UP vector. The matrix maps the reference point to the negative z axis and the eye point to the origin. When a typical projection matrix is used, the center of the scene therefore maps to the center of the viewport. Similarly, the direction described by the UP vector projected onto the viewing plane is mapped to the positive y axis so that it points upward in the viewport. The UP vector must not be parallel to the line of sight from the eye point to the reference point. The matrix generated by gluLookAt postmultiplies the current matrix. The matrix M generated by the OpenGL could be computed as follows: Let E be the 3d column vector (eyeX, eyeY, eyeZ). Let C be the 3d column vector (centerX, centerY, centerZ). Let U be the 3d column vector (upX, upY, upZ). Compute L = C - E. Normalize L. Compute S = L x U. Normalize S. Compute U' = S x L. M is the matrix whose columns are, in order: (S, 0), (U', 0), (-L, 0), (-E, 1) (all column vectors) Note: This matrix is defined for use in systems where the the modelling coordinate vector is a column vector and is multiplied on the left by the matrices. If you prefer a row vector which gets multiplied by matrices to its right, then use the transpose of this matrix M. Note: It is necessary that the UP vector NOT be parallel to the line connecting the center point with the eye point. Creates a NURBS object. Returns a pointer to a new NURBS object. gluNewNurbsRenderer creates and returns a pointer to a new NURBS object. This object must be referred to when calling NURBS rendering and control functions. A return value of 0 means that there is not enough memory to allocate the object. Creates a quadrics object. Returns a pointer to a new quadrics object. gluNewQuadric creates and returns a pointer to a new quadrics object. This object must be referred to when calling quadrics rendering and control functions. A return value of 0 means that there is not enough memory to allocate the object. Creates a tessellation object. Returns a pointer to a new tessellation object. gluNewTess creates and returns a pointer to a new tessellation object. This object must be referred to when calling tessellation functions. A return value of 0 means that there is not enough memory to allocate the object. Marks the beginning of another contour. The tessellation object (created with ). The type of the contour being defined. The following values are valid: Value Description An exterior contour defines an exterior boundary of the polygon. An interior contour defines an interior boundary of the polygon (such as a hole). An unknown contour is analyzed by the library to determine whether it is interior or exterior. , The first or contour defined is considered to be exterior. All other contours are considered to be exterior if they are oriented in the same direction (clockwise or counterclockwise) as the first contour, and interior if they are not. If one contour is of type or , then all contours must be of the same type (if they are not, then all and contours will be changed to ). Note that there is no real difference between the and contour types. gluNextContour is used in describing polygons with multiple contours. After the first contour has been described through a series of calls, a gluNextContour call indicates that the previous contour is complete and that the next contour is about to begin. Another series of calls is then used to describe the new contour. This process can be repeated until all contours have been described. Before the first contour is described, gluNextContour can be called to define the type of the first contour. If gluNextContour is not called before the first contour, then the first contour is marked . This command is obsolete and is provided for backward compatibility only. Calls to gluNextContour are mapped to followed by . EXAMPLE You can describe a quadrilateral with a triangular hole in it as follows: Glu.gluBeginPolygon(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluEndPolygon(tess); The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. The gluNurbsCallback mehtod defines a callback for a NURBS object. The NURBS object (created with ). The callback being defined. The legal callbacks are as follows: Value Description The begin callback indicates the start of a primitive. The function takes a single argument of type , which can be one of , , , , , or . The default begin callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter colorData. This callback is effective only when the user provides a color map ( or ). colorData contains four components: R,G,B,A. The default color callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The end callback is invoked at the end of a primitive. The default end callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The error function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. There are 37 errors unique to NURBS named through . Character strings describing these errors can be retrieved with . The delegate prototype for this callback is . The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter normalData. In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (). In the case of a NURBS surface, if a normal map () is provided, then the generated normal is computed from the normal map. If a normal map is not provided then a surface normal is computed in a manner similar to that described for evaluators when is enabled. The default normal callback function is null. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter texCoord. The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (, , , , , , , ). If no texture map is specified, this callback function will not be called. The default texture callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter vertexData. All the generated vertices have dimension 3, that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is null. The delegate prototype for this callback is . This is the same as the callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to . The default callback function is null. The delegate prototype for this callback is . The function that the callback invokes. gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If func is null, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when is set to be ) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that userData is a copy of the pointer that was specified at the last call to . The error callback function is effective no matter which value that is set to. All other callback functions are effective only when is set to . NOTES gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the parameter for which. The value is deprecated in GLU version 1.3 in favor of . All other accepted values for func are available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). NOTES gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Sets a user data pointer. The NURBS object (created with ). A pointer to the user's data. gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by ). Defines the shape of a NURBS curve. The NURBS object (created with ). The number of knots in knot. The knotCount parameter equals the number of control points plus the order. An array of knotCount nondecreasing knot values. The offset (as a number of single-precision floating-point values) between successive curve control points. A pointer to an array of control points. The coordinates must agree with type. The order of the NURBS curve. The order parameter equals degree + 1; hence a cubic curve has an order of 4. The type of the curve. If this curve is defined within a / pair, then the type can be any of the valid one-dimensional evaluator types (such as or ). Between a / pair, the only valid types are and . Use gluNurbsCurve to describe a NURBS curve. When gluNurbsCurve appears between a / pair, it is used to describe a curve to be rendered. Positional, texture, and color coordinates are associated by presenting each as a separate gluNurbsCurve between a / pair. No more than one call to gluNurbsCurve for each of color, position, and texture data can be made within a single / pair. Exactly one call must be made to describe the position of the curve (a type of or ). When gluNurbsCurve appears between a / pair, it is used to describe a trimming curve on a NURBS surface. If type is , then it describes a curve in two-dimensional (u and v) parameter space. If it is , then it describes a curve in two-dimensional homogeneous (u, v, and w) parameter space. See the reference page for more discussion about trimming curves. NOTES To define trim curves which stitch well, use . EXAMPLE The following commands render a textured NURBS curve with normals: Glu.gluBeginCurve(nobj); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); Glu.gluEndCurve(nobj); Defines the shape of a NURBS curve. The NURBS object (created with ). The number of knots in knot. The knotCount parameter equals the number of control points plus the order. An array of knotCount nondecreasing knot values. The offset (as a number of single-precision floating-point values) between successive curve control points. A pointer to an array of control points. The coordinates must agree with type. The order of the NURBS curve. The order parameter equals degree + 1; hence a cubic curve has an order of 4. The type of the curve. If this curve is defined within a / pair, then the type can be any of the valid one-dimensional evaluator types (such as or ). Between a / pair, the only valid types are and . Use gluNurbsCurve to describe a NURBS curve. When gluNurbsCurve appears between a / pair, it is used to describe a curve to be rendered. Positional, texture, and color coordinates are associated by presenting each as a separate gluNurbsCurve between a / pair. No more than one call to gluNurbsCurve for each of color, position, and texture data can be made within a single / pair. Exactly one call must be made to describe the position of the curve (a type of or ). When gluNurbsCurve appears between a / pair, it is used to describe a trimming curve on a NURBS surface. If type is , then it describes a curve in two-dimensional (u and v) parameter space. If it is , then it describes a curve in two-dimensional homogeneous (u, v, and w) parameter space. See the reference page for more discussion about trimming curves. NOTES To define trim curves which stitch well, use . EXAMPLE The following commands render a textured NURBS curve with normals: Glu.gluBeginCurve(nobj); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); Glu.gluEndCurve(nobj); Sets a NURBS property. The NURBS object (created with ). The property to be set. Valid values are , , , , , , , , or . The value of the indicated property. It may be a numeric value, or one of , , , , , , , , , or . gluNurbsProperty is used to control properties stored in a NURBS object. These properties affect the way that a NURBS curve is rendered. The accepted values for property are as follows: Value Description val should be set to be either or . When set to , NURBS objects are tessellated into OpenGL primitives and sent to the pipeline for rendering. When set to , NURBS objects are tessellated into OpenGL primitives but the vertices, normals, colors, and/or textures are retrieved back through a callback interface (see ). This allows the user to cache the tessellated results for further processing. The initial value is . Specifies how a NURBS surface should be tessellated. val may be one of , , , , or . When set to , the surface is rendered so that the maximum length, in pixels, of the edges of the tessellation polygons is no greater than what is specified by . specifies that the surface is rendered in such a way that the value specified by describes the maximum distance, in pixels, between the tessellation polygons and the surfaces they approximate. allows users to specify, in parametric coordinates, how many sample points per unit length are taken in u, v direction. is similar to except that it is view independent, that is, the surface is rendered so that the maximum length, in object space, of edges of the tessellation polygons is no greater than what is specified by . is similar to except that it is view independent, that is, the surface is rendered in such a way that the value specified by describes the maximum distance, in object space, between the tessellation polygons and the surfaces they approximate. The initial value of is . Specifies the maximum length, in pixels or in object space length unit, to use when the sampling method is set to or . The NURBS code is conservative when rendering a curve or surface, so the actual length can be somewhat shorter. The initial value is 50.0 pixels. Specifies the maximum distance, in pixels or in object space length unit, to use when the sampling method is or . The initial value is 0.5. Specifies the number of sample points per unit length taken along the u axis in parametric coordinates. It is needed when is set to . The initial value is 100. Specifies the number of sample points per unit length taken along the v axis in parametric coordinate. It is needed when is set to . The initial value is 100. val can be set to , , or . When is set to be , val defines how a NURBS surface should be rendered. When val is set to , the surface is rendered as a set of polygons. When val is set to , the NURBS library draws only the outlines of the polygons created by tessellation. When val is set to just the outlines of patches and trim curves defined by the user are drawn. When is set to be , val defines how a NURBS surface should be tessellated. When is set to or , the NURBS surface is tessellated into OpenGL triangle primitives which can be retrieved back through callback functions. If is set to , only the outlines of the patches and trim curves are generated as a sequence of line strips which can be retrieved back through callback functions. The initial value is . val is a boolean value that, when set to , indicates that a NURBS curve should be discarded prior to tessellation if its control points lie outside the current viewport. The initial value is . val is a boolean value. When set to , the NURBS code downloads the projection matrix, the modelview matrix, and the viewport from the GL server to compute sampling and culling matrices for each NURBS curve that is rendered. Sampling and culling matrices are required to determine the tessellation of a NURBS surface into line segments or polygons and to cull a NURBS surface if it lies outside the viewport. If this mode is set to , then the program needs to provide a projection matrix, a modelview matrix, and a viewport for the NURBS renderer to use to construct sampling and culling matrices. This can be done with the function. This mode is initially set to . Changing it from to does not affect the sampling and culling matrices until is called. NOTES If is true, sampling and culling may be executed incorrectly if NURBS routines are compiled into a display list. A property of , , , or , or a val of , , are only available if the GLU version is 1.1 or greater. They are not valid parameters in GLU 1.0. can be used to determine the GLU version. is only availble if the GLU version is 1.3 or greater. The and values for the property are only available if the GLU version is 1.3 or greater. Defines the shape of a NURBS surface. The NURBS object (created with ). The number of knots in the parametric u direction. An array of sKnotCount nondecreasing knot values in the parametric u direction The number of knots in the parametric v direction. An array of tKnotCount nondecreasing knot values in the parametric v direction. The offset (as a number of single-precision floating-point values) between successive control points in the parametric u direction in control. The offset (in single-precision floating-point values) between successive control points in the parametric v direction in control. An array containing control points for the NURBS surface. The offsets between successive control points in the parametric u and v directions are given by sStride and tStride. The order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4. The order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4. The type of the surface. The type parameter can be any of the valid two-dimensional evaluator types (such as or ). Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) surface definition to describe the shape of a NURBS surface (before any trimming). To mark the beginning of a NURBS surface definition, use the command. To mark the end of a NURBS surface definition, use the command. Call gluNurbsSurface within a NURBS surface definition only. Positional, texture, and color coordinates are associated with a surface by presenting each as a separate gluNurbsSurface between a / pair. No more than one call to gluNurbsSurface for each of color, position, and texture data can be made within a single / pair. Exactly one call must be made to describe the position of the surface (a type of or ). A NURBS surface can be trimmed by using the commands and between calls to and . Note that a gluNurbsSurface with sKnotCount knots in the u direction and tKnotCount knots in the v direction with orders sOrder and tOrder must have (sKnotCount - sOrder) multiplied by (tKnotCount - tOrder) control points. EXAMPLE Glu.gluBeginSurface(nobj); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); Glu.gluEndSurface(nobj); Defines the shape of a NURBS surface. The NURBS object (created with ). The number of knots in the parametric u direction. An array of sKnotCount nondecreasing knot values in the parametric u direction The number of knots in the parametric v direction. An array of tKnotCount nondecreasing knot values in the parametric v direction. The offset (as a number of single-precision floating-point values) between successive control points in the parametric u direction in control. The offset (in single-precision floating-point values) between successive control points in the parametric v direction in control. An array containing control points for the NURBS surface. The offsets between successive control points in the parametric u and v directions are given by sStride and tStride. The order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4. The order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4. The type of the surface. The type parameter can be any of the valid two-dimensional evaluator types (such as or ). Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) surface definition to describe the shape of a NURBS surface (before any trimming). To mark the beginning of a NURBS surface definition, use the command. To mark the end of a NURBS surface definition, use the command. Call gluNurbsSurface within a NURBS surface definition only. Positional, texture, and color coordinates are associated with a surface by presenting each as a separate gluNurbsSurface between a / pair. No more than one call to gluNurbsSurface for each of color, position, and texture data can be made within a single / pair. Exactly one call must be made to describe the position of the surface (a type of or ). A NURBS surface can be trimmed by using the commands and between calls to and . Note that a gluNurbsSurface with sKnotCount knots in the u direction and tKnotCount knots in the v direction with orders sOrder and tOrder must have (sKnotCount - sOrder) multiplied by (tKnotCount - tOrder) control points. EXAMPLE Glu.gluBeginSurface(nobj); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); Glu.gluEndSurface(nobj); Defines the shape of a NURBS surface. The NURBS object (created with ). The number of knots in the parametric u direction. An array of sKnotCount nondecreasing knot values in the parametric u direction The number of knots in the parametric v direction. An array of tKnotCount nondecreasing knot values in the parametric v direction. The offset (as a number of single-precision floating-point values) between successive control points in the parametric u direction in control. The offset (in single-precision floating-point values) between successive control points in the parametric v direction in control. An array containing control points for the NURBS surface. The offsets between successive control points in the parametric u and v directions are given by sStride and tStride. The order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4. The order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4. The type of the surface. The type parameter can be any of the valid two-dimensional evaluator types (such as or ). Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) surface definition to describe the shape of a NURBS surface (before any trimming). To mark the beginning of a NURBS surface definition, use the command. To mark the end of a NURBS surface definition, use the command. Call gluNurbsSurface within a NURBS surface definition only. Positional, texture, and color coordinates are associated with a surface by presenting each as a separate gluNurbsSurface between a / pair. No more than one call to gluNurbsSurface for each of color, position, and texture data can be made within a single / pair. Exactly one call must be made to describe the position of the surface (a type of or ). A NURBS surface can be trimmed by using the commands and between calls to and . Note that a gluNurbsSurface with sKnotCount knots in the u direction and tKnotCount knots in the v direction with orders sOrder and tOrder must have (sKnotCount - sOrder) multiplied by (tKnotCount - tOrder) control points. EXAMPLE Glu.gluBeginSurface(nobj); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); Glu.gluEndSurface(nobj); Defines a 2D orthographic projection matrix. The coordinates for the leftvertical clipping planes. The coordinates for the right vertical clipping planes. The coordinates for the bottom horizontal clipping planes. The coordinates for the top horizontal clipping planes. The gluOrtho2D function sets up a two-dimensional orthographic viewing region. This is equivalent to calling with near = –1 and far = 1. Draws an arc of a disk. A quadric object (created with ). The inner radius of the partial disk (can be zero). The outer radius of the partial disk. The number of subdivisions around the z-axis. The number of concentric rings about the origin into which the partial disk is subdivided. The starting angle, in degrees, of the disk portion. The sweep angle, in degrees, of the disk portion. gluPartialDisk renders a partial disk on the z = 0 plane. A partial disk is similar to a full disk, except that only the subset of the disk from startAngle through startAngle + sweepAngle is included (where 0 degrees is along the +y axis, 90 degrees along the +x axis, 180 degrees along the -y axis, and 270 degrees along the -x axis). The partial disk has a radius of outerRadius, and contains a concentric circular hole with a radius of innerRadius. If innerRadius is 0, then no hole is generated. The partial disk is subdivided around the z axis into slices (like pizza slices), and also about the z axis into rings (as specified by slices and loops, respectively). With respect to orientation, the +z side of the partial disk is considered to be outside (see ). This means that if the orientation is set to , then any normals generated point along the +z axis. Otherwise, they point along the -z axis. If texturing is turned on (with ), texture coordinates are generated linearly such that where r = outerRadius, the value at (r, 0, 0) is (1.0, 0.5), at (0, r, 0) it is (0.5, 1.0), at (-r, 0, 0) it is (0.0, 0.5), and at (0, -r, 0) it is (0.5, 0.0). Sets up a perspective projection matrix. The field of view angle, in degrees, in the y-direction. The aspect ratio that determines the field of view in the x-direction. The aspect ratio is the ratio of x (width) to y (height). The distance from the viewer to the near clipping plane (always positive). The distance from the viewer to the far clipping plane (always positive). The gluPerspective subroutine specifies a viewing frustum into the world coordinate system. Generally, the aspect ratio used with this subroutine should match that of its associated viewport. For example, an aspect ratio value of aspect = 2.0 means the viewer's angle of view is twice as wide in x as it is in y. If the viewport is twice as wide as it is tall, it displays the image without distortion. The matrix generated by gluPerspective is multipled by the current matrix, just as if Gl.glMultMatrix* were called with the generated matrix. To load the perspective matrix onto the current matrix stack instead, precede the call to gluPerspective with a call to . Given f defined as follows: f = cotangent(fovY / 2) The generated matrix is: ( f ) | ------ 0 0 0 | | aspectRatio | | | | | | 0 f 0 0 | | | | | | zFar+zNear 2*zFar*zNear | | 0 0 ---------- ------------ | | zNear-zFar zNear-zFar | | | | | | 0 0 -1 0 | ( ) NOTES Depth buffer precision is affected by the values specified for zNear and zFar. The greater the ratio of zFar to zNear is, the less effective the depth buffer will be at distinguishing between surfaces that are near each other. If r = zFar / zNear roughly log2(r) bits of depth buffer precision are lost. Because r approaches infinity as zNear approaches 0, zNear must never be set to 0. Defines a picking region. The center of a picking region in x axis window coordinates. The center of a picking region in y axis window coordinates. The width of the picking region in window coordinates. The height of the picking region in window coordinates. The current viewport (as from a call). gluPickMatrix creates a projection matrix that can be used to restrict drawing to a small region of the viewport. This is typically useful to determine what objects are being drawn near the cursor. Use gluPickMatrix to restrict drawing to a small region around the cursor. Then, enter selection mode (with ) and rerender the scene. All primitives that would have been drawn near the cursor are identified and stored in the selection buffer. The matrix created by gluPickMatrix is multiplied by the current matrix just as if Gl.glMultMatrix* is called with the generated matrix. To effectively use the generated pick matrix for picking, first call to load an identity matrix onto the perspective matrix stack. Then call gluPickMatrix, and finally, call a command (such as ) to multiply the perspective matrix by the pick matrix. When using gluPickMatrix to pick NURBS, be careful to turn off the NURBS property . If is not turned off, then any NURBS surface rendered is subdivided differently with the pick matrix than the way it was subdivided without the pick matrix. EXAMPLE When rendering a scene as follows: Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); Glu.gluPerspective(. . .); Gl.glMatrixMode(Gl.GL_MODELVIEW); // Draw the scene The following code selects a portion of the viewport: Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); Glu.gluPickMatrix(x, y, width, height, viewport); Glu.gluPerspective(. . .); Gl.glMatrixMode(Gl.GL_MODELVIEW); // Draw the scene Maps object coordinates to window coordinates. The object's x axis coordinate. The object's y axis coordinate. The object's z axis coordinate. The current modelview matrix (as from a call). The current projection matrix (as from a call). The current viewport (as from a call). The computed window's x axis coordinate. The computed window's y axis coordinate. The computed window's z axis coordinate. Returns indicates success, a return value of indicates failure. gluProject transforms the specified object coordinates into window coordinates using modelMatrix, projectionMatrix, and viewport. The result is stored in winX, winY, and winZ. A return value of indicates success, a return value of indicates failure. To compute the coordinates, let v = (objX, objY, objZ, 1.0) represented as a matrix with 4 rows and 1 column. Then gluProject computes v' as follows: v' = P x M x v Where P is the current projection matrix projectionMatrix, M is the current modelview matrix modelMatrix (both represented as 4x4 matrices in column-major order) and 'x' represents matrix multiplication. The window coordinates are then computed as follows: winX = view(0) + view(2) * (v'(0) + 1) / 2 winY = view(1) + view(3) * (v'(1) + 1) / 2 winZ = (v'(2) + 1) / 2 Describes a piecewise linear NURBS trimming curve. The NURBS object (created with ). The number of points on the curve. An array containing the curve points. The offset (a number of single-precision floating-point values) between points on the curve. The type of curve. Must be either or . gluPwlCurve describes a piecewise linear trimming curve for a NURBS surface. A piecewise linear curve consists of a list of coordinates of points in the parameter space for the NURBS surface to be trimmed. These points are connected with line segments to form a curve. If the curve is an approximation to a curve that is not piecewise linear, the points should be close enough in parameter space that the resulting path appears curved at the resolution used in the application. If type is , then it describes a curve in two-dimensional (u and v) parameter space. If it is , then it describes a curve in two-dimensional homogeneous (u, v, and w) parameter space. See the reference page for more information about trimming curves. NOTES To describe a trim curve that closely follows the contours of a NURBS surface, call . Describes a piecewise linear NURBS trimming curve. The NURBS object (created with ). The number of points on the curve. An array containing the curve points. The offset (a number of single-precision floating-point values) between points on the curve. The type of curve. Must be either or . gluPwlCurve describes a piecewise linear trimming curve for a NURBS surface. A piecewise linear curve consists of a list of coordinates of points in the parameter space for the NURBS surface to be trimmed. These points are connected with line segments to form a curve. If the curve is an approximation to a curve that is not piecewise linear, the points should be close enough in parameter space that the resulting path appears curved at the resolution used in the application. If type is , then it describes a curve in two-dimensional (u and v) parameter space. If it is , then it describes a curve in two-dimensional homogeneous (u, v, and w) parameter space. See the reference page for more information about trimming curves. NOTES To describe a trim curve that closely follows the contours of a NURBS surface, call . Defines a callback for a quadric object. The quadric object (created with ). The callback being defined. The only valid value is . The function to be called. gluQuadricCallback is used to define a new callback to be used by a quadrics object. If the specified callback is already defined, then it is replaced. If func is null, then any existing callback is erased. The one legal callback is : Value Description The function is called when an error is encountered. Its single argument is of type , and it indicates the specific error that occurred. Character strings describing these errors can be retrieved with the call. Specifies the draw style desired for quadrics. The quadric object (created with ). The desired draw style. The following values are valid: Value Description Quadrics are rendered with polygon primitives. The polygons are drawn in a counterclockwise fashion with respect to their normals (as defined with ). Quadrics are rendered as a set of lines. Quadrics are rendered as a set of lines, except that edges separating coplanar faces will not be drawn. Quadrics are rendered as a set of points. gluQuadricDrawStyle specifies the draw style for quadrics rendered with quad. Specifies what kind of normals are to be used for quadrics. The quadric object (created with ). The desired type of normals. The following values are valid: Value Description No normals are generated. One normal is generated for every facet of a quadric. One normal is generated for every vertex of a quadric. This is the default value. gluQuadricNormals specifies what kind of normals are desired for quadrics rendered with quad. Specifies inside or outside orientation for quadrics. The quadric object (created with ). The desired orientation. The following values are valid: Value Description Draw quadrics with normals pointing outward. This is the default value. Draw quadrics with normals pointing inward. gluQuadricOrientation specifies what kind of orientation is desired for quadrics rendered with quad. The interpretation of outward and inward depends on the quadric being drawn. Specifies whether quadrics are to be textured. The quadric object (created with ). A flag indicating whether texture coordinates are to be generated. The following values are valid: Value Description Generate texture coordinates. Do not generate texture coordinates. This is the default value. gluQuadricTexture specifies if texture coordinates should be generated for quadrics rendered with quad. The manner in which texture coordinates are generated depends upon the specific quadric rendered. Scales an image to an arbitrary size. The format of the pixel data. The following symbolic values are valid: , , , , , , , , , , , , and . The width of the source image that is scaled. The height of the source image that is scaled. The data type for dataIn. Must be one of , , , , , , , , , , , , , , , , , , , and . A pointer to the source image. The width of the destination image. The height of the destination image. The data type for dataOut. Must be one of , , , , , , , , , , , , , , , , , , , or . A pointer to the destination image. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluScaleImage scales a pixel image using the appropriate pixel store modes to unpack data from the source image and pack data into the destination image. When shrinking an image, gluScaleImage uses a box filter to sample the source image and create pixels for the destination image. When magnifying an image, the pixels from the source image are linearly interpolated to create the destination image. A return value of zero indicates success, otherwise a GLU error code is returned (see ). See the reference page for a description of the acceptable values for the format, typeIn, and typeOut parameters. NOTES Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if widthIn, heightIn, widthOut, or heightOut is negative. is returned if format, typeIn, or typeOut is not legal. is returned if typeIn or typeOut is or and format is not . is returned if typeIn or typeOut is or and format is not . is returned if typeIn or typeOut is or and format is neither nor . is returned if typeIn or typeOut is or and format is neither nor . is returned if typeIn or typeOut is or and format is neither nor . is returned if typeIn or typeOut is or and format is neither nor . Scales an image to an arbitrary size. The format of the pixel data. The following symbolic values are valid: , , , , , , , , , , , , and . The width of the source image that is scaled. The height of the source image that is scaled. The data type for dataIn. Must be one of , , , , , , , , , , , , , , , , , , , and . A pointer to the source image. The width of the destination image. The height of the destination image. The data type for dataOut. Must be one of , , , , , , , , , , , , , , , , , , , or . A pointer to the destination image. A return value of zero indicates success, otherwise a GLU error code is returned (see ). gluScaleImage scales a pixel image using the appropriate pixel store modes to unpack data from the source image and pack data into the destination image. When shrinking an image, gluScaleImage uses a box filter to sample the source image and create pixels for the destination image. When magnifying an image, the pixels from the source image are linearly interpolated to create the destination image. A return value of zero indicates success, otherwise a GLU error code is returned (see ). See the reference page for a description of the acceptable values for the format, typeIn, and typeOut parameters. NOTES Formats , and , and types , , , , , , , , , , , and are only available if the GL version is 1.2 or greater. ERRORS is returned if widthIn, heightIn, widthOut, or heightOut is negative. is returned if format, typeIn, or typeOut is not legal. is returned if typeIn or typeOut is or and format is not . is returned if typeIn or typeOut is or and format is not . is returned if typeIn or typeOut is or and format is neither nor . is returned if typeIn or typeOut is or and format is neither nor . is returned if typeIn or typeOut is or and format is neither nor . is returned if typeIn or typeOut is or and format is neither nor . Draws a sphere. The quadric object (created with ). The radius of the sphere. The number of subdivisions around the z-axis (similar to lines of longitude. The number of subdivisions along the z-axis (similar to lines of latitude). gluSphere draws a sphere of the given radius centered around the origin. The sphere is subdivided around the z axis into slices and along the z axis into stacks (similar to lines of longitude and latitude). If the orientation is set to (with ), then any normals generated point away from the center of the sphere. Otherwise, they point toward the center of the sphere. If texturing is turned on (with ), then texture coordinates are generated so that t ranges from 0.0 at z = -radius to 1.0 at z = radius (t increases linearly along longitudinal lines), and s ranges from 0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the -y axis, to 0.75 at the -x axis, and back to 1.0 at the +y axis. Delimits a contour description. The tessellation object (created with ). gluTessBeginContour and delimit the definition of a polygon contour. Within each gluTessBeginContour/ pair, there can be zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the reference page for more details. gluTessBeginContour can only be called between and . Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Delimits a polygon description. The tessellation object (created with ). A pointer to a programmer defined–polygon data structure. gluTessBeginPolygon and delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/ pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see ), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Defines a callback for a tessellation object. The tessellation object (created with ). The callback being defined. The following values are valid: Value Description The begin callback is invoked like to indicate the start of a (triangle) primitive. The function takes a single argument of type . If the property is set to , then the argument is set to either , , or . If the property is set to , then the argument will be set to . The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The combine callback is called to create a new vertex when the tessellation detects an intersection, or wishes to merge features. The function takes four arguments: an array of three elements each of type , an array of four pointers, an array of four elements each of type , and a pointer to a pointer. The delegate prototype for this callback is . The vertex is defined as a linear combination of up to four existing vertices, stored in vertexData. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coordinates gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertexData and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { VERTEX *newVertex = new_vertex(); newVertex->x = coords[0]; newVertex->y = coords[1]; newVertex->z = coords[2]; newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = newVertex; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or callback (see below) must be defined, and it must write a non-NULL pointer into outData. Otherwise the error occurs, and no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The edge flag callback is similar to . The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is , then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is , then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with or if a non-NULL edge flag callback is provided. (If the callback is initialized to null, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The end callback serves the same purpose as . It indicates the end of a primitive and it takes no arguments. The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The error callback is called when an error is encountered. The one argument is of type ; it indicates the specific error that occurred and will be set to one of , , , , , or . Character strings describing these errors can be retrieved with the call. The delegate prototype for this callback is . The GLU library will recover from the first four errors by inserting the missing call(s). indicates that some vertex coordinate exceeded the predefined constant in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) indicates that the tessellation detected an intersection between two edges in the input data, and the or callback was not provided. No output is generated. indicates that there is not enough memory so no output is generated. The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The vertex callback is invoked between the begin and end callbacks. It is similar to Gl.glVertex*, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see ). The delegate prototype for this callback is . The same as the callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when was called. The delegate prototype for this callback is . The function to be called. gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If func is null, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygonData parameter used by some of the functions is a copy of the pointer that was specified when was called. EXAMPLE You can directly render tessallated polygons as follows: Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v, v); . . . Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); Delimits a contour description. The tessellation object (created with ). and gluTessEndContour delimit the definition of a polygon contour. Within each /gluTessEndContour pair, there can be zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the reference page for more details. can only be called between and . Delimits a polygon description. The tessellation object (created with ). and gluTessEndPolygon delimit the definition of a convex, concave or self-intersecting polygon. Within each /gluTessEndPolygon pair, there must be one or more calls to /. Within each contour, there are zero or more calls to . The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the , , and reference pages for more details. Once gluTessEndPolygon is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See for descriptions of the callback functions. EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tobj, null); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v1, v1); Glu.gluTessVertex(tobj, v2, v2); Glu.gluTessVertex(tobj, v3, v3); Glu.gluTessVertex(tobj, v4, v4); Glu.gluTessEndContour(tobj); Glu.gluTessBeginContour(tobj); Glu.gluTessVertex(tobj, v5, v5); Glu.gluTessVertex(tobj, v6, v6); Glu.gluTessVertex(tobj, v7, v7); Glu.gluTessEndContour(tobj); Glu.gluTessEndPolygon(tobj); Specifies a normal for a polygon. The tessellation object (created with ). The x-coordinate component of a normal. The y-coordinate component of a normal. The z-coordinate component of a normal. gluTessNormal describes a normal for a polygon that the program is defining. All input data will be projected onto a plane perpendicular to one of the three coordinate axes before tessellation and all output triangles will be oriented CCW with respect to the normal (CW orientation can be obtained by reversing the sign of the supplied normal). For example, if you know that all polygons lie in the x-y plane, call Glu.gluTessNormal(tess, 0.0, 0.0, 1.0) before rendering any polygons. If the supplied normal is (0.0, 0.0, 0.0) (the initial value), the normal is determined as follows. The direction of the normal, up to its sign, is found by fitting a plane to the vertices, without regard to how the vertices are connected. It is expected that the input data lies approximately in the plane; otherwise, projection perpendicular to one of the three coordinate axes may substantially change the geometry. The sign of the normal is chosen so that the sum of the signed areas of all input contours is nonnegative (where a CCW contour has positive area). The supplied normal persists until it is changed by another call to gluTessNormal. Sets the property of a tessellation object. The tessellation object (created with ). The property value to set. The following values are valid: Value Description Determines which parts of the polygon are on the "interior". data may be set to one of , , , or , or . To understand how the winding rule works, consider that the input contours partition the plane into regions. The winding rule determines which of these regions are inside the polygon. For a single contour C, the winding number of a point x is simply the signed number of revolutions we make around x as we travel once around C (where CCW is positive). When there are several contours, the individual winding numbers are summed. This procedure associates a signed integer value with each point x in the plane. Note that the winding number is the same for all points in a single region. The winding rule classifies a region as "inside" if its winding number belongs to the chosen category (odd, nonzero, positive, negative, or absolute value of at least two). The previous GLU tessellator (prior to GLU 1.2) used the "odd" rule. The "nonzero" rule is another common way to define the interior. The other three rules are useful for polygon CSG operations. Is a boolean value ("value" should be set to or ). When set to , a set of closed contours separating the polygon interior and exterior are returned instead of a tessellation. Exterior contours are oriented CCW with respect to the normal; interior contours are oriented CW. The and callbacks use the type for each contour. Specifies a tolerance for merging features to reduce the size of the output. For example, two vertices that are very close to each other might be replaced by a single vertex. The tolerance is multiplied by the largest coordinate magnitude of any input vertex; this specifies the maximum distance that any feature can move as the result of a single merge operation. If a single feature takes part in several merge operations, the total distance moved could be larger. Feature merging is completely optional; the tolerance is only a hint. The implementation is free to merge in some cases and not in others, or to never merge features at all. The initial tolerance is 0. The current implementation merges vertices only if they are exactly coincident, regardless of the current tolerance. A vertex is spliced into an edge only if the implementation is unable to distinguish which side of the edge the vertex lies on. Two edges are merged only when both endpoints are identical. The value of the indicated property. gluTessProperty is used to control properties stored in a tessellation object. These properties affect the way that the polygons are interpreted and rendered. Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Specifies a vertex on a polygon. The tessellation object (created with ). The location of the vertex. A pointer passed back to the program with the vertex callback (as specified by ). gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral gluTessVertex should be called four times. gluTessVertex can only be called between and . data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the or callback after tessellation (see the reference page). EXAMPLE The following describes a quadrilateral with a triangular hole: Glu.gluTessBeginPolygon(tess, null); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v1, v1); Glu.gluTessVertex(tess, v2, v2); Glu.gluTessVertex(tess, v3, v3); Glu.gluTessVertex(tess, v4, v4); Glu.gluTessEndContour(tess); Glu.gluNextContour(tess, Glu.GLU_INTERIOR); Glu.gluTessBeginContour(tess); Glu.gluTessVertex(tess, v5, v5); Glu.gluTessVertex(tess, v6, v6); Glu.gluTessVertex(tess, v7, v7); Glu.gluTessEndContour(tess); Glu.gluTessEndPolygon(tess); NOTES It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for(int i = 0; i < NVERTICES; ++i) { double data[3]; data[0] = vertex[i, 0]; data[1] = vertex[i, 1]; data[2] = vertex[i, 2]; Glu.gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are consists of a single point (when a local variable is used for data) and a error (when a local variable is used for location). Maps window coordinates to object coordinates. The window's x axis coordinate to be mapped. The window's y axis coordinate to be mapped. The window's z axis coordinate to be mapped. The modelview matrix (as from a call). The projection matrix (as from a call). The viewport (as from a call). The computed object's x axis coordinate. The computed object's y axis coordinate. The computed object's z axis coordinate. A return value of indicates success; a return value of indicates failure. gluUnProject maps the specified window coordinates into object coordinates using modelMatrix, projectionMatrix, and viewport. The result is stored in objX, objY, and objZ. A return value of indicates success; a return value of indicates failure. To compute the coordinates (objX, objY, and objZ), gluUnProject multiplies the normalized device coordinates by the inverse of modelMatrix multiplied by projectionMatrix as follows: ( 2(winX - viewport[0]) ) | ----------------- - 1 | | viewport[2] | ( ) | | | objX | | 2(winY - viewport[1]) | | objY | = INV(PM)| ----------------- - 1 | | objZ | | viewport[3] | ( W ) | | | 2(winZ) - 1 | | | ( 1 ) INV() denotes matrix inversion. W is an unused variable, included for consistent matrix notation. Maps window and clip coordinates to object coordinates. The window's x axis coordinate to be mapped. The window's y axis coordinate to be mapped. The window's z axis coordinate to be mapped. The clip w coordinate to be mapped. The modelview matrix (as from a call). The projection matrix (as from a call). The viewport (as from a call). The near plane (as from a call). The far plane (as from a call). The computed object's x axis coordinate. The computed object's y axis coordinate. The computed object's z axis coordinate. The computed object's clip w coordinate. A return value of indicates success; a return value of indicates failure. gluUnProject4 maps the specified window coordinates winX, winY and winZ and its clip w coordinate clipW into object coordinates (objX, objY, objZ, objW) using modelMatrix, projectionMatrix and viewport. clipW can be other than 1 as for vertices in when data type is returned. This also handles the case where the nearVal and farVal planes are different from the default, 0 and 1, respectively. A return value of indicates success; a return value of indicates failure. To compute the coordinates (objX, objY, objZ and objW), gluUnProject4 multiplies the normalized device coordinates by the inverse of modelMatrix multiplied by projectionMatrix as follows: ( 2(winX - viewport[0] ) | ---------------- - 1 | | viewport[2] | | | | 2(winY - viewport[1] | ( objX ) | ---------------- - 1 | | objY | = INV(PM) * | viewport[3] | | objZ | | | ( objW ) | 2(winZ - nearVal) | | -------------- - 1 | | farVal - nearVal | | | ( clipW ) INV() denotes matrix inversion. gluUnProject4 is equivalent to when clipW is 1, nearVal is 0 and farVal is 1. gluUnProject4 is available only if the GLU version is 1.3 or greater. Defines a GLU NURBS object. Keeps the struct from being garbage collected prematurely. Defines a GLU quadric object. Keeps the struct from being garbage collected prematurely. Defines a GLU tesselator object. Keeps the struct from being garbage collected prematurely. Defines a GLU NURBS object. Keeps the struct from being garbage collected prematurely. Defines a GLU quadric object. Keeps the struct from being garbage collected prematurely. Defines a GLU tesselator object. Keeps the struct from being garbage collected prematurely. Defines a GLU triangulator object. Keeps the struct from being garbage collected prematurely. Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . Callback (delegate) for use with . 4-component Vector of the Half type. Occupies 8 Byte total. The X component of the Half4. The Y component of the Half4. The Z component of the Half4. The W component of the Half4. The new Half4 instance will avoid conversion and copy directly from the Half parameters. An Half instance of a 16-bit half-precision floating-point number. An Half instance of a 16-bit half-precision floating-point number. An Half instance of a 16-bit half-precision floating-point number. An Half instance of a 16-bit half-precision floating-point number. The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. 32-bit single-precision floating-point number. Enable checks that will throw if the conversion result is not meaningful. The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. OpenTK.Vector4 The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. OpenTK.Vector4 Enable checks that will throw if the conversion result is not meaningful. The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. This is the fastest constructor. OpenTK.Vector4 The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. OpenTK.Vector4 Enable checks that will throw if the conversion result is not meaningful. The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. OpenTK.Vector4d The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. OpenTK.Vector4d Enable checks that will throw if the conversion result is not meaningful. The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. This is the faster constructor. OpenTK.Vector4d The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. OpenTK.Vector4d Enable checks that will throw if the conversion result is not meaningful. Returns this Half4 instance's contents as Vector4. OpenTK.Vector4 Returns this Half4 instance's contents as Vector4d. Converts OpenTK.Vector4 to OpenTK.Half4. The Vector4 to convert. The resulting Half vector. Converts OpenTK.Vector4d to OpenTK.Half4. The Vector4d to convert. The resulting Half vector. Converts OpenTK.Half4 to OpenTK.Vector4. The Half4 to convert. The resulting Vector4. Converts OpenTK.Half4 to OpenTK.Vector4d. The Half4 to convert. The resulting Vector4d. The size in bytes for an instance of the Half4 struct is 8. Constructor used by ISerializable to deserialize the object. Used by ISerialize to serialize the object. Updates the X,Y,Z and W components of this instance by reading from a Stream. A BinaryReader instance associated with an open Stream. Writes the X,Y,Z and W components of this instance into a Stream. A BinaryWriter instance associated with an open Stream. Returns a value indicating whether this instance is equal to a specified OpenTK.Half4 vector. OpenTK.Half4 to compare to this instance.. True, if other is equal to this instance; false otherwise. Returns a string that contains this Half4's numbers in human-legible form. Returns the Half4 as an array of bytes. The Half4 to convert. The input as byte array. Converts an array of bytes into Half4. A Half4 in it's byte[] representation. The starting position within value. A new Half4 instance. Gets or sets an OpenTK.Vector2h with the X and Y components of this instance. Gets or sets an OpenTK.Vector3h with the X, Y and Z components of this instance. Holds part or the whole of a 2d OpenGL texture. A list of valid Enable/Disable/IsEnabled parameters Currently no state toggles exist for vanilla OpenAL and no Extension uses it. A list of valid 32-bit Float Listener/GetListener parameters Indicate the gain (Volume amplification) applied. Type: float Range: [0.0f - ? ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0f is interpreted as zero volume and the channel is effectively disabled. (EFX Extension) This setting is critical if Air Absorption effects are enabled because the amount of Air Absorption applied is directly related to the real-world distance between the Source and the Listener. centimeters 0.01f meters 1.0f kilometers 1000.0f Range [float.MinValue .. float.MaxValue] Default: 1.0f A list of valid Math.Vector3 Listener/GetListener parameters Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system. Specify the current velocity in three dimensional space. A list of valid float[] Listener/GetListener parameters Indicate Listener orientation. Expects two Vector3, At followed by Up. A list of valid 32-bit Float Source/GetSource parameters Source specific reference distance. Type: float Range: [0.0f - float.PositiveInfinity] At 0.0f, no distance attenuation occurs. Type: float Default: 1.0f. Indicate distance above which Sources are not attenuated using the inverse clamped distance model. Default: float.PositiveInfinity Type: float Range: [0.0f - float.PositiveInfinity] Source specific rolloff factor. Type: float Range: [0.0f - float.PositiveInfinity] Specify the pitch to be applied, either at Source, or on mixer results, at Listener. Range: [0.5f - 2.0f] Default: 1.0f Indicate the gain (volume amplification) applied. Type: float. Range: [0.0f - ? ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0f is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled. Indicate minimum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic) Indicate maximum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic) Directional Source, inner cone angle, in degrees. Range: [0-360] Default: 360 Directional Source, outer cone angle, in degrees. Range: [0-360] Default: 360 Directional Source, outer cone gain. Default: 0.0f Range: [0.0f - 1.0] (Logarithmic) The playback position, expressed in seconds. (EFX Extension) This property is a multiplier on the amount of Air Absorption applied to the Source. The AL_AIR_ABSORPTION_FACTOR is multiplied by an internal Air Absorption Gain HF value of 0.994 (-0.05dB) per meter which represents normal atmospheric humidity and temperature. Range [0.0f .. 10.0f] Default: 0.0f (EFX Extension) This property is defined the same way as the Reverb Room Rolloff property: it is one of two methods available in the Effect Extension to attenuate the reflected sound (early reflections and reverberation) according to source-listener distance. Range [0.0f .. 10.0f] Default: 0.0f (EFX Extension) A directed Source points in a specified direction. The Source sounds at full volume when the listener is directly in front of the source; it is attenuated as the listener circles the Source away from the front. Range [0.0f .. 1.0f] Default: 1.0f A list of valid Math.Vector3 Source/GetSource parameters Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system. Specify the current velocity in three dimensional space. Specify the current direction vector. A list of valid 8-bit boolean Source/GetSource parameters Indicate that the Source has relative coordinates. Type: bool Range: [True, False] Indicate whether the Source is looping. Type: bool Range: [True, False] Default: False. (EFX Extension) If this Source property is set to True, this Source’s direct-path is automatically filtered according to the orientation of the source relative to the listener and the setting of the Source property Sourcef.ConeOuterGainHF. Type: bool Range [False, True] Default: True (EFX Extension) If this Source property is set to True, the intensity of this Source’s reflected sound is automatically attenuated according to source-listener distance and source directivity (as determined by the cone parameters). If it is False, the reflected sound is not attenuated according to distance and directivity. Type: bool Range [False, True] Default: True (EFX Extension) If this Source property is AL_TRUE (its default value), the intensity of this Source’s reflected sound at high frequencies will be automatically attenuated according to the high-frequency source directivity as set by the Sourcef.ConeOuterGainHF property. If this property is AL_FALSE, the Source’s reflected sound is not filtered at all according to the Source’s directivity. Type: bool Range [False, True] Default: True A list of valid Int32 Source parameters The playback position, expressed in bytes. The playback position, expressed in samples. Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer Handle. Source type (Static, Streaming or undetermined). Use enum AlSourceType for comparison (EFX Extension) This Source property is used to apply filtering on the direct-path (dry signal) of a Source. A list of valid 3x Int32 Source/GetSource parameters (EFX Extension) This Source property is used to establish connections between Sources and Auxiliary Effect Slots. For a Source to feed an Effect that has been loaded into an Auxiliary Effect Slot the application must configure one of the Source’s auxiliary sends. This process involves setting 3 variables – the destination Auxiliary Effect Slot ID, the Auxiliary Send number, and an optional Filter ID. Type: uint Range: any valid Filter Handle. A list of valid Int32 GetSource parameters The playback position, expressed in bytes. AL_EXT_OFFSET Extension. The playback position, expressed in samples. AL_EXT_OFFSET Extension. Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer Handle. The state of the source (Stopped, Playing, etc.) Use the enum AlSourceState for comparison. The number of buffers queued on this source. The number of buffers in the queue that have been processed. Source type (Static, Streaming or undetermined). Use enum AlSourceType for comparison. Source state information, can be retrieved by AL.Source() with ALSourcei.SourceState. Default State when loaded, can be manually set with AL.SourceRewind(). The source is currently playing. The source has paused playback. The source is not playing. Source type information, can be retrieved by AL.Source() with ALSourcei.SourceType. Source is Static if a Buffer has been attached using AL.Source with the parameter Sourcei.Buffer. Source is Streaming if one or more Buffers have been attached using AL.SourceQueueBuffers Source is undetermined when it has a null Buffer attached Sound samples: Format specifier. 1 Channel, 8 bits per sample. 1 Channel, 16 bits per sample. 2 Channels, 8 bits per sample each. 2 Channels, 16 bits per sample each. 1 Channel, A-law encoded data. Requires Extension: AL_EXT_ALAW 2 Channels, A-law encoded data. Requires Extension: AL_EXT_ALAW 1 Channel, µ-law encoded data. Requires Extension: AL_EXT_MULAW 2 Channels, µ-law encoded data. Requires Extension: AL_EXT_MULAW Ogg Vorbis encoded data. Requires Extension: AL_EXT_vorbis MP3 encoded data. Requires Extension: AL_EXT_mp3 1 Channel, IMA4 ADPCM encoded data. Requires Extension: AL_EXT_IMA4 2 Channels, IMA4 ADPCM encoded data. Requires Extension: AL_EXT_IMA4 1 Channel, single-precision floating-point data. Requires Extension: AL_EXT_float32 2 Channels, single-precision floating-point data. Requires Extension: AL_EXT_float32 1 Channel, double-precision floating-point data. Requires Extension: AL_EXT_double 2 Channels, double-precision floating-point data. Requires Extension: AL_EXT_double Multichannel 5.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 5.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 5.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 6.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 6.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 6.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 7.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 7.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 7.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 4.0, 16-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 4.0, 32-bit data. Requires Extension: AL_EXT_MCFORMATS Multichannel 4.0, 8-bit data. Requires Extension: AL_EXT_MCFORMATS 1 Channel rear speaker, 16-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS 1 Channel rear speaker, 32-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS 1 Channel rear speaker, 8-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS A list of valid Int32 GetBuffer parameters Sound sample's frequency, in units of hertz [Hz]. This is the number of samples per second. Half of the sample frequency marks the maximum significant frequency component. Bit depth of the buffer. Should be 8 or 16. Number of channels in buffer. > 1 is valid, but buffer won’t be positioned when played. 1 for Mono, 2 for Stereo. size of the Buffer in bytes. Buffer state. Not supported for public use (yet). Buffer state. Not supported for public use (yet). Buffer state. Not supported for public use (yet). Buffer state. Not supported for public use (yet). Returned by AL.GetError No OpenAL Error. Invalid Name paramater passed to OpenAL call. Invalid parameter passed to OpenAL call. Invalid parameter passed to OpenAL call. Invalid OpenAL enum parameter value. Illegal OpenAL call. Illegal OpenAL call. No OpenAL memory left. A list of valid string AL.Get() parameters Gets the Vendor name. Gets the driver version. Gets the renderer mode. Gets a list of all available Extensions, separated with spaces. A list of valid 32-bit Float AL.Get() parameters Doppler scale. Default 1.0f Tweaks speed of propagation. This functionality is deprecated. Speed of Sound in units per second. Default: 343.3f A list of valid Int32 AL.Get() parameters See enum ALDistanceModel. Used by AL.DistanceModel(), the distance model can be retrieved by AL.Get() with ALGetInteger.DistanceModel Bypasses all distance attenuation calculation for all Sources. InverseDistance is equivalent to the IASIG I3DL2 model with the exception that ALSourcef.ReferenceDistance does not imply any clamping. InverseDistanceClamped is the IASIG I3DL2 model, with ALSourcef.ReferenceDistance indicating both the reference distance and the distance below which gain will be clamped. AL_EXT_LINEAR_DISTANCE extension. AL_EXT_LINEAR_DISTANCE extension. AL_EXT_EXPONENT_DISTANCE extension. AL_EXT_EXPONENT_DISTANCE extension. Defines a 2d box (rectangle). The left boundary of the structure. The right boundary of the structure. The top boundary of the structure. The bottom boundary of the structure. Constructs a new Box2 with the specified dimensions. AnOpenTK.Vector2 describing the top-left corner of the Box2. An OpenTK.Vector2 describing the bottom-right corner of the Box2. Constructs a new Box2 with the specified dimensions. The position of the left boundary. The position of the top boundary. The position of the right boundary. The position of the bottom boundary. Creates a new Box2 with the specified dimensions. The position of the top boundary. The position of the left boundary. The position of the right boundary. The position of the bottom boundary. A new OpenTK.Box2 with the specfied dimensions. Gets a float describing the width of the Box2 structure. Gets a float describing the height of the Box2 structure. Represents a 4x4 Matrix Top row of the matrix 2nd row of the matrix 3rd row of the matrix Bottom row of the matrix The identity matrix Constructs a new instance. Top row of the matrix Second row of the matrix Third row of the matrix Bottom row of the matrix Constructs a new instance. First item of the first row of the matrix. Second item of the first row of the matrix. Third item of the first row of the matrix. Fourth item of the first row of the matrix. First item of the second row of the matrix. Second item of the second row of the matrix. Third item of the second row of the matrix. Fourth item of the second row of the matrix. First item of the third row of the matrix. Second item of the third row of the matrix. Third item of the third row of the matrix. First item of the third row of the matrix. Fourth item of the fourth row of the matrix. Second item of the fourth row of the matrix. Third item of the fourth row of the matrix. Fourth item of the fourth row of the matrix. Calculates the transpose of this instance. Build a rotation matrix from the specified axis/angle rotation. The axis to rotate about. Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). A matrix instance. Build a rotation matrix from the specified axis/angle rotation. The axis to rotate about. Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). A matrix instance. Creates a translation matrix. X translation. Y translation. Z translation. The resulting Matrix4 instance. Creates a translation matrix. The translation vector. The resulting Matrix4 instance. Creates a translation matrix. X translation. Y translation. Z translation. The resulting Matrix4 instance. Creates a translation matrix. The translation vector. The resulting Matrix4 instance. Creates an orthographic projection matrix. The width of the projection volume. The height of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4 instance. Creates an orthographic projection matrix. The width of the projection volume. The height of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4 instance. Creates an orthographic projection matrix. The left edge of the projection volume. The right edge of the projection volume. The bottom edge of the projection volume. The top edge of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4 instance. Creates an orthographic projection matrix. The left edge of the projection volume. The right edge of the projection volume. The bottom edge of the projection volume. The top edge of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4 instance. Creates a perspective projection matrix. Angle of the field of view in the y direction (in radians) Aspect ratio of the view (width / height) Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Thrown under the following conditions: fovy is zero, less than zero or larger than Math.PI aspect is negative or zero zNear is negative or zero zFar is negative or zero zNear is larger than zFar Creates a perspective projection matrix. Angle of the field of view in the y direction (in radians) Aspect ratio of the view (width / height) Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Thrown under the following conditions: fovy is zero, less than zero or larger than Math.PI aspect is negative or zero zNear is negative or zero zFar is negative or zero zNear is larger than zFar Creates an perspective projection matrix. Left edge of the view frustum Right edge of the view frustum Bottom edge of the view frustum Top edge of the view frustum Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Thrown under the following conditions: zNear is negative or zero zFar is negative or zero zNear is larger than zFar Creates an perspective projection matrix. Left edge of the view frustum Right edge of the view frustum Bottom edge of the view frustum Top edge of the view frustum Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Thrown under the following conditions: zNear is negative or zero zFar is negative or zero zNear is larger than zFar Builds a translation matrix. The translation vector. A new Matrix4 instance. Build a translation matrix with the given translation X translation Y translation Z translation A Translation matrix Build a scaling matrix Single scale factor for x,y and z axes A scaling matrix Build a scaling matrix Scale factors for x,y and z axes A scaling matrix Build a scaling matrix Scale factor for x-axis Scale factor for y-axis Scale factor for z-axis A scaling matrix Build a rotation matrix that rotates about the x-axis angle in radians to rotate counter-clockwise around the x-axis A rotation matrix Build a rotation matrix that rotates about the y-axis angle in radians to rotate counter-clockwise around the y-axis A rotation matrix Build a rotation matrix that rotates about the z-axis angle in radians to rotate counter-clockwise around the z-axis A rotation matrix Build a rotation matrix to rotate about the given axis the axis to rotate about angle in radians to rotate counter-clockwise (looking in the direction of the given axis) A rotation matrix Build a rotation matrix from a quaternion the quaternion A rotation matrix Build a world space to camera space matrix Eye (camera) position in world space Target position in world space Up vector in world space (should not be parallel to the camera direction, that is target - eye) A Matrix4 that transforms world space to camera space Build a world space to camera space matrix Eye (camera) position in world space Eye (camera) position in world space Eye (camera) position in world space Target position in world space Target position in world space Target position in world space Up vector in world space (should not be parallel to the camera direction, that is target - eye) Up vector in world space (should not be parallel to the camera direction, that is target - eye) Up vector in world space (should not be parallel to the camera direction, that is target - eye) A Matrix4 that transforms world space to camera space Build a projection matrix Left edge of the view frustum Right edge of the view frustum Bottom edge of the view frustum Top edge of the view frustum Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Build a projection matrix Angle of the field of view in the y direction (in radians) Aspect ratio of the view (width / height) Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Multiplies two instances. The left operand of the multiplication. The right operand of the multiplication. A new instance that is the result of the multiplication Multiplies two instances. The left operand of the multiplication. The right operand of the multiplication. A new instance that is the result of the multiplication Calculate the inverse of the given matrix The matrix to invert The inverse of the given matrix if it has one, or the input if it is singular Thrown if the Matrix4 is singular. Calculate the transpose of the given matrix The matrix to transpose The transpose of the given matrix Calculate the transpose of the given matrix The matrix to transpose The result of the calculation Matrix multiplication left-hand operand right-hand operand A new Matrix44 which holds the result of the multiplication Returns a System.String that represents the current Matrix44. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare tresult. True if the instances are equal; false otherwise. Indicates whether the current matrix is equal to another matrix. An matrix to compare with this matrix. true if the current matrix is equal to the matrix parameter; otherwise, false. The determinant of this matrix The first column of this matrix The second column of this matrix The third column of this matrix The fourth column of this matrix Gets or sets the value at row 1, column 1 of this instance. Gets or sets the value at row 1, column 2 of this instance. Gets or sets the value at row 1, column 3 of this instance. Gets or sets the value at row 1, column 4 of this instance. Gets or sets the value at row 2, column 1 of this instance. Gets or sets the value at row 2, column 2 of this instance. Gets or sets the value at row 2, column 3 of this instance. Gets or sets the value at row 2, column 4 of this instance. Gets or sets the value at row 3, column 1 of this instance. Gets or sets the value at row 3, column 2 of this instance. Gets or sets the value at row 3, column 3 of this instance. Gets or sets the value at row 3, column 4 of this instance. Gets or sets the value at row 4, column 1 of this instance. Gets or sets the value at row 4, column 3 of this instance. Gets or sets the value at row 4, column 3 of this instance. Gets or sets the value at row 4, column 4 of this instance. Represents a 2D vector using two double-precision floating-point numbers. The X coordinate of this instance. The Y coordinate of this instance. Defines a unit-length Vector2d that points towards the X-axis. Defines a unit-length Vector2d that points towards the Y-axis. Defines a zero-length Vector2d. Defines an instance with all components set to 1. Defines the size of the Vector2d struct in bytes. Constructs left vector with the given coordinates. The X coordinate. The Y coordinate. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Multiply this instance by a scalar. Scalar operand. Divide this instance by a scalar. Scalar operand. Scales the Vector2 to unit length. Scales the current Vector2 by the given amounts. The scale of the X component. The scale of the Y component. Scales this instance by the given parameter. The scaling of the individual components. Scales this instance by the given parameter. The scaling of the individual components. Add two Vectors First operand Second operand Result of addition Add two Vectors First operand Second operand Result of addition Subtract one Vector from another First operand Second operand Result of subtraction Subtract one Vector from another First operand Second operand Result of subtraction Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Divide a vector by a scalar Vector operand Scalar operand Result of the division Divide a vector by a scalar Vector operand Scalar operand Result of the division Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Scale a vector to unit length The input vector The normalized vector Scale a vector to unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector Second input Vector Third input Vector First Barycentric Coordinate Second Barycentric Coordinate a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector. Second input Vector. Third input Vector. First Barycentric Coordinate. Second Barycentric Coordinate. Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Adds two instances. The left instance. The right instance. The result of the operation. Subtracts two instances. The left instance. The right instance. The result of the operation. Negates an instance. The instance. The result of the operation. Multiplies an instance by a scalar. The instance. The scalar. The result of the operation. Multiply an instance by a scalar. The scalar. The instance. The result of the operation. Divides an instance by a scalar. The instance. The scalar. The result of the operation. Compares two instances for equality. The left instance. The right instance. True, if both instances are equal; false otherwise. Compares two instances for ienquality. The left instance. The right instance. True, if the instances are not equal; false otherwise. Converts OpenTK.Vector2 to OpenTK.Vector2d. The Vector2 to convert. The resulting Vector2d. Converts OpenTK.Vector2d to OpenTK.Vector2. The Vector2d to convert. The resulting Vector2. Returns a System.String that represents the current instance. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare to. True if the instances are equal; false otherwise. Indicates whether the current vector is equal to another vector. A vector to compare with this vector. true if the current vector is equal to the vector parameter; otherwise, false. Gets the length (magnitude) of the vector. Gets the square of the vector length (magnitude). This property avoids the costly square root operation required by the Length property. This makes it more suitable for comparisons. Gets the perpendicular vector on the right side of this vector. Gets the perpendicular vector on the left side of this vector. Provides a simple OpenGL control allowing quick development of Windows.Forms-based OpenGL applications. Relies on OpenTK.GLControl for cross-platform compatibility. Required designer variable. Clean up any resources being used. true if managed resources should be disposed; otherwise, false. Required method for Designer support - do not modify the contents of this method with the code editor. Constructor. Creates contexts and sets properties. Sends an see cref="UserControl.Invalidate" command to this control, thus forcing a redraw to occur. Creates the OpenGL contexts. Paints the control. The paint event arguments. Loads the bitmap from the assembly's manifest resource. Initializes the control's styles. Gets the number of logical pixels or dots per inch (dpi) in X-direction Gets the number of logical pixels or dots per inch (dpi) in Y-direction Gets and sets the OpenGL control's accumulation buffer depth. Gets and sets the OpenGL control's color buffer depth. Gets and sets the OpenGL control's depth buffer (Z-buffer) depth. Gets and sets the OpenGL control's stencil buffer depth. Gets and sets the OpenGL control's automatic sending of a glGetError command after drawing. Gets and sets the OpenGL control's automatic sending of a glFinish command after drawing. Gets and sets the OpenGL control's automatic forcing of the rendering context to be current before drawing. Gets and sets the OpenGL control's automatic sending of a SwapBuffers command after drawing. Overrides the control's class style parameters. Provides access to the OpenAL effects extension. (Helper) Selects the Effect type used by this Effect handle. Effect id returned from a successful call to GenEffects. Effect type. (Helper) Selects the Effect type used by this Effect handle. Effect id returned from a successful call to GenEffects. Effect type. (Helper) reroutes the output of a Source through a Filter. A valid Source handle. A valid Filter handle. (Helper) reroutes the output of a Source through a Filter. A valid Source handle. A valid Filter handle. (Helper) Attaches an Effect to an Auxiliary Effect Slot. The slot handle to attach the Effect to. The Effect handle that is being attached. (Helper) Attaches an Effect to an Auxiliary Effect Slot. The slot handle to attach the Effect to. The Effect handle that is being attached. (Helper) Reroutes a Source's output into an Auxiliary Effect Slot. The Source handle who's output is forwarded. The Auxiliary Effect Slot handle that receives input from the Source. Every Source has only a limited number of slots it can feed buffer to. The number must stay below AlcContextAttributes.EfxMaxAuxiliarySends Filter handle to be attached between Source ouput and Auxiliary Slot input. Use 0 or EfxFilterType.FilterNull for no filter. (Helper) Reroutes a Source's output into an Auxiliary Effect Slot. The Source handle who's output is forwarded. The Auxiliary Effect Slot handle that receives input from the Source. Every Source has only a limited number of slots it can feed buffer to. The number must stay below AlcContextAttributes.EfxMaxAuxiliarySends Filter handle to be attached between Source ouput and Auxiliary Slot input. Use 0 or EfxFilterType.FilterNull for no filter. The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. Number of Effects to be created. Pointer addressing sufficient memory to store n Effect object identifiers. The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. Number of Effects to be created. Pointer addressing sufficient memory to store n Effect object identifiers. Generates one or more effect objects. Number of Effect object identifiers to generate. The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object. After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. Generates a single effect object. A handle to the generated effect object. The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object. After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. Generates a single effect object. A handle to the generated effect object. The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. Number of Effects to be deleted. Pointer to n Effect object identifiers. The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. Number of Effects to be deleted. Pointer to n Effect object identifiers. The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. Pointer to n Effect object identifiers. The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. Pointer to n Effect object identifiers. This function deletes one Effect only. Pointer to an effect name/handle identifying the Effect Object to be deleted. This function deletes one Effect only. Pointer to an effect name/handle identifying the Effect Object to be deleted. The IsEffect function is used to determine if an object identifier is a valid Effect object. Effect identifier to validate. True if the identifier is a valid Effect, False otherwise. The IsEffect function is used to determine if an object identifier is a valid Effect object. Effect identifier to validate. True if the identifier is a valid Effect, False otherwise. This function is used to set integer properties on Effect objects. Effect object identifier. Effect property to set. Integer value. This function is used to set integer properties on Effect objects. Effect object identifier. Effect property to set. Integer value. This function is used to set floating-point properties on Effect objects. Effect object identifier. Effect property to set. Floating-point value. This function is used to set floating-point properties on Effect objects. Effect object identifier. Effect property to set. Floating-point value. This function is used to set 3 floating-point properties on Effect objects. Effect object identifier. Effect property to set. Pointer to Math.Vector3. This function is used to set 3 floating-point properties on Effect objects. Effect object identifier. Effect property to set. Pointer to Math.Vector3. This function is used to retrieve integer properties from Effect objects. Effect object identifier. Effect property to retrieve. Address where integer value will be stored. This function is used to retrieve integer properties from Effect objects. Effect object identifier. Effect property to retrieve. Address where integer value will be stored. This function is used to retrieve floating-point properties from Effect objects. Effect object identifier. Effect property to retrieve. Address where floating-point value will be stored. This function is used to retrieve floating-point properties from Effect objects. Effect object identifier. Effect property to retrieve. Address where floating-point value will be stored. This function is used to retrieve 3 floating-point properties from Effect objects. Effect object identifier. Effect property to retrieve. A Math.Vector3 to hold the values. This function is used to retrieve 3 floating-point properties from Effect objects. Effect object identifier. Effect property to retrieve. A Math.Vector3 to hold the values. The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters. After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri. Number of Filters to be created. Pointer addressing sufficient memory to store n Filter object identifiers. The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters. After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri. Number of Filters to be created. Pointer addressing sufficient memory to store n Filter object identifiers. The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters. After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri. Number of Filters to be created. Pointer addressing sufficient memory to store n Filter object identifiers. This function generates only one Filter. Storage Int32 for the new filter name/handle. This function generates only one Filter. Storage UInt32 for the new filter name/handle. The DeleteFilters function is used to delete and free resources for Filter objects previously created with GenFilters. Number of Filters to be deleted. Pointer to n Filter object identifiers. The DeleteFilters function is used to delete and free resources for Filter objects previously created with GenFilters. Number of Filters to be deleted. Pointer to n Filter object identifiers. This function deletes one Filter only. Pointer to an filter name/handle identifying the Filter Object to be deleted. This function deletes one Filter only. Pointer to an filter name/handle identifying the Filter Object to be deleted. This function deletes one Filter only. Pointer to an filter name/handle identifying the Filter Object to be deleted. This function deletes one Filter only. Pointer to an filter name/handle identifying the Filter Object to be deleted. The IsFilter function is used to determine if an object identifier is a valid Filter object. Effect identifier to validate. True if the identifier is a valid Filter, False otherwise. The IsFilter function is used to determine if an object identifier is a valid Filter object. Effect identifier to validate. True if the identifier is a valid Filter, False otherwise. This function is used to set integer properties on Filter objects. Filter object identifier. Effect property to set. Integer value. This function is used to set integer properties on Filter objects. Filter object identifier. Effect property to set. Integer value. This function is used to set floating-point properties on Filter objects. Filter object identifier. Effect property to set. Floating-point value. This function is used to set floating-point properties on Filter objects. Filter object identifier. Effect property to set. Floating-point value. This function is used to retrieve integer properties from Filter objects. Filter object identifier. Effect property to retrieve. Address where integer value will be stored. This function is used to retrieve integer properties from Filter objects. Filter object identifier. Effect property to retrieve. Address where integer value will be stored. This function is used to retrieve floating-point properties from Filter objects. Filter object identifier. Effect property to retrieve. Address where floating-point value will be stored. This function is used to retrieve floating-point properties from Filter objects. Filter object identifier. Effect property to retrieve. Address where floating-point value will be stored. The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used. An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available. Number of Auxiliary Effect Slots to be created. Pointer addressing sufficient memory to store n Effect Slot object identifiers. The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used. An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available. Number of Auxiliary Effect Slots to be created. Pointer addressing sufficient memory to store n Effect Slot object identifiers. The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used. An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available. Number of Auxiliary Effect Slots to be created. Pointer addressing sufficient memory to store n Effect Slot object identifiers. This function generates only one Auxiliary Effect Slot. Storage Int32 for the new auxiliary effect slot name/handle. This function generates only one Auxiliary Effect Slot. Storage UInt32 for the new auxiliary effect slot name/handle. The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots. Number of Auxiliary Effect Slots to be deleted. Pointer to n Effect Slot object identifiers. The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots. Number of Auxiliary Effect Slots to be deleted. Pointer to n Effect Slot object identifiers. The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots. Pointer to n Effect Slot object identifiers. This function deletes one AuxiliaryEffectSlot only. Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted. This function deletes one AuxiliaryEffectSlot only. Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted. This function deletes one AuxiliaryEffectSlot only. Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted. The IsAuxiliaryEffectSlot function is used to determine if an object identifier is a valid Auxiliary Effect Slot object. Effect Slot object identifier to validate. True if the identifier is a valid Auxiliary Effect Slot, False otherwise. The IsAuxiliaryEffectSlot function is used to determine if an object identifier is a valid Auxiliary Effect Slot object. Effect Slot object identifier to validate. True if the identifier is a valid Auxiliary Effect Slot, False otherwise. This function is used to set integer properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to set. Integer value. This function is used to set integer properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to set. Integer value. This function is used to set floating-point properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to set. Floating-point value. This function is used to set floating-point properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to set. Floating-point value. This function is used to retrieve integer properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to retrieve. Address where integer value will be stored. This function is used to retrieve integer properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to retrieve. Address where integer value will be stored. This function is used to retrieve floating properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to retrieve. Address where floating-point value will be stored. This function is used to retrieve floating properties on Auxiliary Effect Slot objects. Auxiliary Effect Slot object identifier. Auxiliary Effect Slot property to retrieve. Address where floating-point value will be stored. Constructs a new EffectsExtension instance. Returns True if the EFX Extension has been found and could be initialized. EAX Reverb Presets in legacy format - use ConvertReverbParameters() to convert to EFX EAX Reverb Presets for use with the OpenAL Effects Extension. Defines available context attributes. Followed by System.Int32 Hz Followed by System.Int32 Hz Followed by AlBoolean.True, or AlBoolean.False Followed by System.Int32 Num of requested Mono (3D) Sources Followed by System.Int32 Num of requested Stereo Sources (EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2 Defines OpenAL context errors. There is no current error. No Device. The device handle or specifier names an inaccessible driver/server. Invalid context ID. The Context argument does not name a valid context. Bad enum. A token used is not valid, or not applicable. Bad value. A value (e.g. Attribute) is not valid, or not applicable. Out of memory. Unable to allocate memory. Defines available parameters for . The specifier string for the default device. A list of available context extensions separated by spaces. The name of the default capture device a list of the default devices. Will only return the first Device, not a list. Use AlcGetStringList.CaptureDeviceSpecifier. ALC_EXT_CAPTURE_EXT Will only return the first Device, not a list. Use AlcGetStringList.DeviceSpecifier Will only return the first Device, not a list. Use AlcGetStringList.AllDevicesSpecifier Defines available parameters for . The name of the specified capture device, or a list of all available capture devices if no capture device is specified. ALC_EXT_CAPTURE_EXT The specifier strings for all available devices. ALC_ENUMERATION_EXT The specifier strings for all available devices. ALC_ENUMERATE_ALL_EXT Defines available parameters for . The specification revision for this implementation (major version). NULL is an acceptable device. The specification revision for this implementation (minor version). NULL is an acceptable device. The size (number of ALCint values) required for a zero-terminated attributes list, for the current context. NULL is an invalid device. Expects a destination of ALC_ATTRIBUTES_SIZE, and provides an attribute list for the current context of the specified device. NULL is an invalid device. The number of capture samples available. NULL is an invalid device. (EFX Extension) This property can be used by the application to retrieve the Major version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv. (EFX Extension) This property can be used by the application to retrieve the Minor version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv. (EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2 Represents a 3D vector using three double-precision floating-point numbers. The X component of the Vector3. The Y component of the Vector3. The Z component of the Vector3. Constructs a new Vector3. The x component of the Vector3. The y component of the Vector3. The z component of the Vector3. Constructs a new instance from the given Vector2d. The Vector2d to copy components from. Constructs a new instance from the given Vector3d. The Vector3d to copy components from. Constructs a new instance from the given Vector4d. The Vector4d to copy components from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Multiply this instance by a scalar. Scalar operand. Divide this instance by a scalar. Scalar operand. Scales the Vector3d to unit length. Scales the Vector3d to approximately unit length. Scales the current Vector3d by the given amounts. The scale of the X component. The scale of the Y component. The scale of the Z component. Scales this instance by the given parameter. The scaling of the individual components. Scales this instance by the given parameter. The scaling of the individual components. Defines a unit-length Vector3d that points towards the X-axis. Defines a unit-length Vector3d that points towards the Y-axis. /// Defines a unit-length Vector3d that points towards the Z-axis. Defines a zero-length Vector3. Defines an instance with all components set to 1. Defines the size of the Vector3d struct in bytes. Add two Vectors First operand Second operand Result of addition Add two Vectors First operand Second operand Result of addition Subtract one Vector from another First operand Second operand Result of subtraction Subtract one Vector from another First operand Second operand Result of subtraction Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Divide a vector by a scalar Vector operand Scalar operand Result of the division Divide a vector by a scalar Vector operand Scalar operand Result of the division Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Returns the Vector3d with the minimum magnitude Left operand Right operand The minimum Vector3 Returns the Vector3d with the minimum magnitude Left operand Right operand The minimum Vector3 Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Scale a vector to unit length The input vector The normalized vector Scale a vector to unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Caclulate the cross (vector) product of two vectors First operand Second operand The cross product of the two inputs Caclulate the cross (vector) product of two vectors First operand Second operand The cross product of the two inputs The cross product of the two inputs Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector Second input Vector Third input Vector First Barycentric Coordinate Second Barycentric Coordinate a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector. Second input Vector. Third input Vector. First Barycentric Coordinate. Second Barycentric Coordinate. Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Transform a direction vector by the given Matrix Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. The vector to transform The desired transformation The transformed vector Transform a direction vector by the given Matrix Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. The vector to transform The desired transformation The transformed vector Transform a Normal by the given Matrix This calculates the inverse of the given matrix, use TransformNormalInverse if you already have the inverse to avoid this extra calculation The normal to transform The desired transformation The transformed normal Transform a Normal by the given Matrix This calculates the inverse of the given matrix, use TransformNormalInverse if you already have the inverse to avoid this extra calculation The normal to transform The desired transformation The transformed normal Transform a Normal by the (transpose of the) given Matrix This version doesn't calculate the inverse matrix. Use this version if you already have the inverse of the desired transform to hand The normal to transform The inverse of the desired transformation The transformed normal Transform a Normal by the (transpose of the) given Matrix This version doesn't calculate the inverse matrix. Use this version if you already have the inverse of the desired transform to hand The normal to transform The inverse of the desired transformation The transformed normal Transform a Position by the given Matrix The position to transform The desired transformation The transformed position Transform a Position by the given Matrix The position to transform The desired transformation The transformed position Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Transform a Vector3d by the given Matrix, and project the resulting Vector4 back to a Vector3 The vector to transform The desired transformation The transformed vector Transform a Vector3d by the given Matrix, and project the resulting Vector4d back to a Vector3d The vector to transform The desired transformation The transformed vector Calculates the angle (in radians) between two vectors. The first vector. The second vector. Angle (in radians) between the vectors. Note that the returned angle is never bigger than the constant Pi. Calculates the angle (in radians) between two vectors. The first vector. The second vector. Angle (in radians) between the vectors. Note that the returned angle is never bigger than the constant Pi. Converts OpenTK.Vector3 to OpenTK.Vector3d. The Vector3 to convert. The resulting Vector3d. Converts OpenTK.Vector3d to OpenTK.Vector3. The Vector3d to convert. The resulting Vector3. Returns a System.String that represents the current Vector3. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare to. True if the instances are equal; false otherwise. Indicates whether the current vector is equal to another vector. A vector to compare with this vector. true if the current vector is equal to the vector parameter; otherwise, false. Gets the length (magnitude) of the vector. Gets an approximation of the vector length (magnitude). This property uses an approximation of the square root function to calculate vector magnitude, with an upper error bound of 0.001. Gets the square of the vector length (magnitude). This property avoids the costly square root operation required by the Length property. This makes it more suitable for comparisons. Gets or sets an OpenTK.Vector2d with the X and Y components of this instance. Represents a Quaternion. Construct a new Quaternion from vector and w components The vector part The w part Construct a new Quaternion The x component The y component The z component The w component Convert the current quaternion to axis angle representation The resultant axis The resultant angle Convert this instance to an axis-angle representation. A Vector4 that is the axis-angle representation of this quaternion. Scales the Quaternion to unit length. Convert this quaternion to its conjugate Defines the identity quaternion. Add two quaternions The first operand The second operand The result of the addition Add two quaternions The first operand The second operand The result of the addition Subtracts two instances. The left instance. The right instance. The result of the operation. Subtracts two instances. The left instance. The right instance. The result of the operation. Get the conjugate of the given quaternion The quaternion The conjugate of the given quaternion Get the conjugate of the given quaternion The quaternion The conjugate of the given quaternion Get the inverse of the given quaternion The quaternion to invert The inverse of the given quaternion Get the inverse of the given quaternion The quaternion to invert The inverse of the given quaternion Scale the given quaternion to unit length The quaternion to normalize The normalized quaternion Scale the given quaternion to unit length The quaternion to normalize The normalized quaternion Build a quaternion from the given axis and angle The axis to rotate about The rotation angle in radians Do Spherical linear interpolation between two quaternions The first quaternion The second quaternion The blend factor A smooth blend between the given quaternions Returns a System.String that represents the current Quaternion. Compares this object instance to another object for equality. The other object to be used in the comparison. True if both objects are Quaternions of equal value. Otherwise it returns false. Provides the hash code for this object. A hash code formed from the bitwise XOR of this objects members. Compares this Quaternion instance to another Quaternion for equality. The other Quaternion to be used in the comparison. True if both instances are equal; false otherwise. Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. Gets or sets the X component of this instance. Gets or sets the Y component of this instance. Gets or sets the Z component of this instance. Gets or sets the W component of this instance. Gets the length (magnitude) of the quaternion. Gets the square of the quaternion length (magnitude). Holds the results of a text measurement. Frees the resources consumed by this TextExtents instance. Gets the bounding box of the measured text. Gets the extents of each glyph in the measured text. The index of the glyph. The extents of the specified glyph. Gets the extents of each glyph in the measured text. Gets the number of the measured glyphs. Checks whether the specified stream contains valid WAVE/RIFF buffer. The System.IO.Stream to check. True if the stream is a valid WAVE/RIFF file; false otherwise. Reads and decodes the specified number of samples from the sound stream. The number of samples to read and decode. An OpenTK.Audio.SoundData object that contains the decoded buffer. Reads and decodes the sound stream. An OpenTK.Audio.SoundData object that contains the decoded buffer. Represents a 4D vector using four double-precision floating-point numbers. The X component of the Vector4d. The Y component of the Vector4d. The Z component of the Vector4d. The W component of the Vector4d. Defines a unit-length Vector4d that points towards the X-axis. Defines a unit-length Vector4d that points towards the Y-axis. Defines a unit-length Vector4d that points towards the Z-axis. Defines a unit-length Vector4d that points towards the W-axis. Defines a zero-length Vector4d. Defines an instance with all components set to 1. Defines the size of the Vector4d struct in bytes. Constructs a new Vector4d. The x component of the Vector4d. The y component of the Vector4d. The z component of the Vector4d. The w component of the Vector4d. Constructs a new Vector4d from the given Vector2d. The Vector2d to copy components from. Constructs a new Vector4d from the given Vector3d. The Vector3d to copy components from. Constructs a new Vector4d from the specified Vector3d and w component. The Vector3d to copy components from. The w component of the new Vector4. Constructs a new Vector4d from the given Vector4d. The Vector4d to copy components from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Multiply this instance by a scalar. Scalar operand. Divide this instance by a scalar. Scalar operand. Scales the Vector4d to unit length. Scales the Vector4d to approximately unit length. Scales the current Vector4d by the given amounts. The scale of the X component. The scale of the Y component. The scale of the Z component. The scale of the Z component. Scales this instance by the given parameter. The scaling of the individual components. Scales this instance by the given parameter. The scaling of the individual components. Add two Vectors First operand Second operand Result of addition Add two Vectors First operand Second operand Result of addition Subtract one Vector from another First operand Second operand Result of subtraction Subtract one Vector from another First operand Second operand Result of subtraction Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Divide a vector by a scalar Vector operand Scalar operand Result of the division Divide a vector by a scalar Vector operand Scalar operand Result of the division Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Scale a vector to unit length The input vector The normalized vector Scale a vector to unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Calculate the dot product of two vectors First operand Second operand The dot product of the two inputs Calculate the dot product of two vectors First operand Second operand The dot product of the two inputs Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector Second input Vector Third input Vector First Barycentric Coordinate Second Barycentric Coordinate a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector. Second input Vector. Third input Vector. First Barycentric Coordinate. Second Barycentric Coordinate. Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Converts OpenTK.Vector4 to OpenTK.Vector4d. The Vector4 to convert. The resulting Vector4d. Converts OpenTK.Vector4d to OpenTK.Vector4. The Vector4d to convert. The resulting Vector4. Returns a System.String that represents the current Vector4d. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare to. True if the instances are equal; false otherwise. Indicates whether the current vector is equal to another vector. A vector to compare with this vector. true if the current vector is equal to the vector parameter; otherwise, false. Gets the length (magnitude) of the vector. Gets an approximation of the vector length (magnitude). This property uses an approximation of the square root function to calculate vector magnitude, with an upper error bound of 0.001. Gets the square of the vector length (magnitude). This property avoids the costly square root operation required by the Length property. This makes it more suitable for comparisons. Gets or sets an OpenTK.Vector2d with the X and Y components of this instance. Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. Represents a 4x4 Matrix with double-precision components. Top row of the matrix 2nd row of the matrix 3rd row of the matrix Bottom row of the matrix The identity matrix Constructs a new instance. Top row of the matrix Second row of the matrix Third row of the matrix Bottom row of the matrix Constructs a new instance. First item of the first row. Second item of the first row. Third item of the first row. Fourth item of the first row. First item of the second row. Second item of the second row. Third item of the second row. Fourth item of the second row. First item of the third row. Second item of the third row. Third item of the third row. First item of the third row. Fourth item of the fourth row. Second item of the fourth row. Third item of the fourth row. Fourth item of the fourth row. Creates a translation matrix. X translation. Y translation. Z translation. The resulting Matrix4d instance. Creates a translation matrix. The translation vector. The resulting Matrix4d instance. Creates a translation matrix. X translation. Y translation. Z translation. The resulting Matrix4d instance. Creates a translation matrix. The translation vector. The resulting Matrix4d instance. Creates an orthographic projection matrix. The width of the projection volume. The height of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4d instance. Creates an orthographic projection matrix. The width of the projection volume. The height of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4d instance. Creates an orthographic projection matrix. The left edge of the projection volume. The right edge of the projection volume. The bottom edge of the projection volume. The top edge of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4d instance. Creates an orthographic projection matrix. The left edge of the projection volume. The right edge of the projection volume. The bottom edge of the projection volume. The top edge of the projection volume. The near edge of the projection volume. The far edge of the projection volume. The resulting Matrix4d instance. Build a translation matrix with the given translation The vector to translate along A Translation matrix Build a translation matrix with the given translation X translation Y translation Z translation A Translation matrix Build a scaling matrix Single scale factor for x,y and z axes A scaling matrix Build a scaling matrix Scale factors for x,y and z axes A scaling matrix Build a scaling matrix Scale factor for x-axis Scale factor for y-axis Scale factor for z-axis A scaling matrix Build a rotation matrix that rotates about the x-axis angle in radians to rotate counter-clockwise around the x-axis A rotation matrix Build a rotation matrix that rotates about the y-axis angle in radians to rotate counter-clockwise around the y-axis A rotation matrix Build a rotation matrix that rotates about the z-axis angle in radians to rotate counter-clockwise around the z-axis A rotation matrix Build a rotation matrix to rotate about the given axis the axis to rotate about angle in radians to rotate counter-clockwise (looking in the direction of the given axis) A rotation matrix Build a rotation matrix from a quaternion the quaternion A rotation matrix Build a world space to camera space matrix Eye (camera) position in world space Target position in world space Up vector in world space (should not be parallel to the camera direction, that is target - eye) A Matrix that transforms world space to camera space Build a world space to camera space matrix Eye (camera) position in world space Eye (camera) position in world space Eye (camera) position in world space Target position in world space Target position in world space Target position in world space Up vector in world space (should not be parallel to the camera direction, that is target - eye) Up vector in world space (should not be parallel to the camera direction, that is target - eye) Up vector in world space (should not be parallel to the camera direction, that is target - eye) A Matrix4 that transforms world space to camera space Build a projection matrix Left edge of the view frustum Right edge of the view frustum Bottom edge of the view frustum Top edge of the view frustum Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Build a projection matrix Angle of the field of view in the y direction (in radians) Aspect ratio of the view (width / height) Distance to the near clip plane Distance to the far clip plane A projection matrix that transforms camera space to raster space Multiplies two instances. The left operand of the multiplication. The right operand of the multiplication. A new instance that is the result of the multiplication Multiplies two instances. The left operand of the multiplication. The right operand of the multiplication. A new instance that is the result of the multiplication Calculate the inverse of the given matrix The matrix to invert The inverse of the given matrix if it has one, or the input if it is singular Thrown if the Matrix4d is singular. Calculate the transpose of the given matrix The matrix to transpose The transpose of the given matrix Calculate the transpose of the given matrix The matrix to transpose The result of the calculation Matrix multiplication left-hand operand right-hand operand A new Matrix44 which holds the result of the multiplication Returns a System.String that represents the current Matrix44. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare to. True if the instances are equal; false otherwise. Indicates whether the current matrix is equal to another matrix. An matrix to compare with this matrix. true if the current matrix is equal to the matrix parameter; otherwise, false. The determinant of this matrix The first column of this matrix The second column of this matrix The third column of this matrix The fourth column of this matrix Gets or sets the value at row 1, column 1 of this instance. Gets or sets the value at row 1, column 2 of this instance. Gets or sets the value at row 1, column 3 of this instance. Gets or sets the value at row 1, column 4 of this instance. Gets or sets the value at row 2, column 1 of this instance. Gets or sets the value at row 2, column 2 of this instance. Gets or sets the value at row 2, column 3 of this instance. Gets or sets the value at row 2, column 4 of this instance. Gets or sets the value at row 3, column 1 of this instance. Gets or sets the value at row 3, column 2 of this instance. Gets or sets the value at row 3, column 3 of this instance. Gets or sets the value at row 3, column 4 of this instance. Gets or sets the value at row 4, column 1 of this instance. Gets or sets the value at row 4, column 3 of this instance. Gets or sets the value at row 4, column 3 of this instance. Gets or sets the value at row 4, column 4 of this instance. Represents a 4D vector using four single-precision floating-point numbers. The Vector4 structure is suitable for interoperation with unmanaged code requiring four consecutive floats. The X component of the Vector4. The Y component of the Vector4. The Z component of the Vector4. The W component of the Vector4. Defines a unit-length Vector4 that points towards the X-axis. Defines a unit-length Vector4 that points towards the Y-axis. Defines a unit-length Vector4 that points towards the Z-axis. Defines a unit-length Vector4 that points towards the W-axis. Defines a zero-length Vector4. Defines an instance with all components set to 1. Defines the size of the Vector4 struct in bytes. Constructs a new Vector4. The x component of the Vector4. The y component of the Vector4. The z component of the Vector4. The w component of the Vector4. Constructs a new Vector4 from the given Vector2. The Vector2 to copy components from. Constructs a new Vector4 from the given Vector3. The Vector3 to copy components from. Constructs a new Vector4 from the specified Vector3 and w component. The Vector3 to copy components from. The w component of the new Vector4. Constructs a new Vector4 from the given Vector4. The Vector4 to copy components from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Multiply this instance by a scalar. Scalar operand. Divide this instance by a scalar. Scalar operand. Scales the Vector4 to unit length. Scales the Vector4 to approximately unit length. Scales the current Vector4 by the given amounts. The scale of the X component. The scale of the Y component. The scale of the Z component. The scale of the Z component. Scales this instance by the given parameter. The scaling of the individual components. Scales this instance by the given parameter. The scaling of the individual components. Add two Vectors First operand Second operand Result of addition Add two Vectors First operand Second operand Result of addition Subtract one Vector from another First operand Second operand Result of subtraction Subtract one Vector from another First operand Second operand Result of subtraction Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Divide a vector by a scalar Vector operand Scalar operand Result of the division Divide a vector by a scalar Vector operand Scalar operand Result of the division Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Scale a vector to unit length The input vector The normalized vector Scale a vector to unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Calculate the dot product of two vectors First operand Second operand The dot product of the two inputs Calculate the dot product of two vectors First operand Second operand The dot product of the two inputs Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector Second input Vector Third input Vector First Barycentric Coordinate Second Barycentric Coordinate a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector. Second input Vector. Third input Vector. First Barycentric Coordinate. Second Barycentric Coordinate. Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Returns a System.String that represents the current Vector4. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare to. True if the instances are equal; false otherwise. Indicates whether the current vector is equal to another vector. A vector to compare with this vector. true if the current vector is equal to the vector parameter; otherwise, false. Gets the length (magnitude) of the vector. Gets an approximation of the vector length (magnitude). This property uses an approximation of the square root function to calculate vector magnitude, with an upper error bound of 0.001. Gets the square of the vector length (magnitude). This property avoids the costly square root operation required by the Length property. This makes it more suitable for comparisons. Gets or sets an OpenTK.Vector2 with the X and Y components of this instance. Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. Provides text printing through OpenGL 1.5 vertex buffer objects. Contains the necessary information to print text through the VboTextPrinter implementation. Represents a handle to cached text. Constructs a new TextHandle, Returns a System.String that represents the current TextHandle. a System.String that descibes the current TextHandle. Frees the resource consumed by the TextHandle. Gets the handle of the cached text run. Call the OpenTK.Graphics.ITextPrinter.Draw() method to draw the text represented by this TextHandle. Gets the TextureFont used for this text run. Defines the version of the Alut library. Defines the A in OpenAL A.B Defines the B in OpenAL A.B Defines available alut error codes. No ALUT error found. ALUT ran out of memory. ALUT was given an invalid enumeration token. ALUT was given an invalid value. The operation is invalid in the current ALUT state. There is no current AL context. There was already an AL error on entry to an ALUT function. There was already an ALC error on entry to an ALUT function. There was an error opening the ALC device. There was an error closing the ALC device. There was an error creating an ALC context. Could not change the current ALC context. There was an error destroying the ALC context. There was an error generating an AL buffer. There was an error passing buffer buffer to AL. I/O error, consult errno for more details. Unsupported file type. Unsupported mode within an otherwise usable file type. The sound buffer was corrupt or truncated. Defines available alut waveform types. A sine waveform A square waveform A sawtooth waveform A waveform containing white noise A waveform containing an impusle Defines parameters for alut loaders. For the loaders returning sound buffer in an OpenAL buffer, e.g. Alut.CreateBufferFromFile and Alut.CreateBufferFromFileImage For the loaders returning sound buffer in a newly allocated memory region, e.g. Alut.LoadMemoryFromFile and Alut.LoadMemoryFromFileImage. OpenAL binding for .NET, implementing AL 1.1. Binds functions and definitions in OpenAL32.dll or libAL.so. Specifies OpenAl's native library archive. Specifies OpenAl32.dll everywhere; will be mapped via .config for mono. Specifies the calling convention. Specifies . Bad value. Disable value. bool false. bool true. Indicates the type of AL_SOURCE. Sources can be spatialized. Indicates source has listener-relative coordinates. Directional source, inner cone angle, in degrees. The accepted range is 0 to 360, the default value is 360. Directional source, outer cone angle, in degrees. The accepted range is 0 to 360, the default value is 360. Specifies the pitch to be applied, either at source, or on mixer results, at listener. The accepted range is 0.5 to 2.0, the default value is 1.0. Specifies the current location in three dimensional space. OpenAL, like OpenGL, uses a right-handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch to a left-handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system. Specifies the current direction as forward vector. Specifies the current velocity in three dimensional space. Indicates whether source has to loop infinitely. The accepted values are or , the default value is . Indicates whether source is meant to be static. The accepted values are or , the default value is . Indicates whether source is meant to be streaming. The accepted values are or , the default value is . Indicates whether source is meant to be undetermined. The accepted values are or , the default value is . Indicates the buffer to provide sound samples. The accepted range is any valid buffer ID. Indicates the gain (volume amplification) applied. The accepted range is 0.0 or above. A value of 1.0 means unattenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplication by 2 equals an amplification of +6dB. A value of 0.0 is meaningless with respect to a logarithmic scale; it is interpreted as zero volume, the channel is effectively disabled. Indicates minimum source attenuation. The accepted range is 0.0 to 1.0. Indicates maximum source attenuation. The accepted range is 0.0 to 1.0. #define AL_MAX_GAIN 0x100E Specifies the current orientation. byte offset into source (in canon format). -1 if source is not playing. Do not set this, only get this value. The accepted range is 0.0 or above. The default value is 1.0. Indicates the rolloff factor for the source. The accepted range is 0.0 or above. The default value is 1.0. Indicates the gain (volume amplification) applied. The accepted range is 0.0 or above. A value of 1.0 means unattenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplication by 2 equals an amplification of +6dB. A value of 0.0 is meaningless with respect to a logarithmic scale; it is interpreted as zero volume, the channel is effectively disabled. Specifies the maximum distance. The accepted range is 0.0 or above. Specifies the channel mask. The accepted range is 0 to 255. Source state information. Source initialized. Source playing. Source paused. Source stopped. Buffers are queued. Buffers are processed. Source buffer position information. Source buffer position information. Source buffer position information. 8-bit mono buffer. 16-bit mono buffer. 8-bit stereo buffer. 16-bit stereo buffer. Buffer frequency, in units of Hertz (Hz). This is the number of samples per second. Half of the sample frequency marks the maximum significant frequency component. Buffer bit depth. Buffer channels. Buffer size. Buffer data. Buffer unused. Buffer queued. Buffer pending. Buffer current. Buffer processed. No error. Illegal name passed as an argument to an AL call. Illegal enum passed as an argument to an AL call. Illegal enum passed as an argument to an AL call. Illegal value passed as an argument to an AL call. Applies to parameter values, but not to enumerations. A function was called at an inappropriate time or in an inappropriate way, causing an illegal state. This can be an incompatible value, object ID, and/or function. A function was called at an inappropriate time or in an inappropriate way, causing an illegal state. This can be an incompatible value, object ID, and/or function. A function could not be completed, because there is not enough memory available. Vendor name. Version. Renderer. Extensions. Doppler scale. The default value is 1.0. Doppler velocity. The default value is 1.0. Speed of Sound Distance scaling. Distance model. The default value is . Inverse distance model. Inverse distance clamped model. Room. The accepted range is -10000 to 0. The default value is -10000. Room high frequency. The accepted range is -10000 to 0. The default value is 0. Room rolloff factor. The accepted range is 0.1 to 20.0. The default value is 0.0. Decay time. The accepted range is 0.1 to 20.0. The default value is 1.0. Decay high frequency ratio. The accepted range is 0.1 to 2.0. The default value is 0.5. Reflections. The accepted range is -10000 to 1000. The default value is -10000. Reflections delay. The accepted range is 0.0 to 0.3. The default value is 0.02. Reverb. The accepted range is -10000 to 2000. The default value is -10000. Reverb delay. The accepted range is 0.0 to 0.1. The default value is 0.04. Diffusion. The accepted range is 0.0 to 100.0. The default value is 100.0. Density. The accepted range is 0.0 to 100.0. The default value is 100.0. High frequency reference. The accepted range is 20.0 to 20000.0. The default value is 5000.0. * Chorus Parameters */ * Distortion Parameters */ * Echo Parameters */ * Flanger Parameters */ * Frequencyshifter Parameters */ * Vocalmorpher Parameters */ * Pitchshifter Parameters */ * Ringmodulator Parameters */ * Autowah Parameters */ * Compressor Parameters */ * Equalizer Parameters */ * Highpass Parameters */ * Bandpass Parameters */ * Filter type */ * Filter type definitions to be used with AL_FILTER_TYPE. */ Format specifier for 16bit 4-channel audio. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. Format specifier for 16bit 6-channel audio. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. Format specifier for 16bit 7-channel audio. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. Format specifier for 16bit 8-channel audio. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. See 'OpenAL Programmer's Guide' for more information. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. See 'OpenAL Programmer's Guide' for more information. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. See 'OpenAL Programmer's Guide' for more information. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. See 'OpenAL Programmer's Guide' for more information. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. See 'OpenAL Programmer's Guide' for more information. Note that if the enumeration value is not supported by the current OpenAl implementation, an OpenAL error is generated the first, but only the first time this field is accessed. The field then has a value of zero. Fills a buffer with audio data. Buffer name to be filled with data. Format type from among the following: Pointer to the audio data. The size of the audio data in bytes. The frequency of the audio data. Fills a buffer with audio data. Buffer name to be filled with data. Format type from among the following: Pointer to the audio data. The size of the audio data in bytes. The frequency of the audio data. Fills a buffer with audio data. Buffer name to be filled with data. Format type from among the following: Pointer to the audio data. The size of the audio data in bytes. The frequency of the audio data. Set Buffer parameters. Set Buffer parameters. Set Buffer parameters. Set Buffer parameters. Set Buffer parameters. Set Buffer parameters. Deletes one or more buffers. The number of buffers to be deleted. Pointer to an array of buffer names identifying the buffers to be deleted. If the requested number of buffers cannot be deleted, an error will be generated which can be detected with . If an error occurs, no buffers will be deleted. If number equals zero, alDeleteBuffers does nothing and will not return an error. Deletes one or more buffers. The number of buffers to be deleted. Pointer to an array of buffer names identifying the buffers to be deleted. If the requested number of buffers cannot be deleted, an error will be generated which can be detected with . If an error occurs, no buffers will be deleted. If number equals zero, alDeleteBuffers does nothing and will not return an error. Deletes one or more buffers. The number of buffers to be deleted. Pointer to an array of buffer names identifying the buffers to be deleted. If the requested number of buffers cannot be deleted, an error will be generated which can be detected with . If an error occurs, no buffers will be deleted. If number equals zero, alDeleteBuffers does nothing and will not return an error. Deletes one or more buffers. The number of buffers to be deleted. Pointer to an array of buffer names identifying the buffers to be deleted. If the requested number of buffers cannot be deleted, an error will be generated which can be detected with . If an error occurs, no buffers will be deleted. If number equals zero, alDeleteBuffers does nothing and will not return an error. Deletes one or more sources. The number of sources to be deleted. Pointer to an array of source names identifying the sources to be deleted. If the requested number of sources cannot be deleted, an error will be generated which can be detected with . If an error occurs, no sources will be deleted. If number equals zero, alDeleteSources does nothing and will not return an error. Deletes one or more sources. The number of sources to be deleted. Pointer to an array of source names identifying the sources to be deleted. If the requested number of sources cannot be deleted, an error will be generated which can be detected with . If an error occurs, no sources will be deleted. If number equals zero, alDeleteSources does nothing and will not return an error. Deletes one or more sources. The number of sources to be deleted. Pointer to an array of source names identifying the sources to be deleted. If the requested number of sources cannot be deleted, an error will be generated which can be detected with . If an error occurs, no sources will be deleted. If number equals zero, alDeleteSources does nothing and will not return an error. Deletes one or more sources. The number of sources to be deleted. Pointer to an array of source names identifying the sources to be deleted. If the requested number of sources cannot be deleted, an error will be generated which can be detected with . If an error occurs, no sources will be deleted. If number equals zero, alDeleteSources does nothing and will not return an error. Disables a feature of the OpenAL driver. The capability to disable. At the time of this writing, there are no features to be disabled using this function, so if it is called the error will be generated. Selects the OpenAL distance model. The distance model to be set: The default distance model in OpenAL is . The model works according to the following formula: G_dB = AL_GAIN – 20log10(1 + AL_ROLLOFF_FACTOR * (distance – AL_REFERENCE_DISTANCE) / AL_REFERENCE_DISTANCE)); G_dB = min(G_dB, AL_MAX_GAIN); G_dB = max(G_dB, AL_MIN_GAIN); The model works according to the following formula: distance = max(distance, AL_REFERENCE_DISTANCE); distance = min(distance, AL_MAX_DISTANCE); G_dB = AL_GAIN – 20log10(1 + AL_ROLLOFF_FACTOR * (distance – AL_REFERENCE_DISTANCE) / AL_REFERENCE_DISTANCE)); G_dB = min(G_dB, AL_MAX_GAIN); G_dB = max(G_dB, AL_MIN_GAIN); The model works according to the following formula: G_db = AL_GAIN; Selects the OpenAL Doppler factor value. The Doppler scale value to set. The default Doppler factor value is 1.0. Selects the OpenAL Doppler velocity value. The Doppler velocity value to set. The default Doppler velocity value is 343.3. Selects the OpenAL Speed of Sound value. The Speed of Sound value to set. Enables a feature of the OpenAL driver. The capability to enable. At the time of this writing, there are no features to be enabled using this function, so if it is called the error will be generated. Generates one or more buffers. The number of buffers to be generated. Pointer to an array of integer values which will store the names of the new buffers. If the requested number of buffers cannot be created, an error will be generated which can be detected with . If an error occurs, no buffers will be generated. If number equals zero, alGenBuffers does nothing and does not return an error. Generates one or more buffers. The number of buffers to be generated. Pointer to an array of integer values which will store the names of the new buffers. If the requested number of buffers cannot be created, an error will be generated which can be detected with . If an error occurs, no buffers will be generated. If number equals zero, alGenBuffers does nothing and does not return an error. Generates one or more buffers. The number of buffers to be generated. Pointer to an array of integer values which will store the names of the new buffers. If the requested number of buffers cannot be created, an error will be generated which can be detected with . If an error occurs, no buffers will be generated. If number equals zero, alGenBuffers does nothing and does not return an error. Generates one or more buffers. The number of buffers to be generated. Pointer to an array of integer values which will store the names of the new buffers. If the requested number of buffers cannot be created, an error will be generated which can be detected with . If an error occurs, no buffers will be generated. If number equals zero, alGenBuffers does nothing and does not return an error. Generates one or more sources. The number of sources to be generated. Pointer to an array of integer values which will store the names of the new sources. If the requested number of sources cannot be created, an error will be generated which can be detected with . If an error occurs, no sources will be generated. If number equals zero, alGenSources does nothing and does not return an error. Generates one or more sources. The number of sources to be generated. Pointer to an array of integer values which will store the names of the new sources. If the requested number of sources cannot be created, an error will be generated which can be detected with . If an error occurs, no sources will be generated. If number equals zero, alGenSources does nothing and does not return an error. Generates one or more sources. The number of sources to be generated. Pointer to an array of integer values which will store the names of the new sources. If the requested number of sources cannot be created, an error will be generated which can be detected with . If an error occurs, no sources will be generated. If number equals zero, alGenSources does nothing and does not return an error. Generates one or more sources. The number of sources to be generated. Pointer to an array of integer values which will store the names of the new sources. If the requested number of sources cannot be created, an error will be generated which can be detected with . If an error occurs, no sources will be generated. If number equals zero, alGenSources does nothing and does not return an error. Returns a boolean OpenAL state. The state to be queried. The boolean value ( or ) described by state will be returned. There aren’t any boolean states defined at the time of this writing, so this function will always generate the error . Retrieves a boolean OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any boolean states defined at the time of this writing, so this function will always generate the error . Retrieves a boolean OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any boolean states defined at the time of this writing, so this function will always generate the error . Retrieves a boolean OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any boolean states defined at the time of this writing, so this function will always generate the error . Retrieves a boolean OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any boolean states defined at the time of this writing, so this function will always generate the error . Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. A pointer to an float to hold the retrieved data. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves a floating-point property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an float to hold the retrieved data. There are no float attributes for buffers at this time. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved. A pointer to an int to hold the retrieved data. A pointer to an int to hold the retrieved data. A pointer to an int to hold the retrieved data. There are no int attributes for buffers at this time. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Retrieves an integer property of a buffer. Buffer name whose attribute is being retrieved. The name of the attribute to be retrieved: A pointer to an integer to hold the retrieved data. Returns a double-precision floating-point OpenAL state. The state to be queried. The double value described by state will be returned. There aren’t any double-precision floating-point states defined at the time of this writing, so this function will always generate the error . Retrieves a double-precision floating-point OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any double-precision floating-point states defined at the time of this writing, so this function will always generate the error . Retrieves a double-precision floating-point OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any double-precision floating-point states defined at the time of this writing, so this function will always generate the error . Retrieves a double-precision floating-point OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any double-precision floating-point states defined at the time of this writing, so this function will always generate the error . Retrieves a double-precision floating-point OpenAL state. The state to be queried. A pointer to the location where the state will be stored. There aren’t any double-precision floating-point states defined at the time of this writing, so this function will always generate the error . Returns the enumeration value of an OpenAL enum described by a string. A string describing an OpenAL enum. The actual value for the described enum is returned. Returns the current error state and then clears the error state. The error state. When an OpenAL error occurs, the error state is set and will not be changed until the error state is retrieved using alGetError. Whenever alGetError is called, the error state is cleared and the last state (the current state when the call was made) is returned. To isolate error detection to a specific portion of code, alGetError should be called before the isolated section to clear the current error state. Returns a floating-point OpenAL state. The state to be queried: The floating-point value described by state will be returned. Retrieves a floating-point OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Retrieves a floating-point OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Retrieves a floating-point OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Retrieves a floating-point OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Returns an integer OpenAL state. The state to be queried: The integer value described by state will be returned. Retrieves an integer OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Retrieves an integer OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Retrieves an integer OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Retrieves an integer OpenAL state. The state to be queried: A pointer to the location where the state will be stored. Retrieves a set of three floating-point values from a property of the listener. The name of the attribute to be queried: Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Retrieves a set of three floating-point values from a property of the listener. The name of the attribute to be queried: Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Retrieves a set of three floating-point values from a property of the listener. The name of the attribute to be queried: Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Retrieves a set of three floating-point values from a property of the listener. The name of the attribute to be queried: Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Pointer to the the floating-point being retrieved. Retrieves a floating-point property of the listener. The name of the attribute to be queried: A pointer to the floating-point value being retrieved. Retrieves a floating-point property of the listener. The name of the attribute to be queried: A pointer to the floating-point value being retrieved. Retrieves a floating-point property of the listener. The name of the attribute to be queried: A pointer to the floating-point value being retrieved. Retrieves a floating-point property of the listener. The name of the attribute to be queried: A pointer to the floating-point value being retrieved. Retrieves a floating-point vector property of the listener. The name of the attribute to be queried: A pointer to the floating-point vector value being retrieved. Retrieves a floating-point vector property of the listener. The name of the attribute to be queried: A pointer to the floating-point vector value being retrieved. Retrieves a floating-point vector property of the listener. The name of the attribute to be queried: A pointer to the floating-point vector value being retrieved. Retrieves a floating-point vector property of the listener. The name of the attribute to be queried: A pointer to the floating-point vector value being retrieved. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Retrieves a set of three integer values from a property of the listener. The name of the attribute to be queried: Pointer to the integer being retrieved. Pointer to the integer being retrieved. Pointer to the intger being retrieved. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Retrieves an integer property of the listener. The name of the attribute to be queried. A pointer to the integer value being retrieved. There are no integer listener attributes at this time. Returns the address of an OpenAL extension function. A string containing the function name. A pointer to the desired function is returned. The return value will be IntPtr.Zero if the function is not found. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: The float values which the attribute will be set to. The float values which the attribute will be set to. The float values which the attribute will be set to. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: The float values which the attribute will be set to. The float values which the attribute will be set to. The float values which the attribute will be set to. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: The float values which the attribute will be set to. The float values which the attribute will be set to. The float values which the attribute will be set to. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: The float values which the attribute will be set to. The float values which the attribute will be set to. The float values which the attribute will be set to. Retrieves a floating-point property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the floating-point value being retrieved. Retrieves a floating-point property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the floating-point value being retrieved. Retrieves a floating-point property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the floating-point value being retrieved. Retrieves a floating-point property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the floating-point value being retrieved. Retrieves a floating-point vector property of a source. Source name whose attribute is being retrieved. The name of the attribute being retrieved: A pointer to the vector to retrieve. Retrieves a floating-point vector property of a source. Source name whose attribute is being retrieved. The name of the attribute being retrieved: A pointer to the vector to retrieve. Retrieves a floating-point vector property of a source. Source name whose attribute is being retrieved. The name of the attribute being retrieved: A pointer to the vector to retrieve. Retrieves a floating-point vector property of a source. Source name whose attribute is being retrieved. The name of the attribute being retrieved: A pointer to the vector to retrieve. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: The int values which the attribute will be set to. The int values which the attribute will be set to. The int values which the attribute will be set to. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an integer property of a source. Source name whose attribute is being retrieved. The name of the attribute to retrieve: A pointer to the integer value being retrieved. Retrieves an OpenAL string property. The property to be queried: A pointer to a null-terminated string. Sets application preferences for driver performance choices. Unknown. Unknown. Tests if a buffer name is valid. A buffer name to be tested for validity. bool value if the buffer name is valid or if the buffer name is not valid. Returns a value indicating if a specific feature is enabled in the OpenAL driver. The capability to query. if the capability is enabled, if the capability is disabled. At the time of this writing, this function always returns , and since there are no capabilities defined yet, the error will also be set. Tests if a specific extension is available for the OpenAL driver. A string describing the desired extension. if the extension is available, if the extension is not available. Tests if a source name is valid. A source name to be tested for validity. bool value if the source name is valid or if the source name is not valid. Sets a floating-point property for the listener. The name of the attribute to set: The value to set the attribute to. The value to set the attribute to. The value to set the attribute to. Sets a floating-point property for the listener. The name of the attribute to be set. The float value to set the attribute to. Sets a floating-point vector property of the listener. The name of the attribute to be set: Pointer to floating-point vector values. Sets a floating-point vector property of the listener. The name of the attribute to be set: Pointer to floating-point vector values. Sets a floating-point vector property of the listener. The name of the attribute to be set: Pointer to floating-point vector values. Sets a floating-point vector property of the listener. The name of the attribute to be set: Pointer to floating-point vector values. Sets an integer property of the listener. The name of the attribute to be set. The integer value to set the attribute to. There are no integer listener attributes at this time. Sets an integer property for the listener. The name of the attribute to set: The value to set the attribute to. The value to set the attribute to. The value to set the attribute to. Sets a integer-vector property of the listener. The name of the attribute to be set: Pointer to integer-vector values. Unknown. Unknown. Unknown. Unknown. Sets a source property requiring three floating-point values. Source name whose attribute is being set. The name of the attribute to set: The float values which the attribute will be set to. The float values which the attribute will be set to. The float values which the attribute will be set to. This function is an alternative to . Sets a floating-point property of a source. Source name whose attribute is being set. The name of the attribute to set: The value to set the attribute to. Sets a floating-point vector property of a source. Source name whose attribute is being set. The name of the attribute being set: A pointer to the vector to set the attribute to. Sets a floating-point vector property of a source. Source name whose attribute is being set. The name of the attribute being set: A pointer to the vector to set the attribute to. Sets a floating-point vector property of a source. Source name whose attribute is being set. The name of the attribute being set: A pointer to the vector to set the attribute to. Sets a floating-point vector property of a source. Source name whose attribute is being set. The name of the attribute being set: A pointer to the vector to set the attribute to. Sets an integer property of a source. Source name whose attribute is being set. The name of the attribute to set: The value to set the attribute to. The buffer name zero is reserved as a “Null Buffer" and is accepted by alSourcei(…, Al.AL_BUFFER, …) as a valid buffer of zero length. Sets a integer-vector property of a source. Source name whose attribute is being set. The name of the attribute being set: A pointer to the vector to set the attribute to. Sets a source property requiring three integer values. Source name whose attribute is being set. The name of the attribute to set: The int values which the attribute will be set to. The int values which the attribute will be set to. The int values which the attribute will be set to. This function is an alternative to . Pauses a source. The name of the source to be paused. The paused source will have its state changed to . Pauses a set of sources. The number of sources to be paused. A pointer to an array of sources to be paused. The paused sources will have their state changed to . Pauses a set of sources. The number of sources to be paused. A pointer to an array of sources to be paused. The paused sources will have their state changed to . Pauses a set of sources. The number of sources to be paused. A pointer to an array of sources to be paused. The paused sources will have their state changed to . Pauses a set of sources. The number of sources to be paused. A pointer to an array of sources to be paused. The paused sources will have their state changed to . Plays a source. The name of the source to be played. The playing source will have its state changed to . Plays a set of sources. The number of sources to be played. A pointer to an array of sources to be played. The playing sources will have their state changed to . Plays a set of sources. The number of sources to be played. A pointer to an array of sources to be played. The playing sources will have their state changed to . Plays a set of sources. The number of sources to be played. A pointer to an array of sources to be played. The playing sources will have their state changed to . Plays a set of sources. The number of sources to be played. A pointer to an array of sources to be played. The playing sources will have their state changed to . Queues a set of buffers on a source. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. Queues a set of buffers on a source. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. Queues a set of buffers on a source. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. Queues a set of buffers on a source. The name of the source to queue buffers onto. The number of buffers to be queued. A pointer to an array of buffer names to be queued. Stops the source and sets its state to . The name of the source to be rewound. Stops a set of sources and sets all their states to . The number of sources to be rewound. A pointer to an array of sources to be rewound. Stops a set of sources and sets all their states to . The number of sources to be rewound. A pointer to an array of sources to be rewound. Stops a set of sources and sets all their states to . The number of sources to be rewound. A pointer to an array of sources to be rewound. Stops a set of sources and sets all their states to . The number of sources to be rewound. A pointer to an array of sources to be rewound. Stops a source. The name of the source to be stopped. The stopped source will have its state changed to . Stops a set of sources. The number of sources to stop. A pointer to an array of sources to be stopped. The stopped sources will have their state changed to . Stops a set of sources. The number of sources to stop. A pointer to an array of sources to be stopped. The stopped sources will have their state changed to . Stops a set of sources. The number of sources to stop. A pointer to an array of sources to be stopped. The stopped sources will have their state changed to . Stops a set of sources. The number of sources to stop. A pointer to an array of sources to be stopped. The stopped sources will have their state changed to . Unqueues a set of buffers attached to a source. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. The unqueue operation will only take place if all number buffers can be removed from the queue. Unqueues a set of buffers attached to a source. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. The unqueue operation will only take place if all number buffers can be removed from the queue. Unqueues a set of buffers attached to a source. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. The unqueue operation will only take place if all number buffers can be removed from the queue. Unqueues a set of buffers attached to a source. The name of the source to unqueue buffers from. The number of buffers to be unqueued. A pointer to an array of buffer names that were removed. The unqueue operation will only take place if all number buffers can be removed from the queue. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Unknown. Sets the X-RAM mode for the specified buffers. The number of buffers to set. A pointer to an array of buffers to set. The X-RAM buffer mode for the specified buffers. Sets the X-RAM mode for the specified buffers. The number of buffers to set. An array of buffers to set, with minimum n elements. The X-RAM buffer mode for the specified buffers. Sets the X-RAM mode for the specified buffers. The number of buffers to set. A pointer to an array of buffers to set. The X-RAM buffer mode for the specified buffers. Gets the X-RAM mode for the specified buffer. Buffer to retreive the property for. Not used yet. One of the following values: Gets the X-RAM mode for the specified buffer. Buffer to retreive the property for. Not used yet. One of the following values: Gets the X-RAM mode for the specified buffer. Buffer to retreive the property for. Not used yet. One of the following values: Reloads OpenAL extension functions. Call this function to reload context-dependent extension OpenAL entry points. This should be done whenever you change the current OpenAL context, or in the case you cannot (or do not want) to use the automatic initialisation. Calling this function before the automatic initialisation has taken place will result in the Al class being initialised twice. This is harmless, but, given the choice, the automatic initialisation should be preferred. Represents a 3D vector using three single-precision floating-point numbers. The Vector3 structure is suitable for interoperation with unmanaged code requiring three consecutive floats. The X component of the Vector3. The Y component of the Vector3. The Z component of the Vector3. Constructs a new Vector3. The x component of the Vector3. The y component of the Vector3. The z component of the Vector3. Constructs a new Vector3 from the given Vector2. The Vector2 to copy components from. Constructs a new Vector3 from the given Vector3. The Vector3 to copy components from. Constructs a new Vector3 from the given Vector4. The Vector4 to copy components from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Multiply this instance by a scalar. Scalar operand. Divide this instance by a scalar. Scalar operand. Scales the Vector3 to unit length. Scales the Vector3 to approximately unit length. Scales the current Vector3 by the given amounts. The scale of the X component. The scale of the Y component. The scale of the Z component. Scales this instance by the given parameter. The scaling of the individual components. Scales this instance by the given parameter. The scaling of the individual components. Defines a unit-length Vector3 that points towards the X-axis. Defines a unit-length Vector3 that points towards the Y-axis. /// Defines a unit-length Vector3 that points towards the Z-axis. Defines a zero-length Vector3. Defines an instance with all components set to 1. Defines the size of the Vector3 struct in bytes. Add two Vectors First operand Second operand Result of addition Add two Vectors First operand Second operand Result of addition Subtract one Vector from another First operand Second operand Result of subtraction Subtract one Vector from another First operand Second operand Result of subtraction Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Divide a vector by a scalar Vector operand Scalar operand Result of the division Divide a vector by a scalar Vector operand Scalar operand Result of the division Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Returns the Vector3 with the minimum magnitude Left operand Right operand The minimum Vector3 Returns the Vector3 with the minimum magnitude Left operand Right operand The minimum Vector3 Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Scale a vector to unit length The input vector The normalized vector Scale a vector to unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Caclulate the cross (vector) product of two vectors First operand Second operand The cross product of the two inputs Caclulate the cross (vector) product of two vectors First operand Second operand The cross product of the two inputs The cross product of the two inputs Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector Second input Vector Third input Vector First Barycentric Coordinate Second Barycentric Coordinate a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector. Second input Vector. Third input Vector. First Barycentric Coordinate. Second Barycentric Coordinate. Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Transform a direction vector by the given Matrix Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. The vector to transform The desired transformation The transformed vector Transform a direction vector by the given Matrix Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. The vector to transform The desired transformation The transformed vector Transform a Normal by the given Matrix This calculates the inverse of the given matrix, use TransformNormalInverse if you already have the inverse to avoid this extra calculation The normal to transform The desired transformation The transformed normal Transform a Normal by the given Matrix This calculates the inverse of the given matrix, use TransformNormalInverse if you already have the inverse to avoid this extra calculation The normal to transform The desired transformation The transformed normal Transform a Normal by the (transpose of the) given Matrix This version doesn't calculate the inverse matrix. Use this version if you already have the inverse of the desired transform to hand The normal to transform The inverse of the desired transformation The transformed normal Transform a Normal by the (transpose of the) given Matrix This version doesn't calculate the inverse matrix. Use this version if you already have the inverse of the desired transform to hand The normal to transform The inverse of the desired transformation The transformed normal Transform a Position by the given Matrix The position to transform The desired transformation The transformed position Transform a Position by the given Matrix The position to transform The desired transformation The transformed position Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Transform a Vector by the given Matrix The vector to transform The desired transformation The transformed vector Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3 The vector to transform The desired transformation The transformed vector Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3 The vector to transform The desired transformation The transformed vector Calculates the angle (in radians) between two vectors. The first vector. The second vector. Angle (in radians) between the vectors. Note that the returned angle is never bigger than the constant Pi. Calculates the angle (in radians) between two vectors. The first vector. The second vector. Angle (in radians) between the vectors. Note that the returned angle is never bigger than the constant Pi. Returns a System.String that represents the current Vector3. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare to. True if the instances are equal; false otherwise. Indicates whether the current vector is equal to another vector. A vector to compare with this vector. true if the current vector is equal to the vector parameter; otherwise, false. Gets the length (magnitude) of the vector. Gets an approximation of the vector length (magnitude). This property uses an approximation of the square root function to calculate vector magnitude, with an upper error bound of 0.001. Gets the square of the vector length (magnitude). This property avoids the costly square root operation required by the Length property. This makes it more suitable for comparisons. Gets or sets an OpenTK.Vector2 with the X and Y components of this instance. Describes the format of the SoundData. Constructs a new SoundFormat. Describes the SampleFormat of the SoundData. Describes the sample rate (frequency) of the SoundData. Gets the SampleFormat of the buffer as an OpenTK.Audio.ALFormat enumeration. Defines the available formats for SoundData. 8 bits per sample, 1 channel. 16 bits per sample, 1 channel. 8 bits per sample, 2 channels. 16 bits per sample, 2 channels. Represents a 2D vector using two single-precision floating-point numbers. The Vector2 structure is suitable for interoperation with unmanaged code requiring two consecutive floats. The X component of the Vector2. The Y component of the Vector2. Constructs a new Vector2. The x coordinate of the net Vector2. The y coordinate of the net Vector2. Constructs a new Vector2 from the given Vector2. The Vector2 to copy components from. Constructs a new Vector2 from the given Vector3. The Vector3 to copy components from. Z is discarded. Constructs a new Vector2 from the given Vector4. The Vector4 to copy components from. Z and W are discarded. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Add the Vector passed as parameter to this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Subtract the Vector passed as parameter from this instance. Right operand. This parameter is only read from. Multiply this instance by a scalar. Scalar operand. Divide this instance by a scalar. Scalar operand. Scales the Vector2 to unit length. Scales the Vector2 to approximately unit length. Scales the current Vector2 by the given amounts. The scale of the X component. The scale of the Y component. Scales this instance by the given parameter. The scaling of the individual components. Scales this instance by the given parameter. The scaling of the individual components. Defines a unit-length Vector2 that points towards the X-axis. Defines a unit-length Vector2 that points towards the Y-axis. Defines a zero-length Vector2. Defines an instance with all components set to 1. Defines the size of the Vector2 struct in bytes. Add the specified instances First operand Second operand Result of addition Add two Vectors First operand Second operand Result of addition Subtract one Vector from another First operand Second operand Result of subtraction Subtract one Vector from another First operand Second operand Result of subtraction Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Multiply a vector and a scalar Vector operand Scalar operand Result of the multiplication Divide a vector by a scalar Vector operand Scalar operand Result of the division Divide a vector by a scalar Vector operand Scalar operand Result of the division Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise minimum of two vectors First operand Second operand The component-wise minimum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Calculate the component-wise maximum of two vectors First operand Second operand The component-wise maximum Returns the Vector3 with the minimum magnitude Left operand Right operand The minimum Vector3 Returns the Vector3 with the minimum magnitude Left operand Right operand The minimum Vector3 Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Clamp a vector to the given minimum and maximum vectors Input vector Minimum vector Maximum vector The clamped vector Scale a vector to unit length The input vector The normalized vector Scale a vector to unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Scale a vector to approximately unit length The input vector The normalized vector Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Calculate the dot (scalar) product of two vectors First operand Second operand The dot product of the two inputs Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Returns a new Vector that is the linear blend of the 2 given Vectors First input vector Second input vector The blend factor. a when blend=0, b when blend=1. a when blend=0, b when blend=1, and a linear combination otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector Second input Vector Third input Vector First Barycentric Coordinate Second Barycentric Coordinate a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Interpolate 3 Vectors using Barycentric coordinates First input Vector. Second input Vector. Third input Vector. First Barycentric Coordinate. Second Barycentric Coordinate. Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise Adds the specified instances. Left operand. Right operand. Result of addition. Subtracts the specified instances. Left operand. Right operand. Result of subtraction. Negates the specified instance. Operand. Result of negation. Multiplies the specified instance by a scalar. Left operand. Right operand. Result of multiplication. Multiplies the specified instance by a scalar. Left operand. Right operand. Result of multiplication. Divides the specified instance by a scalar. Left operand Right operand Result of the division. Compares the specified instances for equality. Left operand. Right operand. True if both instances are equal; false otherwise. Compares the specified instances for inequality. Left operand. Right operand. True if both instances are not equal; false otherwise. Returns a System.String that represents the current Vector2. Returns the hashcode for this instance. A System.Int32 containing the unique hashcode for this instance. Indicates whether this instance and a specified object are equal. The object to compare to. True if the instances are equal; false otherwise. Indicates whether the current vector is equal to another vector. A vector to compare with this vector. true if the current vector is equal to the vector parameter; otherwise, false. Gets the length (magnitude) of the vector. Gets an approximation of the vector length (magnitude). This property uses an approximation of the square root function to calculate vector magnitude, with an upper error bound of 0.001. Gets the square of the vector length (magnitude). This property avoids the costly square root operation required by the Length property. This makes it more suitable for comparisons. Gets the perpendicular vector on the right side of this vector. Gets the perpendicular vector on the left side of this vector. Defines available directions for text layout. The text is layed out from left to right. The text is layed out from right to left. The text is layed out vertically. Represents a quadric bezier curve with two anchor and one control point. Start anchor point. End anchor point. Control point, controls the direction of both endings of the curve. The parallel value. This value defines whether the curve should be calculated as a parallel curve to the original bezier curve. A value of 0.0f represents the original curve, 5.0f i.e. stands for a curve that has always a distance of 5.f to the orignal curve at any point. Constructs a new . The start anchor. The end anchor. The control point. Constructs a new . The parallel value. The start anchor. The end anchor. The control point. Calculates the point with the specified t. The t value, between 0.0f and 1.0f. Resulting point. Calculates the point with the specified t of the derivative of this function. The t, value between 0.0f and 1.0f. Resulting point. Calculates the length of this bezier curve. The precision. Length of curve. The precision gets better when the value gets smaller. The name Half is derived from half-precision floating-point number. It occupies only 16 bits, which are split into 1 Sign bit, 5 Exponent bits and 10 Mantissa bits. Quote from ARB_half_float_pixel specification: Any representable 16-bit floating-point value is legal as input to a GL command that accepts 16-bit floating-point data. The result of providing a value that is not a floating-point number (such as infinity or NaN) to such a command is unspecified, but must not lead to GL interruption or termination. Providing a denormalized number or negative zero to GL must yield predictable results. The new Half instance will convert the parameter into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. The new Half instance will convert the parameter into 16-bit half-precision floating-point. 32-bit single-precision floating-point number. Enable checks that will throw if the conversion result is not meaningful. The new Half instance will convert the parameter into 16-bit half-precision floating-point. 64-bit double-precision floating-point number. The new Half instance will convert the parameter into 16-bit half-precision floating-point. 64-bit double-precision floating-point number. Enable checks that will throw if the conversion result is not meaningful. Ported from OpenEXR's IlmBase 1.0.1 Converts the 16-bit half to 32-bit floating-point. A single-precision floating-point number. Ported from OpenEXR's IlmBase 1.0.1 Converts a System.Single to a OpenTK.Half. The value to convert. A The result of the conversion. A Converts a System.Double to a OpenTK.Half. The value to convert. A The result of the conversion. A Converts a OpenTK.Half to a System.Single. The value to convert. A The result of the conversion. A Converts a OpenTK.Half to a System.Double. The value to convert. A The result of the conversion. A The size in bytes for an instance of the Half struct. Smallest positive half Smallest positive normalized half Largest positive half Smallest positive e for which half (1.0 + e) != half (1.0) Constructor used by ISerializable to deserialize the object. Used by ISerialize to serialize the object. Updates the Half by reading from a Stream. A BinaryReader instance associated with an open Stream. Writes the Half into a Stream. A BinaryWriter instance associated with an open Stream. Returns a value indicating whether this instance is equal to a specified OpenTK.Half value. OpenTK.Half object to compare to this instance.. True, if other is equal to this instance; false otherwise. Compares this instance to a specified half-precision floating-point number and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified half-precision floating-point number. A half-precision floating-point number to compare. A signed number indicating the relative values of this instance and value. If the number is: Less than zero, then this instance is less than other, or this instance is not a number (OpenTK.Half.NaN) and other is a number. Zero: this instance is equal to value, or both this instance and other are not a number (OpenTK.Half.NaN), OpenTK.Half.PositiveInfinity, or OpenTK.Half.NegativeInfinity. Greater than zero: this instance is greater than othrs, or this instance is a number and other is not a number (OpenTK.Half.NaN). Converts this Half into a human-legible string representation. The string representation of this instance. Converts this Half into a human-legible string representation. Formatting for the output string. Culture-specific formatting information. The string representation of this instance. Converts the string representation of a number to a half-precision floating-point equivalent. String representation of the number to convert. A new Half instance. Converts the string representation of a number to a half-precision floating-point equivalent. String representation of the number to convert. Specifies the format of s. Culture-specific formatting information. A new Half instance. Converts the string representation of a number to a half-precision floating-point equivalent. Returns success. String representation of the number to convert. The Half instance to write to. Success. Converts the string representation of a number to a half-precision floating-point equivalent. Returns success. string representation of the number to convert. specifies the format of s. Culture-specific formatting information. The Half instance to write to. Success. Returns the Half as an array of bytes. The Half to convert. The input as byte array. Converts an array of bytes into Half. A Half in it's byte[] representation. The starting position within value. A new Half instance. Returns true if the Half is zero. Returns true if the Half represents Not A Number (NaN) Returns true if the Half represents positive infinity. Returns true if the Half represents negative infinity. Encapsulates an OpenGL texture. Constructs a new Texture. Defines available options for the TextPrinter. The TextPrinter will use default printing options. The TextPrinter will not cache text blocks as they are measured or printed. Encapsulates a pointer to a decoded sound buffer. Constructs a new SoundData object. The SoundFormat of these SoundData. An array of PCM buffer. Gets the raw PCM buffer. Gets the SoundFormat of the SoundData. Represents a double-precision Quaternion. Construct a new Quaterniond from vector and w components The vector part The w part Construct a new Quaterniond The x component The y component The z component The w component Convert the current quaternion to axis angle representation The resultant axis The resultant angle Convert this instance to an axis-angle representation. A Vector4 that is the axis-angle representation of this quaternion. Scales the Quaterniond to unit length. Convert this Quaterniond to its conjugate Defines the identity quaternion. Add two quaternions The first operand The second operand The result of the addition Add two quaternions The first operand The second operand The result of the addition Subtracts two instances. The left instance. The right instance. The result of the operation. Subtracts two instances. The left instance. The right instance. The result of the operation. Get the conjugate of the given Quaterniond The Quaterniond The conjugate of the given Quaterniond Get the conjugate of the given Quaterniond The Quaterniond The conjugate of the given Quaterniond Get the inverse of the given Quaterniond The Quaterniond to invert The inverse of the given Quaterniond Get the inverse of the given Quaterniond The Quaterniond to invert The inverse of the given Quaterniond Scale the given Quaterniond to unit length The Quaterniond to normalize The normalized Quaterniond Scale the given Quaterniond to unit length The Quaterniond to normalize The normalized Quaterniond Build a Quaterniond from the given axis and angle The axis to rotate about The rotation angle in radians Do Spherical linear interpolation between two quaternions The first Quaterniond The second Quaterniond The blend factor A smooth blend between the given quaternions Returns a System.String that represents the current Quaterniond. Compares this object instance to another object for equality. The other object to be used in the comparison. True if both objects are Quaternions of equal value. Otherwise it returns false. Provides the hash code for this object. A hash code formed from the bitwise XOR of this objects members. Compares this Quaterniond instance to another Quaterniond for equality. The other Quaterniond to be used in the comparison. True if both instances are equal; false otherwise. Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. Gets or sets the X component of this instance. Gets or sets the Y component of this instance. Gets or sets the Z component of this instance. Gets or sets the W component of this instance. Gets the length (magnitude) of the Quaterniond. Gets the square of the Quaterniond length (magnitude). Constructs a new Glyph that represents the given character and Font. The character to represent. The Font of the character. Checks whether the given object is equal (memberwise) to the current Glyph. The obj to check. True, if the object is identical to the current Glyph. Describes this Glyph object. Returns a System.String describing this Glyph. Calculates the hashcode for this Glyph. A System.Int32 containing a hashcode that uniquely identifies this Glyph. Gets the character represented by this Glyph. Gets the Font of this Glyph. OpenAL binding for .NET, implementing ALUT 1.1. ALUT is non-standard. Specifies OpenAl's native library archive. Specifies OpenAl32.dll everywhere; will be mapped via .config for mono. Specifies the calling convention. Specifies . Represents exceptions related to OpenTK.Audio.AudioReader objects. Constructs a new AudioReaderException. Constructs a new AudioReaderException with the specified error message. The error message of the AudioReaderException. OpenAL binding for .NET, implementing ALC 1.1. Binds functions and definitions in OpenAL32.dll or libAL.so. Specifies OpenAl's native library archive. Specifies OpenAl32.dll everywhere; will be mapped via .config for mono. Specifies the calling convention. Specifies . Bad value. bool false. bool true. No error. Major version. Minor version. Attributes size. All attributes. Capture device specifier. Capture default device specifier. Capture samples. Default device specifier. Device specifier. Extensions. Frequency. Refresh. Sync. Num of requested Mono (3D) Sources Num of requested Stereo Sources The device argument does not name a valid device. The context argument does not name a valid context. A function was called at inappropriate time, or in an inappropriate way, causing an illegal state. This can be an incompatible value, object ID, and/or function. Illegal value passed as an argument to an AL call. Applies to parameter values, but not to enumerations. A function could not be completed, because there is not enough memory available. Closes a device. A pointer to an opened device. Creates a context using a specified device. A pointer to a device. A pointer to a set of attributes: Returns a pointer to the new context (IntPtr.Zero on failure). Creates a context using a specified device. A pointer to a device. A pointer to a set of attributes: Returns a pointer to the new context (IntPtr.Zero on failure). Creates a context using a specified device. A pointer to a device. A pointer to a set of attributes: Returns a pointer to the new context (IntPtr.Zero on failure). Creates a context using a specified device. A pointer to a device. A pointer to a set of attributes: Returns a pointer to the new context (IntPtr.Zero on failure). Destroys a context. Pointer to the context to be destroyed. Gets the device for a context. The context to query. A pointer to a device or IntPtr.Zero on failue. Retrieves the current context. Returns a pointer to the current context or IntPtr.Zero on failure. Retrieves the enum value for a specified enumeration name. The device to be queried. A null terminated string describing the enum value. Returns the enum value described by the enumName string. Retrieves the current context error state. The device to query. The current context error state will be returned. Returns integers related to the context. The device to be queried. An attribute to be retrieved: The size of the destination buffer provided. A pointer to the data to be returned. Returns integers related to the context. The device to be queried. An attribute to be retrieved: The size of the destination buffer provided. A pointer to the data to be returned. Returns integers related to the context. The device to be queried. An attribute to be retrieved: The size of the destination buffer provided. A pointer to the data to be returned. Returns integers related to the context. The device to be queried. An attribute to be retrieved: The size of the destination buffer provided. A pointer to the data to be returned. Retrieves the address of a specified context extension function. The device to be queried for the function. A null terminated string describing the function. Returns the address of the function, or IntPtr.Zero if it is not found. Returns strings related to the context. The device to be queried. An attribute to be retrieved: Returns a pointer to a string. Returns strings related to the context. The device to be queried. An attribute to be retrieved: Returns a pointer to a string. Queries if a specified context extension is available. The device to be queried for an extension. A null terminated string describing the extension. Returns if the extension is available, if the extension is not available. Makes a specified context the current context. Pointer to the new context. Returns an error code on failure. Opens a device by name. A null-terminated string describing a device. Returns a pointer to the opened device. Tells a context to begin processing. Pointer to the new context. Suspends processing on a specified context. A pointer to the context to be suspended. The Open Device will be captured Represents a cubic bezier curve with two anchor and two control points. Start anchor point. End anchor point. First control point, controls the direction of the curve start. Second control point, controls the direction of the curve end. Gets or sets the parallel value. This value defines whether the curve should be calculated as a parallel curve to the original bezier curve. A value of 0.0f represents the original curve, 5.0f i.e. stands for a curve that has always a distance of 5.f to the orignal curve at any point. Constructs a new . The start anchor point. The end anchor point. The first control point. The second control point. Constructs a new . The parallel value. The start anchor point. The end anchor point. The first control point. The second control point. Calculates the point with the specified t. The t value, between 0.0f and 1.0f. Resulting point. Calculates the point with the specified t of the derivative of this function. The t, value between 0.0f and 1.0f. Resulting point. Calculates the length of this bezier curve. The precision. Length of the curve. The precision gets better when the value gets smaller. Adds boundingBox to the GlyphPacker. The bounding box of the item to pack. The System.Drawing.Rectangle that contains the position of the packed item. True, if the item was successfully packed; false if the item is too big for this packer.. Occurs if the item is larger than the available TexturePacker area Occurs if the item cannot fit in the remaining packer space. Adds boundingBox to the GlyphPacker. The bounding box of the item to pack. The System.Drawing.RectangleF that contains the position of the packed item. True, if the item was successfully packed; false if the item is too big for this packer.. Occurs if the item is larger than the available TexturePacker area Occurs if the item cannot fit in the remaining packer space. Adds boundingBox to the GlyphPacker. The bounding box of the item to pack. A System.Drawing.Rectangle containing the coordinates of the packed item. Occurs if the item is larger than the available TexturePacker area Occurs if the item cannot fit in the remaining packer space. Rounds boundingBox to the largest integer and adds the resulting Rectangle to the GlyphPacker. The bounding box of the item to pack. A System.Drawing.Rectangle containing the coordinates of the packed item. Occurs if the item is larger than the available TexturePacker area Occurs if the item already exists in the TexturePacker. Discards all packed items. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class.