// -*- c++ -*-

//DO NOT EDIT!
//This file was created with ..\bin\Release\vtkParseOGLExt.exe
//from F:/distr/VTKx64/Rendering F:/distr/VTK/Utilities/ParseOGLExt/headers/glext.h F:/distr/VTK/Utilities/ParseOGLExt/headers/glxext.h F:/distr/VTK/Utilities/ParseOGLExt/headers/wglext.h

/*
 * Copyright 2003 Sandia Corporation.
 * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
 * license for use of this work by or on behalf of the
 * U.S. Government. Redistribution and use in source and binary forms, with
 * or without modification, are permitted provided that this Notice and any
 * statement of authorship are reproduced on all copies.
 */

#ifndef __vtkgl_h
#define __vtkgl_h

#include "vtkToolkits.h"
#include "vtkSystemIncludes.h"
#include "vtkWindows.h"
#include "vtkOpenGL.h"
#include <stddef.h>

#ifdef VTK_USE_X
/* To prevent glx.h to include glxext.h from the OS */
#define GLX_GLXEXT_LEGACY
#include <GL/glx.h>
#endif

class vtkOpenGLExtensionManager;

#ifndef APIENTRY
#define APIENTRY
#define VTKGL_APIENTRY_DEFINED
#endif

#ifndef APIENTRYP
#define APIENTRYP APIENTRY *
#define VTKGL_APIENTRYP_DEFINED
#endif

/* Undefine all constants to avoid name conflicts.  They should be defined  */
/* with GL_, GLX_, or WGL_ preprended to them anyway, but sometimes you run */
/* into a header file that gets it wrong.                                   */
#ifdef SAMPLE_BUFFERS_3DFX
#undef SAMPLE_BUFFERS_3DFX
#endif
#ifdef SAMPLES_3DFX
#undef SAMPLES_3DFX
#endif
#ifdef CONTEXT_DEBUG_BIT_ARB
#undef CONTEXT_DEBUG_BIT_ARB
#endif
#ifdef CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
#undef CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
#endif
#ifdef CONTEXT_MAJOR_VERSION_ARB
#undef CONTEXT_MAJOR_VERSION_ARB
#endif
#ifdef CONTEXT_MINOR_VERSION_ARB
#undef CONTEXT_MINOR_VERSION_ARB
#endif
#ifdef CONTEXT_FLAGS_ARB
#undef CONTEXT_FLAGS_ARB
#endif
#ifdef CONTEXT_CORE_PROFILE_BIT_ARB
#undef CONTEXT_CORE_PROFILE_BIT_ARB
#endif
#ifdef CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
#undef CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
#endif
#ifdef CONTEXT_PROFILE_MASK_ARB
#undef CONTEXT_PROFILE_MASK_ARB
#endif
#ifdef RGBA_FLOAT_TYPE_ARB
#undef RGBA_FLOAT_TYPE_ARB
#endif
#ifdef RGBA_FLOAT_BIT_ARB
#undef RGBA_FLOAT_BIT_ARB
#endif
#ifdef SAMPLE_BUFFERS_ARB
#undef SAMPLE_BUFFERS_ARB
#endif
#ifdef SAMPLES_ARB
#undef SAMPLES_ARB
#endif
#ifdef RGBA_UNSIGNED_FLOAT_TYPE_EXT
#undef RGBA_UNSIGNED_FLOAT_TYPE_EXT
#endif
#ifdef RGBA_UNSIGNED_FLOAT_BIT_EXT
#undef RGBA_UNSIGNED_FLOAT_BIT_EXT
#endif
#ifdef FRAMEBUFFER_SRGB_CAPABLE_EXT
#undef FRAMEBUFFER_SRGB_CAPABLE_EXT
#endif
#ifdef SHARE_CONTEXT_EXT
#undef SHARE_CONTEXT_EXT
#endif
#ifdef VISUAL_ID_EXT
#undef VISUAL_ID_EXT
#endif
#ifdef SCREEN_EXT
#undef SCREEN_EXT
#endif
#ifdef SWAP_INTERVAL_EXT
#undef SWAP_INTERVAL_EXT
#endif
#ifdef MAX_SWAP_INTERVAL_EXT
#undef MAX_SWAP_INTERVAL_EXT
#endif
#ifdef TEXTURE_1D_BIT_EXT
#undef TEXTURE_1D_BIT_EXT
#endif
#ifdef TEXTURE_2D_BIT_EXT
#undef TEXTURE_2D_BIT_EXT
#endif
#ifdef TEXTURE_RECTANGLE_BIT_EXT
#undef TEXTURE_RECTANGLE_BIT_EXT
#endif
#ifdef BIND_TO_TEXTURE_RGB_EXT
#undef BIND_TO_TEXTURE_RGB_EXT
#endif
#ifdef BIND_TO_TEXTURE_RGBA_EXT
#undef BIND_TO_TEXTURE_RGBA_EXT
#endif
#ifdef BIND_TO_MIPMAP_TEXTURE_EXT
#undef BIND_TO_MIPMAP_TEXTURE_EXT
#endif
#ifdef BIND_TO_TEXTURE_TARGETS_EXT
#undef BIND_TO_TEXTURE_TARGETS_EXT
#endif
#ifdef Y_INVERTED_EXT
#undef Y_INVERTED_EXT
#endif
#ifdef TEXTURE_FORMAT_EXT
#undef TEXTURE_FORMAT_EXT
#endif
#ifdef TEXTURE_TARGET_EXT
#undef TEXTURE_TARGET_EXT
#endif
#ifdef MIPMAP_TEXTURE_EXT
#undef MIPMAP_TEXTURE_EXT
#endif
#ifdef TEXTURE_FORMAT_NONE_EXT
#undef TEXTURE_FORMAT_NONE_EXT
#endif
#ifdef TEXTURE_FORMAT_RGB_EXT
#undef TEXTURE_FORMAT_RGB_EXT
#endif
#ifdef TEXTURE_FORMAT_RGBA_EXT
#undef TEXTURE_FORMAT_RGBA_EXT
#endif
#ifdef TEXTURE_1D_EXT
#undef TEXTURE_1D_EXT
#endif
#ifdef TEXTURE_2D_EXT
#undef TEXTURE_2D_EXT
#endif
#ifdef TEXTURE_RECTANGLE_EXT
#undef TEXTURE_RECTANGLE_EXT
#endif
#ifdef FRONT_LEFT_EXT
#undef FRONT_LEFT_EXT
#endif
#ifdef FRONT_RIGHT_EXT
#undef FRONT_RIGHT_EXT
#endif
#ifdef BACK_LEFT_EXT
#undef BACK_LEFT_EXT
#endif
#ifdef BACK_RIGHT_EXT
#undef BACK_RIGHT_EXT
#endif
#ifdef FRONT_EXT
#undef FRONT_EXT
#endif
#ifdef BACK_EXT
#undef BACK_EXT
#endif
#ifdef AUX0_EXT
#undef AUX0_EXT
#endif
#ifdef AUX1_EXT
#undef AUX1_EXT
#endif
#ifdef AUX2_EXT
#undef AUX2_EXT
#endif
#ifdef AUX3_EXT
#undef AUX3_EXT
#endif
#ifdef AUX4_EXT
#undef AUX4_EXT
#endif
#ifdef AUX5_EXT
#undef AUX5_EXT
#endif
#ifdef AUX6_EXT
#undef AUX6_EXT
#endif
#ifdef AUX7_EXT
#undef AUX7_EXT
#endif
#ifdef AUX8_EXT
#undef AUX8_EXT
#endif
#ifdef AUX9_EXT
#undef AUX9_EXT
#endif
#ifdef X_VISUAL_TYPE_EXT
#undef X_VISUAL_TYPE_EXT
#endif
#ifdef TRANSPARENT_TYPE_EXT
#undef TRANSPARENT_TYPE_EXT
#endif
#ifdef TRANSPARENT_INDEX_VALUE_EXT
#undef TRANSPARENT_INDEX_VALUE_EXT
#endif
#ifdef TRANSPARENT_RED_VALUE_EXT
#undef TRANSPARENT_RED_VALUE_EXT
#endif
#ifdef TRANSPARENT_GREEN_VALUE_EXT
#undef TRANSPARENT_GREEN_VALUE_EXT
#endif
#ifdef TRANSPARENT_BLUE_VALUE_EXT
#undef TRANSPARENT_BLUE_VALUE_EXT
#endif
#ifdef TRANSPARENT_ALPHA_VALUE_EXT
#undef TRANSPARENT_ALPHA_VALUE_EXT
#endif
#ifdef NONE_EXT
#undef NONE_EXT
#endif
#ifdef TRUE_COLOR_EXT
#undef TRUE_COLOR_EXT
#endif
#ifdef DIRECT_COLOR_EXT
#undef DIRECT_COLOR_EXT
#endif
#ifdef PSEUDO_COLOR_EXT
#undef PSEUDO_COLOR_EXT
#endif
#ifdef STATIC_COLOR_EXT
#undef STATIC_COLOR_EXT
#endif
#ifdef GRAY_SCALE_EXT
#undef GRAY_SCALE_EXT
#endif
#ifdef STATIC_GRAY_EXT
#undef STATIC_GRAY_EXT
#endif
#ifdef TRANSPARENT_RGB_EXT
#undef TRANSPARENT_RGB_EXT
#endif
#ifdef TRANSPARENT_INDEX_EXT
#undef TRANSPARENT_INDEX_EXT
#endif
#ifdef VISUAL_CAVEAT_EXT
#undef VISUAL_CAVEAT_EXT
#endif
#ifdef SLOW_VISUAL_EXT
#undef SLOW_VISUAL_EXT
#endif
#ifdef NON_CONFORMANT_VISUAL_EXT
#undef NON_CONFORMANT_VISUAL_EXT
#endif
#ifdef BUFFER_SWAP_COMPLETE_INTEL_MASK
#undef BUFFER_SWAP_COMPLETE_INTEL_MASK
#endif
#ifdef EXCHANGE_COMPLETE_INTEL
#undef EXCHANGE_COMPLETE_INTEL
#endif
#ifdef COPY_COMPLETE_INTEL
#undef COPY_COMPLETE_INTEL
#endif
#ifdef FLIP_COMPLETE_INTEL
#undef FLIP_COMPLETE_INTEL
#endif
#ifdef _3DFX_WINDOW_MODE_MESA
#undef _3DFX_WINDOW_MODE_MESA
#endif
#ifdef _3DFX_FULLSCREEN_MODE_MESA
#undef _3DFX_FULLSCREEN_MODE_MESA
#endif
#ifdef FLOAT_COMPONENTS_NV
#undef FLOAT_COMPONENTS_NV
#endif
#ifdef NUM_VIDEO_SLOTS_NV
#undef NUM_VIDEO_SLOTS_NV
#endif
#ifdef DEVICE_ID_NV
#undef DEVICE_ID_NV
#endif
#ifdef UNIQUE_ID_NV
#undef UNIQUE_ID_NV
#endif
#ifdef NUM_VIDEO_CAPTURE_SLOTS_NV
#undef NUM_VIDEO_CAPTURE_SLOTS_NV
#endif
#ifdef VIDEO_OUT_COLOR_NV
#undef VIDEO_OUT_COLOR_NV
#endif
#ifdef VIDEO_OUT_ALPHA_NV
#undef VIDEO_OUT_ALPHA_NV
#endif
#ifdef VIDEO_OUT_DEPTH_NV
#undef VIDEO_OUT_DEPTH_NV
#endif
#ifdef VIDEO_OUT_COLOR_AND_ALPHA_NV
#undef VIDEO_OUT_COLOR_AND_ALPHA_NV
#endif
#ifdef VIDEO_OUT_COLOR_AND_DEPTH_NV
#undef VIDEO_OUT_COLOR_AND_DEPTH_NV
#endif
#ifdef VIDEO_OUT_FRAME_NV
#undef VIDEO_OUT_FRAME_NV
#endif
#ifdef VIDEO_OUT_FIELD_1_NV
#undef VIDEO_OUT_FIELD_1_NV
#endif
#ifdef VIDEO_OUT_FIELD_2_NV
#undef VIDEO_OUT_FIELD_2_NV
#endif
#ifdef VIDEO_OUT_STACKED_FIELDS_1_2_NV
#undef VIDEO_OUT_STACKED_FIELDS_1_2_NV
#endif
#ifdef VIDEO_OUT_STACKED_FIELDS_2_1_NV
#undef VIDEO_OUT_STACKED_FIELDS_2_1_NV
#endif
#ifdef SWAP_METHOD_OML
#undef SWAP_METHOD_OML
#endif
#ifdef SWAP_EXCHANGE_OML
#undef SWAP_EXCHANGE_OML
#endif
#ifdef SWAP_COPY_OML
#undef SWAP_COPY_OML
#endif
#ifdef SWAP_UNDEFINED_OML
#undef SWAP_UNDEFINED_OML
#endif
#ifdef BLENDED_RGBA_SGIS
#undef BLENDED_RGBA_SGIS
#endif
#ifdef SAMPLE_BUFFERS_SGIS
#undef SAMPLE_BUFFERS_SGIS
#endif
#ifdef SAMPLES_SGIS
#undef SAMPLES_SGIS
#endif
#ifdef MULTISAMPLE_SUB_RECT_WIDTH_SGIS
#undef MULTISAMPLE_SUB_RECT_WIDTH_SGIS
#endif
#ifdef MULTISAMPLE_SUB_RECT_HEIGHT_SGIS
#undef MULTISAMPLE_SUB_RECT_HEIGHT_SGIS
#endif
#ifdef WINDOW_BIT_SGIX
#undef WINDOW_BIT_SGIX
#endif
#ifdef PIXMAP_BIT_SGIX
#undef PIXMAP_BIT_SGIX
#endif
#ifdef RGBA_BIT_SGIX
#undef RGBA_BIT_SGIX
#endif
#ifdef COLOR_INDEX_BIT_SGIX
#undef COLOR_INDEX_BIT_SGIX
#endif
#ifdef DRAWABLE_TYPE_SGIX
#undef DRAWABLE_TYPE_SGIX
#endif
#ifdef RENDER_TYPE_SGIX
#undef RENDER_TYPE_SGIX
#endif
#ifdef X_RENDERABLE_SGIX
#undef X_RENDERABLE_SGIX
#endif
#ifdef FBCONFIG_ID_SGIX
#undef FBCONFIG_ID_SGIX
#endif
#ifdef RGBA_TYPE_SGIX
#undef RGBA_TYPE_SGIX
#endif
#ifdef COLOR_INDEX_TYPE_SGIX
#undef COLOR_INDEX_TYPE_SGIX
#endif
#ifdef PBUFFER_BIT_SGIX
#undef PBUFFER_BIT_SGIX
#endif
#ifdef BUFFER_CLOBBER_MASK_SGIX
#undef BUFFER_CLOBBER_MASK_SGIX
#endif
#ifdef FRONT_LEFT_BUFFER_BIT_SGIX
#undef FRONT_LEFT_BUFFER_BIT_SGIX
#endif
#ifdef FRONT_RIGHT_BUFFER_BIT_SGIX
#undef FRONT_RIGHT_BUFFER_BIT_SGIX
#endif
#ifdef BACK_LEFT_BUFFER_BIT_SGIX
#undef BACK_LEFT_BUFFER_BIT_SGIX
#endif
#ifdef BACK_RIGHT_BUFFER_BIT_SGIX
#undef BACK_RIGHT_BUFFER_BIT_SGIX
#endif
#ifdef AUX_BUFFERS_BIT_SGIX
#undef AUX_BUFFERS_BIT_SGIX
#endif
#ifdef DEPTH_BUFFER_BIT_SGIX
#undef DEPTH_BUFFER_BIT_SGIX
#endif
#ifdef STENCIL_BUFFER_BIT_SGIX
#undef STENCIL_BUFFER_BIT_SGIX
#endif
#ifdef ACCUM_BUFFER_BIT_SGIX
#undef ACCUM_BUFFER_BIT_SGIX
#endif
#ifdef SAMPLE_BUFFERS_BIT_SGIX
#undef SAMPLE_BUFFERS_BIT_SGIX
#endif
#ifdef MAX_PBUFFER_WIDTH_SGIX
#undef MAX_PBUFFER_WIDTH_SGIX
#endif
#ifdef MAX_PBUFFER_HEIGHT_SGIX
#undef MAX_PBUFFER_HEIGHT_SGIX
#endif
#ifdef MAX_PBUFFER_PIXELS_SGIX
#undef MAX_PBUFFER_PIXELS_SGIX
#endif
#ifdef OPTIMAL_PBUFFER_WIDTH_SGIX
#undef OPTIMAL_PBUFFER_WIDTH_SGIX
#endif
#ifdef OPTIMAL_PBUFFER_HEIGHT_SGIX
#undef OPTIMAL_PBUFFER_HEIGHT_SGIX
#endif
#ifdef PRESERVED_CONTENTS_SGIX
#undef PRESERVED_CONTENTS_SGIX
#endif
#ifdef LARGEST_PBUFFER_SGIX
#undef LARGEST_PBUFFER_SGIX
#endif
#ifdef WIDTH_SGIX
#undef WIDTH_SGIX
#endif
#ifdef HEIGHT_SGIX
#undef HEIGHT_SGIX
#endif
#ifdef EVENT_MASK_SGIX
#undef EVENT_MASK_SGIX
#endif
#ifdef DAMAGED_SGIX
#undef DAMAGED_SGIX
#endif
#ifdef SAVED_SGIX
#undef SAVED_SGIX
#endif
#ifdef WINDOW_SGIX
#undef WINDOW_SGIX
#endif
#ifdef PBUFFER_SGIX
#undef PBUFFER_SGIX
#endif
#ifdef SYNC_FRAME_SGIX
#undef SYNC_FRAME_SGIX
#endif
#ifdef SYNC_SWAP_SGIX
#undef SYNC_SWAP_SGIX
#endif
#ifdef VISUAL_SELECT_GROUP_SGIX
#undef VISUAL_SELECT_GROUP_SGIX
#endif
#ifdef WINDOW_BIT
#undef WINDOW_BIT
#endif
#ifdef PIXMAP_BIT
#undef PIXMAP_BIT
#endif
#ifdef PBUFFER_BIT
#undef PBUFFER_BIT
#endif
#ifdef RGBA_BIT
#undef RGBA_BIT
#endif
#ifdef COLOR_INDEX_BIT
#undef COLOR_INDEX_BIT
#endif
#ifdef PBUFFER_CLOBBER_MASK
#undef PBUFFER_CLOBBER_MASK
#endif
#ifdef FRONT_LEFT_BUFFER_BIT
#undef FRONT_LEFT_BUFFER_BIT
#endif
#ifdef FRONT_RIGHT_BUFFER_BIT
#undef FRONT_RIGHT_BUFFER_BIT
#endif
#ifdef BACK_LEFT_BUFFER_BIT
#undef BACK_LEFT_BUFFER_BIT
#endif
#ifdef BACK_RIGHT_BUFFER_BIT
#undef BACK_RIGHT_BUFFER_BIT
#endif
#ifdef AUX_BUFFERS_BIT
#undef AUX_BUFFERS_BIT
#endif
#ifdef DEPTH_BUFFER_BIT
#undef DEPTH_BUFFER_BIT
#endif
#ifdef STENCIL_BUFFER_BIT
#undef STENCIL_BUFFER_BIT
#endif
#ifdef ACCUM_BUFFER_BIT
#undef ACCUM_BUFFER_BIT
#endif
#ifdef CONFIG_CAVEAT
#undef CONFIG_CAVEAT
#endif
#ifdef X_VISUAL_TYPE
#undef X_VISUAL_TYPE
#endif
#ifdef TRANSPARENT_TYPE
#undef TRANSPARENT_TYPE
#endif
#ifdef TRANSPARENT_INDEX_VALUE
#undef TRANSPARENT_INDEX_VALUE
#endif
#ifdef TRANSPARENT_RED_VALUE
#undef TRANSPARENT_RED_VALUE
#endif
#ifdef TRANSPARENT_GREEN_VALUE
#undef TRANSPARENT_GREEN_VALUE
#endif
#ifdef TRANSPARENT_BLUE_VALUE
#undef TRANSPARENT_BLUE_VALUE
#endif
#ifdef TRANSPARENT_ALPHA_VALUE
#undef TRANSPARENT_ALPHA_VALUE
#endif
#ifdef DONT_CARE
#undef DONT_CARE
#endif
#ifdef NONE
#undef NONE
#endif
#ifdef SLOW_CONFIG
#undef SLOW_CONFIG
#endif
#ifdef TRUE_COLOR
#undef TRUE_COLOR
#endif
#ifdef DIRECT_COLOR
#undef DIRECT_COLOR
#endif
#ifdef PSEUDO_COLOR
#undef PSEUDO_COLOR
#endif
#ifdef STATIC_COLOR
#undef STATIC_COLOR
#endif
#ifdef GRAY_SCALE
#undef GRAY_SCALE
#endif
#ifdef STATIC_GRAY
#undef STATIC_GRAY
#endif
#ifdef TRANSPARENT_RGB
#undef TRANSPARENT_RGB
#endif
#ifdef TRANSPARENT_INDEX
#undef TRANSPARENT_INDEX
#endif
#ifdef VISUAL_ID
#undef VISUAL_ID
#endif
#ifdef SCREEN
#undef SCREEN
#endif
#ifdef NON_CONFORMANT_CONFIG
#undef NON_CONFORMANT_CONFIG
#endif
#ifdef DRAWABLE_TYPE
#undef DRAWABLE_TYPE
#endif
#ifdef RENDER_TYPE
#undef RENDER_TYPE
#endif
#ifdef X_RENDERABLE
#undef X_RENDERABLE
#endif
#ifdef FBCONFIG_ID
#undef FBCONFIG_ID
#endif
#ifdef RGBA_TYPE
#undef RGBA_TYPE
#endif
#ifdef COLOR_INDEX_TYPE
#undef COLOR_INDEX_TYPE
#endif
#ifdef MAX_PBUFFER_WIDTH
#undef MAX_PBUFFER_WIDTH
#endif
#ifdef MAX_PBUFFER_HEIGHT
#undef MAX_PBUFFER_HEIGHT
#endif
#ifdef MAX_PBUFFER_PIXELS
#undef MAX_PBUFFER_PIXELS
#endif
#ifdef PRESERVED_CONTENTS
#undef PRESERVED_CONTENTS
#endif
#ifdef LARGEST_PBUFFER
#undef LARGEST_PBUFFER
#endif
#ifdef WIDTH
#undef WIDTH
#endif
#ifdef HEIGHT
#undef HEIGHT
#endif
#ifdef EVENT_MASK
#undef EVENT_MASK
#endif
#ifdef DAMAGED
#undef DAMAGED
#endif
#ifdef SAVED
#undef SAVED
#endif
#ifdef WINDOW
#undef WINDOW
#endif
#ifdef PBUFFER
#undef PBUFFER
#endif
#ifdef PBUFFER_HEIGHT
#undef PBUFFER_HEIGHT
#endif
#ifdef PBUFFER_WIDTH
#undef PBUFFER_WIDTH
#endif
#ifdef SAMPLE_BUFFERS
#undef SAMPLE_BUFFERS
#endif
#ifdef SAMPLES
#undef SAMPLES
#endif
#ifdef MULTISAMPLE_3DFX
#undef MULTISAMPLE_3DFX
#endif
#ifdef SAMPLE_BUFFERS_3DFX
#undef SAMPLE_BUFFERS_3DFX
#endif
#ifdef SAMPLES_3DFX
#undef SAMPLES_3DFX
#endif
#ifdef MULTISAMPLE_BIT_3DFX
#undef MULTISAMPLE_BIT_3DFX
#endif
#ifdef COMPRESSED_RGB_FXT1_3DFX
#undef COMPRESSED_RGB_FXT1_3DFX
#endif
#ifdef COMPRESSED_RGBA_FXT1_3DFX
#undef COMPRESSED_RGBA_FXT1_3DFX
#endif
#ifdef COUNTER_TYPE_AMD
#undef COUNTER_TYPE_AMD
#endif
#ifdef COUNTER_RANGE_AMD
#undef COUNTER_RANGE_AMD
#endif
#ifdef UNSIGNED_INT64_AMD
#undef UNSIGNED_INT64_AMD
#endif
#ifdef PERCENTAGE_AMD
#undef PERCENTAGE_AMD
#endif
#ifdef PERFMON_RESULT_AVAILABLE_AMD
#undef PERFMON_RESULT_AVAILABLE_AMD
#endif
#ifdef PERFMON_RESULT_SIZE_AMD
#undef PERFMON_RESULT_SIZE_AMD
#endif
#ifdef PERFMON_RESULT_AMD
#undef PERFMON_RESULT_AMD
#endif
#ifdef SAMPLER_BUFFER_AMD
#undef SAMPLER_BUFFER_AMD
#endif
#ifdef INT_SAMPLER_BUFFER_AMD
#undef INT_SAMPLER_BUFFER_AMD
#endif
#ifdef UNSIGNED_INT_SAMPLER_BUFFER_AMD
#undef UNSIGNED_INT_SAMPLER_BUFFER_AMD
#endif
#ifdef TESSELLATION_MODE_AMD
#undef TESSELLATION_MODE_AMD
#endif
#ifdef TESSELLATION_FACTOR_AMD
#undef TESSELLATION_FACTOR_AMD
#endif
#ifdef DISCRETE_AMD
#undef DISCRETE_AMD
#endif
#ifdef CONTINUOUS_AMD
#undef CONTINUOUS_AMD
#endif
#ifdef AUX_DEPTH_STENCIL_APPLE
#undef AUX_DEPTH_STENCIL_APPLE
#endif
#ifdef UNPACK_CLIENT_STORAGE_APPLE
#undef UNPACK_CLIENT_STORAGE_APPLE
#endif
#ifdef ELEMENT_ARRAY_APPLE
#undef ELEMENT_ARRAY_APPLE
#endif
#ifdef ELEMENT_ARRAY_TYPE_APPLE
#undef ELEMENT_ARRAY_TYPE_APPLE
#endif
#ifdef ELEMENT_ARRAY_POINTER_APPLE
#undef ELEMENT_ARRAY_POINTER_APPLE
#endif
#ifdef DRAW_PIXELS_APPLE
#undef DRAW_PIXELS_APPLE
#endif
#ifdef FENCE_APPLE
#undef FENCE_APPLE
#endif
#ifdef HALF_APPLE
#undef HALF_APPLE
#endif
#ifdef RGBA_FLOAT32_APPLE
#undef RGBA_FLOAT32_APPLE
#endif
#ifdef RGB_FLOAT32_APPLE
#undef RGB_FLOAT32_APPLE
#endif
#ifdef ALPHA_FLOAT32_APPLE
#undef ALPHA_FLOAT32_APPLE
#endif
#ifdef INTENSITY_FLOAT32_APPLE
#undef INTENSITY_FLOAT32_APPLE
#endif
#ifdef LUMINANCE_FLOAT32_APPLE
#undef LUMINANCE_FLOAT32_APPLE
#endif
#ifdef LUMINANCE_ALPHA_FLOAT32_APPLE
#undef LUMINANCE_ALPHA_FLOAT32_APPLE
#endif
#ifdef RGBA_FLOAT16_APPLE
#undef RGBA_FLOAT16_APPLE
#endif
#ifdef RGB_FLOAT16_APPLE
#undef RGB_FLOAT16_APPLE
#endif
#ifdef ALPHA_FLOAT16_APPLE
#undef ALPHA_FLOAT16_APPLE
#endif
#ifdef INTENSITY_FLOAT16_APPLE
#undef INTENSITY_FLOAT16_APPLE
#endif
#ifdef LUMINANCE_FLOAT16_APPLE
#undef LUMINANCE_FLOAT16_APPLE
#endif
#ifdef LUMINANCE_ALPHA_FLOAT16_APPLE
#undef LUMINANCE_ALPHA_FLOAT16_APPLE
#endif
#ifdef COLOR_FLOAT_APPLE
#undef COLOR_FLOAT_APPLE
#endif
#ifdef BUFFER_SERIALIZED_MODIFY_APPLE
#undef BUFFER_SERIALIZED_MODIFY_APPLE
#endif
#ifdef BUFFER_FLUSHING_UNMAP_APPLE
#undef BUFFER_FLUSHING_UNMAP_APPLE
#endif
#ifdef BUFFER_OBJECT_APPLE
#undef BUFFER_OBJECT_APPLE
#endif
#ifdef RELEASED_APPLE
#undef RELEASED_APPLE
#endif
#ifdef VOLATILE_APPLE
#undef VOLATILE_APPLE
#endif
#ifdef RETAINED_APPLE
#undef RETAINED_APPLE
#endif
#ifdef UNDEFINED_APPLE
#undef UNDEFINED_APPLE
#endif
#ifdef PURGEABLE_APPLE
#undef PURGEABLE_APPLE
#endif
#ifdef RGB_422_APPLE
#undef RGB_422_APPLE
#endif
#ifdef PACK_ROW_BYTES_APPLE
#undef PACK_ROW_BYTES_APPLE
#endif
#ifdef UNPACK_ROW_BYTES_APPLE
#undef UNPACK_ROW_BYTES_APPLE
#endif
#ifdef LIGHT_MODEL_SPECULAR_VECTOR_APPLE
#undef LIGHT_MODEL_SPECULAR_VECTOR_APPLE
#endif
#ifdef TEXTURE_RANGE_LENGTH_APPLE
#undef TEXTURE_RANGE_LENGTH_APPLE
#endif
#ifdef TEXTURE_RANGE_POINTER_APPLE
#undef TEXTURE_RANGE_POINTER_APPLE
#endif
#ifdef TEXTURE_STORAGE_HINT_APPLE
#undef TEXTURE_STORAGE_HINT_APPLE
#endif
#ifdef STORAGE_PRIVATE_APPLE
#undef STORAGE_PRIVATE_APPLE
#endif
#ifdef TRANSFORM_HINT_APPLE
#undef TRANSFORM_HINT_APPLE
#endif
#ifdef VERTEX_ARRAY_BINDING_APPLE
#undef VERTEX_ARRAY_BINDING_APPLE
#endif
#ifdef VERTEX_ARRAY_RANGE_APPLE
#undef VERTEX_ARRAY_RANGE_APPLE
#endif
#ifdef VERTEX_ARRAY_RANGE_LENGTH_APPLE
#undef VERTEX_ARRAY_RANGE_LENGTH_APPLE
#endif
#ifdef VERTEX_ARRAY_STORAGE_HINT_APPLE
#undef VERTEX_ARRAY_STORAGE_HINT_APPLE
#endif
#ifdef VERTEX_ARRAY_RANGE_POINTER_APPLE
#undef VERTEX_ARRAY_RANGE_POINTER_APPLE
#endif
#ifdef STORAGE_CACHED_APPLE
#undef STORAGE_CACHED_APPLE
#endif
#ifdef STORAGE_SHARED_APPLE
#undef STORAGE_SHARED_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP1_APPLE
#undef VERTEX_ATTRIB_MAP1_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP2_APPLE
#undef VERTEX_ATTRIB_MAP2_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP1_SIZE_APPLE
#undef VERTEX_ATTRIB_MAP1_SIZE_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP1_COEFF_APPLE
#undef VERTEX_ATTRIB_MAP1_COEFF_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP1_ORDER_APPLE
#undef VERTEX_ATTRIB_MAP1_ORDER_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP1_DOMAIN_APPLE
#undef VERTEX_ATTRIB_MAP1_DOMAIN_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP2_SIZE_APPLE
#undef VERTEX_ATTRIB_MAP2_SIZE_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP2_COEFF_APPLE
#undef VERTEX_ATTRIB_MAP2_COEFF_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP2_ORDER_APPLE
#undef VERTEX_ATTRIB_MAP2_ORDER_APPLE
#endif
#ifdef VERTEX_ATTRIB_MAP2_DOMAIN_APPLE
#undef VERTEX_ATTRIB_MAP2_DOMAIN_APPLE
#endif
#ifdef YCBCR_422_APPLE
#undef YCBCR_422_APPLE
#endif
#ifdef UNSIGNED_SHORT_8_8_APPLE
#undef UNSIGNED_SHORT_8_8_APPLE
#endif
#ifdef UNSIGNED_SHORT_8_8_REV_APPLE
#undef UNSIGNED_SHORT_8_8_REV_APPLE
#endif
#ifdef SRC1_COLOR
#undef SRC1_COLOR
#endif
#ifdef ONE_MINUS_SRC1_COLOR
#undef ONE_MINUS_SRC1_COLOR
#endif
#ifdef ONE_MINUS_SRC1_ALPHA
#undef ONE_MINUS_SRC1_ALPHA
#endif
#ifdef MAX_DUAL_SOURCE_DRAW_BUFFERS
#undef MAX_DUAL_SOURCE_DRAW_BUFFERS
#endif
#ifdef RGBA_FLOAT_MODE_ARB
#undef RGBA_FLOAT_MODE_ARB
#endif
#ifdef CLAMP_VERTEX_COLOR_ARB
#undef CLAMP_VERTEX_COLOR_ARB
#endif
#ifdef CLAMP_FRAGMENT_COLOR_ARB
#undef CLAMP_FRAGMENT_COLOR_ARB
#endif
#ifdef CLAMP_READ_COLOR_ARB
#undef CLAMP_READ_COLOR_ARB
#endif
#ifdef FIXED_ONLY_ARB
#undef FIXED_ONLY_ARB
#endif
#ifdef COPY_READ_BUFFER
#undef COPY_READ_BUFFER
#endif
#ifdef COPY_WRITE_BUFFER
#undef COPY_WRITE_BUFFER
#endif
#ifdef DEPTH_COMPONENT32F
#undef DEPTH_COMPONENT32F
#endif
#ifdef DEPTH32F_STENCIL8
#undef DEPTH32F_STENCIL8
#endif
#ifdef FLOAT_32_UNSIGNED_INT_24_8_REV
#undef FLOAT_32_UNSIGNED_INT_24_8_REV
#endif
#ifdef DEPTH_CLAMP
#undef DEPTH_CLAMP
#endif
#ifdef DEPTH_COMPONENT16_ARB
#undef DEPTH_COMPONENT16_ARB
#endif
#ifdef DEPTH_COMPONENT24_ARB
#undef DEPTH_COMPONENT24_ARB
#endif
#ifdef DEPTH_COMPONENT32_ARB
#undef DEPTH_COMPONENT32_ARB
#endif
#ifdef TEXTURE_DEPTH_SIZE_ARB
#undef TEXTURE_DEPTH_SIZE_ARB
#endif
#ifdef DEPTH_TEXTURE_MODE_ARB
#undef DEPTH_TEXTURE_MODE_ARB
#endif
#ifdef MAX_DRAW_BUFFERS_ARB
#undef MAX_DRAW_BUFFERS_ARB
#endif
#ifdef DRAW_BUFFER0_ARB
#undef DRAW_BUFFER0_ARB
#endif
#ifdef DRAW_BUFFER1_ARB
#undef DRAW_BUFFER1_ARB
#endif
#ifdef DRAW_BUFFER2_ARB
#undef DRAW_BUFFER2_ARB
#endif
#ifdef DRAW_BUFFER3_ARB
#undef DRAW_BUFFER3_ARB
#endif
#ifdef DRAW_BUFFER4_ARB
#undef DRAW_BUFFER4_ARB
#endif
#ifdef DRAW_BUFFER5_ARB
#undef DRAW_BUFFER5_ARB
#endif
#ifdef DRAW_BUFFER6_ARB
#undef DRAW_BUFFER6_ARB
#endif
#ifdef DRAW_BUFFER7_ARB
#undef DRAW_BUFFER7_ARB
#endif
#ifdef DRAW_BUFFER8_ARB
#undef DRAW_BUFFER8_ARB
#endif
#ifdef DRAW_BUFFER9_ARB
#undef DRAW_BUFFER9_ARB
#endif
#ifdef DRAW_BUFFER10_ARB
#undef DRAW_BUFFER10_ARB
#endif
#ifdef DRAW_BUFFER11_ARB
#undef DRAW_BUFFER11_ARB
#endif
#ifdef DRAW_BUFFER12_ARB
#undef DRAW_BUFFER12_ARB
#endif
#ifdef DRAW_BUFFER13_ARB
#undef DRAW_BUFFER13_ARB
#endif
#ifdef DRAW_BUFFER14_ARB
#undef DRAW_BUFFER14_ARB
#endif
#ifdef DRAW_BUFFER15_ARB
#undef DRAW_BUFFER15_ARB
#endif
#ifdef DRAW_INDIRECT_BUFFER
#undef DRAW_INDIRECT_BUFFER
#endif
#ifdef DRAW_INDIRECT_BUFFER_BINDING
#undef DRAW_INDIRECT_BUFFER_BINDING
#endif
#ifdef FRAGMENT_PROGRAM_ARB
#undef FRAGMENT_PROGRAM_ARB
#endif
#ifdef PROGRAM_ALU_INSTRUCTIONS_ARB
#undef PROGRAM_ALU_INSTRUCTIONS_ARB
#endif
#ifdef PROGRAM_TEX_INSTRUCTIONS_ARB
#undef PROGRAM_TEX_INSTRUCTIONS_ARB
#endif
#ifdef PROGRAM_TEX_INDIRECTIONS_ARB
#undef PROGRAM_TEX_INDIRECTIONS_ARB
#endif
#ifdef PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
#undef PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
#endif
#ifdef PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
#undef PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
#endif
#ifdef PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
#undef PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
#endif
#ifdef MAX_PROGRAM_ALU_INSTRUCTIONS_ARB
#undef MAX_PROGRAM_ALU_INSTRUCTIONS_ARB
#endif
#ifdef MAX_PROGRAM_TEX_INSTRUCTIONS_ARB
#undef MAX_PROGRAM_TEX_INSTRUCTIONS_ARB
#endif
#ifdef MAX_PROGRAM_TEX_INDIRECTIONS_ARB
#undef MAX_PROGRAM_TEX_INDIRECTIONS_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
#undef MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
#undef MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
#undef MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
#endif
#ifdef MAX_TEXTURE_COORDS_ARB
#undef MAX_TEXTURE_COORDS_ARB
#endif
#ifdef MAX_TEXTURE_IMAGE_UNITS_ARB
#undef MAX_TEXTURE_IMAGE_UNITS_ARB
#endif
#ifdef FRAGMENT_SHADER_ARB
#undef FRAGMENT_SHADER_ARB
#endif
#ifdef MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB
#undef MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB
#endif
#ifdef FRAGMENT_SHADER_DERIVATIVE_HINT_ARB
#undef FRAGMENT_SHADER_DERIVATIVE_HINT_ARB
#endif
#ifdef INVALID_FRAMEBUFFER_OPERATION
#undef INVALID_FRAMEBUFFER_OPERATION
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
#undef FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
#undef FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_RED_SIZE
#undef FRAMEBUFFER_ATTACHMENT_RED_SIZE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
#undef FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
#undef FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
#undef FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
#undef FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
#undef FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
#endif
#ifdef FRAMEBUFFER_DEFAULT
#undef FRAMEBUFFER_DEFAULT
#endif
#ifdef FRAMEBUFFER_UNDEFINED
#undef FRAMEBUFFER_UNDEFINED
#endif
#ifdef DEPTH_STENCIL_ATTACHMENT
#undef DEPTH_STENCIL_ATTACHMENT
#endif
#ifdef MAX_RENDERBUFFER_SIZE
#undef MAX_RENDERBUFFER_SIZE
#endif
#ifdef DEPTH_STENCIL
#undef DEPTH_STENCIL
#endif
#ifdef UNSIGNED_INT_24_8
#undef UNSIGNED_INT_24_8
#endif
#ifdef DEPTH24_STENCIL8
#undef DEPTH24_STENCIL8
#endif
#ifdef TEXTURE_STENCIL_SIZE
#undef TEXTURE_STENCIL_SIZE
#endif
#ifdef TEXTURE_RED_TYPE
#undef TEXTURE_RED_TYPE
#endif
#ifdef TEXTURE_GREEN_TYPE
#undef TEXTURE_GREEN_TYPE
#endif
#ifdef TEXTURE_BLUE_TYPE
#undef TEXTURE_BLUE_TYPE
#endif
#ifdef TEXTURE_ALPHA_TYPE
#undef TEXTURE_ALPHA_TYPE
#endif
#ifdef TEXTURE_DEPTH_TYPE
#undef TEXTURE_DEPTH_TYPE
#endif
#ifdef UNSIGNED_NORMALIZED
#undef UNSIGNED_NORMALIZED
#endif
#ifdef FRAMEBUFFER_BINDING
#undef FRAMEBUFFER_BINDING
#endif
#ifdef DRAW_FRAMEBUFFER_BINDING
#undef DRAW_FRAMEBUFFER_BINDING
#endif
#ifdef RENDERBUFFER_BINDING
#undef RENDERBUFFER_BINDING
#endif
#ifdef READ_FRAMEBUFFER
#undef READ_FRAMEBUFFER
#endif
#ifdef DRAW_FRAMEBUFFER
#undef DRAW_FRAMEBUFFER
#endif
#ifdef READ_FRAMEBUFFER_BINDING
#undef READ_FRAMEBUFFER_BINDING
#endif
#ifdef RENDERBUFFER_SAMPLES
#undef RENDERBUFFER_SAMPLES
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
#undef FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
#undef FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
#undef FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
#undef FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
#undef FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
#endif
#ifdef FRAMEBUFFER_COMPLETE
#undef FRAMEBUFFER_COMPLETE
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_ATTACHMENT
#undef FRAMEBUFFER_INCOMPLETE_ATTACHMENT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
#undef FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
#undef FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_READ_BUFFER
#undef FRAMEBUFFER_INCOMPLETE_READ_BUFFER
#endif
#ifdef FRAMEBUFFER_UNSUPPORTED
#undef FRAMEBUFFER_UNSUPPORTED
#endif
#ifdef MAX_COLOR_ATTACHMENTS
#undef MAX_COLOR_ATTACHMENTS
#endif
#ifdef COLOR_ATTACHMENT0
#undef COLOR_ATTACHMENT0
#endif
#ifdef COLOR_ATTACHMENT1
#undef COLOR_ATTACHMENT1
#endif
#ifdef COLOR_ATTACHMENT2
#undef COLOR_ATTACHMENT2
#endif
#ifdef COLOR_ATTACHMENT3
#undef COLOR_ATTACHMENT3
#endif
#ifdef COLOR_ATTACHMENT4
#undef COLOR_ATTACHMENT4
#endif
#ifdef COLOR_ATTACHMENT5
#undef COLOR_ATTACHMENT5
#endif
#ifdef COLOR_ATTACHMENT6
#undef COLOR_ATTACHMENT6
#endif
#ifdef COLOR_ATTACHMENT7
#undef COLOR_ATTACHMENT7
#endif
#ifdef COLOR_ATTACHMENT8
#undef COLOR_ATTACHMENT8
#endif
#ifdef COLOR_ATTACHMENT9
#undef COLOR_ATTACHMENT9
#endif
#ifdef COLOR_ATTACHMENT10
#undef COLOR_ATTACHMENT10
#endif
#ifdef COLOR_ATTACHMENT11
#undef COLOR_ATTACHMENT11
#endif
#ifdef COLOR_ATTACHMENT12
#undef COLOR_ATTACHMENT12
#endif
#ifdef COLOR_ATTACHMENT13
#undef COLOR_ATTACHMENT13
#endif
#ifdef COLOR_ATTACHMENT14
#undef COLOR_ATTACHMENT14
#endif
#ifdef COLOR_ATTACHMENT15
#undef COLOR_ATTACHMENT15
#endif
#ifdef DEPTH_ATTACHMENT
#undef DEPTH_ATTACHMENT
#endif
#ifdef STENCIL_ATTACHMENT
#undef STENCIL_ATTACHMENT
#endif
#ifdef FRAMEBUFFER
#undef FRAMEBUFFER
#endif
#ifdef RENDERBUFFER
#undef RENDERBUFFER
#endif
#ifdef RENDERBUFFER_WIDTH
#undef RENDERBUFFER_WIDTH
#endif
#ifdef RENDERBUFFER_HEIGHT
#undef RENDERBUFFER_HEIGHT
#endif
#ifdef RENDERBUFFER_INTERNAL_FORMAT
#undef RENDERBUFFER_INTERNAL_FORMAT
#endif
#ifdef STENCIL_INDEX1
#undef STENCIL_INDEX1
#endif
#ifdef STENCIL_INDEX4
#undef STENCIL_INDEX4
#endif
#ifdef STENCIL_INDEX8
#undef STENCIL_INDEX8
#endif
#ifdef STENCIL_INDEX16
#undef STENCIL_INDEX16
#endif
#ifdef RENDERBUFFER_RED_SIZE
#undef RENDERBUFFER_RED_SIZE
#endif
#ifdef RENDERBUFFER_GREEN_SIZE
#undef RENDERBUFFER_GREEN_SIZE
#endif
#ifdef RENDERBUFFER_BLUE_SIZE
#undef RENDERBUFFER_BLUE_SIZE
#endif
#ifdef RENDERBUFFER_ALPHA_SIZE
#undef RENDERBUFFER_ALPHA_SIZE
#endif
#ifdef RENDERBUFFER_DEPTH_SIZE
#undef RENDERBUFFER_DEPTH_SIZE
#endif
#ifdef RENDERBUFFER_STENCIL_SIZE
#undef RENDERBUFFER_STENCIL_SIZE
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
#undef FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
#endif
#ifdef MAX_SAMPLES
#undef MAX_SAMPLES
#endif
#ifdef INDEX
#undef INDEX
#endif
#ifdef TEXTURE_LUMINANCE_TYPE
#undef TEXTURE_LUMINANCE_TYPE
#endif
#ifdef TEXTURE_INTENSITY_TYPE
#undef TEXTURE_INTENSITY_TYPE
#endif
#ifdef FRAMEBUFFER_SRGB
#undef FRAMEBUFFER_SRGB
#endif
#ifdef LINES_ADJACENCY_ARB
#undef LINES_ADJACENCY_ARB
#endif
#ifdef LINE_STRIP_ADJACENCY_ARB
#undef LINE_STRIP_ADJACENCY_ARB
#endif
#ifdef TRIANGLES_ADJACENCY_ARB
#undef TRIANGLES_ADJACENCY_ARB
#endif
#ifdef TRIANGLE_STRIP_ADJACENCY_ARB
#undef TRIANGLE_STRIP_ADJACENCY_ARB
#endif
#ifdef PROGRAM_POINT_SIZE_ARB
#undef PROGRAM_POINT_SIZE_ARB
#endif
#ifdef MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB
#undef MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_LAYERED_ARB
#undef FRAMEBUFFER_ATTACHMENT_LAYERED_ARB
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB
#undef FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB
#undef FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB
#endif
#ifdef GEOMETRY_SHADER_ARB
#undef GEOMETRY_SHADER_ARB
#endif
#ifdef GEOMETRY_VERTICES_OUT_ARB
#undef GEOMETRY_VERTICES_OUT_ARB
#endif
#ifdef GEOMETRY_INPUT_TYPE_ARB
#undef GEOMETRY_INPUT_TYPE_ARB
#endif
#ifdef GEOMETRY_OUTPUT_TYPE_ARB
#undef GEOMETRY_OUTPUT_TYPE_ARB
#endif
#ifdef MAX_GEOMETRY_VARYING_COMPONENTS_ARB
#undef MAX_GEOMETRY_VARYING_COMPONENTS_ARB
#endif
#ifdef MAX_VERTEX_VARYING_COMPONENTS_ARB
#undef MAX_VERTEX_VARYING_COMPONENTS_ARB
#endif
#ifdef MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB
#undef MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB
#endif
#ifdef MAX_GEOMETRY_OUTPUT_VERTICES_ARB
#undef MAX_GEOMETRY_OUTPUT_VERTICES_ARB
#endif
#ifdef MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB
#undef MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB
#endif
#ifdef GEOMETRY_SHADER_INVOCATIONS
#undef GEOMETRY_SHADER_INVOCATIONS
#endif
#ifdef MAX_GEOMETRY_SHADER_INVOCATIONS
#undef MAX_GEOMETRY_SHADER_INVOCATIONS
#endif
#ifdef MIN_FRAGMENT_INTERPOLATION_OFFSET
#undef MIN_FRAGMENT_INTERPOLATION_OFFSET
#endif
#ifdef MAX_FRAGMENT_INTERPOLATION_OFFSET
#undef MAX_FRAGMENT_INTERPOLATION_OFFSET
#endif
#ifdef FRAGMENT_INTERPOLATION_OFFSET_BITS
#undef FRAGMENT_INTERPOLATION_OFFSET_BITS
#endif
#ifdef MAX_VERTEX_STREAMS
#undef MAX_VERTEX_STREAMS
#endif
#ifdef DOUBLE_VEC2
#undef DOUBLE_VEC2
#endif
#ifdef DOUBLE_VEC3
#undef DOUBLE_VEC3
#endif
#ifdef DOUBLE_VEC4
#undef DOUBLE_VEC4
#endif
#ifdef DOUBLE_MAT2
#undef DOUBLE_MAT2
#endif
#ifdef DOUBLE_MAT3
#undef DOUBLE_MAT3
#endif
#ifdef DOUBLE_MAT4
#undef DOUBLE_MAT4
#endif
#ifdef DOUBLE_MAT2x3
#undef DOUBLE_MAT2x3
#endif
#ifdef DOUBLE_MAT2x4
#undef DOUBLE_MAT2x4
#endif
#ifdef DOUBLE_MAT3x2
#undef DOUBLE_MAT3x2
#endif
#ifdef DOUBLE_MAT3x4
#undef DOUBLE_MAT3x4
#endif
#ifdef DOUBLE_MAT4x2
#undef DOUBLE_MAT4x2
#endif
#ifdef DOUBLE_MAT4x3
#undef DOUBLE_MAT4x3
#endif
#ifdef HALF_FLOAT_ARB
#undef HALF_FLOAT_ARB
#endif
#ifdef HALF_FLOAT
#undef HALF_FLOAT
#endif
#ifdef CONSTANT_COLOR
#undef CONSTANT_COLOR
#endif
#ifdef ONE_MINUS_CONSTANT_COLOR
#undef ONE_MINUS_CONSTANT_COLOR
#endif
#ifdef CONSTANT_ALPHA
#undef CONSTANT_ALPHA
#endif
#ifdef ONE_MINUS_CONSTANT_ALPHA
#undef ONE_MINUS_CONSTANT_ALPHA
#endif
#ifdef BLEND_COLOR
#undef BLEND_COLOR
#endif
#ifdef FUNC_ADD
#undef FUNC_ADD
#endif
#ifdef MIN
#undef MIN
#endif
#ifdef MAX
#undef MAX
#endif
#ifdef BLEND_EQUATION
#undef BLEND_EQUATION
#endif
#ifdef FUNC_SUBTRACT
#undef FUNC_SUBTRACT
#endif
#ifdef FUNC_REVERSE_SUBTRACT
#undef FUNC_REVERSE_SUBTRACT
#endif
#ifdef CONVOLUTION_1D
#undef CONVOLUTION_1D
#endif
#ifdef CONVOLUTION_2D
#undef CONVOLUTION_2D
#endif
#ifdef SEPARABLE_2D
#undef SEPARABLE_2D
#endif
#ifdef CONVOLUTION_BORDER_MODE
#undef CONVOLUTION_BORDER_MODE
#endif
#ifdef CONVOLUTION_FILTER_SCALE
#undef CONVOLUTION_FILTER_SCALE
#endif
#ifdef CONVOLUTION_FILTER_BIAS
#undef CONVOLUTION_FILTER_BIAS
#endif
#ifdef REDUCE
#undef REDUCE
#endif
#ifdef CONVOLUTION_FORMAT
#undef CONVOLUTION_FORMAT
#endif
#ifdef CONVOLUTION_WIDTH
#undef CONVOLUTION_WIDTH
#endif
#ifdef CONVOLUTION_HEIGHT
#undef CONVOLUTION_HEIGHT
#endif
#ifdef MAX_CONVOLUTION_WIDTH
#undef MAX_CONVOLUTION_WIDTH
#endif
#ifdef MAX_CONVOLUTION_HEIGHT
#undef MAX_CONVOLUTION_HEIGHT
#endif
#ifdef POST_CONVOLUTION_RED_SCALE
#undef POST_CONVOLUTION_RED_SCALE
#endif
#ifdef POST_CONVOLUTION_GREEN_SCALE
#undef POST_CONVOLUTION_GREEN_SCALE
#endif
#ifdef POST_CONVOLUTION_BLUE_SCALE
#undef POST_CONVOLUTION_BLUE_SCALE
#endif
#ifdef POST_CONVOLUTION_ALPHA_SCALE
#undef POST_CONVOLUTION_ALPHA_SCALE
#endif
#ifdef POST_CONVOLUTION_RED_BIAS
#undef POST_CONVOLUTION_RED_BIAS
#endif
#ifdef POST_CONVOLUTION_GREEN_BIAS
#undef POST_CONVOLUTION_GREEN_BIAS
#endif
#ifdef POST_CONVOLUTION_BLUE_BIAS
#undef POST_CONVOLUTION_BLUE_BIAS
#endif
#ifdef POST_CONVOLUTION_ALPHA_BIAS
#undef POST_CONVOLUTION_ALPHA_BIAS
#endif
#ifdef HISTOGRAM
#undef HISTOGRAM
#endif
#ifdef PROXY_HISTOGRAM
#undef PROXY_HISTOGRAM
#endif
#ifdef HISTOGRAM_WIDTH
#undef HISTOGRAM_WIDTH
#endif
#ifdef HISTOGRAM_FORMAT
#undef HISTOGRAM_FORMAT
#endif
#ifdef HISTOGRAM_RED_SIZE
#undef HISTOGRAM_RED_SIZE
#endif
#ifdef HISTOGRAM_GREEN_SIZE
#undef HISTOGRAM_GREEN_SIZE
#endif
#ifdef HISTOGRAM_BLUE_SIZE
#undef HISTOGRAM_BLUE_SIZE
#endif
#ifdef HISTOGRAM_ALPHA_SIZE
#undef HISTOGRAM_ALPHA_SIZE
#endif
#ifdef HISTOGRAM_LUMINANCE_SIZE
#undef HISTOGRAM_LUMINANCE_SIZE
#endif
#ifdef HISTOGRAM_SINK
#undef HISTOGRAM_SINK
#endif
#ifdef MINMAX
#undef MINMAX
#endif
#ifdef MINMAX_FORMAT
#undef MINMAX_FORMAT
#endif
#ifdef MINMAX_SINK
#undef MINMAX_SINK
#endif
#ifdef TABLE_TOO_LARGE
#undef TABLE_TOO_LARGE
#endif
#ifdef COLOR_MATRIX
#undef COLOR_MATRIX
#endif
#ifdef COLOR_MATRIX_STACK_DEPTH
#undef COLOR_MATRIX_STACK_DEPTH
#endif
#ifdef MAX_COLOR_MATRIX_STACK_DEPTH
#undef MAX_COLOR_MATRIX_STACK_DEPTH
#endif
#ifdef POST_COLOR_MATRIX_RED_SCALE
#undef POST_COLOR_MATRIX_RED_SCALE
#endif
#ifdef POST_COLOR_MATRIX_GREEN_SCALE
#undef POST_COLOR_MATRIX_GREEN_SCALE
#endif
#ifdef POST_COLOR_MATRIX_BLUE_SCALE
#undef POST_COLOR_MATRIX_BLUE_SCALE
#endif
#ifdef POST_COLOR_MATRIX_ALPHA_SCALE
#undef POST_COLOR_MATRIX_ALPHA_SCALE
#endif
#ifdef POST_COLOR_MATRIX_RED_BIAS
#undef POST_COLOR_MATRIX_RED_BIAS
#endif
#ifdef POST_COLOR_MATRIX_GREEN_BIAS
#undef POST_COLOR_MATRIX_GREEN_BIAS
#endif
#ifdef POST_COLOR_MATRIX_BLUE_BIAS
#undef POST_COLOR_MATRIX_BLUE_BIAS
#endif
#ifdef POST_COLOR_MATRIX_ALPHA_BIAS
#undef POST_COLOR_MATRIX_ALPHA_BIAS
#endif
#ifdef COLOR_TABLE
#undef COLOR_TABLE
#endif
#ifdef POST_CONVOLUTION_COLOR_TABLE
#undef POST_CONVOLUTION_COLOR_TABLE
#endif
#ifdef POST_COLOR_MATRIX_COLOR_TABLE
#undef POST_COLOR_MATRIX_COLOR_TABLE
#endif
#ifdef PROXY_COLOR_TABLE
#undef PROXY_COLOR_TABLE
#endif
#ifdef PROXY_POST_CONVOLUTION_COLOR_TABLE
#undef PROXY_POST_CONVOLUTION_COLOR_TABLE
#endif
#ifdef PROXY_POST_COLOR_MATRIX_COLOR_TABLE
#undef PROXY_POST_COLOR_MATRIX_COLOR_TABLE
#endif
#ifdef COLOR_TABLE_SCALE
#undef COLOR_TABLE_SCALE
#endif
#ifdef COLOR_TABLE_BIAS
#undef COLOR_TABLE_BIAS
#endif
#ifdef COLOR_TABLE_FORMAT
#undef COLOR_TABLE_FORMAT
#endif
#ifdef COLOR_TABLE_WIDTH
#undef COLOR_TABLE_WIDTH
#endif
#ifdef COLOR_TABLE_RED_SIZE
#undef COLOR_TABLE_RED_SIZE
#endif
#ifdef COLOR_TABLE_GREEN_SIZE
#undef COLOR_TABLE_GREEN_SIZE
#endif
#ifdef COLOR_TABLE_BLUE_SIZE
#undef COLOR_TABLE_BLUE_SIZE
#endif
#ifdef COLOR_TABLE_ALPHA_SIZE
#undef COLOR_TABLE_ALPHA_SIZE
#endif
#ifdef COLOR_TABLE_LUMINANCE_SIZE
#undef COLOR_TABLE_LUMINANCE_SIZE
#endif
#ifdef COLOR_TABLE_INTENSITY_SIZE
#undef COLOR_TABLE_INTENSITY_SIZE
#endif
#ifdef CONSTANT_BORDER
#undef CONSTANT_BORDER
#endif
#ifdef REPLICATE_BORDER
#undef REPLICATE_BORDER
#endif
#ifdef CONVOLUTION_BORDER_COLOR
#undef CONVOLUTION_BORDER_COLOR
#endif
#ifdef VERTEX_ATTRIB_ARRAY_DIVISOR_ARB
#undef VERTEX_ATTRIB_ARRAY_DIVISOR_ARB
#endif
#ifdef MAP_READ_BIT
#undef MAP_READ_BIT
#endif
#ifdef MAP_WRITE_BIT
#undef MAP_WRITE_BIT
#endif
#ifdef MAP_INVALIDATE_RANGE_BIT
#undef MAP_INVALIDATE_RANGE_BIT
#endif
#ifdef MAP_INVALIDATE_BUFFER_BIT
#undef MAP_INVALIDATE_BUFFER_BIT
#endif
#ifdef MAP_FLUSH_EXPLICIT_BIT
#undef MAP_FLUSH_EXPLICIT_BIT
#endif
#ifdef MAP_UNSYNCHRONIZED_BIT
#undef MAP_UNSYNCHRONIZED_BIT
#endif
#ifdef MATRIX_PALETTE_ARB
#undef MATRIX_PALETTE_ARB
#endif
#ifdef MAX_MATRIX_PALETTE_STACK_DEPTH_ARB
#undef MAX_MATRIX_PALETTE_STACK_DEPTH_ARB
#endif
#ifdef MAX_PALETTE_MATRICES_ARB
#undef MAX_PALETTE_MATRICES_ARB
#endif
#ifdef CURRENT_PALETTE_MATRIX_ARB
#undef CURRENT_PALETTE_MATRIX_ARB
#endif
#ifdef MATRIX_INDEX_ARRAY_ARB
#undef MATRIX_INDEX_ARRAY_ARB
#endif
#ifdef CURRENT_MATRIX_INDEX_ARB
#undef CURRENT_MATRIX_INDEX_ARB
#endif
#ifdef MATRIX_INDEX_ARRAY_SIZE_ARB
#undef MATRIX_INDEX_ARRAY_SIZE_ARB
#endif
#ifdef MATRIX_INDEX_ARRAY_TYPE_ARB
#undef MATRIX_INDEX_ARRAY_TYPE_ARB
#endif
#ifdef MATRIX_INDEX_ARRAY_STRIDE_ARB
#undef MATRIX_INDEX_ARRAY_STRIDE_ARB
#endif
#ifdef MATRIX_INDEX_ARRAY_POINTER_ARB
#undef MATRIX_INDEX_ARRAY_POINTER_ARB
#endif
#ifdef MULTISAMPLE_ARB
#undef MULTISAMPLE_ARB
#endif
#ifdef SAMPLE_ALPHA_TO_COVERAGE_ARB
#undef SAMPLE_ALPHA_TO_COVERAGE_ARB
#endif
#ifdef SAMPLE_ALPHA_TO_ONE_ARB
#undef SAMPLE_ALPHA_TO_ONE_ARB
#endif
#ifdef SAMPLE_COVERAGE_ARB
#undef SAMPLE_COVERAGE_ARB
#endif
#ifdef SAMPLE_BUFFERS_ARB
#undef SAMPLE_BUFFERS_ARB
#endif
#ifdef SAMPLES_ARB
#undef SAMPLES_ARB
#endif
#ifdef SAMPLE_COVERAGE_VALUE_ARB
#undef SAMPLE_COVERAGE_VALUE_ARB
#endif
#ifdef SAMPLE_COVERAGE_INVERT_ARB
#undef SAMPLE_COVERAGE_INVERT_ARB
#endif
#ifdef MULTISAMPLE_BIT_ARB
#undef MULTISAMPLE_BIT_ARB
#endif
#ifdef TEXTURE0_ARB
#undef TEXTURE0_ARB
#endif
#ifdef TEXTURE1_ARB
#undef TEXTURE1_ARB
#endif
#ifdef TEXTURE2_ARB
#undef TEXTURE2_ARB
#endif
#ifdef TEXTURE3_ARB
#undef TEXTURE3_ARB
#endif
#ifdef TEXTURE4_ARB
#undef TEXTURE4_ARB
#endif
#ifdef TEXTURE5_ARB
#undef TEXTURE5_ARB
#endif
#ifdef TEXTURE6_ARB
#undef TEXTURE6_ARB
#endif
#ifdef TEXTURE7_ARB
#undef TEXTURE7_ARB
#endif
#ifdef TEXTURE8_ARB
#undef TEXTURE8_ARB
#endif
#ifdef TEXTURE9_ARB
#undef TEXTURE9_ARB
#endif
#ifdef TEXTURE10_ARB
#undef TEXTURE10_ARB
#endif
#ifdef TEXTURE11_ARB
#undef TEXTURE11_ARB
#endif
#ifdef TEXTURE12_ARB
#undef TEXTURE12_ARB
#endif
#ifdef TEXTURE13_ARB
#undef TEXTURE13_ARB
#endif
#ifdef TEXTURE14_ARB
#undef TEXTURE14_ARB
#endif
#ifdef TEXTURE15_ARB
#undef TEXTURE15_ARB
#endif
#ifdef TEXTURE16_ARB
#undef TEXTURE16_ARB
#endif
#ifdef TEXTURE17_ARB
#undef TEXTURE17_ARB
#endif
#ifdef TEXTURE18_ARB
#undef TEXTURE18_ARB
#endif
#ifdef TEXTURE19_ARB
#undef TEXTURE19_ARB
#endif
#ifdef TEXTURE20_ARB
#undef TEXTURE20_ARB
#endif
#ifdef TEXTURE21_ARB
#undef TEXTURE21_ARB
#endif
#ifdef TEXTURE22_ARB
#undef TEXTURE22_ARB
#endif
#ifdef TEXTURE23_ARB
#undef TEXTURE23_ARB
#endif
#ifdef TEXTURE24_ARB
#undef TEXTURE24_ARB
#endif
#ifdef TEXTURE25_ARB
#undef TEXTURE25_ARB
#endif
#ifdef TEXTURE26_ARB
#undef TEXTURE26_ARB
#endif
#ifdef TEXTURE27_ARB
#undef TEXTURE27_ARB
#endif
#ifdef TEXTURE28_ARB
#undef TEXTURE28_ARB
#endif
#ifdef TEXTURE29_ARB
#undef TEXTURE29_ARB
#endif
#ifdef TEXTURE30_ARB
#undef TEXTURE30_ARB
#endif
#ifdef TEXTURE31_ARB
#undef TEXTURE31_ARB
#endif
#ifdef ACTIVE_TEXTURE_ARB
#undef ACTIVE_TEXTURE_ARB
#endif
#ifdef CLIENT_ACTIVE_TEXTURE_ARB
#undef CLIENT_ACTIVE_TEXTURE_ARB
#endif
#ifdef MAX_TEXTURE_UNITS_ARB
#undef MAX_TEXTURE_UNITS_ARB
#endif
#ifdef QUERY_COUNTER_BITS_ARB
#undef QUERY_COUNTER_BITS_ARB
#endif
#ifdef CURRENT_QUERY_ARB
#undef CURRENT_QUERY_ARB
#endif
#ifdef QUERY_RESULT_ARB
#undef QUERY_RESULT_ARB
#endif
#ifdef QUERY_RESULT_AVAILABLE_ARB
#undef QUERY_RESULT_AVAILABLE_ARB
#endif
#ifdef SAMPLES_PASSED_ARB
#undef SAMPLES_PASSED_ARB
#endif
#ifdef ANY_SAMPLES_PASSED
#undef ANY_SAMPLES_PASSED
#endif
#ifdef PIXEL_PACK_BUFFER_ARB
#undef PIXEL_PACK_BUFFER_ARB
#endif
#ifdef PIXEL_UNPACK_BUFFER_ARB
#undef PIXEL_UNPACK_BUFFER_ARB
#endif
#ifdef PIXEL_PACK_BUFFER_BINDING_ARB
#undef PIXEL_PACK_BUFFER_BINDING_ARB
#endif
#ifdef PIXEL_UNPACK_BUFFER_BINDING_ARB
#undef PIXEL_UNPACK_BUFFER_BINDING_ARB
#endif
#ifdef POINT_SIZE_MIN_ARB
#undef POINT_SIZE_MIN_ARB
#endif
#ifdef POINT_SIZE_MAX_ARB
#undef POINT_SIZE_MAX_ARB
#endif
#ifdef POINT_FADE_THRESHOLD_SIZE_ARB
#undef POINT_FADE_THRESHOLD_SIZE_ARB
#endif
#ifdef POINT_DISTANCE_ATTENUATION_ARB
#undef POINT_DISTANCE_ATTENUATION_ARB
#endif
#ifdef POINT_SPRITE_ARB
#undef POINT_SPRITE_ARB
#endif
#ifdef COORD_REPLACE_ARB
#undef COORD_REPLACE_ARB
#endif
#ifdef QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
#undef QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
#endif
#ifdef FIRST_VERTEX_CONVENTION
#undef FIRST_VERTEX_CONVENTION
#endif
#ifdef LAST_VERTEX_CONVENTION
#undef LAST_VERTEX_CONVENTION
#endif
#ifdef PROVOKING_VERTEX
#undef PROVOKING_VERTEX
#endif
#ifdef SAMPLE_SHADING
#undef SAMPLE_SHADING
#endif
#ifdef MIN_SAMPLE_SHADING_VALUE
#undef MIN_SAMPLE_SHADING_VALUE
#endif
#ifdef SAMPLER_BINDING
#undef SAMPLER_BINDING
#endif
#ifdef TEXTURE_CUBE_MAP_SEAMLESS
#undef TEXTURE_CUBE_MAP_SEAMLESS
#endif
#ifdef PROGRAM_OBJECT_ARB
#undef PROGRAM_OBJECT_ARB
#endif
#ifdef SHADER_OBJECT_ARB
#undef SHADER_OBJECT_ARB
#endif
#ifdef OBJECT_TYPE_ARB
#undef OBJECT_TYPE_ARB
#endif
#ifdef OBJECT_SUBTYPE_ARB
#undef OBJECT_SUBTYPE_ARB
#endif
#ifdef FLOAT_VEC2_ARB
#undef FLOAT_VEC2_ARB
#endif
#ifdef FLOAT_VEC3_ARB
#undef FLOAT_VEC3_ARB
#endif
#ifdef FLOAT_VEC4_ARB
#undef FLOAT_VEC4_ARB
#endif
#ifdef INT_VEC2_ARB
#undef INT_VEC2_ARB
#endif
#ifdef INT_VEC3_ARB
#undef INT_VEC3_ARB
#endif
#ifdef INT_VEC4_ARB
#undef INT_VEC4_ARB
#endif
#ifdef BOOL_ARB
#undef BOOL_ARB
#endif
#ifdef BOOL_VEC2_ARB
#undef BOOL_VEC2_ARB
#endif
#ifdef BOOL_VEC3_ARB
#undef BOOL_VEC3_ARB
#endif
#ifdef BOOL_VEC4_ARB
#undef BOOL_VEC4_ARB
#endif
#ifdef FLOAT_MAT2_ARB
#undef FLOAT_MAT2_ARB
#endif
#ifdef FLOAT_MAT3_ARB
#undef FLOAT_MAT3_ARB
#endif
#ifdef FLOAT_MAT4_ARB
#undef FLOAT_MAT4_ARB
#endif
#ifdef SAMPLER_1D_ARB
#undef SAMPLER_1D_ARB
#endif
#ifdef SAMPLER_2D_ARB
#undef SAMPLER_2D_ARB
#endif
#ifdef SAMPLER_3D_ARB
#undef SAMPLER_3D_ARB
#endif
#ifdef SAMPLER_CUBE_ARB
#undef SAMPLER_CUBE_ARB
#endif
#ifdef SAMPLER_1D_SHADOW_ARB
#undef SAMPLER_1D_SHADOW_ARB
#endif
#ifdef SAMPLER_2D_SHADOW_ARB
#undef SAMPLER_2D_SHADOW_ARB
#endif
#ifdef SAMPLER_2D_RECT_ARB
#undef SAMPLER_2D_RECT_ARB
#endif
#ifdef SAMPLER_2D_RECT_SHADOW_ARB
#undef SAMPLER_2D_RECT_SHADOW_ARB
#endif
#ifdef OBJECT_DELETE_STATUS_ARB
#undef OBJECT_DELETE_STATUS_ARB
#endif
#ifdef OBJECT_COMPILE_STATUS_ARB
#undef OBJECT_COMPILE_STATUS_ARB
#endif
#ifdef OBJECT_LINK_STATUS_ARB
#undef OBJECT_LINK_STATUS_ARB
#endif
#ifdef OBJECT_VALIDATE_STATUS_ARB
#undef OBJECT_VALIDATE_STATUS_ARB
#endif
#ifdef OBJECT_INFO_LOG_LENGTH_ARB
#undef OBJECT_INFO_LOG_LENGTH_ARB
#endif
#ifdef OBJECT_ATTACHED_OBJECTS_ARB
#undef OBJECT_ATTACHED_OBJECTS_ARB
#endif
#ifdef OBJECT_ACTIVE_UNIFORMS_ARB
#undef OBJECT_ACTIVE_UNIFORMS_ARB
#endif
#ifdef OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
#undef OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
#endif
#ifdef OBJECT_SHADER_SOURCE_LENGTH_ARB
#undef OBJECT_SHADER_SOURCE_LENGTH_ARB
#endif
#ifdef ACTIVE_SUBROUTINES
#undef ACTIVE_SUBROUTINES
#endif
#ifdef ACTIVE_SUBROUTINE_UNIFORMS
#undef ACTIVE_SUBROUTINE_UNIFORMS
#endif
#ifdef ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
#undef ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
#endif
#ifdef ACTIVE_SUBROUTINE_MAX_LENGTH
#undef ACTIVE_SUBROUTINE_MAX_LENGTH
#endif
#ifdef ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH
#undef ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH
#endif
#ifdef MAX_SUBROUTINES
#undef MAX_SUBROUTINES
#endif
#ifdef MAX_SUBROUTINE_UNIFORM_LOCATIONS
#undef MAX_SUBROUTINE_UNIFORM_LOCATIONS
#endif
#ifdef NUM_COMPATIBLE_SUBROUTINES
#undef NUM_COMPATIBLE_SUBROUTINES
#endif
#ifdef COMPATIBLE_SUBROUTINES
#undef COMPATIBLE_SUBROUTINES
#endif
#ifdef SHADING_LANGUAGE_VERSION_ARB
#undef SHADING_LANGUAGE_VERSION_ARB
#endif
#ifdef SHADER_INCLUDE_ARB
#undef SHADER_INCLUDE_ARB
#endif
#ifdef NAMED_STRING_LENGTH_ARB
#undef NAMED_STRING_LENGTH_ARB
#endif
#ifdef NAMED_STRING_TYPE_ARB
#undef NAMED_STRING_TYPE_ARB
#endif
#ifdef TEXTURE_COMPARE_MODE_ARB
#undef TEXTURE_COMPARE_MODE_ARB
#endif
#ifdef TEXTURE_COMPARE_FUNC_ARB
#undef TEXTURE_COMPARE_FUNC_ARB
#endif
#ifdef COMPARE_R_TO_TEXTURE_ARB
#undef COMPARE_R_TO_TEXTURE_ARB
#endif
#ifdef TEXTURE_COMPARE_FAIL_VALUE_ARB
#undef TEXTURE_COMPARE_FAIL_VALUE_ARB
#endif
#ifdef MAX_SERVER_WAIT_TIMEOUT
#undef MAX_SERVER_WAIT_TIMEOUT
#endif
#ifdef OBJECT_TYPE
#undef OBJECT_TYPE
#endif
#ifdef SYNC_CONDITION
#undef SYNC_CONDITION
#endif
#ifdef SYNC_STATUS
#undef SYNC_STATUS
#endif
#ifdef SYNC_FLAGS
#undef SYNC_FLAGS
#endif
#ifdef SYNC_FENCE
#undef SYNC_FENCE
#endif
#ifdef SYNC_GPU_COMMANDS_COMPLETE
#undef SYNC_GPU_COMMANDS_COMPLETE
#endif
#ifdef UNSIGNALED
#undef UNSIGNALED
#endif
#ifdef SIGNALED
#undef SIGNALED
#endif
#ifdef ALREADY_SIGNALED
#undef ALREADY_SIGNALED
#endif
#ifdef TIMEOUT_EXPIRED
#undef TIMEOUT_EXPIRED
#endif
#ifdef CONDITION_SATISFIED
#undef CONDITION_SATISFIED
#endif
#ifdef WAIT_FAILED
#undef WAIT_FAILED
#endif
#ifdef SYNC_FLUSH_COMMANDS_BIT
#undef SYNC_FLUSH_COMMANDS_BIT
#endif
#ifdef TIMEOUT_IGNORED
#undef TIMEOUT_IGNORED
#endif
#ifdef PATCHES
#undef PATCHES
#endif
#ifdef PATCH_VERTICES
#undef PATCH_VERTICES
#endif
#ifdef PATCH_DEFAULT_INNER_LEVEL
#undef PATCH_DEFAULT_INNER_LEVEL
#endif
#ifdef PATCH_DEFAULT_OUTER_LEVEL
#undef PATCH_DEFAULT_OUTER_LEVEL
#endif
#ifdef TESS_CONTROL_OUTPUT_VERTICES
#undef TESS_CONTROL_OUTPUT_VERTICES
#endif
#ifdef TESS_GEN_MODE
#undef TESS_GEN_MODE
#endif
#ifdef TESS_GEN_SPACING
#undef TESS_GEN_SPACING
#endif
#ifdef TESS_GEN_VERTEX_ORDER
#undef TESS_GEN_VERTEX_ORDER
#endif
#ifdef TESS_GEN_POINT_MODE
#undef TESS_GEN_POINT_MODE
#endif
#ifdef ISOLINES
#undef ISOLINES
#endif
#ifdef FRACTIONAL_ODD
#undef FRACTIONAL_ODD
#endif
#ifdef FRACTIONAL_EVEN
#undef FRACTIONAL_EVEN
#endif
#ifdef MAX_PATCH_VERTICES
#undef MAX_PATCH_VERTICES
#endif
#ifdef MAX_TESS_GEN_LEVEL
#undef MAX_TESS_GEN_LEVEL
#endif
#ifdef MAX_TESS_CONTROL_UNIFORM_COMPONENTS
#undef MAX_TESS_CONTROL_UNIFORM_COMPONENTS
#endif
#ifdef MAX_TESS_EVALUATION_UNIFORM_COMPONENTS
#undef MAX_TESS_EVALUATION_UNIFORM_COMPONENTS
#endif
#ifdef MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS
#undef MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS
#endif
#ifdef MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS
#undef MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS
#endif
#ifdef MAX_TESS_CONTROL_OUTPUT_COMPONENTS
#undef MAX_TESS_CONTROL_OUTPUT_COMPONENTS
#endif
#ifdef MAX_TESS_PATCH_COMPONENTS
#undef MAX_TESS_PATCH_COMPONENTS
#endif
#ifdef MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS
#undef MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS
#endif
#ifdef MAX_TESS_EVALUATION_OUTPUT_COMPONENTS
#undef MAX_TESS_EVALUATION_OUTPUT_COMPONENTS
#endif
#ifdef MAX_TESS_CONTROL_UNIFORM_BLOCKS
#undef MAX_TESS_CONTROL_UNIFORM_BLOCKS
#endif
#ifdef MAX_TESS_EVALUATION_UNIFORM_BLOCKS
#undef MAX_TESS_EVALUATION_UNIFORM_BLOCKS
#endif
#ifdef MAX_TESS_CONTROL_INPUT_COMPONENTS
#undef MAX_TESS_CONTROL_INPUT_COMPONENTS
#endif
#ifdef MAX_TESS_EVALUATION_INPUT_COMPONENTS
#undef MAX_TESS_EVALUATION_INPUT_COMPONENTS
#endif
#ifdef MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS
#undef MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS
#endif
#ifdef MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS
#undef MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS
#endif
#ifdef UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER
#undef UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER
#endif
#ifdef UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER
#undef UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER
#endif
#ifdef TESS_EVALUATION_SHADER
#undef TESS_EVALUATION_SHADER
#endif
#ifdef TESS_CONTROL_SHADER
#undef TESS_CONTROL_SHADER
#endif
#ifdef CLAMP_TO_BORDER_ARB
#undef CLAMP_TO_BORDER_ARB
#endif
#ifdef TEXTURE_BUFFER_ARB
#undef TEXTURE_BUFFER_ARB
#endif
#ifdef MAX_TEXTURE_BUFFER_SIZE_ARB
#undef MAX_TEXTURE_BUFFER_SIZE_ARB
#endif
#ifdef TEXTURE_BINDING_BUFFER_ARB
#undef TEXTURE_BINDING_BUFFER_ARB
#endif
#ifdef TEXTURE_BUFFER_DATA_STORE_BINDING_ARB
#undef TEXTURE_BUFFER_DATA_STORE_BINDING_ARB
#endif
#ifdef TEXTURE_BUFFER_FORMAT_ARB
#undef TEXTURE_BUFFER_FORMAT_ARB
#endif
#ifdef COMPRESSED_ALPHA_ARB
#undef COMPRESSED_ALPHA_ARB
#endif
#ifdef COMPRESSED_LUMINANCE_ARB
#undef COMPRESSED_LUMINANCE_ARB
#endif
#ifdef COMPRESSED_LUMINANCE_ALPHA_ARB
#undef COMPRESSED_LUMINANCE_ALPHA_ARB
#endif
#ifdef COMPRESSED_INTENSITY_ARB
#undef COMPRESSED_INTENSITY_ARB
#endif
#ifdef COMPRESSED_RGB_ARB
#undef COMPRESSED_RGB_ARB
#endif
#ifdef COMPRESSED_RGBA_ARB
#undef COMPRESSED_RGBA_ARB
#endif
#ifdef TEXTURE_COMPRESSION_HINT_ARB
#undef TEXTURE_COMPRESSION_HINT_ARB
#endif
#ifdef TEXTURE_COMPRESSED_IMAGE_SIZE_ARB
#undef TEXTURE_COMPRESSED_IMAGE_SIZE_ARB
#endif
#ifdef TEXTURE_COMPRESSED_ARB
#undef TEXTURE_COMPRESSED_ARB
#endif
#ifdef NUM_COMPRESSED_TEXTURE_FORMATS_ARB
#undef NUM_COMPRESSED_TEXTURE_FORMATS_ARB
#endif
#ifdef COMPRESSED_TEXTURE_FORMATS_ARB
#undef COMPRESSED_TEXTURE_FORMATS_ARB
#endif
#ifdef COMPRESSED_RGBA_BPTC_UNORM_ARB
#undef COMPRESSED_RGBA_BPTC_UNORM_ARB
#endif
#ifdef COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
#undef COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
#endif
#ifdef COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
#undef COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
#endif
#ifdef COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
#undef COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
#endif
#ifdef COMPRESSED_RED_RGTC1
#undef COMPRESSED_RED_RGTC1
#endif
#ifdef COMPRESSED_SIGNED_RED_RGTC1
#undef COMPRESSED_SIGNED_RED_RGTC1
#endif
#ifdef COMPRESSED_RG_RGTC2
#undef COMPRESSED_RG_RGTC2
#endif
#ifdef COMPRESSED_SIGNED_RG_RGTC2
#undef COMPRESSED_SIGNED_RG_RGTC2
#endif
#ifdef NORMAL_MAP_ARB
#undef NORMAL_MAP_ARB
#endif
#ifdef REFLECTION_MAP_ARB
#undef REFLECTION_MAP_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_ARB
#undef TEXTURE_CUBE_MAP_ARB
#endif
#ifdef TEXTURE_BINDING_CUBE_MAP_ARB
#undef TEXTURE_BINDING_CUBE_MAP_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_X_ARB
#undef TEXTURE_CUBE_MAP_POSITIVE_X_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
#undef TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
#undef TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
#undef TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
#undef TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
#undef TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
#endif
#ifdef PROXY_TEXTURE_CUBE_MAP_ARB
#undef PROXY_TEXTURE_CUBE_MAP_ARB
#endif
#ifdef MAX_CUBE_MAP_TEXTURE_SIZE_ARB
#undef MAX_CUBE_MAP_TEXTURE_SIZE_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_ARRAY
#undef TEXTURE_CUBE_MAP_ARRAY
#endif
#ifdef TEXTURE_BINDING_CUBE_MAP_ARRAY
#undef TEXTURE_BINDING_CUBE_MAP_ARRAY
#endif
#ifdef PROXY_TEXTURE_CUBE_MAP_ARRAY
#undef PROXY_TEXTURE_CUBE_MAP_ARRAY
#endif
#ifdef SAMPLER_CUBE_MAP_ARRAY
#undef SAMPLER_CUBE_MAP_ARRAY
#endif
#ifdef SAMPLER_CUBE_MAP_ARRAY_SHADOW
#undef SAMPLER_CUBE_MAP_ARRAY_SHADOW
#endif
#ifdef INT_SAMPLER_CUBE_MAP_ARRAY
#undef INT_SAMPLER_CUBE_MAP_ARRAY
#endif
#ifdef UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
#undef UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
#endif
#ifdef COMBINE_ARB
#undef COMBINE_ARB
#endif
#ifdef COMBINE_RGB_ARB
#undef COMBINE_RGB_ARB
#endif
#ifdef COMBINE_ALPHA_ARB
#undef COMBINE_ALPHA_ARB
#endif
#ifdef SOURCE0_RGB_ARB
#undef SOURCE0_RGB_ARB
#endif
#ifdef SOURCE1_RGB_ARB
#undef SOURCE1_RGB_ARB
#endif
#ifdef SOURCE2_RGB_ARB
#undef SOURCE2_RGB_ARB
#endif
#ifdef SOURCE0_ALPHA_ARB
#undef SOURCE0_ALPHA_ARB
#endif
#ifdef SOURCE1_ALPHA_ARB
#undef SOURCE1_ALPHA_ARB
#endif
#ifdef SOURCE2_ALPHA_ARB
#undef SOURCE2_ALPHA_ARB
#endif
#ifdef OPERAND0_RGB_ARB
#undef OPERAND0_RGB_ARB
#endif
#ifdef OPERAND1_RGB_ARB
#undef OPERAND1_RGB_ARB
#endif
#ifdef OPERAND2_RGB_ARB
#undef OPERAND2_RGB_ARB
#endif
#ifdef OPERAND0_ALPHA_ARB
#undef OPERAND0_ALPHA_ARB
#endif
#ifdef OPERAND1_ALPHA_ARB
#undef OPERAND1_ALPHA_ARB
#endif
#ifdef OPERAND2_ALPHA_ARB
#undef OPERAND2_ALPHA_ARB
#endif
#ifdef RGB_SCALE_ARB
#undef RGB_SCALE_ARB
#endif
#ifdef ADD_SIGNED_ARB
#undef ADD_SIGNED_ARB
#endif
#ifdef INTERPOLATE_ARB
#undef INTERPOLATE_ARB
#endif
#ifdef SUBTRACT_ARB
#undef SUBTRACT_ARB
#endif
#ifdef CONSTANT_ARB
#undef CONSTANT_ARB
#endif
#ifdef PRIMARY_COLOR_ARB
#undef PRIMARY_COLOR_ARB
#endif
#ifdef PREVIOUS_ARB
#undef PREVIOUS_ARB
#endif
#ifdef DOT3_RGB_ARB
#undef DOT3_RGB_ARB
#endif
#ifdef DOT3_RGBA_ARB
#undef DOT3_RGBA_ARB
#endif
#ifdef TEXTURE_RED_TYPE_ARB
#undef TEXTURE_RED_TYPE_ARB
#endif
#ifdef TEXTURE_GREEN_TYPE_ARB
#undef TEXTURE_GREEN_TYPE_ARB
#endif
#ifdef TEXTURE_BLUE_TYPE_ARB
#undef TEXTURE_BLUE_TYPE_ARB
#endif
#ifdef TEXTURE_ALPHA_TYPE_ARB
#undef TEXTURE_ALPHA_TYPE_ARB
#endif
#ifdef TEXTURE_LUMINANCE_TYPE_ARB
#undef TEXTURE_LUMINANCE_TYPE_ARB
#endif
#ifdef TEXTURE_INTENSITY_TYPE_ARB
#undef TEXTURE_INTENSITY_TYPE_ARB
#endif
#ifdef TEXTURE_DEPTH_TYPE_ARB
#undef TEXTURE_DEPTH_TYPE_ARB
#endif
#ifdef UNSIGNED_NORMALIZED_ARB
#undef UNSIGNED_NORMALIZED_ARB
#endif
#ifdef RGBA32F_ARB
#undef RGBA32F_ARB
#endif
#ifdef RGB32F_ARB
#undef RGB32F_ARB
#endif
#ifdef ALPHA32F_ARB
#undef ALPHA32F_ARB
#endif
#ifdef INTENSITY32F_ARB
#undef INTENSITY32F_ARB
#endif
#ifdef LUMINANCE32F_ARB
#undef LUMINANCE32F_ARB
#endif
#ifdef LUMINANCE_ALPHA32F_ARB
#undef LUMINANCE_ALPHA32F_ARB
#endif
#ifdef RGBA16F_ARB
#undef RGBA16F_ARB
#endif
#ifdef RGB16F_ARB
#undef RGB16F_ARB
#endif
#ifdef ALPHA16F_ARB
#undef ALPHA16F_ARB
#endif
#ifdef INTENSITY16F_ARB
#undef INTENSITY16F_ARB
#endif
#ifdef LUMINANCE16F_ARB
#undef LUMINANCE16F_ARB
#endif
#ifdef LUMINANCE_ALPHA16F_ARB
#undef LUMINANCE_ALPHA16F_ARB
#endif
#ifdef MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
#undef MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
#endif
#ifdef MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
#undef MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
#endif
#ifdef MIRRORED_REPEAT_ARB
#undef MIRRORED_REPEAT_ARB
#endif
#ifdef SAMPLE_POSITION
#undef SAMPLE_POSITION
#endif
#ifdef SAMPLE_MASK
#undef SAMPLE_MASK
#endif
#ifdef SAMPLE_MASK_VALUE
#undef SAMPLE_MASK_VALUE
#endif
#ifdef MAX_SAMPLE_MASK_WORDS
#undef MAX_SAMPLE_MASK_WORDS
#endif
#ifdef TEXTURE_2D_MULTISAMPLE
#undef TEXTURE_2D_MULTISAMPLE
#endif
#ifdef PROXY_TEXTURE_2D_MULTISAMPLE
#undef PROXY_TEXTURE_2D_MULTISAMPLE
#endif
#ifdef TEXTURE_2D_MULTISAMPLE_ARRAY
#undef TEXTURE_2D_MULTISAMPLE_ARRAY
#endif
#ifdef PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY
#undef PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY
#endif
#ifdef TEXTURE_BINDING_2D_MULTISAMPLE
#undef TEXTURE_BINDING_2D_MULTISAMPLE
#endif
#ifdef TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
#undef TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
#endif
#ifdef TEXTURE_SAMPLES
#undef TEXTURE_SAMPLES
#endif
#ifdef TEXTURE_FIXED_SAMPLE_LOCATIONS
#undef TEXTURE_FIXED_SAMPLE_LOCATIONS
#endif
#ifdef SAMPLER_2D_MULTISAMPLE
#undef SAMPLER_2D_MULTISAMPLE
#endif
#ifdef INT_SAMPLER_2D_MULTISAMPLE
#undef INT_SAMPLER_2D_MULTISAMPLE
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
#undef UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
#endif
#ifdef SAMPLER_2D_MULTISAMPLE_ARRAY
#undef SAMPLER_2D_MULTISAMPLE_ARRAY
#endif
#ifdef INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#undef INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#undef UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#endif
#ifdef MAX_COLOR_TEXTURE_SAMPLES
#undef MAX_COLOR_TEXTURE_SAMPLES
#endif
#ifdef MAX_DEPTH_TEXTURE_SAMPLES
#undef MAX_DEPTH_TEXTURE_SAMPLES
#endif
#ifdef MAX_INTEGER_SAMPLES
#undef MAX_INTEGER_SAMPLES
#endif
#ifdef TEXTURE_RECTANGLE_ARB
#undef TEXTURE_RECTANGLE_ARB
#endif
#ifdef TEXTURE_BINDING_RECTANGLE_ARB
#undef TEXTURE_BINDING_RECTANGLE_ARB
#endif
#ifdef PROXY_TEXTURE_RECTANGLE_ARB
#undef PROXY_TEXTURE_RECTANGLE_ARB
#endif
#ifdef MAX_RECTANGLE_TEXTURE_SIZE_ARB
#undef MAX_RECTANGLE_TEXTURE_SIZE_ARB
#endif
#ifdef RG
#undef RG
#endif
#ifdef RG_INTEGER
#undef RG_INTEGER
#endif
#ifdef R8
#undef R8
#endif
#ifdef R16
#undef R16
#endif
#ifdef RG8
#undef RG8
#endif
#ifdef RG16
#undef RG16
#endif
#ifdef R16F
#undef R16F
#endif
#ifdef R32F
#undef R32F
#endif
#ifdef RG16F
#undef RG16F
#endif
#ifdef RG32F
#undef RG32F
#endif
#ifdef R8I
#undef R8I
#endif
#ifdef R8UI
#undef R8UI
#endif
#ifdef R16I
#undef R16I
#endif
#ifdef R16UI
#undef R16UI
#endif
#ifdef R32I
#undef R32I
#endif
#ifdef R32UI
#undef R32UI
#endif
#ifdef RG8I
#undef RG8I
#endif
#ifdef RG8UI
#undef RG8UI
#endif
#ifdef RG16I
#undef RG16I
#endif
#ifdef RG16UI
#undef RG16UI
#endif
#ifdef RG32I
#undef RG32I
#endif
#ifdef RG32UI
#undef RG32UI
#endif
#ifdef RGB10_A2UI
#undef RGB10_A2UI
#endif
#ifdef TEXTURE_SWIZZLE_R
#undef TEXTURE_SWIZZLE_R
#endif
#ifdef TEXTURE_SWIZZLE_G
#undef TEXTURE_SWIZZLE_G
#endif
#ifdef TEXTURE_SWIZZLE_B
#undef TEXTURE_SWIZZLE_B
#endif
#ifdef TEXTURE_SWIZZLE_A
#undef TEXTURE_SWIZZLE_A
#endif
#ifdef TEXTURE_SWIZZLE_RGBA
#undef TEXTURE_SWIZZLE_RGBA
#endif
#ifdef TIME_ELAPSED
#undef TIME_ELAPSED
#endif
#ifdef TIMESTAMP
#undef TIMESTAMP
#endif
#ifdef TRANSFORM_FEEDBACK
#undef TRANSFORM_FEEDBACK
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_PAUSED
#undef TRANSFORM_FEEDBACK_BUFFER_PAUSED
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_ACTIVE
#undef TRANSFORM_FEEDBACK_BUFFER_ACTIVE
#endif
#ifdef TRANSFORM_FEEDBACK_BINDING
#undef TRANSFORM_FEEDBACK_BINDING
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_BUFFERS
#undef MAX_TRANSFORM_FEEDBACK_BUFFERS
#endif
#ifdef TRANSPOSE_MODELVIEW_MATRIX_ARB
#undef TRANSPOSE_MODELVIEW_MATRIX_ARB
#endif
#ifdef TRANSPOSE_PROJECTION_MATRIX_ARB
#undef TRANSPOSE_PROJECTION_MATRIX_ARB
#endif
#ifdef TRANSPOSE_TEXTURE_MATRIX_ARB
#undef TRANSPOSE_TEXTURE_MATRIX_ARB
#endif
#ifdef TRANSPOSE_COLOR_MATRIX_ARB
#undef TRANSPOSE_COLOR_MATRIX_ARB
#endif
#ifdef UNIFORM_BUFFER
#undef UNIFORM_BUFFER
#endif
#ifdef UNIFORM_BUFFER_BINDING
#undef UNIFORM_BUFFER_BINDING
#endif
#ifdef UNIFORM_BUFFER_START
#undef UNIFORM_BUFFER_START
#endif
#ifdef UNIFORM_BUFFER_SIZE
#undef UNIFORM_BUFFER_SIZE
#endif
#ifdef MAX_VERTEX_UNIFORM_BLOCKS
#undef MAX_VERTEX_UNIFORM_BLOCKS
#endif
#ifdef MAX_GEOMETRY_UNIFORM_BLOCKS
#undef MAX_GEOMETRY_UNIFORM_BLOCKS
#endif
#ifdef MAX_FRAGMENT_UNIFORM_BLOCKS
#undef MAX_FRAGMENT_UNIFORM_BLOCKS
#endif
#ifdef MAX_COMBINED_UNIFORM_BLOCKS
#undef MAX_COMBINED_UNIFORM_BLOCKS
#endif
#ifdef MAX_UNIFORM_BUFFER_BINDINGS
#undef MAX_UNIFORM_BUFFER_BINDINGS
#endif
#ifdef MAX_UNIFORM_BLOCK_SIZE
#undef MAX_UNIFORM_BLOCK_SIZE
#endif
#ifdef MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
#undef MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
#endif
#ifdef MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
#undef MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
#endif
#ifdef MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
#undef MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
#endif
#ifdef UNIFORM_BUFFER_OFFSET_ALIGNMENT
#undef UNIFORM_BUFFER_OFFSET_ALIGNMENT
#endif
#ifdef ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
#undef ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
#endif
#ifdef ACTIVE_UNIFORM_BLOCKS
#undef ACTIVE_UNIFORM_BLOCKS
#endif
#ifdef UNIFORM_TYPE
#undef UNIFORM_TYPE
#endif
#ifdef UNIFORM_SIZE
#undef UNIFORM_SIZE
#endif
#ifdef UNIFORM_NAME_LENGTH
#undef UNIFORM_NAME_LENGTH
#endif
#ifdef UNIFORM_BLOCK_INDEX
#undef UNIFORM_BLOCK_INDEX
#endif
#ifdef UNIFORM_OFFSET
#undef UNIFORM_OFFSET
#endif
#ifdef UNIFORM_ARRAY_STRIDE
#undef UNIFORM_ARRAY_STRIDE
#endif
#ifdef UNIFORM_MATRIX_STRIDE
#undef UNIFORM_MATRIX_STRIDE
#endif
#ifdef UNIFORM_IS_ROW_MAJOR
#undef UNIFORM_IS_ROW_MAJOR
#endif
#ifdef UNIFORM_BLOCK_BINDING
#undef UNIFORM_BLOCK_BINDING
#endif
#ifdef UNIFORM_BLOCK_DATA_SIZE
#undef UNIFORM_BLOCK_DATA_SIZE
#endif
#ifdef UNIFORM_BLOCK_NAME_LENGTH
#undef UNIFORM_BLOCK_NAME_LENGTH
#endif
#ifdef UNIFORM_BLOCK_ACTIVE_UNIFORMS
#undef UNIFORM_BLOCK_ACTIVE_UNIFORMS
#endif
#ifdef UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES
#undef UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES
#endif
#ifdef UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER
#undef UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER
#endif
#ifdef UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER
#undef UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER
#endif
#ifdef UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER
#undef UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER
#endif
#ifdef INVALID_INDEX
#undef INVALID_INDEX
#endif
#ifdef VERTEX_ARRAY_BINDING
#undef VERTEX_ARRAY_BINDING
#endif
#ifdef MAX_VERTEX_UNITS_ARB
#undef MAX_VERTEX_UNITS_ARB
#endif
#ifdef ACTIVE_VERTEX_UNITS_ARB
#undef ACTIVE_VERTEX_UNITS_ARB
#endif
#ifdef WEIGHT_SUM_UNITY_ARB
#undef WEIGHT_SUM_UNITY_ARB
#endif
#ifdef VERTEX_BLEND_ARB
#undef VERTEX_BLEND_ARB
#endif
#ifdef CURRENT_WEIGHT_ARB
#undef CURRENT_WEIGHT_ARB
#endif
#ifdef WEIGHT_ARRAY_TYPE_ARB
#undef WEIGHT_ARRAY_TYPE_ARB
#endif
#ifdef WEIGHT_ARRAY_STRIDE_ARB
#undef WEIGHT_ARRAY_STRIDE_ARB
#endif
#ifdef WEIGHT_ARRAY_SIZE_ARB
#undef WEIGHT_ARRAY_SIZE_ARB
#endif
#ifdef WEIGHT_ARRAY_POINTER_ARB
#undef WEIGHT_ARRAY_POINTER_ARB
#endif
#ifdef WEIGHT_ARRAY_ARB
#undef WEIGHT_ARRAY_ARB
#endif
#ifdef MODELVIEW0_ARB
#undef MODELVIEW0_ARB
#endif
#ifdef MODELVIEW1_ARB
#undef MODELVIEW1_ARB
#endif
#ifdef MODELVIEW2_ARB
#undef MODELVIEW2_ARB
#endif
#ifdef MODELVIEW3_ARB
#undef MODELVIEW3_ARB
#endif
#ifdef MODELVIEW4_ARB
#undef MODELVIEW4_ARB
#endif
#ifdef MODELVIEW5_ARB
#undef MODELVIEW5_ARB
#endif
#ifdef MODELVIEW6_ARB
#undef MODELVIEW6_ARB
#endif
#ifdef MODELVIEW7_ARB
#undef MODELVIEW7_ARB
#endif
#ifdef MODELVIEW8_ARB
#undef MODELVIEW8_ARB
#endif
#ifdef MODELVIEW9_ARB
#undef MODELVIEW9_ARB
#endif
#ifdef MODELVIEW10_ARB
#undef MODELVIEW10_ARB
#endif
#ifdef MODELVIEW11_ARB
#undef MODELVIEW11_ARB
#endif
#ifdef MODELVIEW12_ARB
#undef MODELVIEW12_ARB
#endif
#ifdef MODELVIEW13_ARB
#undef MODELVIEW13_ARB
#endif
#ifdef MODELVIEW14_ARB
#undef MODELVIEW14_ARB
#endif
#ifdef MODELVIEW15_ARB
#undef MODELVIEW15_ARB
#endif
#ifdef MODELVIEW16_ARB
#undef MODELVIEW16_ARB
#endif
#ifdef MODELVIEW17_ARB
#undef MODELVIEW17_ARB
#endif
#ifdef MODELVIEW18_ARB
#undef MODELVIEW18_ARB
#endif
#ifdef MODELVIEW19_ARB
#undef MODELVIEW19_ARB
#endif
#ifdef MODELVIEW20_ARB
#undef MODELVIEW20_ARB
#endif
#ifdef MODELVIEW21_ARB
#undef MODELVIEW21_ARB
#endif
#ifdef MODELVIEW22_ARB
#undef MODELVIEW22_ARB
#endif
#ifdef MODELVIEW23_ARB
#undef MODELVIEW23_ARB
#endif
#ifdef MODELVIEW24_ARB
#undef MODELVIEW24_ARB
#endif
#ifdef MODELVIEW25_ARB
#undef MODELVIEW25_ARB
#endif
#ifdef MODELVIEW26_ARB
#undef MODELVIEW26_ARB
#endif
#ifdef MODELVIEW27_ARB
#undef MODELVIEW27_ARB
#endif
#ifdef MODELVIEW28_ARB
#undef MODELVIEW28_ARB
#endif
#ifdef MODELVIEW29_ARB
#undef MODELVIEW29_ARB
#endif
#ifdef MODELVIEW30_ARB
#undef MODELVIEW30_ARB
#endif
#ifdef MODELVIEW31_ARB
#undef MODELVIEW31_ARB
#endif
#ifdef BUFFER_SIZE_ARB
#undef BUFFER_SIZE_ARB
#endif
#ifdef BUFFER_USAGE_ARB
#undef BUFFER_USAGE_ARB
#endif
#ifdef ARRAY_BUFFER_ARB
#undef ARRAY_BUFFER_ARB
#endif
#ifdef ELEMENT_ARRAY_BUFFER_ARB
#undef ELEMENT_ARRAY_BUFFER_ARB
#endif
#ifdef ARRAY_BUFFER_BINDING_ARB
#undef ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef ELEMENT_ARRAY_BUFFER_BINDING_ARB
#undef ELEMENT_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef VERTEX_ARRAY_BUFFER_BINDING_ARB
#undef VERTEX_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef NORMAL_ARRAY_BUFFER_BINDING_ARB
#undef NORMAL_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef COLOR_ARRAY_BUFFER_BINDING_ARB
#undef COLOR_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef INDEX_ARRAY_BUFFER_BINDING_ARB
#undef INDEX_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB
#undef TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB
#undef EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB
#undef SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB
#undef FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef WEIGHT_ARRAY_BUFFER_BINDING_ARB
#undef WEIGHT_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB
#undef VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB
#endif
#ifdef READ_ONLY_ARB
#undef READ_ONLY_ARB
#endif
#ifdef WRITE_ONLY_ARB
#undef WRITE_ONLY_ARB
#endif
#ifdef READ_WRITE_ARB
#undef READ_WRITE_ARB
#endif
#ifdef BUFFER_ACCESS_ARB
#undef BUFFER_ACCESS_ARB
#endif
#ifdef BUFFER_MAPPED_ARB
#undef BUFFER_MAPPED_ARB
#endif
#ifdef BUFFER_MAP_POINTER_ARB
#undef BUFFER_MAP_POINTER_ARB
#endif
#ifdef STREAM_DRAW_ARB
#undef STREAM_DRAW_ARB
#endif
#ifdef STREAM_READ_ARB
#undef STREAM_READ_ARB
#endif
#ifdef STREAM_COPY_ARB
#undef STREAM_COPY_ARB
#endif
#ifdef STATIC_DRAW_ARB
#undef STATIC_DRAW_ARB
#endif
#ifdef STATIC_READ_ARB
#undef STATIC_READ_ARB
#endif
#ifdef STATIC_COPY_ARB
#undef STATIC_COPY_ARB
#endif
#ifdef DYNAMIC_DRAW_ARB
#undef DYNAMIC_DRAW_ARB
#endif
#ifdef DYNAMIC_READ_ARB
#undef DYNAMIC_READ_ARB
#endif
#ifdef DYNAMIC_COPY_ARB
#undef DYNAMIC_COPY_ARB
#endif
#ifdef COLOR_SUM_ARB
#undef COLOR_SUM_ARB
#endif
#ifdef VERTEX_PROGRAM_ARB
#undef VERTEX_PROGRAM_ARB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_ENABLED_ARB
#undef VERTEX_ATTRIB_ARRAY_ENABLED_ARB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_SIZE_ARB
#undef VERTEX_ATTRIB_ARRAY_SIZE_ARB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_STRIDE_ARB
#undef VERTEX_ATTRIB_ARRAY_STRIDE_ARB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_TYPE_ARB
#undef VERTEX_ATTRIB_ARRAY_TYPE_ARB
#endif
#ifdef CURRENT_VERTEX_ATTRIB_ARB
#undef CURRENT_VERTEX_ATTRIB_ARB
#endif
#ifdef PROGRAM_LENGTH_ARB
#undef PROGRAM_LENGTH_ARB
#endif
#ifdef PROGRAM_STRING_ARB
#undef PROGRAM_STRING_ARB
#endif
#ifdef MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB
#undef MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB
#endif
#ifdef MAX_PROGRAM_MATRICES_ARB
#undef MAX_PROGRAM_MATRICES_ARB
#endif
#ifdef CURRENT_MATRIX_STACK_DEPTH_ARB
#undef CURRENT_MATRIX_STACK_DEPTH_ARB
#endif
#ifdef CURRENT_MATRIX_ARB
#undef CURRENT_MATRIX_ARB
#endif
#ifdef VERTEX_PROGRAM_POINT_SIZE_ARB
#undef VERTEX_PROGRAM_POINT_SIZE_ARB
#endif
#ifdef VERTEX_PROGRAM_TWO_SIDE_ARB
#undef VERTEX_PROGRAM_TWO_SIDE_ARB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_POINTER_ARB
#undef VERTEX_ATTRIB_ARRAY_POINTER_ARB
#endif
#ifdef PROGRAM_ERROR_POSITION_ARB
#undef PROGRAM_ERROR_POSITION_ARB
#endif
#ifdef PROGRAM_BINDING_ARB
#undef PROGRAM_BINDING_ARB
#endif
#ifdef MAX_VERTEX_ATTRIBS_ARB
#undef MAX_VERTEX_ATTRIBS_ARB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB
#undef VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB
#endif
#ifdef PROGRAM_ERROR_STRING_ARB
#undef PROGRAM_ERROR_STRING_ARB
#endif
#ifdef PROGRAM_FORMAT_ASCII_ARB
#undef PROGRAM_FORMAT_ASCII_ARB
#endif
#ifdef PROGRAM_FORMAT_ARB
#undef PROGRAM_FORMAT_ARB
#endif
#ifdef PROGRAM_INSTRUCTIONS_ARB
#undef PROGRAM_INSTRUCTIONS_ARB
#endif
#ifdef MAX_PROGRAM_INSTRUCTIONS_ARB
#undef MAX_PROGRAM_INSTRUCTIONS_ARB
#endif
#ifdef PROGRAM_NATIVE_INSTRUCTIONS_ARB
#undef PROGRAM_NATIVE_INSTRUCTIONS_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB
#undef MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB
#endif
#ifdef PROGRAM_TEMPORARIES_ARB
#undef PROGRAM_TEMPORARIES_ARB
#endif
#ifdef MAX_PROGRAM_TEMPORARIES_ARB
#undef MAX_PROGRAM_TEMPORARIES_ARB
#endif
#ifdef PROGRAM_NATIVE_TEMPORARIES_ARB
#undef PROGRAM_NATIVE_TEMPORARIES_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_TEMPORARIES_ARB
#undef MAX_PROGRAM_NATIVE_TEMPORARIES_ARB
#endif
#ifdef PROGRAM_PARAMETERS_ARB
#undef PROGRAM_PARAMETERS_ARB
#endif
#ifdef MAX_PROGRAM_PARAMETERS_ARB
#undef MAX_PROGRAM_PARAMETERS_ARB
#endif
#ifdef PROGRAM_NATIVE_PARAMETERS_ARB
#undef PROGRAM_NATIVE_PARAMETERS_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_PARAMETERS_ARB
#undef MAX_PROGRAM_NATIVE_PARAMETERS_ARB
#endif
#ifdef PROGRAM_ATTRIBS_ARB
#undef PROGRAM_ATTRIBS_ARB
#endif
#ifdef MAX_PROGRAM_ATTRIBS_ARB
#undef MAX_PROGRAM_ATTRIBS_ARB
#endif
#ifdef PROGRAM_NATIVE_ATTRIBS_ARB
#undef PROGRAM_NATIVE_ATTRIBS_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_ATTRIBS_ARB
#undef MAX_PROGRAM_NATIVE_ATTRIBS_ARB
#endif
#ifdef PROGRAM_ADDRESS_REGISTERS_ARB
#undef PROGRAM_ADDRESS_REGISTERS_ARB
#endif
#ifdef MAX_PROGRAM_ADDRESS_REGISTERS_ARB
#undef MAX_PROGRAM_ADDRESS_REGISTERS_ARB
#endif
#ifdef PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
#undef PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
#endif
#ifdef MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
#undef MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
#endif
#ifdef MAX_PROGRAM_LOCAL_PARAMETERS_ARB
#undef MAX_PROGRAM_LOCAL_PARAMETERS_ARB
#endif
#ifdef MAX_PROGRAM_ENV_PARAMETERS_ARB
#undef MAX_PROGRAM_ENV_PARAMETERS_ARB
#endif
#ifdef PROGRAM_UNDER_NATIVE_LIMITS_ARB
#undef PROGRAM_UNDER_NATIVE_LIMITS_ARB
#endif
#ifdef TRANSPOSE_CURRENT_MATRIX_ARB
#undef TRANSPOSE_CURRENT_MATRIX_ARB
#endif
#ifdef MATRIX0_ARB
#undef MATRIX0_ARB
#endif
#ifdef MATRIX1_ARB
#undef MATRIX1_ARB
#endif
#ifdef MATRIX2_ARB
#undef MATRIX2_ARB
#endif
#ifdef MATRIX3_ARB
#undef MATRIX3_ARB
#endif
#ifdef MATRIX4_ARB
#undef MATRIX4_ARB
#endif
#ifdef MATRIX5_ARB
#undef MATRIX5_ARB
#endif
#ifdef MATRIX6_ARB
#undef MATRIX6_ARB
#endif
#ifdef MATRIX7_ARB
#undef MATRIX7_ARB
#endif
#ifdef MATRIX8_ARB
#undef MATRIX8_ARB
#endif
#ifdef MATRIX9_ARB
#undef MATRIX9_ARB
#endif
#ifdef MATRIX10_ARB
#undef MATRIX10_ARB
#endif
#ifdef MATRIX11_ARB
#undef MATRIX11_ARB
#endif
#ifdef MATRIX12_ARB
#undef MATRIX12_ARB
#endif
#ifdef MATRIX13_ARB
#undef MATRIX13_ARB
#endif
#ifdef MATRIX14_ARB
#undef MATRIX14_ARB
#endif
#ifdef MATRIX15_ARB
#undef MATRIX15_ARB
#endif
#ifdef MATRIX16_ARB
#undef MATRIX16_ARB
#endif
#ifdef MATRIX17_ARB
#undef MATRIX17_ARB
#endif
#ifdef MATRIX18_ARB
#undef MATRIX18_ARB
#endif
#ifdef MATRIX19_ARB
#undef MATRIX19_ARB
#endif
#ifdef MATRIX20_ARB
#undef MATRIX20_ARB
#endif
#ifdef MATRIX21_ARB
#undef MATRIX21_ARB
#endif
#ifdef MATRIX22_ARB
#undef MATRIX22_ARB
#endif
#ifdef MATRIX23_ARB
#undef MATRIX23_ARB
#endif
#ifdef MATRIX24_ARB
#undef MATRIX24_ARB
#endif
#ifdef MATRIX25_ARB
#undef MATRIX25_ARB
#endif
#ifdef MATRIX26_ARB
#undef MATRIX26_ARB
#endif
#ifdef MATRIX27_ARB
#undef MATRIX27_ARB
#endif
#ifdef MATRIX28_ARB
#undef MATRIX28_ARB
#endif
#ifdef MATRIX29_ARB
#undef MATRIX29_ARB
#endif
#ifdef MATRIX30_ARB
#undef MATRIX30_ARB
#endif
#ifdef MATRIX31_ARB
#undef MATRIX31_ARB
#endif
#ifdef VERTEX_SHADER_ARB
#undef VERTEX_SHADER_ARB
#endif
#ifdef MAX_VERTEX_UNIFORM_COMPONENTS_ARB
#undef MAX_VERTEX_UNIFORM_COMPONENTS_ARB
#endif
#ifdef MAX_VARYING_FLOATS_ARB
#undef MAX_VARYING_FLOATS_ARB
#endif
#ifdef MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB
#undef MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB
#endif
#ifdef MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB
#undef MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB
#endif
#ifdef OBJECT_ACTIVE_ATTRIBUTES_ARB
#undef OBJECT_ACTIVE_ATTRIBUTES_ARB
#endif
#ifdef OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB
#undef OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB
#endif
#ifdef INT_2_10_10_10_REV
#undef INT_2_10_10_10_REV
#endif
#ifdef MAX_DRAW_BUFFERS_ATI
#undef MAX_DRAW_BUFFERS_ATI
#endif
#ifdef DRAW_BUFFER0_ATI
#undef DRAW_BUFFER0_ATI
#endif
#ifdef DRAW_BUFFER1_ATI
#undef DRAW_BUFFER1_ATI
#endif
#ifdef DRAW_BUFFER2_ATI
#undef DRAW_BUFFER2_ATI
#endif
#ifdef DRAW_BUFFER3_ATI
#undef DRAW_BUFFER3_ATI
#endif
#ifdef DRAW_BUFFER4_ATI
#undef DRAW_BUFFER4_ATI
#endif
#ifdef DRAW_BUFFER5_ATI
#undef DRAW_BUFFER5_ATI
#endif
#ifdef DRAW_BUFFER6_ATI
#undef DRAW_BUFFER6_ATI
#endif
#ifdef DRAW_BUFFER7_ATI
#undef DRAW_BUFFER7_ATI
#endif
#ifdef DRAW_BUFFER8_ATI
#undef DRAW_BUFFER8_ATI
#endif
#ifdef DRAW_BUFFER9_ATI
#undef DRAW_BUFFER9_ATI
#endif
#ifdef DRAW_BUFFER10_ATI
#undef DRAW_BUFFER10_ATI
#endif
#ifdef DRAW_BUFFER11_ATI
#undef DRAW_BUFFER11_ATI
#endif
#ifdef DRAW_BUFFER12_ATI
#undef DRAW_BUFFER12_ATI
#endif
#ifdef DRAW_BUFFER13_ATI
#undef DRAW_BUFFER13_ATI
#endif
#ifdef DRAW_BUFFER14_ATI
#undef DRAW_BUFFER14_ATI
#endif
#ifdef DRAW_BUFFER15_ATI
#undef DRAW_BUFFER15_ATI
#endif
#ifdef ELEMENT_ARRAY_ATI
#undef ELEMENT_ARRAY_ATI
#endif
#ifdef ELEMENT_ARRAY_TYPE_ATI
#undef ELEMENT_ARRAY_TYPE_ATI
#endif
#ifdef ELEMENT_ARRAY_POINTER_ATI
#undef ELEMENT_ARRAY_POINTER_ATI
#endif
#ifdef BUMP_ROT_MATRIX_ATI
#undef BUMP_ROT_MATRIX_ATI
#endif
#ifdef BUMP_ROT_MATRIX_SIZE_ATI
#undef BUMP_ROT_MATRIX_SIZE_ATI
#endif
#ifdef BUMP_NUM_TEX_UNITS_ATI
#undef BUMP_NUM_TEX_UNITS_ATI
#endif
#ifdef BUMP_TEX_UNITS_ATI
#undef BUMP_TEX_UNITS_ATI
#endif
#ifdef DUDV_ATI
#undef DUDV_ATI
#endif
#ifdef DU8DV8_ATI
#undef DU8DV8_ATI
#endif
#ifdef BUMP_ENVMAP_ATI
#undef BUMP_ENVMAP_ATI
#endif
#ifdef BUMP_TARGET_ATI
#undef BUMP_TARGET_ATI
#endif
#ifdef FRAGMENT_SHADER_ATI
#undef FRAGMENT_SHADER_ATI
#endif
#ifdef REG_0_ATI
#undef REG_0_ATI
#endif
#ifdef REG_1_ATI
#undef REG_1_ATI
#endif
#ifdef REG_2_ATI
#undef REG_2_ATI
#endif
#ifdef REG_3_ATI
#undef REG_3_ATI
#endif
#ifdef REG_4_ATI
#undef REG_4_ATI
#endif
#ifdef REG_5_ATI
#undef REG_5_ATI
#endif
#ifdef REG_6_ATI
#undef REG_6_ATI
#endif
#ifdef REG_7_ATI
#undef REG_7_ATI
#endif
#ifdef REG_8_ATI
#undef REG_8_ATI
#endif
#ifdef REG_9_ATI
#undef REG_9_ATI
#endif
#ifdef REG_10_ATI
#undef REG_10_ATI
#endif
#ifdef REG_11_ATI
#undef REG_11_ATI
#endif
#ifdef REG_12_ATI
#undef REG_12_ATI
#endif
#ifdef REG_13_ATI
#undef REG_13_ATI
#endif
#ifdef REG_14_ATI
#undef REG_14_ATI
#endif
#ifdef REG_15_ATI
#undef REG_15_ATI
#endif
#ifdef REG_16_ATI
#undef REG_16_ATI
#endif
#ifdef REG_17_ATI
#undef REG_17_ATI
#endif
#ifdef REG_18_ATI
#undef REG_18_ATI
#endif
#ifdef REG_19_ATI
#undef REG_19_ATI
#endif
#ifdef REG_20_ATI
#undef REG_20_ATI
#endif
#ifdef REG_21_ATI
#undef REG_21_ATI
#endif
#ifdef REG_22_ATI
#undef REG_22_ATI
#endif
#ifdef REG_23_ATI
#undef REG_23_ATI
#endif
#ifdef REG_24_ATI
#undef REG_24_ATI
#endif
#ifdef REG_25_ATI
#undef REG_25_ATI
#endif
#ifdef REG_26_ATI
#undef REG_26_ATI
#endif
#ifdef REG_27_ATI
#undef REG_27_ATI
#endif
#ifdef REG_28_ATI
#undef REG_28_ATI
#endif
#ifdef REG_29_ATI
#undef REG_29_ATI
#endif
#ifdef REG_30_ATI
#undef REG_30_ATI
#endif
#ifdef REG_31_ATI
#undef REG_31_ATI
#endif
#ifdef CON_0_ATI
#undef CON_0_ATI
#endif
#ifdef CON_1_ATI
#undef CON_1_ATI
#endif
#ifdef CON_2_ATI
#undef CON_2_ATI
#endif
#ifdef CON_3_ATI
#undef CON_3_ATI
#endif
#ifdef CON_4_ATI
#undef CON_4_ATI
#endif
#ifdef CON_5_ATI
#undef CON_5_ATI
#endif
#ifdef CON_6_ATI
#undef CON_6_ATI
#endif
#ifdef CON_7_ATI
#undef CON_7_ATI
#endif
#ifdef CON_8_ATI
#undef CON_8_ATI
#endif
#ifdef CON_9_ATI
#undef CON_9_ATI
#endif
#ifdef CON_10_ATI
#undef CON_10_ATI
#endif
#ifdef CON_11_ATI
#undef CON_11_ATI
#endif
#ifdef CON_12_ATI
#undef CON_12_ATI
#endif
#ifdef CON_13_ATI
#undef CON_13_ATI
#endif
#ifdef CON_14_ATI
#undef CON_14_ATI
#endif
#ifdef CON_15_ATI
#undef CON_15_ATI
#endif
#ifdef CON_16_ATI
#undef CON_16_ATI
#endif
#ifdef CON_17_ATI
#undef CON_17_ATI
#endif
#ifdef CON_18_ATI
#undef CON_18_ATI
#endif
#ifdef CON_19_ATI
#undef CON_19_ATI
#endif
#ifdef CON_20_ATI
#undef CON_20_ATI
#endif
#ifdef CON_21_ATI
#undef CON_21_ATI
#endif
#ifdef CON_22_ATI
#undef CON_22_ATI
#endif
#ifdef CON_23_ATI
#undef CON_23_ATI
#endif
#ifdef CON_24_ATI
#undef CON_24_ATI
#endif
#ifdef CON_25_ATI
#undef CON_25_ATI
#endif
#ifdef CON_26_ATI
#undef CON_26_ATI
#endif
#ifdef CON_27_ATI
#undef CON_27_ATI
#endif
#ifdef CON_28_ATI
#undef CON_28_ATI
#endif
#ifdef CON_29_ATI
#undef CON_29_ATI
#endif
#ifdef CON_30_ATI
#undef CON_30_ATI
#endif
#ifdef CON_31_ATI
#undef CON_31_ATI
#endif
#ifdef MOV_ATI
#undef MOV_ATI
#endif
#ifdef ADD_ATI
#undef ADD_ATI
#endif
#ifdef MUL_ATI
#undef MUL_ATI
#endif
#ifdef SUB_ATI
#undef SUB_ATI
#endif
#ifdef DOT3_ATI
#undef DOT3_ATI
#endif
#ifdef DOT4_ATI
#undef DOT4_ATI
#endif
#ifdef MAD_ATI
#undef MAD_ATI
#endif
#ifdef LERP_ATI
#undef LERP_ATI
#endif
#ifdef CND_ATI
#undef CND_ATI
#endif
#ifdef CND0_ATI
#undef CND0_ATI
#endif
#ifdef DOT2_ADD_ATI
#undef DOT2_ADD_ATI
#endif
#ifdef SECONDARY_INTERPOLATOR_ATI
#undef SECONDARY_INTERPOLATOR_ATI
#endif
#ifdef NUM_FRAGMENT_REGISTERS_ATI
#undef NUM_FRAGMENT_REGISTERS_ATI
#endif
#ifdef NUM_FRAGMENT_CONSTANTS_ATI
#undef NUM_FRAGMENT_CONSTANTS_ATI
#endif
#ifdef NUM_PASSES_ATI
#undef NUM_PASSES_ATI
#endif
#ifdef NUM_INSTRUCTIONS_PER_PASS_ATI
#undef NUM_INSTRUCTIONS_PER_PASS_ATI
#endif
#ifdef NUM_INSTRUCTIONS_TOTAL_ATI
#undef NUM_INSTRUCTIONS_TOTAL_ATI
#endif
#ifdef NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI
#undef NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI
#endif
#ifdef NUM_LOOPBACK_COMPONENTS_ATI
#undef NUM_LOOPBACK_COMPONENTS_ATI
#endif
#ifdef COLOR_ALPHA_PAIRING_ATI
#undef COLOR_ALPHA_PAIRING_ATI
#endif
#ifdef SWIZZLE_STR_ATI
#undef SWIZZLE_STR_ATI
#endif
#ifdef SWIZZLE_STQ_ATI
#undef SWIZZLE_STQ_ATI
#endif
#ifdef SWIZZLE_STR_DR_ATI
#undef SWIZZLE_STR_DR_ATI
#endif
#ifdef SWIZZLE_STQ_DQ_ATI
#undef SWIZZLE_STQ_DQ_ATI
#endif
#ifdef SWIZZLE_STRQ_ATI
#undef SWIZZLE_STRQ_ATI
#endif
#ifdef SWIZZLE_STRQ_DQ_ATI
#undef SWIZZLE_STRQ_DQ_ATI
#endif
#ifdef RED_BIT_ATI
#undef RED_BIT_ATI
#endif
#ifdef GREEN_BIT_ATI
#undef GREEN_BIT_ATI
#endif
#ifdef BLUE_BIT_ATI
#undef BLUE_BIT_ATI
#endif
#ifdef _2X_BIT_ATI
#undef _2X_BIT_ATI
#endif
#ifdef _4X_BIT_ATI
#undef _4X_BIT_ATI
#endif
#ifdef _8X_BIT_ATI
#undef _8X_BIT_ATI
#endif
#ifdef HALF_BIT_ATI
#undef HALF_BIT_ATI
#endif
#ifdef QUARTER_BIT_ATI
#undef QUARTER_BIT_ATI
#endif
#ifdef EIGHTH_BIT_ATI
#undef EIGHTH_BIT_ATI
#endif
#ifdef SATURATE_BIT_ATI
#undef SATURATE_BIT_ATI
#endif
#ifdef COMP_BIT_ATI
#undef COMP_BIT_ATI
#endif
#ifdef NEGATE_BIT_ATI
#undef NEGATE_BIT_ATI
#endif
#ifdef BIAS_BIT_ATI
#undef BIAS_BIT_ATI
#endif
#ifdef VBO_FREE_MEMORY_ATI
#undef VBO_FREE_MEMORY_ATI
#endif
#ifdef TEXTURE_FREE_MEMORY_ATI
#undef TEXTURE_FREE_MEMORY_ATI
#endif
#ifdef RENDERBUFFER_FREE_MEMORY_ATI
#undef RENDERBUFFER_FREE_MEMORY_ATI
#endif
#ifdef TYPE_RGBA_FLOAT_ATI
#undef TYPE_RGBA_FLOAT_ATI
#endif
#ifdef COLOR_CLEAR_UNCLAMPED_VALUE_ATI
#undef COLOR_CLEAR_UNCLAMPED_VALUE_ATI
#endif
#ifdef PN_TRIANGLES_ATI
#undef PN_TRIANGLES_ATI
#endif
#ifdef MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI
#undef MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI
#endif
#ifdef PN_TRIANGLES_POINT_MODE_ATI
#undef PN_TRIANGLES_POINT_MODE_ATI
#endif
#ifdef PN_TRIANGLES_NORMAL_MODE_ATI
#undef PN_TRIANGLES_NORMAL_MODE_ATI
#endif
#ifdef PN_TRIANGLES_TESSELATION_LEVEL_ATI
#undef PN_TRIANGLES_TESSELATION_LEVEL_ATI
#endif
#ifdef PN_TRIANGLES_POINT_MODE_LINEAR_ATI
#undef PN_TRIANGLES_POINT_MODE_LINEAR_ATI
#endif
#ifdef PN_TRIANGLES_POINT_MODE_CUBIC_ATI
#undef PN_TRIANGLES_POINT_MODE_CUBIC_ATI
#endif
#ifdef PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI
#undef PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI
#endif
#ifdef PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI
#undef PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI
#endif
#ifdef STENCIL_BACK_FUNC_ATI
#undef STENCIL_BACK_FUNC_ATI
#endif
#ifdef STENCIL_BACK_FAIL_ATI
#undef STENCIL_BACK_FAIL_ATI
#endif
#ifdef STENCIL_BACK_PASS_DEPTH_FAIL_ATI
#undef STENCIL_BACK_PASS_DEPTH_FAIL_ATI
#endif
#ifdef STENCIL_BACK_PASS_DEPTH_PASS_ATI
#undef STENCIL_BACK_PASS_DEPTH_PASS_ATI
#endif
#ifdef TEXT_FRAGMENT_SHADER_ATI
#undef TEXT_FRAGMENT_SHADER_ATI
#endif
#ifdef MODULATE_ADD_ATI
#undef MODULATE_ADD_ATI
#endif
#ifdef MODULATE_SIGNED_ADD_ATI
#undef MODULATE_SIGNED_ADD_ATI
#endif
#ifdef MODULATE_SUBTRACT_ATI
#undef MODULATE_SUBTRACT_ATI
#endif
#ifdef RGBA_FLOAT32_ATI
#undef RGBA_FLOAT32_ATI
#endif
#ifdef RGB_FLOAT32_ATI
#undef RGB_FLOAT32_ATI
#endif
#ifdef ALPHA_FLOAT32_ATI
#undef ALPHA_FLOAT32_ATI
#endif
#ifdef INTENSITY_FLOAT32_ATI
#undef INTENSITY_FLOAT32_ATI
#endif
#ifdef LUMINANCE_FLOAT32_ATI
#undef LUMINANCE_FLOAT32_ATI
#endif
#ifdef LUMINANCE_ALPHA_FLOAT32_ATI
#undef LUMINANCE_ALPHA_FLOAT32_ATI
#endif
#ifdef RGBA_FLOAT16_ATI
#undef RGBA_FLOAT16_ATI
#endif
#ifdef RGB_FLOAT16_ATI
#undef RGB_FLOAT16_ATI
#endif
#ifdef ALPHA_FLOAT16_ATI
#undef ALPHA_FLOAT16_ATI
#endif
#ifdef INTENSITY_FLOAT16_ATI
#undef INTENSITY_FLOAT16_ATI
#endif
#ifdef LUMINANCE_FLOAT16_ATI
#undef LUMINANCE_FLOAT16_ATI
#endif
#ifdef LUMINANCE_ALPHA_FLOAT16_ATI
#undef LUMINANCE_ALPHA_FLOAT16_ATI
#endif
#ifdef MIRROR_CLAMP_ATI
#undef MIRROR_CLAMP_ATI
#endif
#ifdef MIRROR_CLAMP_TO_EDGE_ATI
#undef MIRROR_CLAMP_TO_EDGE_ATI
#endif
#ifdef STATIC_ATI
#undef STATIC_ATI
#endif
#ifdef DYNAMIC_ATI
#undef DYNAMIC_ATI
#endif
#ifdef PRESERVE_ATI
#undef PRESERVE_ATI
#endif
#ifdef DISCARD_ATI
#undef DISCARD_ATI
#endif
#ifdef OBJECT_BUFFER_SIZE_ATI
#undef OBJECT_BUFFER_SIZE_ATI
#endif
#ifdef OBJECT_BUFFER_USAGE_ATI
#undef OBJECT_BUFFER_USAGE_ATI
#endif
#ifdef ARRAY_OBJECT_BUFFER_ATI
#undef ARRAY_OBJECT_BUFFER_ATI
#endif
#ifdef ARRAY_OBJECT_OFFSET_ATI
#undef ARRAY_OBJECT_OFFSET_ATI
#endif
#ifdef MAX_VERTEX_STREAMS_ATI
#undef MAX_VERTEX_STREAMS_ATI
#endif
#ifdef VERTEX_STREAM0_ATI
#undef VERTEX_STREAM0_ATI
#endif
#ifdef VERTEX_STREAM1_ATI
#undef VERTEX_STREAM1_ATI
#endif
#ifdef VERTEX_STREAM2_ATI
#undef VERTEX_STREAM2_ATI
#endif
#ifdef VERTEX_STREAM3_ATI
#undef VERTEX_STREAM3_ATI
#endif
#ifdef VERTEX_STREAM4_ATI
#undef VERTEX_STREAM4_ATI
#endif
#ifdef VERTEX_STREAM5_ATI
#undef VERTEX_STREAM5_ATI
#endif
#ifdef VERTEX_STREAM6_ATI
#undef VERTEX_STREAM6_ATI
#endif
#ifdef VERTEX_STREAM7_ATI
#undef VERTEX_STREAM7_ATI
#endif
#ifdef VERTEX_SOURCE_ATI
#undef VERTEX_SOURCE_ATI
#endif
#ifdef _422_EXT
#undef _422_EXT
#endif
#ifdef _422_REV_EXT
#undef _422_REV_EXT
#endif
#ifdef _422_AVERAGE_EXT
#undef _422_AVERAGE_EXT
#endif
#ifdef _422_REV_AVERAGE_EXT
#undef _422_REV_AVERAGE_EXT
#endif
#ifdef ABGR_EXT
#undef ABGR_EXT
#endif
#ifdef BGR_EXT
#undef BGR_EXT
#endif
#ifdef BGRA_EXT
#undef BGRA_EXT
#endif
#ifdef MAX_VERTEX_BINDABLE_UNIFORMS_EXT
#undef MAX_VERTEX_BINDABLE_UNIFORMS_EXT
#endif
#ifdef MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT
#undef MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT
#endif
#ifdef MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT
#undef MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT
#endif
#ifdef MAX_BINDABLE_UNIFORM_SIZE_EXT
#undef MAX_BINDABLE_UNIFORM_SIZE_EXT
#endif
#ifdef UNIFORM_BUFFER_EXT
#undef UNIFORM_BUFFER_EXT
#endif
#ifdef UNIFORM_BUFFER_BINDING_EXT
#undef UNIFORM_BUFFER_BINDING_EXT
#endif
#ifdef CONSTANT_COLOR_EXT
#undef CONSTANT_COLOR_EXT
#endif
#ifdef ONE_MINUS_CONSTANT_COLOR_EXT
#undef ONE_MINUS_CONSTANT_COLOR_EXT
#endif
#ifdef CONSTANT_ALPHA_EXT
#undef CONSTANT_ALPHA_EXT
#endif
#ifdef ONE_MINUS_CONSTANT_ALPHA_EXT
#undef ONE_MINUS_CONSTANT_ALPHA_EXT
#endif
#ifdef BLEND_COLOR_EXT
#undef BLEND_COLOR_EXT
#endif
#ifdef BLEND_EQUATION_RGB_EXT
#undef BLEND_EQUATION_RGB_EXT
#endif
#ifdef BLEND_EQUATION_ALPHA_EXT
#undef BLEND_EQUATION_ALPHA_EXT
#endif
#ifdef BLEND_DST_RGB_EXT
#undef BLEND_DST_RGB_EXT
#endif
#ifdef BLEND_SRC_RGB_EXT
#undef BLEND_SRC_RGB_EXT
#endif
#ifdef BLEND_DST_ALPHA_EXT
#undef BLEND_DST_ALPHA_EXT
#endif
#ifdef BLEND_SRC_ALPHA_EXT
#undef BLEND_SRC_ALPHA_EXT
#endif
#ifdef FUNC_ADD_EXT
#undef FUNC_ADD_EXT
#endif
#ifdef MIN_EXT
#undef MIN_EXT
#endif
#ifdef MAX_EXT
#undef MAX_EXT
#endif
#ifdef BLEND_EQUATION_EXT
#undef BLEND_EQUATION_EXT
#endif
#ifdef FUNC_SUBTRACT_EXT
#undef FUNC_SUBTRACT_EXT
#endif
#ifdef FUNC_REVERSE_SUBTRACT_EXT
#undef FUNC_REVERSE_SUBTRACT_EXT
#endif
#ifdef CLIP_VOLUME_CLIPPING_HINT_EXT
#undef CLIP_VOLUME_CLIPPING_HINT_EXT
#endif
#ifdef CMYK_EXT
#undef CMYK_EXT
#endif
#ifdef CMYKA_EXT
#undef CMYKA_EXT
#endif
#ifdef PACK_CMYK_HINT_EXT
#undef PACK_CMYK_HINT_EXT
#endif
#ifdef UNPACK_CMYK_HINT_EXT
#undef UNPACK_CMYK_HINT_EXT
#endif
#ifdef ARRAY_ELEMENT_LOCK_FIRST_EXT
#undef ARRAY_ELEMENT_LOCK_FIRST_EXT
#endif
#ifdef ARRAY_ELEMENT_LOCK_COUNT_EXT
#undef ARRAY_ELEMENT_LOCK_COUNT_EXT
#endif
#ifdef CONVOLUTION_1D_EXT
#undef CONVOLUTION_1D_EXT
#endif
#ifdef CONVOLUTION_2D_EXT
#undef CONVOLUTION_2D_EXT
#endif
#ifdef SEPARABLE_2D_EXT
#undef SEPARABLE_2D_EXT
#endif
#ifdef CONVOLUTION_BORDER_MODE_EXT
#undef CONVOLUTION_BORDER_MODE_EXT
#endif
#ifdef CONVOLUTION_FILTER_SCALE_EXT
#undef CONVOLUTION_FILTER_SCALE_EXT
#endif
#ifdef CONVOLUTION_FILTER_BIAS_EXT
#undef CONVOLUTION_FILTER_BIAS_EXT
#endif
#ifdef REDUCE_EXT
#undef REDUCE_EXT
#endif
#ifdef CONVOLUTION_FORMAT_EXT
#undef CONVOLUTION_FORMAT_EXT
#endif
#ifdef CONVOLUTION_WIDTH_EXT
#undef CONVOLUTION_WIDTH_EXT
#endif
#ifdef CONVOLUTION_HEIGHT_EXT
#undef CONVOLUTION_HEIGHT_EXT
#endif
#ifdef MAX_CONVOLUTION_WIDTH_EXT
#undef MAX_CONVOLUTION_WIDTH_EXT
#endif
#ifdef MAX_CONVOLUTION_HEIGHT_EXT
#undef MAX_CONVOLUTION_HEIGHT_EXT
#endif
#ifdef POST_CONVOLUTION_RED_SCALE_EXT
#undef POST_CONVOLUTION_RED_SCALE_EXT
#endif
#ifdef POST_CONVOLUTION_GREEN_SCALE_EXT
#undef POST_CONVOLUTION_GREEN_SCALE_EXT
#endif
#ifdef POST_CONVOLUTION_BLUE_SCALE_EXT
#undef POST_CONVOLUTION_BLUE_SCALE_EXT
#endif
#ifdef POST_CONVOLUTION_ALPHA_SCALE_EXT
#undef POST_CONVOLUTION_ALPHA_SCALE_EXT
#endif
#ifdef POST_CONVOLUTION_RED_BIAS_EXT
#undef POST_CONVOLUTION_RED_BIAS_EXT
#endif
#ifdef POST_CONVOLUTION_GREEN_BIAS_EXT
#undef POST_CONVOLUTION_GREEN_BIAS_EXT
#endif
#ifdef POST_CONVOLUTION_BLUE_BIAS_EXT
#undef POST_CONVOLUTION_BLUE_BIAS_EXT
#endif
#ifdef POST_CONVOLUTION_ALPHA_BIAS_EXT
#undef POST_CONVOLUTION_ALPHA_BIAS_EXT
#endif
#ifdef TANGENT_ARRAY_EXT
#undef TANGENT_ARRAY_EXT
#endif
#ifdef BINORMAL_ARRAY_EXT
#undef BINORMAL_ARRAY_EXT
#endif
#ifdef CURRENT_TANGENT_EXT
#undef CURRENT_TANGENT_EXT
#endif
#ifdef CURRENT_BINORMAL_EXT
#undef CURRENT_BINORMAL_EXT
#endif
#ifdef TANGENT_ARRAY_TYPE_EXT
#undef TANGENT_ARRAY_TYPE_EXT
#endif
#ifdef TANGENT_ARRAY_STRIDE_EXT
#undef TANGENT_ARRAY_STRIDE_EXT
#endif
#ifdef BINORMAL_ARRAY_TYPE_EXT
#undef BINORMAL_ARRAY_TYPE_EXT
#endif
#ifdef BINORMAL_ARRAY_STRIDE_EXT
#undef BINORMAL_ARRAY_STRIDE_EXT
#endif
#ifdef TANGENT_ARRAY_POINTER_EXT
#undef TANGENT_ARRAY_POINTER_EXT
#endif
#ifdef BINORMAL_ARRAY_POINTER_EXT
#undef BINORMAL_ARRAY_POINTER_EXT
#endif
#ifdef MAP1_TANGENT_EXT
#undef MAP1_TANGENT_EXT
#endif
#ifdef MAP2_TANGENT_EXT
#undef MAP2_TANGENT_EXT
#endif
#ifdef MAP1_BINORMAL_EXT
#undef MAP1_BINORMAL_EXT
#endif
#ifdef MAP2_BINORMAL_EXT
#undef MAP2_BINORMAL_EXT
#endif
#ifdef CULL_VERTEX_EXT
#undef CULL_VERTEX_EXT
#endif
#ifdef CULL_VERTEX_EYE_POSITION_EXT
#undef CULL_VERTEX_EYE_POSITION_EXT
#endif
#ifdef CULL_VERTEX_OBJECT_POSITION_EXT
#undef CULL_VERTEX_OBJECT_POSITION_EXT
#endif
#ifdef DEPTH_BOUNDS_TEST_EXT
#undef DEPTH_BOUNDS_TEST_EXT
#endif
#ifdef DEPTH_BOUNDS_EXT
#undef DEPTH_BOUNDS_EXT
#endif
#ifdef PROGRAM_MATRIX_EXT
#undef PROGRAM_MATRIX_EXT
#endif
#ifdef TRANSPOSE_PROGRAM_MATRIX_EXT
#undef TRANSPOSE_PROGRAM_MATRIX_EXT
#endif
#ifdef PROGRAM_MATRIX_STACK_DEPTH_EXT
#undef PROGRAM_MATRIX_STACK_DEPTH_EXT
#endif
#ifdef MAX_ELEMENTS_VERTICES_EXT
#undef MAX_ELEMENTS_VERTICES_EXT
#endif
#ifdef MAX_ELEMENTS_INDICES_EXT
#undef MAX_ELEMENTS_INDICES_EXT
#endif
#ifdef FOG_COORDINATE_SOURCE_EXT
#undef FOG_COORDINATE_SOURCE_EXT
#endif
#ifdef FOG_COORDINATE_EXT
#undef FOG_COORDINATE_EXT
#endif
#ifdef FRAGMENT_DEPTH_EXT
#undef FRAGMENT_DEPTH_EXT
#endif
#ifdef CURRENT_FOG_COORDINATE_EXT
#undef CURRENT_FOG_COORDINATE_EXT
#endif
#ifdef FOG_COORDINATE_ARRAY_TYPE_EXT
#undef FOG_COORDINATE_ARRAY_TYPE_EXT
#endif
#ifdef FOG_COORDINATE_ARRAY_STRIDE_EXT
#undef FOG_COORDINATE_ARRAY_STRIDE_EXT
#endif
#ifdef FOG_COORDINATE_ARRAY_POINTER_EXT
#undef FOG_COORDINATE_ARRAY_POINTER_EXT
#endif
#ifdef FOG_COORDINATE_ARRAY_EXT
#undef FOG_COORDINATE_ARRAY_EXT
#endif
#ifdef READ_FRAMEBUFFER_EXT
#undef READ_FRAMEBUFFER_EXT
#endif
#ifdef DRAW_FRAMEBUFFER_EXT
#undef DRAW_FRAMEBUFFER_EXT
#endif
#ifdef DRAW_FRAMEBUFFER_BINDING_EXT
#undef DRAW_FRAMEBUFFER_BINDING_EXT
#endif
#ifdef READ_FRAMEBUFFER_BINDING_EXT
#undef READ_FRAMEBUFFER_BINDING_EXT
#endif
#ifdef RENDERBUFFER_SAMPLES_EXT
#undef RENDERBUFFER_SAMPLES_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
#undef FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
#endif
#ifdef MAX_SAMPLES_EXT
#undef MAX_SAMPLES_EXT
#endif
#ifdef INVALID_FRAMEBUFFER_OPERATION_EXT
#undef INVALID_FRAMEBUFFER_OPERATION_EXT
#endif
#ifdef MAX_RENDERBUFFER_SIZE_EXT
#undef MAX_RENDERBUFFER_SIZE_EXT
#endif
#ifdef FRAMEBUFFER_BINDING_EXT
#undef FRAMEBUFFER_BINDING_EXT
#endif
#ifdef RENDERBUFFER_BINDING_EXT
#undef RENDERBUFFER_BINDING_EXT
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT
#undef FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT
#undef FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT
#undef FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT
#undef FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT
#undef FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT
#endif
#ifdef FRAMEBUFFER_COMPLETE_EXT
#undef FRAMEBUFFER_COMPLETE_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT
#undef FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT
#undef FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT
#undef FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_FORMATS_EXT
#undef FRAMEBUFFER_INCOMPLETE_FORMATS_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT
#undef FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT
#undef FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT
#endif
#ifdef FRAMEBUFFER_UNSUPPORTED_EXT
#undef FRAMEBUFFER_UNSUPPORTED_EXT
#endif
#ifdef MAX_COLOR_ATTACHMENTS_EXT
#undef MAX_COLOR_ATTACHMENTS_EXT
#endif
#ifdef COLOR_ATTACHMENT0_EXT
#undef COLOR_ATTACHMENT0_EXT
#endif
#ifdef COLOR_ATTACHMENT1_EXT
#undef COLOR_ATTACHMENT1_EXT
#endif
#ifdef COLOR_ATTACHMENT2_EXT
#undef COLOR_ATTACHMENT2_EXT
#endif
#ifdef COLOR_ATTACHMENT3_EXT
#undef COLOR_ATTACHMENT3_EXT
#endif
#ifdef COLOR_ATTACHMENT4_EXT
#undef COLOR_ATTACHMENT4_EXT
#endif
#ifdef COLOR_ATTACHMENT5_EXT
#undef COLOR_ATTACHMENT5_EXT
#endif
#ifdef COLOR_ATTACHMENT6_EXT
#undef COLOR_ATTACHMENT6_EXT
#endif
#ifdef COLOR_ATTACHMENT7_EXT
#undef COLOR_ATTACHMENT7_EXT
#endif
#ifdef COLOR_ATTACHMENT8_EXT
#undef COLOR_ATTACHMENT8_EXT
#endif
#ifdef COLOR_ATTACHMENT9_EXT
#undef COLOR_ATTACHMENT9_EXT
#endif
#ifdef COLOR_ATTACHMENT10_EXT
#undef COLOR_ATTACHMENT10_EXT
#endif
#ifdef COLOR_ATTACHMENT11_EXT
#undef COLOR_ATTACHMENT11_EXT
#endif
#ifdef COLOR_ATTACHMENT12_EXT
#undef COLOR_ATTACHMENT12_EXT
#endif
#ifdef COLOR_ATTACHMENT13_EXT
#undef COLOR_ATTACHMENT13_EXT
#endif
#ifdef COLOR_ATTACHMENT14_EXT
#undef COLOR_ATTACHMENT14_EXT
#endif
#ifdef COLOR_ATTACHMENT15_EXT
#undef COLOR_ATTACHMENT15_EXT
#endif
#ifdef DEPTH_ATTACHMENT_EXT
#undef DEPTH_ATTACHMENT_EXT
#endif
#ifdef STENCIL_ATTACHMENT_EXT
#undef STENCIL_ATTACHMENT_EXT
#endif
#ifdef FRAMEBUFFER_EXT
#undef FRAMEBUFFER_EXT
#endif
#ifdef RENDERBUFFER_EXT
#undef RENDERBUFFER_EXT
#endif
#ifdef RENDERBUFFER_WIDTH_EXT
#undef RENDERBUFFER_WIDTH_EXT
#endif
#ifdef RENDERBUFFER_HEIGHT_EXT
#undef RENDERBUFFER_HEIGHT_EXT
#endif
#ifdef RENDERBUFFER_INTERNAL_FORMAT_EXT
#undef RENDERBUFFER_INTERNAL_FORMAT_EXT
#endif
#ifdef STENCIL_INDEX1_EXT
#undef STENCIL_INDEX1_EXT
#endif
#ifdef STENCIL_INDEX4_EXT
#undef STENCIL_INDEX4_EXT
#endif
#ifdef STENCIL_INDEX8_EXT
#undef STENCIL_INDEX8_EXT
#endif
#ifdef STENCIL_INDEX16_EXT
#undef STENCIL_INDEX16_EXT
#endif
#ifdef RENDERBUFFER_RED_SIZE_EXT
#undef RENDERBUFFER_RED_SIZE_EXT
#endif
#ifdef RENDERBUFFER_GREEN_SIZE_EXT
#undef RENDERBUFFER_GREEN_SIZE_EXT
#endif
#ifdef RENDERBUFFER_BLUE_SIZE_EXT
#undef RENDERBUFFER_BLUE_SIZE_EXT
#endif
#ifdef RENDERBUFFER_ALPHA_SIZE_EXT
#undef RENDERBUFFER_ALPHA_SIZE_EXT
#endif
#ifdef RENDERBUFFER_DEPTH_SIZE_EXT
#undef RENDERBUFFER_DEPTH_SIZE_EXT
#endif
#ifdef RENDERBUFFER_STENCIL_SIZE_EXT
#undef RENDERBUFFER_STENCIL_SIZE_EXT
#endif
#ifdef FRAMEBUFFER_SRGB_EXT
#undef FRAMEBUFFER_SRGB_EXT
#endif
#ifdef FRAMEBUFFER_SRGB_CAPABLE_EXT
#undef FRAMEBUFFER_SRGB_CAPABLE_EXT
#endif
#ifdef GEOMETRY_SHADER_EXT
#undef GEOMETRY_SHADER_EXT
#endif
#ifdef MAX_GEOMETRY_VARYING_COMPONENTS_EXT
#undef MAX_GEOMETRY_VARYING_COMPONENTS_EXT
#endif
#ifdef MAX_VERTEX_VARYING_COMPONENTS_EXT
#undef MAX_VERTEX_VARYING_COMPONENTS_EXT
#endif
#ifdef MAX_VARYING_COMPONENTS_EXT
#undef MAX_VARYING_COMPONENTS_EXT
#endif
#ifdef MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT
#undef MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT
#endif
#ifdef MAX_GEOMETRY_OUTPUT_VERTICES_EXT
#undef MAX_GEOMETRY_OUTPUT_VERTICES_EXT
#endif
#ifdef MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT
#undef MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT
#endif
#ifdef SAMPLER_1D_ARRAY_EXT
#undef SAMPLER_1D_ARRAY_EXT
#endif
#ifdef SAMPLER_2D_ARRAY_EXT
#undef SAMPLER_2D_ARRAY_EXT
#endif
#ifdef SAMPLER_BUFFER_EXT
#undef SAMPLER_BUFFER_EXT
#endif
#ifdef SAMPLER_1D_ARRAY_SHADOW_EXT
#undef SAMPLER_1D_ARRAY_SHADOW_EXT
#endif
#ifdef SAMPLER_2D_ARRAY_SHADOW_EXT
#undef SAMPLER_2D_ARRAY_SHADOW_EXT
#endif
#ifdef SAMPLER_CUBE_SHADOW_EXT
#undef SAMPLER_CUBE_SHADOW_EXT
#endif
#ifdef UNSIGNED_INT_VEC2_EXT
#undef UNSIGNED_INT_VEC2_EXT
#endif
#ifdef UNSIGNED_INT_VEC3_EXT
#undef UNSIGNED_INT_VEC3_EXT
#endif
#ifdef UNSIGNED_INT_VEC4_EXT
#undef UNSIGNED_INT_VEC4_EXT
#endif
#ifdef INT_SAMPLER_1D_EXT
#undef INT_SAMPLER_1D_EXT
#endif
#ifdef INT_SAMPLER_2D_EXT
#undef INT_SAMPLER_2D_EXT
#endif
#ifdef INT_SAMPLER_3D_EXT
#undef INT_SAMPLER_3D_EXT
#endif
#ifdef INT_SAMPLER_CUBE_EXT
#undef INT_SAMPLER_CUBE_EXT
#endif
#ifdef INT_SAMPLER_2D_RECT_EXT
#undef INT_SAMPLER_2D_RECT_EXT
#endif
#ifdef INT_SAMPLER_1D_ARRAY_EXT
#undef INT_SAMPLER_1D_ARRAY_EXT
#endif
#ifdef INT_SAMPLER_2D_ARRAY_EXT
#undef INT_SAMPLER_2D_ARRAY_EXT
#endif
#ifdef INT_SAMPLER_BUFFER_EXT
#undef INT_SAMPLER_BUFFER_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_1D_EXT
#undef UNSIGNED_INT_SAMPLER_1D_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D_EXT
#undef UNSIGNED_INT_SAMPLER_2D_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_3D_EXT
#undef UNSIGNED_INT_SAMPLER_3D_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_CUBE_EXT
#undef UNSIGNED_INT_SAMPLER_CUBE_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D_RECT_EXT
#undef UNSIGNED_INT_SAMPLER_2D_RECT_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT
#undef UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT
#undef UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT
#endif
#ifdef UNSIGNED_INT_SAMPLER_BUFFER_EXT
#undef UNSIGNED_INT_SAMPLER_BUFFER_EXT
#endif
#ifdef HISTOGRAM_EXT
#undef HISTOGRAM_EXT
#endif
#ifdef PROXY_HISTOGRAM_EXT
#undef PROXY_HISTOGRAM_EXT
#endif
#ifdef HISTOGRAM_WIDTH_EXT
#undef HISTOGRAM_WIDTH_EXT
#endif
#ifdef HISTOGRAM_FORMAT_EXT
#undef HISTOGRAM_FORMAT_EXT
#endif
#ifdef HISTOGRAM_RED_SIZE_EXT
#undef HISTOGRAM_RED_SIZE_EXT
#endif
#ifdef HISTOGRAM_GREEN_SIZE_EXT
#undef HISTOGRAM_GREEN_SIZE_EXT
#endif
#ifdef HISTOGRAM_BLUE_SIZE_EXT
#undef HISTOGRAM_BLUE_SIZE_EXT
#endif
#ifdef HISTOGRAM_ALPHA_SIZE_EXT
#undef HISTOGRAM_ALPHA_SIZE_EXT
#endif
#ifdef HISTOGRAM_LUMINANCE_SIZE_EXT
#undef HISTOGRAM_LUMINANCE_SIZE_EXT
#endif
#ifdef HISTOGRAM_SINK_EXT
#undef HISTOGRAM_SINK_EXT
#endif
#ifdef MINMAX_EXT
#undef MINMAX_EXT
#endif
#ifdef MINMAX_FORMAT_EXT
#undef MINMAX_FORMAT_EXT
#endif
#ifdef MINMAX_SINK_EXT
#undef MINMAX_SINK_EXT
#endif
#ifdef TABLE_TOO_LARGE_EXT
#undef TABLE_TOO_LARGE_EXT
#endif
#ifdef IUI_V2F_EXT
#undef IUI_V2F_EXT
#endif
#ifdef IUI_V3F_EXT
#undef IUI_V3F_EXT
#endif
#ifdef IUI_N3F_V2F_EXT
#undef IUI_N3F_V2F_EXT
#endif
#ifdef IUI_N3F_V3F_EXT
#undef IUI_N3F_V3F_EXT
#endif
#ifdef T2F_IUI_V2F_EXT
#undef T2F_IUI_V2F_EXT
#endif
#ifdef T2F_IUI_V3F_EXT
#undef T2F_IUI_V3F_EXT
#endif
#ifdef T2F_IUI_N3F_V2F_EXT
#undef T2F_IUI_N3F_V2F_EXT
#endif
#ifdef T2F_IUI_N3F_V3F_EXT
#undef T2F_IUI_N3F_V3F_EXT
#endif
#ifdef INDEX_TEST_EXT
#undef INDEX_TEST_EXT
#endif
#ifdef INDEX_TEST_FUNC_EXT
#undef INDEX_TEST_FUNC_EXT
#endif
#ifdef INDEX_TEST_REF_EXT
#undef INDEX_TEST_REF_EXT
#endif
#ifdef INDEX_MATERIAL_EXT
#undef INDEX_MATERIAL_EXT
#endif
#ifdef INDEX_MATERIAL_PARAMETER_EXT
#undef INDEX_MATERIAL_PARAMETER_EXT
#endif
#ifdef INDEX_MATERIAL_FACE_EXT
#undef INDEX_MATERIAL_FACE_EXT
#endif
#ifdef FRAGMENT_MATERIAL_EXT
#undef FRAGMENT_MATERIAL_EXT
#endif
#ifdef FRAGMENT_NORMAL_EXT
#undef FRAGMENT_NORMAL_EXT
#endif
#ifdef FRAGMENT_COLOR_EXT
#undef FRAGMENT_COLOR_EXT
#endif
#ifdef ATTENUATION_EXT
#undef ATTENUATION_EXT
#endif
#ifdef SHADOW_ATTENUATION_EXT
#undef SHADOW_ATTENUATION_EXT
#endif
#ifdef TEXTURE_APPLICATION_MODE_EXT
#undef TEXTURE_APPLICATION_MODE_EXT
#endif
#ifdef TEXTURE_LIGHT_EXT
#undef TEXTURE_LIGHT_EXT
#endif
#ifdef TEXTURE_MATERIAL_FACE_EXT
#undef TEXTURE_MATERIAL_FACE_EXT
#endif
#ifdef TEXTURE_MATERIAL_PARAMETER_EXT
#undef TEXTURE_MATERIAL_PARAMETER_EXT
#endif
#ifdef MULTISAMPLE_EXT
#undef MULTISAMPLE_EXT
#endif
#ifdef SAMPLE_ALPHA_TO_MASK_EXT
#undef SAMPLE_ALPHA_TO_MASK_EXT
#endif
#ifdef SAMPLE_ALPHA_TO_ONE_EXT
#undef SAMPLE_ALPHA_TO_ONE_EXT
#endif
#ifdef SAMPLE_MASK_EXT
#undef SAMPLE_MASK_EXT
#endif
#ifdef _1PASS_EXT
#undef _1PASS_EXT
#endif
#ifdef _2PASS_0_EXT
#undef _2PASS_0_EXT
#endif
#ifdef _2PASS_1_EXT
#undef _2PASS_1_EXT
#endif
#ifdef _4PASS_0_EXT
#undef _4PASS_0_EXT
#endif
#ifdef _4PASS_1_EXT
#undef _4PASS_1_EXT
#endif
#ifdef _4PASS_2_EXT
#undef _4PASS_2_EXT
#endif
#ifdef _4PASS_3_EXT
#undef _4PASS_3_EXT
#endif
#ifdef SAMPLE_BUFFERS_EXT
#undef SAMPLE_BUFFERS_EXT
#endif
#ifdef SAMPLES_EXT
#undef SAMPLES_EXT
#endif
#ifdef SAMPLE_MASK_VALUE_EXT
#undef SAMPLE_MASK_VALUE_EXT
#endif
#ifdef SAMPLE_MASK_INVERT_EXT
#undef SAMPLE_MASK_INVERT_EXT
#endif
#ifdef SAMPLE_PATTERN_EXT
#undef SAMPLE_PATTERN_EXT
#endif
#ifdef MULTISAMPLE_BIT_EXT
#undef MULTISAMPLE_BIT_EXT
#endif
#ifdef DEPTH_STENCIL_EXT
#undef DEPTH_STENCIL_EXT
#endif
#ifdef UNSIGNED_INT_24_8_EXT
#undef UNSIGNED_INT_24_8_EXT
#endif
#ifdef DEPTH24_STENCIL8_EXT
#undef DEPTH24_STENCIL8_EXT
#endif
#ifdef TEXTURE_STENCIL_SIZE_EXT
#undef TEXTURE_STENCIL_SIZE_EXT
#endif
#ifdef R11F_G11F_B10F_EXT
#undef R11F_G11F_B10F_EXT
#endif
#ifdef UNSIGNED_INT_10F_11F_11F_REV_EXT
#undef UNSIGNED_INT_10F_11F_11F_REV_EXT
#endif
#ifdef RGBA_SIGNED_COMPONENTS_EXT
#undef RGBA_SIGNED_COMPONENTS_EXT
#endif
#ifdef UNSIGNED_BYTE_3_3_2_EXT
#undef UNSIGNED_BYTE_3_3_2_EXT
#endif
#ifdef UNSIGNED_SHORT_4_4_4_4_EXT
#undef UNSIGNED_SHORT_4_4_4_4_EXT
#endif
#ifdef UNSIGNED_SHORT_5_5_5_1_EXT
#undef UNSIGNED_SHORT_5_5_5_1_EXT
#endif
#ifdef UNSIGNED_INT_8_8_8_8_EXT
#undef UNSIGNED_INT_8_8_8_8_EXT
#endif
#ifdef UNSIGNED_INT_10_10_10_2_EXT
#undef UNSIGNED_INT_10_10_10_2_EXT
#endif
#ifdef COLOR_INDEX1_EXT
#undef COLOR_INDEX1_EXT
#endif
#ifdef COLOR_INDEX2_EXT
#undef COLOR_INDEX2_EXT
#endif
#ifdef COLOR_INDEX4_EXT
#undef COLOR_INDEX4_EXT
#endif
#ifdef COLOR_INDEX8_EXT
#undef COLOR_INDEX8_EXT
#endif
#ifdef COLOR_INDEX12_EXT
#undef COLOR_INDEX12_EXT
#endif
#ifdef COLOR_INDEX16_EXT
#undef COLOR_INDEX16_EXT
#endif
#ifdef TEXTURE_INDEX_SIZE_EXT
#undef TEXTURE_INDEX_SIZE_EXT
#endif
#ifdef PIXEL_PACK_BUFFER_EXT
#undef PIXEL_PACK_BUFFER_EXT
#endif
#ifdef PIXEL_UNPACK_BUFFER_EXT
#undef PIXEL_UNPACK_BUFFER_EXT
#endif
#ifdef PIXEL_PACK_BUFFER_BINDING_EXT
#undef PIXEL_PACK_BUFFER_BINDING_EXT
#endif
#ifdef PIXEL_UNPACK_BUFFER_BINDING_EXT
#undef PIXEL_UNPACK_BUFFER_BINDING_EXT
#endif
#ifdef PIXEL_TRANSFORM_2D_EXT
#undef PIXEL_TRANSFORM_2D_EXT
#endif
#ifdef PIXEL_MAG_FILTER_EXT
#undef PIXEL_MAG_FILTER_EXT
#endif
#ifdef PIXEL_MIN_FILTER_EXT
#undef PIXEL_MIN_FILTER_EXT
#endif
#ifdef PIXEL_CUBIC_WEIGHT_EXT
#undef PIXEL_CUBIC_WEIGHT_EXT
#endif
#ifdef CUBIC_EXT
#undef CUBIC_EXT
#endif
#ifdef AVERAGE_EXT
#undef AVERAGE_EXT
#endif
#ifdef PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
#undef PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
#endif
#ifdef MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
#undef MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
#endif
#ifdef PIXEL_TRANSFORM_2D_MATRIX_EXT
#undef PIXEL_TRANSFORM_2D_MATRIX_EXT
#endif
#ifdef POINT_SIZE_MIN_EXT
#undef POINT_SIZE_MIN_EXT
#endif
#ifdef POINT_SIZE_MAX_EXT
#undef POINT_SIZE_MAX_EXT
#endif
#ifdef POINT_FADE_THRESHOLD_SIZE_EXT
#undef POINT_FADE_THRESHOLD_SIZE_EXT
#endif
#ifdef DISTANCE_ATTENUATION_EXT
#undef DISTANCE_ATTENUATION_EXT
#endif
#ifdef POLYGON_OFFSET_EXT
#undef POLYGON_OFFSET_EXT
#endif
#ifdef POLYGON_OFFSET_FACTOR_EXT
#undef POLYGON_OFFSET_FACTOR_EXT
#endif
#ifdef POLYGON_OFFSET_BIAS_EXT
#undef POLYGON_OFFSET_BIAS_EXT
#endif
#ifdef QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT
#undef QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT
#endif
#ifdef FIRST_VERTEX_CONVENTION_EXT
#undef FIRST_VERTEX_CONVENTION_EXT
#endif
#ifdef LAST_VERTEX_CONVENTION_EXT
#undef LAST_VERTEX_CONVENTION_EXT
#endif
#ifdef PROVOKING_VERTEX_EXT
#undef PROVOKING_VERTEX_EXT
#endif
#ifdef RESCALE_NORMAL_EXT
#undef RESCALE_NORMAL_EXT
#endif
#ifdef COLOR_SUM_EXT
#undef COLOR_SUM_EXT
#endif
#ifdef CURRENT_SECONDARY_COLOR_EXT
#undef CURRENT_SECONDARY_COLOR_EXT
#endif
#ifdef SECONDARY_COLOR_ARRAY_SIZE_EXT
#undef SECONDARY_COLOR_ARRAY_SIZE_EXT
#endif
#ifdef SECONDARY_COLOR_ARRAY_TYPE_EXT
#undef SECONDARY_COLOR_ARRAY_TYPE_EXT
#endif
#ifdef SECONDARY_COLOR_ARRAY_STRIDE_EXT
#undef SECONDARY_COLOR_ARRAY_STRIDE_EXT
#endif
#ifdef SECONDARY_COLOR_ARRAY_POINTER_EXT
#undef SECONDARY_COLOR_ARRAY_POINTER_EXT
#endif
#ifdef SECONDARY_COLOR_ARRAY_EXT
#undef SECONDARY_COLOR_ARRAY_EXT
#endif
#ifdef ACTIVE_PROGRAM_EXT
#undef ACTIVE_PROGRAM_EXT
#endif
#ifdef LIGHT_MODEL_COLOR_CONTROL_EXT
#undef LIGHT_MODEL_COLOR_CONTROL_EXT
#endif
#ifdef SINGLE_COLOR_EXT
#undef SINGLE_COLOR_EXT
#endif
#ifdef SEPARATE_SPECULAR_COLOR_EXT
#undef SEPARATE_SPECULAR_COLOR_EXT
#endif
#ifdef SHARED_TEXTURE_PALETTE_EXT
#undef SHARED_TEXTURE_PALETTE_EXT
#endif
#ifdef STENCIL_TAG_BITS_EXT
#undef STENCIL_TAG_BITS_EXT
#endif
#ifdef STENCIL_CLEAR_TAG_VALUE_EXT
#undef STENCIL_CLEAR_TAG_VALUE_EXT
#endif
#ifdef STENCIL_TEST_TWO_SIDE_EXT
#undef STENCIL_TEST_TWO_SIDE_EXT
#endif
#ifdef ACTIVE_STENCIL_FACE_EXT
#undef ACTIVE_STENCIL_FACE_EXT
#endif
#ifdef INCR_WRAP_EXT
#undef INCR_WRAP_EXT
#endif
#ifdef DECR_WRAP_EXT
#undef DECR_WRAP_EXT
#endif
#ifdef ALPHA4_EXT
#undef ALPHA4_EXT
#endif
#ifdef ALPHA8_EXT
#undef ALPHA8_EXT
#endif
#ifdef ALPHA12_EXT
#undef ALPHA12_EXT
#endif
#ifdef ALPHA16_EXT
#undef ALPHA16_EXT
#endif
#ifdef LUMINANCE4_EXT
#undef LUMINANCE4_EXT
#endif
#ifdef LUMINANCE8_EXT
#undef LUMINANCE8_EXT
#endif
#ifdef LUMINANCE12_EXT
#undef LUMINANCE12_EXT
#endif
#ifdef LUMINANCE16_EXT
#undef LUMINANCE16_EXT
#endif
#ifdef LUMINANCE4_ALPHA4_EXT
#undef LUMINANCE4_ALPHA4_EXT
#endif
#ifdef LUMINANCE6_ALPHA2_EXT
#undef LUMINANCE6_ALPHA2_EXT
#endif
#ifdef LUMINANCE8_ALPHA8_EXT
#undef LUMINANCE8_ALPHA8_EXT
#endif
#ifdef LUMINANCE12_ALPHA4_EXT
#undef LUMINANCE12_ALPHA4_EXT
#endif
#ifdef LUMINANCE12_ALPHA12_EXT
#undef LUMINANCE12_ALPHA12_EXT
#endif
#ifdef LUMINANCE16_ALPHA16_EXT
#undef LUMINANCE16_ALPHA16_EXT
#endif
#ifdef INTENSITY_EXT
#undef INTENSITY_EXT
#endif
#ifdef INTENSITY4_EXT
#undef INTENSITY4_EXT
#endif
#ifdef INTENSITY8_EXT
#undef INTENSITY8_EXT
#endif
#ifdef INTENSITY12_EXT
#undef INTENSITY12_EXT
#endif
#ifdef INTENSITY16_EXT
#undef INTENSITY16_EXT
#endif
#ifdef RGB2_EXT
#undef RGB2_EXT
#endif
#ifdef RGB4_EXT
#undef RGB4_EXT
#endif
#ifdef RGB5_EXT
#undef RGB5_EXT
#endif
#ifdef RGB8_EXT
#undef RGB8_EXT
#endif
#ifdef RGB10_EXT
#undef RGB10_EXT
#endif
#ifdef RGB12_EXT
#undef RGB12_EXT
#endif
#ifdef RGB16_EXT
#undef RGB16_EXT
#endif
#ifdef RGBA2_EXT
#undef RGBA2_EXT
#endif
#ifdef RGBA4_EXT
#undef RGBA4_EXT
#endif
#ifdef RGB5_A1_EXT
#undef RGB5_A1_EXT
#endif
#ifdef RGBA8_EXT
#undef RGBA8_EXT
#endif
#ifdef RGB10_A2_EXT
#undef RGB10_A2_EXT
#endif
#ifdef RGBA12_EXT
#undef RGBA12_EXT
#endif
#ifdef RGBA16_EXT
#undef RGBA16_EXT
#endif
#ifdef TEXTURE_RED_SIZE_EXT
#undef TEXTURE_RED_SIZE_EXT
#endif
#ifdef TEXTURE_GREEN_SIZE_EXT
#undef TEXTURE_GREEN_SIZE_EXT
#endif
#ifdef TEXTURE_BLUE_SIZE_EXT
#undef TEXTURE_BLUE_SIZE_EXT
#endif
#ifdef TEXTURE_ALPHA_SIZE_EXT
#undef TEXTURE_ALPHA_SIZE_EXT
#endif
#ifdef TEXTURE_LUMINANCE_SIZE_EXT
#undef TEXTURE_LUMINANCE_SIZE_EXT
#endif
#ifdef TEXTURE_INTENSITY_SIZE_EXT
#undef TEXTURE_INTENSITY_SIZE_EXT
#endif
#ifdef REPLACE_EXT
#undef REPLACE_EXT
#endif
#ifdef PROXY_TEXTURE_1D_EXT
#undef PROXY_TEXTURE_1D_EXT
#endif
#ifdef PROXY_TEXTURE_2D_EXT
#undef PROXY_TEXTURE_2D_EXT
#endif
#ifdef TEXTURE_TOO_LARGE_EXT
#undef TEXTURE_TOO_LARGE_EXT
#endif
#ifdef PACK_SKIP_IMAGES_EXT
#undef PACK_SKIP_IMAGES_EXT
#endif
#ifdef PACK_IMAGE_HEIGHT_EXT
#undef PACK_IMAGE_HEIGHT_EXT
#endif
#ifdef UNPACK_SKIP_IMAGES_EXT
#undef UNPACK_SKIP_IMAGES_EXT
#endif
#ifdef UNPACK_IMAGE_HEIGHT_EXT
#undef UNPACK_IMAGE_HEIGHT_EXT
#endif
#ifdef TEXTURE_3D_EXT
#undef TEXTURE_3D_EXT
#endif
#ifdef PROXY_TEXTURE_3D_EXT
#undef PROXY_TEXTURE_3D_EXT
#endif
#ifdef TEXTURE_DEPTH_EXT
#undef TEXTURE_DEPTH_EXT
#endif
#ifdef TEXTURE_WRAP_R_EXT
#undef TEXTURE_WRAP_R_EXT
#endif
#ifdef MAX_3D_TEXTURE_SIZE_EXT
#undef MAX_3D_TEXTURE_SIZE_EXT
#endif
#ifdef TEXTURE_1D_ARRAY_EXT
#undef TEXTURE_1D_ARRAY_EXT
#endif
#ifdef PROXY_TEXTURE_1D_ARRAY_EXT
#undef PROXY_TEXTURE_1D_ARRAY_EXT
#endif
#ifdef TEXTURE_2D_ARRAY_EXT
#undef TEXTURE_2D_ARRAY_EXT
#endif
#ifdef PROXY_TEXTURE_2D_ARRAY_EXT
#undef PROXY_TEXTURE_2D_ARRAY_EXT
#endif
#ifdef TEXTURE_BINDING_1D_ARRAY_EXT
#undef TEXTURE_BINDING_1D_ARRAY_EXT
#endif
#ifdef TEXTURE_BINDING_2D_ARRAY_EXT
#undef TEXTURE_BINDING_2D_ARRAY_EXT
#endif
#ifdef MAX_ARRAY_TEXTURE_LAYERS_EXT
#undef MAX_ARRAY_TEXTURE_LAYERS_EXT
#endif
#ifdef COMPARE_REF_DEPTH_TO_TEXTURE_EXT
#undef COMPARE_REF_DEPTH_TO_TEXTURE_EXT
#endif
#ifdef TEXTURE_BUFFER_EXT
#undef TEXTURE_BUFFER_EXT
#endif
#ifdef MAX_TEXTURE_BUFFER_SIZE_EXT
#undef MAX_TEXTURE_BUFFER_SIZE_EXT
#endif
#ifdef TEXTURE_BINDING_BUFFER_EXT
#undef TEXTURE_BINDING_BUFFER_EXT
#endif
#ifdef TEXTURE_BUFFER_DATA_STORE_BINDING_EXT
#undef TEXTURE_BUFFER_DATA_STORE_BINDING_EXT
#endif
#ifdef TEXTURE_BUFFER_FORMAT_EXT
#undef TEXTURE_BUFFER_FORMAT_EXT
#endif
#ifdef COMPRESSED_LUMINANCE_LATC1_EXT
#undef COMPRESSED_LUMINANCE_LATC1_EXT
#endif
#ifdef COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT
#undef COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT
#endif
#ifdef COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT
#undef COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT
#endif
#ifdef COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT
#undef COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT
#endif
#ifdef COMPRESSED_RED_RGTC1_EXT
#undef COMPRESSED_RED_RGTC1_EXT
#endif
#ifdef COMPRESSED_SIGNED_RED_RGTC1_EXT
#undef COMPRESSED_SIGNED_RED_RGTC1_EXT
#endif
#ifdef COMPRESSED_RED_GREEN_RGTC2_EXT
#undef COMPRESSED_RED_GREEN_RGTC2_EXT
#endif
#ifdef COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT
#undef COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT
#endif
#ifdef COMPRESSED_RGB_S3TC_DXT1_EXT
#undef COMPRESSED_RGB_S3TC_DXT1_EXT
#endif
#ifdef COMPRESSED_RGBA_S3TC_DXT1_EXT
#undef COMPRESSED_RGBA_S3TC_DXT1_EXT
#endif
#ifdef COMPRESSED_RGBA_S3TC_DXT3_EXT
#undef COMPRESSED_RGBA_S3TC_DXT3_EXT
#endif
#ifdef COMPRESSED_RGBA_S3TC_DXT5_EXT
#undef COMPRESSED_RGBA_S3TC_DXT5_EXT
#endif
#ifdef NORMAL_MAP_EXT
#undef NORMAL_MAP_EXT
#endif
#ifdef REFLECTION_MAP_EXT
#undef REFLECTION_MAP_EXT
#endif
#ifdef TEXTURE_CUBE_MAP_EXT
#undef TEXTURE_CUBE_MAP_EXT
#endif
#ifdef TEXTURE_BINDING_CUBE_MAP_EXT
#undef TEXTURE_BINDING_CUBE_MAP_EXT
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_X_EXT
#undef TEXTURE_CUBE_MAP_POSITIVE_X_EXT
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_X_EXT
#undef TEXTURE_CUBE_MAP_NEGATIVE_X_EXT
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Y_EXT
#undef TEXTURE_CUBE_MAP_POSITIVE_Y_EXT
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT
#undef TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Z_EXT
#undef TEXTURE_CUBE_MAP_POSITIVE_Z_EXT
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT
#undef TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT
#endif
#ifdef PROXY_TEXTURE_CUBE_MAP_EXT
#undef PROXY_TEXTURE_CUBE_MAP_EXT
#endif
#ifdef MAX_CUBE_MAP_TEXTURE_SIZE_EXT
#undef MAX_CUBE_MAP_TEXTURE_SIZE_EXT
#endif
#ifdef COMBINE_EXT
#undef COMBINE_EXT
#endif
#ifdef COMBINE_RGB_EXT
#undef COMBINE_RGB_EXT
#endif
#ifdef COMBINE_ALPHA_EXT
#undef COMBINE_ALPHA_EXT
#endif
#ifdef RGB_SCALE_EXT
#undef RGB_SCALE_EXT
#endif
#ifdef ADD_SIGNED_EXT
#undef ADD_SIGNED_EXT
#endif
#ifdef INTERPOLATE_EXT
#undef INTERPOLATE_EXT
#endif
#ifdef CONSTANT_EXT
#undef CONSTANT_EXT
#endif
#ifdef PRIMARY_COLOR_EXT
#undef PRIMARY_COLOR_EXT
#endif
#ifdef PREVIOUS_EXT
#undef PREVIOUS_EXT
#endif
#ifdef SOURCE0_RGB_EXT
#undef SOURCE0_RGB_EXT
#endif
#ifdef SOURCE1_RGB_EXT
#undef SOURCE1_RGB_EXT
#endif
#ifdef SOURCE2_RGB_EXT
#undef SOURCE2_RGB_EXT
#endif
#ifdef SOURCE0_ALPHA_EXT
#undef SOURCE0_ALPHA_EXT
#endif
#ifdef SOURCE1_ALPHA_EXT
#undef SOURCE1_ALPHA_EXT
#endif
#ifdef SOURCE2_ALPHA_EXT
#undef SOURCE2_ALPHA_EXT
#endif
#ifdef OPERAND0_RGB_EXT
#undef OPERAND0_RGB_EXT
#endif
#ifdef OPERAND1_RGB_EXT
#undef OPERAND1_RGB_EXT
#endif
#ifdef OPERAND2_RGB_EXT
#undef OPERAND2_RGB_EXT
#endif
#ifdef OPERAND0_ALPHA_EXT
#undef OPERAND0_ALPHA_EXT
#endif
#ifdef OPERAND1_ALPHA_EXT
#undef OPERAND1_ALPHA_EXT
#endif
#ifdef OPERAND2_ALPHA_EXT
#undef OPERAND2_ALPHA_EXT
#endif
#ifdef DOT3_RGB_EXT
#undef DOT3_RGB_EXT
#endif
#ifdef DOT3_RGBA_EXT
#undef DOT3_RGBA_EXT
#endif
#ifdef TEXTURE_MAX_ANISOTROPY_EXT
#undef TEXTURE_MAX_ANISOTROPY_EXT
#endif
#ifdef MAX_TEXTURE_MAX_ANISOTROPY_EXT
#undef MAX_TEXTURE_MAX_ANISOTROPY_EXT
#endif
#ifdef RGBA32UI_EXT
#undef RGBA32UI_EXT
#endif
#ifdef RGB32UI_EXT
#undef RGB32UI_EXT
#endif
#ifdef ALPHA32UI_EXT
#undef ALPHA32UI_EXT
#endif
#ifdef INTENSITY32UI_EXT
#undef INTENSITY32UI_EXT
#endif
#ifdef LUMINANCE32UI_EXT
#undef LUMINANCE32UI_EXT
#endif
#ifdef LUMINANCE_ALPHA32UI_EXT
#undef LUMINANCE_ALPHA32UI_EXT
#endif
#ifdef RGBA16UI_EXT
#undef RGBA16UI_EXT
#endif
#ifdef RGB16UI_EXT
#undef RGB16UI_EXT
#endif
#ifdef ALPHA16UI_EXT
#undef ALPHA16UI_EXT
#endif
#ifdef INTENSITY16UI_EXT
#undef INTENSITY16UI_EXT
#endif
#ifdef LUMINANCE16UI_EXT
#undef LUMINANCE16UI_EXT
#endif
#ifdef LUMINANCE_ALPHA16UI_EXT
#undef LUMINANCE_ALPHA16UI_EXT
#endif
#ifdef RGBA8UI_EXT
#undef RGBA8UI_EXT
#endif
#ifdef RGB8UI_EXT
#undef RGB8UI_EXT
#endif
#ifdef ALPHA8UI_EXT
#undef ALPHA8UI_EXT
#endif
#ifdef INTENSITY8UI_EXT
#undef INTENSITY8UI_EXT
#endif
#ifdef LUMINANCE8UI_EXT
#undef LUMINANCE8UI_EXT
#endif
#ifdef LUMINANCE_ALPHA8UI_EXT
#undef LUMINANCE_ALPHA8UI_EXT
#endif
#ifdef RGBA32I_EXT
#undef RGBA32I_EXT
#endif
#ifdef RGB32I_EXT
#undef RGB32I_EXT
#endif
#ifdef ALPHA32I_EXT
#undef ALPHA32I_EXT
#endif
#ifdef INTENSITY32I_EXT
#undef INTENSITY32I_EXT
#endif
#ifdef LUMINANCE32I_EXT
#undef LUMINANCE32I_EXT
#endif
#ifdef LUMINANCE_ALPHA32I_EXT
#undef LUMINANCE_ALPHA32I_EXT
#endif
#ifdef RGBA16I_EXT
#undef RGBA16I_EXT
#endif
#ifdef RGB16I_EXT
#undef RGB16I_EXT
#endif
#ifdef ALPHA16I_EXT
#undef ALPHA16I_EXT
#endif
#ifdef INTENSITY16I_EXT
#undef INTENSITY16I_EXT
#endif
#ifdef LUMINANCE16I_EXT
#undef LUMINANCE16I_EXT
#endif
#ifdef LUMINANCE_ALPHA16I_EXT
#undef LUMINANCE_ALPHA16I_EXT
#endif
#ifdef RGBA8I_EXT
#undef RGBA8I_EXT
#endif
#ifdef RGB8I_EXT
#undef RGB8I_EXT
#endif
#ifdef ALPHA8I_EXT
#undef ALPHA8I_EXT
#endif
#ifdef INTENSITY8I_EXT
#undef INTENSITY8I_EXT
#endif
#ifdef LUMINANCE8I_EXT
#undef LUMINANCE8I_EXT
#endif
#ifdef LUMINANCE_ALPHA8I_EXT
#undef LUMINANCE_ALPHA8I_EXT
#endif
#ifdef RED_INTEGER_EXT
#undef RED_INTEGER_EXT
#endif
#ifdef GREEN_INTEGER_EXT
#undef GREEN_INTEGER_EXT
#endif
#ifdef BLUE_INTEGER_EXT
#undef BLUE_INTEGER_EXT
#endif
#ifdef ALPHA_INTEGER_EXT
#undef ALPHA_INTEGER_EXT
#endif
#ifdef RGB_INTEGER_EXT
#undef RGB_INTEGER_EXT
#endif
#ifdef RGBA_INTEGER_EXT
#undef RGBA_INTEGER_EXT
#endif
#ifdef BGR_INTEGER_EXT
#undef BGR_INTEGER_EXT
#endif
#ifdef BGRA_INTEGER_EXT
#undef BGRA_INTEGER_EXT
#endif
#ifdef LUMINANCE_INTEGER_EXT
#undef LUMINANCE_INTEGER_EXT
#endif
#ifdef LUMINANCE_ALPHA_INTEGER_EXT
#undef LUMINANCE_ALPHA_INTEGER_EXT
#endif
#ifdef RGBA_INTEGER_MODE_EXT
#undef RGBA_INTEGER_MODE_EXT
#endif
#ifdef MAX_TEXTURE_LOD_BIAS_EXT
#undef MAX_TEXTURE_LOD_BIAS_EXT
#endif
#ifdef TEXTURE_FILTER_CONTROL_EXT
#undef TEXTURE_FILTER_CONTROL_EXT
#endif
#ifdef TEXTURE_LOD_BIAS_EXT
#undef TEXTURE_LOD_BIAS_EXT
#endif
#ifdef MIRROR_CLAMP_EXT
#undef MIRROR_CLAMP_EXT
#endif
#ifdef MIRROR_CLAMP_TO_EDGE_EXT
#undef MIRROR_CLAMP_TO_EDGE_EXT
#endif
#ifdef MIRROR_CLAMP_TO_BORDER_EXT
#undef MIRROR_CLAMP_TO_BORDER_EXT
#endif
#ifdef TEXTURE_PRIORITY_EXT
#undef TEXTURE_PRIORITY_EXT
#endif
#ifdef TEXTURE_RESIDENT_EXT
#undef TEXTURE_RESIDENT_EXT
#endif
#ifdef TEXTURE_1D_BINDING_EXT
#undef TEXTURE_1D_BINDING_EXT
#endif
#ifdef TEXTURE_2D_BINDING_EXT
#undef TEXTURE_2D_BINDING_EXT
#endif
#ifdef TEXTURE_3D_BINDING_EXT
#undef TEXTURE_3D_BINDING_EXT
#endif
#ifdef PERTURB_EXT
#undef PERTURB_EXT
#endif
#ifdef TEXTURE_NORMAL_EXT
#undef TEXTURE_NORMAL_EXT
#endif
#ifdef SRGB_EXT
#undef SRGB_EXT
#endif
#ifdef SRGB8_EXT
#undef SRGB8_EXT
#endif
#ifdef SRGB_ALPHA_EXT
#undef SRGB_ALPHA_EXT
#endif
#ifdef SRGB8_ALPHA8_EXT
#undef SRGB8_ALPHA8_EXT
#endif
#ifdef SLUMINANCE_ALPHA_EXT
#undef SLUMINANCE_ALPHA_EXT
#endif
#ifdef SLUMINANCE8_ALPHA8_EXT
#undef SLUMINANCE8_ALPHA8_EXT
#endif
#ifdef SLUMINANCE_EXT
#undef SLUMINANCE_EXT
#endif
#ifdef SLUMINANCE8_EXT
#undef SLUMINANCE8_EXT
#endif
#ifdef COMPRESSED_SRGB_EXT
#undef COMPRESSED_SRGB_EXT
#endif
#ifdef COMPRESSED_SRGB_ALPHA_EXT
#undef COMPRESSED_SRGB_ALPHA_EXT
#endif
#ifdef COMPRESSED_SLUMINANCE_EXT
#undef COMPRESSED_SLUMINANCE_EXT
#endif
#ifdef COMPRESSED_SLUMINANCE_ALPHA_EXT
#undef COMPRESSED_SLUMINANCE_ALPHA_EXT
#endif
#ifdef COMPRESSED_SRGB_S3TC_DXT1_EXT
#undef COMPRESSED_SRGB_S3TC_DXT1_EXT
#endif
#ifdef COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
#undef COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
#endif
#ifdef COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
#undef COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
#endif
#ifdef COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
#undef COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
#endif
#ifdef RGB9_E5_EXT
#undef RGB9_E5_EXT
#endif
#ifdef UNSIGNED_INT_5_9_9_9_REV_EXT
#undef UNSIGNED_INT_5_9_9_9_REV_EXT
#endif
#ifdef TEXTURE_SHARED_SIZE_EXT
#undef TEXTURE_SHARED_SIZE_EXT
#endif
#ifdef ALPHA_SNORM
#undef ALPHA_SNORM
#endif
#ifdef LUMINANCE_SNORM
#undef LUMINANCE_SNORM
#endif
#ifdef LUMINANCE_ALPHA_SNORM
#undef LUMINANCE_ALPHA_SNORM
#endif
#ifdef INTENSITY_SNORM
#undef INTENSITY_SNORM
#endif
#ifdef ALPHA8_SNORM
#undef ALPHA8_SNORM
#endif
#ifdef LUMINANCE8_SNORM
#undef LUMINANCE8_SNORM
#endif
#ifdef LUMINANCE8_ALPHA8_SNORM
#undef LUMINANCE8_ALPHA8_SNORM
#endif
#ifdef INTENSITY8_SNORM
#undef INTENSITY8_SNORM
#endif
#ifdef ALPHA16_SNORM
#undef ALPHA16_SNORM
#endif
#ifdef LUMINANCE16_SNORM
#undef LUMINANCE16_SNORM
#endif
#ifdef LUMINANCE16_ALPHA16_SNORM
#undef LUMINANCE16_ALPHA16_SNORM
#endif
#ifdef INTENSITY16_SNORM
#undef INTENSITY16_SNORM
#endif
#ifdef TEXTURE_SWIZZLE_R_EXT
#undef TEXTURE_SWIZZLE_R_EXT
#endif
#ifdef TEXTURE_SWIZZLE_G_EXT
#undef TEXTURE_SWIZZLE_G_EXT
#endif
#ifdef TEXTURE_SWIZZLE_B_EXT
#undef TEXTURE_SWIZZLE_B_EXT
#endif
#ifdef TEXTURE_SWIZZLE_A_EXT
#undef TEXTURE_SWIZZLE_A_EXT
#endif
#ifdef TEXTURE_SWIZZLE_RGBA_EXT
#undef TEXTURE_SWIZZLE_RGBA_EXT
#endif
#ifdef TIME_ELAPSED_EXT
#undef TIME_ELAPSED_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_EXT
#undef TRANSFORM_FEEDBACK_BUFFER_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_START_EXT
#undef TRANSFORM_FEEDBACK_BUFFER_START_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT
#undef TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT
#undef TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT
#endif
#ifdef INTERLEAVED_ATTRIBS_EXT
#undef INTERLEAVED_ATTRIBS_EXT
#endif
#ifdef SEPARATE_ATTRIBS_EXT
#undef SEPARATE_ATTRIBS_EXT
#endif
#ifdef PRIMITIVES_GENERATED_EXT
#undef PRIMITIVES_GENERATED_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT
#undef TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT
#endif
#ifdef RASTERIZER_DISCARD_EXT
#undef RASTERIZER_DISCARD_EXT
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT
#undef MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT
#undef MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT
#undef MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_VARYINGS_EXT
#undef TRANSFORM_FEEDBACK_VARYINGS_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_MODE_EXT
#undef TRANSFORM_FEEDBACK_BUFFER_MODE_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT
#undef TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT
#endif
#ifdef VERTEX_ARRAY_EXT
#undef VERTEX_ARRAY_EXT
#endif
#ifdef NORMAL_ARRAY_EXT
#undef NORMAL_ARRAY_EXT
#endif
#ifdef COLOR_ARRAY_EXT
#undef COLOR_ARRAY_EXT
#endif
#ifdef INDEX_ARRAY_EXT
#undef INDEX_ARRAY_EXT
#endif
#ifdef TEXTURE_COORD_ARRAY_EXT
#undef TEXTURE_COORD_ARRAY_EXT
#endif
#ifdef EDGE_FLAG_ARRAY_EXT
#undef EDGE_FLAG_ARRAY_EXT
#endif
#ifdef VERTEX_ARRAY_SIZE_EXT
#undef VERTEX_ARRAY_SIZE_EXT
#endif
#ifdef VERTEX_ARRAY_TYPE_EXT
#undef VERTEX_ARRAY_TYPE_EXT
#endif
#ifdef VERTEX_ARRAY_STRIDE_EXT
#undef VERTEX_ARRAY_STRIDE_EXT
#endif
#ifdef VERTEX_ARRAY_COUNT_EXT
#undef VERTEX_ARRAY_COUNT_EXT
#endif
#ifdef NORMAL_ARRAY_TYPE_EXT
#undef NORMAL_ARRAY_TYPE_EXT
#endif
#ifdef NORMAL_ARRAY_STRIDE_EXT
#undef NORMAL_ARRAY_STRIDE_EXT
#endif
#ifdef NORMAL_ARRAY_COUNT_EXT
#undef NORMAL_ARRAY_COUNT_EXT
#endif
#ifdef COLOR_ARRAY_SIZE_EXT
#undef COLOR_ARRAY_SIZE_EXT
#endif
#ifdef COLOR_ARRAY_TYPE_EXT
#undef COLOR_ARRAY_TYPE_EXT
#endif
#ifdef COLOR_ARRAY_STRIDE_EXT
#undef COLOR_ARRAY_STRIDE_EXT
#endif
#ifdef COLOR_ARRAY_COUNT_EXT
#undef COLOR_ARRAY_COUNT_EXT
#endif
#ifdef INDEX_ARRAY_TYPE_EXT
#undef INDEX_ARRAY_TYPE_EXT
#endif
#ifdef INDEX_ARRAY_STRIDE_EXT
#undef INDEX_ARRAY_STRIDE_EXT
#endif
#ifdef INDEX_ARRAY_COUNT_EXT
#undef INDEX_ARRAY_COUNT_EXT
#endif
#ifdef TEXTURE_COORD_ARRAY_SIZE_EXT
#undef TEXTURE_COORD_ARRAY_SIZE_EXT
#endif
#ifdef TEXTURE_COORD_ARRAY_TYPE_EXT
#undef TEXTURE_COORD_ARRAY_TYPE_EXT
#endif
#ifdef TEXTURE_COORD_ARRAY_STRIDE_EXT
#undef TEXTURE_COORD_ARRAY_STRIDE_EXT
#endif
#ifdef TEXTURE_COORD_ARRAY_COUNT_EXT
#undef TEXTURE_COORD_ARRAY_COUNT_EXT
#endif
#ifdef EDGE_FLAG_ARRAY_STRIDE_EXT
#undef EDGE_FLAG_ARRAY_STRIDE_EXT
#endif
#ifdef EDGE_FLAG_ARRAY_COUNT_EXT
#undef EDGE_FLAG_ARRAY_COUNT_EXT
#endif
#ifdef VERTEX_ARRAY_POINTER_EXT
#undef VERTEX_ARRAY_POINTER_EXT
#endif
#ifdef NORMAL_ARRAY_POINTER_EXT
#undef NORMAL_ARRAY_POINTER_EXT
#endif
#ifdef COLOR_ARRAY_POINTER_EXT
#undef COLOR_ARRAY_POINTER_EXT
#endif
#ifdef INDEX_ARRAY_POINTER_EXT
#undef INDEX_ARRAY_POINTER_EXT
#endif
#ifdef TEXTURE_COORD_ARRAY_POINTER_EXT
#undef TEXTURE_COORD_ARRAY_POINTER_EXT
#endif
#ifdef EDGE_FLAG_ARRAY_POINTER_EXT
#undef EDGE_FLAG_ARRAY_POINTER_EXT
#endif
#ifdef VERTEX_SHADER_EXT
#undef VERTEX_SHADER_EXT
#endif
#ifdef VERTEX_SHADER_BINDING_EXT
#undef VERTEX_SHADER_BINDING_EXT
#endif
#ifdef OP_INDEX_EXT
#undef OP_INDEX_EXT
#endif
#ifdef OP_NEGATE_EXT
#undef OP_NEGATE_EXT
#endif
#ifdef OP_DOT3_EXT
#undef OP_DOT3_EXT
#endif
#ifdef OP_DOT4_EXT
#undef OP_DOT4_EXT
#endif
#ifdef OP_MUL_EXT
#undef OP_MUL_EXT
#endif
#ifdef OP_ADD_EXT
#undef OP_ADD_EXT
#endif
#ifdef OP_MADD_EXT
#undef OP_MADD_EXT
#endif
#ifdef OP_FRAC_EXT
#undef OP_FRAC_EXT
#endif
#ifdef OP_MAX_EXT
#undef OP_MAX_EXT
#endif
#ifdef OP_MIN_EXT
#undef OP_MIN_EXT
#endif
#ifdef OP_SET_GE_EXT
#undef OP_SET_GE_EXT
#endif
#ifdef OP_SET_LT_EXT
#undef OP_SET_LT_EXT
#endif
#ifdef OP_CLAMP_EXT
#undef OP_CLAMP_EXT
#endif
#ifdef OP_FLOOR_EXT
#undef OP_FLOOR_EXT
#endif
#ifdef OP_ROUND_EXT
#undef OP_ROUND_EXT
#endif
#ifdef OP_EXP_BASE_2_EXT
#undef OP_EXP_BASE_2_EXT
#endif
#ifdef OP_LOG_BASE_2_EXT
#undef OP_LOG_BASE_2_EXT
#endif
#ifdef OP_POWER_EXT
#undef OP_POWER_EXT
#endif
#ifdef OP_RECIP_EXT
#undef OP_RECIP_EXT
#endif
#ifdef OP_RECIP_SQRT_EXT
#undef OP_RECIP_SQRT_EXT
#endif
#ifdef OP_SUB_EXT
#undef OP_SUB_EXT
#endif
#ifdef OP_CROSS_PRODUCT_EXT
#undef OP_CROSS_PRODUCT_EXT
#endif
#ifdef OP_MULTIPLY_MATRIX_EXT
#undef OP_MULTIPLY_MATRIX_EXT
#endif
#ifdef OP_MOV_EXT
#undef OP_MOV_EXT
#endif
#ifdef OUTPUT_VERTEX_EXT
#undef OUTPUT_VERTEX_EXT
#endif
#ifdef OUTPUT_COLOR0_EXT
#undef OUTPUT_COLOR0_EXT
#endif
#ifdef OUTPUT_COLOR1_EXT
#undef OUTPUT_COLOR1_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD0_EXT
#undef OUTPUT_TEXTURE_COORD0_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD1_EXT
#undef OUTPUT_TEXTURE_COORD1_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD2_EXT
#undef OUTPUT_TEXTURE_COORD2_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD3_EXT
#undef OUTPUT_TEXTURE_COORD3_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD4_EXT
#undef OUTPUT_TEXTURE_COORD4_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD5_EXT
#undef OUTPUT_TEXTURE_COORD5_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD6_EXT
#undef OUTPUT_TEXTURE_COORD6_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD7_EXT
#undef OUTPUT_TEXTURE_COORD7_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD8_EXT
#undef OUTPUT_TEXTURE_COORD8_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD9_EXT
#undef OUTPUT_TEXTURE_COORD9_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD10_EXT
#undef OUTPUT_TEXTURE_COORD10_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD11_EXT
#undef OUTPUT_TEXTURE_COORD11_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD12_EXT
#undef OUTPUT_TEXTURE_COORD12_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD13_EXT
#undef OUTPUT_TEXTURE_COORD13_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD14_EXT
#undef OUTPUT_TEXTURE_COORD14_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD15_EXT
#undef OUTPUT_TEXTURE_COORD15_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD16_EXT
#undef OUTPUT_TEXTURE_COORD16_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD17_EXT
#undef OUTPUT_TEXTURE_COORD17_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD18_EXT
#undef OUTPUT_TEXTURE_COORD18_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD19_EXT
#undef OUTPUT_TEXTURE_COORD19_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD20_EXT
#undef OUTPUT_TEXTURE_COORD20_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD21_EXT
#undef OUTPUT_TEXTURE_COORD21_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD22_EXT
#undef OUTPUT_TEXTURE_COORD22_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD23_EXT
#undef OUTPUT_TEXTURE_COORD23_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD24_EXT
#undef OUTPUT_TEXTURE_COORD24_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD25_EXT
#undef OUTPUT_TEXTURE_COORD25_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD26_EXT
#undef OUTPUT_TEXTURE_COORD26_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD27_EXT
#undef OUTPUT_TEXTURE_COORD27_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD28_EXT
#undef OUTPUT_TEXTURE_COORD28_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD29_EXT
#undef OUTPUT_TEXTURE_COORD29_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD30_EXT
#undef OUTPUT_TEXTURE_COORD30_EXT
#endif
#ifdef OUTPUT_TEXTURE_COORD31_EXT
#undef OUTPUT_TEXTURE_COORD31_EXT
#endif
#ifdef OUTPUT_FOG_EXT
#undef OUTPUT_FOG_EXT
#endif
#ifdef SCALAR_EXT
#undef SCALAR_EXT
#endif
#ifdef VECTOR_EXT
#undef VECTOR_EXT
#endif
#ifdef MATRIX_EXT
#undef MATRIX_EXT
#endif
#ifdef VARIANT_EXT
#undef VARIANT_EXT
#endif
#ifdef INVARIANT_EXT
#undef INVARIANT_EXT
#endif
#ifdef LOCAL_CONSTANT_EXT
#undef LOCAL_CONSTANT_EXT
#endif
#ifdef LOCAL_EXT
#undef LOCAL_EXT
#endif
#ifdef MAX_VERTEX_SHADER_INSTRUCTIONS_EXT
#undef MAX_VERTEX_SHADER_INSTRUCTIONS_EXT
#endif
#ifdef MAX_VERTEX_SHADER_VARIANTS_EXT
#undef MAX_VERTEX_SHADER_VARIANTS_EXT
#endif
#ifdef MAX_VERTEX_SHADER_INVARIANTS_EXT
#undef MAX_VERTEX_SHADER_INVARIANTS_EXT
#endif
#ifdef MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
#undef MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
#endif
#ifdef MAX_VERTEX_SHADER_LOCALS_EXT
#undef MAX_VERTEX_SHADER_LOCALS_EXT
#endif
#ifdef MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT
#undef MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT
#endif
#ifdef MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT
#undef MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT
#endif
#ifdef MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
#undef MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
#endif
#ifdef MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT
#undef MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT
#endif
#ifdef MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT
#undef MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT
#endif
#ifdef VERTEX_SHADER_INSTRUCTIONS_EXT
#undef VERTEX_SHADER_INSTRUCTIONS_EXT
#endif
#ifdef VERTEX_SHADER_VARIANTS_EXT
#undef VERTEX_SHADER_VARIANTS_EXT
#endif
#ifdef VERTEX_SHADER_INVARIANTS_EXT
#undef VERTEX_SHADER_INVARIANTS_EXT
#endif
#ifdef VERTEX_SHADER_LOCAL_CONSTANTS_EXT
#undef VERTEX_SHADER_LOCAL_CONSTANTS_EXT
#endif
#ifdef VERTEX_SHADER_LOCALS_EXT
#undef VERTEX_SHADER_LOCALS_EXT
#endif
#ifdef VERTEX_SHADER_OPTIMIZED_EXT
#undef VERTEX_SHADER_OPTIMIZED_EXT
#endif
#ifdef X_EXT
#undef X_EXT
#endif
#ifdef Y_EXT
#undef Y_EXT
#endif
#ifdef Z_EXT
#undef Z_EXT
#endif
#ifdef W_EXT
#undef W_EXT
#endif
#ifdef NEGATIVE_X_EXT
#undef NEGATIVE_X_EXT
#endif
#ifdef NEGATIVE_Y_EXT
#undef NEGATIVE_Y_EXT
#endif
#ifdef NEGATIVE_Z_EXT
#undef NEGATIVE_Z_EXT
#endif
#ifdef NEGATIVE_W_EXT
#undef NEGATIVE_W_EXT
#endif
#ifdef ZERO_EXT
#undef ZERO_EXT
#endif
#ifdef ONE_EXT
#undef ONE_EXT
#endif
#ifdef NEGATIVE_ONE_EXT
#undef NEGATIVE_ONE_EXT
#endif
#ifdef NORMALIZED_RANGE_EXT
#undef NORMALIZED_RANGE_EXT
#endif
#ifdef FULL_RANGE_EXT
#undef FULL_RANGE_EXT
#endif
#ifdef CURRENT_VERTEX_EXT
#undef CURRENT_VERTEX_EXT
#endif
#ifdef MVP_MATRIX_EXT
#undef MVP_MATRIX_EXT
#endif
#ifdef VARIANT_VALUE_EXT
#undef VARIANT_VALUE_EXT
#endif
#ifdef VARIANT_DATATYPE_EXT
#undef VARIANT_DATATYPE_EXT
#endif
#ifdef VARIANT_ARRAY_STRIDE_EXT
#undef VARIANT_ARRAY_STRIDE_EXT
#endif
#ifdef VARIANT_ARRAY_TYPE_EXT
#undef VARIANT_ARRAY_TYPE_EXT
#endif
#ifdef VARIANT_ARRAY_EXT
#undef VARIANT_ARRAY_EXT
#endif
#ifdef VARIANT_ARRAY_POINTER_EXT
#undef VARIANT_ARRAY_POINTER_EXT
#endif
#ifdef INVARIANT_VALUE_EXT
#undef INVARIANT_VALUE_EXT
#endif
#ifdef INVARIANT_DATATYPE_EXT
#undef INVARIANT_DATATYPE_EXT
#endif
#ifdef LOCAL_CONSTANT_VALUE_EXT
#undef LOCAL_CONSTANT_VALUE_EXT
#endif
#ifdef LOCAL_CONSTANT_DATATYPE_EXT
#undef LOCAL_CONSTANT_DATATYPE_EXT
#endif
#ifdef MODELVIEW0_STACK_DEPTH_EXT
#undef MODELVIEW0_STACK_DEPTH_EXT
#endif
#ifdef MODELVIEW1_STACK_DEPTH_EXT
#undef MODELVIEW1_STACK_DEPTH_EXT
#endif
#ifdef MODELVIEW0_MATRIX_EXT
#undef MODELVIEW0_MATRIX_EXT
#endif
#ifdef MODELVIEW1_MATRIX_EXT
#undef MODELVIEW1_MATRIX_EXT
#endif
#ifdef VERTEX_WEIGHTING_EXT
#undef VERTEX_WEIGHTING_EXT
#endif
#ifdef MODELVIEW0_EXT
#undef MODELVIEW0_EXT
#endif
#ifdef MODELVIEW1_EXT
#undef MODELVIEW1_EXT
#endif
#ifdef CURRENT_VERTEX_WEIGHT_EXT
#undef CURRENT_VERTEX_WEIGHT_EXT
#endif
#ifdef VERTEX_WEIGHT_ARRAY_EXT
#undef VERTEX_WEIGHT_ARRAY_EXT
#endif
#ifdef VERTEX_WEIGHT_ARRAY_SIZE_EXT
#undef VERTEX_WEIGHT_ARRAY_SIZE_EXT
#endif
#ifdef VERTEX_WEIGHT_ARRAY_TYPE_EXT
#undef VERTEX_WEIGHT_ARRAY_TYPE_EXT
#endif
#ifdef VERTEX_WEIGHT_ARRAY_STRIDE_EXT
#undef VERTEX_WEIGHT_ARRAY_STRIDE_EXT
#endif
#ifdef VERTEX_WEIGHT_ARRAY_POINTER_EXT
#undef VERTEX_WEIGHT_ARRAY_POINTER_EXT
#endif
#ifdef TEXTURE_DEFORMATION_BIT_SGIX
#undef TEXTURE_DEFORMATION_BIT_SGIX
#endif
#ifdef GEOMETRY_DEFORMATION_BIT_SGIX
#undef GEOMETRY_DEFORMATION_BIT_SGIX
#endif
#ifdef IGNORE_BORDER_HP
#undef IGNORE_BORDER_HP
#endif
#ifdef CONSTANT_BORDER_HP
#undef CONSTANT_BORDER_HP
#endif
#ifdef REPLICATE_BORDER_HP
#undef REPLICATE_BORDER_HP
#endif
#ifdef CONVOLUTION_BORDER_COLOR_HP
#undef CONVOLUTION_BORDER_COLOR_HP
#endif
#ifdef IMAGE_SCALE_X_HP
#undef IMAGE_SCALE_X_HP
#endif
#ifdef IMAGE_SCALE_Y_HP
#undef IMAGE_SCALE_Y_HP
#endif
#ifdef IMAGE_TRANSLATE_X_HP
#undef IMAGE_TRANSLATE_X_HP
#endif
#ifdef IMAGE_TRANSLATE_Y_HP
#undef IMAGE_TRANSLATE_Y_HP
#endif
#ifdef IMAGE_ROTATE_ANGLE_HP
#undef IMAGE_ROTATE_ANGLE_HP
#endif
#ifdef IMAGE_ROTATE_ORIGIN_X_HP
#undef IMAGE_ROTATE_ORIGIN_X_HP
#endif
#ifdef IMAGE_ROTATE_ORIGIN_Y_HP
#undef IMAGE_ROTATE_ORIGIN_Y_HP
#endif
#ifdef IMAGE_MAG_FILTER_HP
#undef IMAGE_MAG_FILTER_HP
#endif
#ifdef IMAGE_MIN_FILTER_HP
#undef IMAGE_MIN_FILTER_HP
#endif
#ifdef IMAGE_CUBIC_WEIGHT_HP
#undef IMAGE_CUBIC_WEIGHT_HP
#endif
#ifdef CUBIC_HP
#undef CUBIC_HP
#endif
#ifdef AVERAGE_HP
#undef AVERAGE_HP
#endif
#ifdef IMAGE_TRANSFORM_2D_HP
#undef IMAGE_TRANSFORM_2D_HP
#endif
#ifdef POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
#undef POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
#endif
#ifdef PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
#undef PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
#endif
#ifdef OCCLUSION_TEST_HP
#undef OCCLUSION_TEST_HP
#endif
#ifdef OCCLUSION_TEST_RESULT_HP
#undef OCCLUSION_TEST_RESULT_HP
#endif
#ifdef TEXTURE_LIGHTING_MODE_HP
#undef TEXTURE_LIGHTING_MODE_HP
#endif
#ifdef TEXTURE_POST_SPECULAR_HP
#undef TEXTURE_POST_SPECULAR_HP
#endif
#ifdef TEXTURE_PRE_SPECULAR_HP
#undef TEXTURE_PRE_SPECULAR_HP
#endif
#ifdef CULL_VERTEX_IBM
#undef CULL_VERTEX_IBM
#endif
#ifdef RASTER_POSITION_UNCLIPPED_IBM
#undef RASTER_POSITION_UNCLIPPED_IBM
#endif
#ifdef MIRRORED_REPEAT_IBM
#undef MIRRORED_REPEAT_IBM
#endif
#ifdef VERTEX_ARRAY_LIST_IBM
#undef VERTEX_ARRAY_LIST_IBM
#endif
#ifdef NORMAL_ARRAY_LIST_IBM
#undef NORMAL_ARRAY_LIST_IBM
#endif
#ifdef COLOR_ARRAY_LIST_IBM
#undef COLOR_ARRAY_LIST_IBM
#endif
#ifdef INDEX_ARRAY_LIST_IBM
#undef INDEX_ARRAY_LIST_IBM
#endif
#ifdef TEXTURE_COORD_ARRAY_LIST_IBM
#undef TEXTURE_COORD_ARRAY_LIST_IBM
#endif
#ifdef EDGE_FLAG_ARRAY_LIST_IBM
#undef EDGE_FLAG_ARRAY_LIST_IBM
#endif
#ifdef FOG_COORDINATE_ARRAY_LIST_IBM
#undef FOG_COORDINATE_ARRAY_LIST_IBM
#endif
#ifdef SECONDARY_COLOR_ARRAY_LIST_IBM
#undef SECONDARY_COLOR_ARRAY_LIST_IBM
#endif
#ifdef VERTEX_ARRAY_LIST_STRIDE_IBM
#undef VERTEX_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef NORMAL_ARRAY_LIST_STRIDE_IBM
#undef NORMAL_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef COLOR_ARRAY_LIST_STRIDE_IBM
#undef COLOR_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef INDEX_ARRAY_LIST_STRIDE_IBM
#undef INDEX_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM
#undef TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef EDGE_FLAG_ARRAY_LIST_STRIDE_IBM
#undef EDGE_FLAG_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM
#undef FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM
#undef SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM
#endif
#ifdef RED_MIN_CLAMP_INGR
#undef RED_MIN_CLAMP_INGR
#endif
#ifdef GREEN_MIN_CLAMP_INGR
#undef GREEN_MIN_CLAMP_INGR
#endif
#ifdef BLUE_MIN_CLAMP_INGR
#undef BLUE_MIN_CLAMP_INGR
#endif
#ifdef ALPHA_MIN_CLAMP_INGR
#undef ALPHA_MIN_CLAMP_INGR
#endif
#ifdef RED_MAX_CLAMP_INGR
#undef RED_MAX_CLAMP_INGR
#endif
#ifdef GREEN_MAX_CLAMP_INGR
#undef GREEN_MAX_CLAMP_INGR
#endif
#ifdef BLUE_MAX_CLAMP_INGR
#undef BLUE_MAX_CLAMP_INGR
#endif
#ifdef ALPHA_MAX_CLAMP_INGR
#undef ALPHA_MAX_CLAMP_INGR
#endif
#ifdef INTERLACE_READ_INGR
#undef INTERLACE_READ_INGR
#endif
#ifdef PARALLEL_ARRAYS_INTEL
#undef PARALLEL_ARRAYS_INTEL
#endif
#ifdef VERTEX_ARRAY_PARALLEL_POINTERS_INTEL
#undef VERTEX_ARRAY_PARALLEL_POINTERS_INTEL
#endif
#ifdef NORMAL_ARRAY_PARALLEL_POINTERS_INTEL
#undef NORMAL_ARRAY_PARALLEL_POINTERS_INTEL
#endif
#ifdef COLOR_ARRAY_PARALLEL_POINTERS_INTEL
#undef COLOR_ARRAY_PARALLEL_POINTERS_INTEL
#endif
#ifdef TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL
#undef TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL
#endif
#ifdef TEXTURE_1D_STACK_MESAX
#undef TEXTURE_1D_STACK_MESAX
#endif
#ifdef TEXTURE_2D_STACK_MESAX
#undef TEXTURE_2D_STACK_MESAX
#endif
#ifdef PROXY_TEXTURE_1D_STACK_MESAX
#undef PROXY_TEXTURE_1D_STACK_MESAX
#endif
#ifdef PROXY_TEXTURE_2D_STACK_MESAX
#undef PROXY_TEXTURE_2D_STACK_MESAX
#endif
#ifdef TEXTURE_1D_STACK_BINDING_MESAX
#undef TEXTURE_1D_STACK_BINDING_MESAX
#endif
#ifdef TEXTURE_2D_STACK_BINDING_MESAX
#undef TEXTURE_2D_STACK_BINDING_MESAX
#endif
#ifdef PACK_INVERT_MESA
#undef PACK_INVERT_MESA
#endif
#ifdef UNSIGNED_SHORT_8_8_MESA
#undef UNSIGNED_SHORT_8_8_MESA
#endif
#ifdef UNSIGNED_SHORT_8_8_REV_MESA
#undef UNSIGNED_SHORT_8_8_REV_MESA
#endif
#ifdef YCBCR_MESA
#undef YCBCR_MESA
#endif
#ifdef QUERY_WAIT_NV
#undef QUERY_WAIT_NV
#endif
#ifdef QUERY_NO_WAIT_NV
#undef QUERY_NO_WAIT_NV
#endif
#ifdef QUERY_BY_REGION_WAIT_NV
#undef QUERY_BY_REGION_WAIT_NV
#endif
#ifdef QUERY_BY_REGION_NO_WAIT_NV
#undef QUERY_BY_REGION_NO_WAIT_NV
#endif
#ifdef DEPTH_STENCIL_TO_RGBA_NV
#undef DEPTH_STENCIL_TO_RGBA_NV
#endif
#ifdef DEPTH_STENCIL_TO_BGRA_NV
#undef DEPTH_STENCIL_TO_BGRA_NV
#endif
#ifdef DEPTH_COMPONENT32F_NV
#undef DEPTH_COMPONENT32F_NV
#endif
#ifdef DEPTH32F_STENCIL8_NV
#undef DEPTH32F_STENCIL8_NV
#endif
#ifdef FLOAT_32_UNSIGNED_INT_24_8_REV_NV
#undef FLOAT_32_UNSIGNED_INT_24_8_REV_NV
#endif
#ifdef DEPTH_BUFFER_FLOAT_MODE_NV
#undef DEPTH_BUFFER_FLOAT_MODE_NV
#endif
#ifdef DEPTH_CLAMP_NV
#undef DEPTH_CLAMP_NV
#endif
#ifdef EVAL_2D_NV
#undef EVAL_2D_NV
#endif
#ifdef EVAL_TRIANGULAR_2D_NV
#undef EVAL_TRIANGULAR_2D_NV
#endif
#ifdef MAP_TESSELLATION_NV
#undef MAP_TESSELLATION_NV
#endif
#ifdef MAP_ATTRIB_U_ORDER_NV
#undef MAP_ATTRIB_U_ORDER_NV
#endif
#ifdef MAP_ATTRIB_V_ORDER_NV
#undef MAP_ATTRIB_V_ORDER_NV
#endif
#ifdef EVAL_FRACTIONAL_TESSELLATION_NV
#undef EVAL_FRACTIONAL_TESSELLATION_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB0_NV
#undef EVAL_VERTEX_ATTRIB0_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB1_NV
#undef EVAL_VERTEX_ATTRIB1_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB2_NV
#undef EVAL_VERTEX_ATTRIB2_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB3_NV
#undef EVAL_VERTEX_ATTRIB3_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB4_NV
#undef EVAL_VERTEX_ATTRIB4_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB5_NV
#undef EVAL_VERTEX_ATTRIB5_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB6_NV
#undef EVAL_VERTEX_ATTRIB6_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB7_NV
#undef EVAL_VERTEX_ATTRIB7_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB8_NV
#undef EVAL_VERTEX_ATTRIB8_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB9_NV
#undef EVAL_VERTEX_ATTRIB9_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB10_NV
#undef EVAL_VERTEX_ATTRIB10_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB11_NV
#undef EVAL_VERTEX_ATTRIB11_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB12_NV
#undef EVAL_VERTEX_ATTRIB12_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB13_NV
#undef EVAL_VERTEX_ATTRIB13_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB14_NV
#undef EVAL_VERTEX_ATTRIB14_NV
#endif
#ifdef EVAL_VERTEX_ATTRIB15_NV
#undef EVAL_VERTEX_ATTRIB15_NV
#endif
#ifdef MAX_MAP_TESSELLATION_NV
#undef MAX_MAP_TESSELLATION_NV
#endif
#ifdef MAX_RATIONAL_EVAL_ORDER_NV
#undef MAX_RATIONAL_EVAL_ORDER_NV
#endif
#ifdef SAMPLE_POSITION_NV
#undef SAMPLE_POSITION_NV
#endif
#ifdef SAMPLE_MASK_NV
#undef SAMPLE_MASK_NV
#endif
#ifdef SAMPLE_MASK_VALUE_NV
#undef SAMPLE_MASK_VALUE_NV
#endif
#ifdef TEXTURE_BINDING_RENDERBUFFER_NV
#undef TEXTURE_BINDING_RENDERBUFFER_NV
#endif
#ifdef TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV
#undef TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV
#endif
#ifdef TEXTURE_RENDERBUFFER_NV
#undef TEXTURE_RENDERBUFFER_NV
#endif
#ifdef SAMPLER_RENDERBUFFER_NV
#undef SAMPLER_RENDERBUFFER_NV
#endif
#ifdef INT_SAMPLER_RENDERBUFFER_NV
#undef INT_SAMPLER_RENDERBUFFER_NV
#endif
#ifdef UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV
#undef UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV
#endif
#ifdef MAX_SAMPLE_MASK_WORDS_NV
#undef MAX_SAMPLE_MASK_WORDS_NV
#endif
#ifdef ALL_COMPLETED_NV
#undef ALL_COMPLETED_NV
#endif
#ifdef FENCE_STATUS_NV
#undef FENCE_STATUS_NV
#endif
#ifdef FENCE_CONDITION_NV
#undef FENCE_CONDITION_NV
#endif
#ifdef FLOAT_R_NV
#undef FLOAT_R_NV
#endif
#ifdef FLOAT_RG_NV
#undef FLOAT_RG_NV
#endif
#ifdef FLOAT_RGB_NV
#undef FLOAT_RGB_NV
#endif
#ifdef FLOAT_RGBA_NV
#undef FLOAT_RGBA_NV
#endif
#ifdef FLOAT_R16_NV
#undef FLOAT_R16_NV
#endif
#ifdef FLOAT_R32_NV
#undef FLOAT_R32_NV
#endif
#ifdef FLOAT_RG16_NV
#undef FLOAT_RG16_NV
#endif
#ifdef FLOAT_RG32_NV
#undef FLOAT_RG32_NV
#endif
#ifdef FLOAT_RGB16_NV
#undef FLOAT_RGB16_NV
#endif
#ifdef FLOAT_RGB32_NV
#undef FLOAT_RGB32_NV
#endif
#ifdef FLOAT_RGBA16_NV
#undef FLOAT_RGBA16_NV
#endif
#ifdef FLOAT_RGBA32_NV
#undef FLOAT_RGBA32_NV
#endif
#ifdef TEXTURE_FLOAT_COMPONENTS_NV
#undef TEXTURE_FLOAT_COMPONENTS_NV
#endif
#ifdef FLOAT_CLEAR_COLOR_VALUE_NV
#undef FLOAT_CLEAR_COLOR_VALUE_NV
#endif
#ifdef FLOAT_RGBA_MODE_NV
#undef FLOAT_RGBA_MODE_NV
#endif
#ifdef FOG_DISTANCE_MODE_NV
#undef FOG_DISTANCE_MODE_NV
#endif
#ifdef EYE_RADIAL_NV
#undef EYE_RADIAL_NV
#endif
#ifdef EYE_PLANE_ABSOLUTE_NV
#undef EYE_PLANE_ABSOLUTE_NV
#endif
#ifdef MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV
#undef MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV
#endif
#ifdef FRAGMENT_PROGRAM_NV
#undef FRAGMENT_PROGRAM_NV
#endif
#ifdef MAX_TEXTURE_COORDS_NV
#undef MAX_TEXTURE_COORDS_NV
#endif
#ifdef MAX_TEXTURE_IMAGE_UNITS_NV
#undef MAX_TEXTURE_IMAGE_UNITS_NV
#endif
#ifdef FRAGMENT_PROGRAM_BINDING_NV
#undef FRAGMENT_PROGRAM_BINDING_NV
#endif
#ifdef PROGRAM_ERROR_STRING_NV
#undef PROGRAM_ERROR_STRING_NV
#endif
#ifdef MAX_PROGRAM_EXEC_INSTRUCTIONS_NV
#undef MAX_PROGRAM_EXEC_INSTRUCTIONS_NV
#endif
#ifdef MAX_PROGRAM_CALL_DEPTH_NV
#undef MAX_PROGRAM_CALL_DEPTH_NV
#endif
#ifdef MAX_PROGRAM_IF_DEPTH_NV
#undef MAX_PROGRAM_IF_DEPTH_NV
#endif
#ifdef MAX_PROGRAM_LOOP_DEPTH_NV
#undef MAX_PROGRAM_LOOP_DEPTH_NV
#endif
#ifdef MAX_PROGRAM_LOOP_COUNT_NV
#undef MAX_PROGRAM_LOOP_COUNT_NV
#endif
#ifdef RENDERBUFFER_COVERAGE_SAMPLES_NV
#undef RENDERBUFFER_COVERAGE_SAMPLES_NV
#endif
#ifdef RENDERBUFFER_COLOR_SAMPLES_NV
#undef RENDERBUFFER_COLOR_SAMPLES_NV
#endif
#ifdef MAX_MULTISAMPLE_COVERAGE_MODES_NV
#undef MAX_MULTISAMPLE_COVERAGE_MODES_NV
#endif
#ifdef MULTISAMPLE_COVERAGE_MODES_NV
#undef MULTISAMPLE_COVERAGE_MODES_NV
#endif
#ifdef LINES_ADJACENCY_EXT
#undef LINES_ADJACENCY_EXT
#endif
#ifdef LINE_STRIP_ADJACENCY_EXT
#undef LINE_STRIP_ADJACENCY_EXT
#endif
#ifdef TRIANGLES_ADJACENCY_EXT
#undef TRIANGLES_ADJACENCY_EXT
#endif
#ifdef TRIANGLE_STRIP_ADJACENCY_EXT
#undef TRIANGLE_STRIP_ADJACENCY_EXT
#endif
#ifdef GEOMETRY_PROGRAM_NV
#undef GEOMETRY_PROGRAM_NV
#endif
#ifdef MAX_PROGRAM_OUTPUT_VERTICES_NV
#undef MAX_PROGRAM_OUTPUT_VERTICES_NV
#endif
#ifdef MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV
#undef MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV
#endif
#ifdef GEOMETRY_VERTICES_OUT_EXT
#undef GEOMETRY_VERTICES_OUT_EXT
#endif
#ifdef GEOMETRY_INPUT_TYPE_EXT
#undef GEOMETRY_INPUT_TYPE_EXT
#endif
#ifdef GEOMETRY_OUTPUT_TYPE_EXT
#undef GEOMETRY_OUTPUT_TYPE_EXT
#endif
#ifdef MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT
#undef MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_LAYERED_EXT
#undef FRAMEBUFFER_ATTACHMENT_LAYERED_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT
#undef FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT
#undef FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT
#undef FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT
#endif
#ifdef PROGRAM_POINT_SIZE_EXT
#undef PROGRAM_POINT_SIZE_EXT
#endif
#ifdef MIN_PROGRAM_TEXEL_OFFSET_NV
#undef MIN_PROGRAM_TEXEL_OFFSET_NV
#endif
#ifdef MAX_PROGRAM_TEXEL_OFFSET_NV
#undef MAX_PROGRAM_TEXEL_OFFSET_NV
#endif
#ifdef PROGRAM_ATTRIB_COMPONENTS_NV
#undef PROGRAM_ATTRIB_COMPONENTS_NV
#endif
#ifdef PROGRAM_RESULT_COMPONENTS_NV
#undef PROGRAM_RESULT_COMPONENTS_NV
#endif
#ifdef MAX_PROGRAM_ATTRIB_COMPONENTS_NV
#undef MAX_PROGRAM_ATTRIB_COMPONENTS_NV
#endif
#ifdef MAX_PROGRAM_RESULT_COMPONENTS_NV
#undef MAX_PROGRAM_RESULT_COMPONENTS_NV
#endif
#ifdef MAX_PROGRAM_GENERIC_ATTRIBS_NV
#undef MAX_PROGRAM_GENERIC_ATTRIBS_NV
#endif
#ifdef MAX_PROGRAM_GENERIC_RESULTS_NV
#undef MAX_PROGRAM_GENERIC_RESULTS_NV
#endif
#ifdef HALF_FLOAT_NV
#undef HALF_FLOAT_NV
#endif
#ifdef MAX_SHININESS_NV
#undef MAX_SHININESS_NV
#endif
#ifdef MAX_SPOT_EXPONENT_NV
#undef MAX_SPOT_EXPONENT_NV
#endif
#ifdef MULTISAMPLE_FILTER_HINT_NV
#undef MULTISAMPLE_FILTER_HINT_NV
#endif
#ifdef PIXEL_COUNTER_BITS_NV
#undef PIXEL_COUNTER_BITS_NV
#endif
#ifdef CURRENT_OCCLUSION_QUERY_ID_NV
#undef CURRENT_OCCLUSION_QUERY_ID_NV
#endif
#ifdef PIXEL_COUNT_NV
#undef PIXEL_COUNT_NV
#endif
#ifdef PIXEL_COUNT_AVAILABLE_NV
#undef PIXEL_COUNT_AVAILABLE_NV
#endif
#ifdef DEPTH_STENCIL_NV
#undef DEPTH_STENCIL_NV
#endif
#ifdef UNSIGNED_INT_24_8_NV
#undef UNSIGNED_INT_24_8_NV
#endif
#ifdef MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV
#undef MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV
#endif
#ifdef MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV
#undef MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV
#endif
#ifdef VERTEX_PROGRAM_PARAMETER_BUFFER_NV
#undef VERTEX_PROGRAM_PARAMETER_BUFFER_NV
#endif
#ifdef GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV
#undef GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV
#endif
#ifdef FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV
#undef FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV
#endif
#ifdef WRITE_PIXEL_DATA_RANGE_NV
#undef WRITE_PIXEL_DATA_RANGE_NV
#endif
#ifdef READ_PIXEL_DATA_RANGE_NV
#undef READ_PIXEL_DATA_RANGE_NV
#endif
#ifdef WRITE_PIXEL_DATA_RANGE_LENGTH_NV
#undef WRITE_PIXEL_DATA_RANGE_LENGTH_NV
#endif
#ifdef READ_PIXEL_DATA_RANGE_LENGTH_NV
#undef READ_PIXEL_DATA_RANGE_LENGTH_NV
#endif
#ifdef WRITE_PIXEL_DATA_RANGE_POINTER_NV
#undef WRITE_PIXEL_DATA_RANGE_POINTER_NV
#endif
#ifdef READ_PIXEL_DATA_RANGE_POINTER_NV
#undef READ_PIXEL_DATA_RANGE_POINTER_NV
#endif
#ifdef POINT_SPRITE_NV
#undef POINT_SPRITE_NV
#endif
#ifdef COORD_REPLACE_NV
#undef COORD_REPLACE_NV
#endif
#ifdef POINT_SPRITE_R_MODE_NV
#undef POINT_SPRITE_R_MODE_NV
#endif
#ifdef FRAME_NV
#undef FRAME_NV
#endif
#ifdef FIELDS_NV
#undef FIELDS_NV
#endif
#ifdef CURRENT_TIME_NV
#undef CURRENT_TIME_NV
#endif
#ifdef NUM_FILL_STREAMS_NV
#undef NUM_FILL_STREAMS_NV
#endif
#ifdef PRESENT_TIME_NV
#undef PRESENT_TIME_NV
#endif
#ifdef PRESENT_DURATION_NV
#undef PRESENT_DURATION_NV
#endif
#ifdef PRIMITIVE_RESTART_NV
#undef PRIMITIVE_RESTART_NV
#endif
#ifdef PRIMITIVE_RESTART_INDEX_NV
#undef PRIMITIVE_RESTART_INDEX_NV
#endif
#ifdef REGISTER_COMBINERS_NV
#undef REGISTER_COMBINERS_NV
#endif
#ifdef VARIABLE_A_NV
#undef VARIABLE_A_NV
#endif
#ifdef VARIABLE_B_NV
#undef VARIABLE_B_NV
#endif
#ifdef VARIABLE_C_NV
#undef VARIABLE_C_NV
#endif
#ifdef VARIABLE_D_NV
#undef VARIABLE_D_NV
#endif
#ifdef VARIABLE_E_NV
#undef VARIABLE_E_NV
#endif
#ifdef VARIABLE_F_NV
#undef VARIABLE_F_NV
#endif
#ifdef VARIABLE_G_NV
#undef VARIABLE_G_NV
#endif
#ifdef CONSTANT_COLOR0_NV
#undef CONSTANT_COLOR0_NV
#endif
#ifdef CONSTANT_COLOR1_NV
#undef CONSTANT_COLOR1_NV
#endif
#ifdef PRIMARY_COLOR_NV
#undef PRIMARY_COLOR_NV
#endif
#ifdef SECONDARY_COLOR_NV
#undef SECONDARY_COLOR_NV
#endif
#ifdef SPARE0_NV
#undef SPARE0_NV
#endif
#ifdef SPARE1_NV
#undef SPARE1_NV
#endif
#ifdef DISCARD_NV
#undef DISCARD_NV
#endif
#ifdef E_TIMES_F_NV
#undef E_TIMES_F_NV
#endif
#ifdef SPARE0_PLUS_SECONDARY_COLOR_NV
#undef SPARE0_PLUS_SECONDARY_COLOR_NV
#endif
#ifdef UNSIGNED_IDENTITY_NV
#undef UNSIGNED_IDENTITY_NV
#endif
#ifdef UNSIGNED_INVERT_NV
#undef UNSIGNED_INVERT_NV
#endif
#ifdef EXPAND_NORMAL_NV
#undef EXPAND_NORMAL_NV
#endif
#ifdef EXPAND_NEGATE_NV
#undef EXPAND_NEGATE_NV
#endif
#ifdef HALF_BIAS_NORMAL_NV
#undef HALF_BIAS_NORMAL_NV
#endif
#ifdef HALF_BIAS_NEGATE_NV
#undef HALF_BIAS_NEGATE_NV
#endif
#ifdef SIGNED_IDENTITY_NV
#undef SIGNED_IDENTITY_NV
#endif
#ifdef SIGNED_NEGATE_NV
#undef SIGNED_NEGATE_NV
#endif
#ifdef SCALE_BY_TWO_NV
#undef SCALE_BY_TWO_NV
#endif
#ifdef SCALE_BY_FOUR_NV
#undef SCALE_BY_FOUR_NV
#endif
#ifdef SCALE_BY_ONE_HALF_NV
#undef SCALE_BY_ONE_HALF_NV
#endif
#ifdef BIAS_BY_NEGATIVE_ONE_HALF_NV
#undef BIAS_BY_NEGATIVE_ONE_HALF_NV
#endif
#ifdef COMBINER_INPUT_NV
#undef COMBINER_INPUT_NV
#endif
#ifdef COMBINER_MAPPING_NV
#undef COMBINER_MAPPING_NV
#endif
#ifdef COMBINER_COMPONENT_USAGE_NV
#undef COMBINER_COMPONENT_USAGE_NV
#endif
#ifdef COMBINER_AB_DOT_PRODUCT_NV
#undef COMBINER_AB_DOT_PRODUCT_NV
#endif
#ifdef COMBINER_CD_DOT_PRODUCT_NV
#undef COMBINER_CD_DOT_PRODUCT_NV
#endif
#ifdef COMBINER_MUX_SUM_NV
#undef COMBINER_MUX_SUM_NV
#endif
#ifdef COMBINER_SCALE_NV
#undef COMBINER_SCALE_NV
#endif
#ifdef COMBINER_BIAS_NV
#undef COMBINER_BIAS_NV
#endif
#ifdef COMBINER_AB_OUTPUT_NV
#undef COMBINER_AB_OUTPUT_NV
#endif
#ifdef COMBINER_CD_OUTPUT_NV
#undef COMBINER_CD_OUTPUT_NV
#endif
#ifdef COMBINER_SUM_OUTPUT_NV
#undef COMBINER_SUM_OUTPUT_NV
#endif
#ifdef MAX_GENERAL_COMBINERS_NV
#undef MAX_GENERAL_COMBINERS_NV
#endif
#ifdef NUM_GENERAL_COMBINERS_NV
#undef NUM_GENERAL_COMBINERS_NV
#endif
#ifdef COLOR_SUM_CLAMP_NV
#undef COLOR_SUM_CLAMP_NV
#endif
#ifdef COMBINER0_NV
#undef COMBINER0_NV
#endif
#ifdef COMBINER1_NV
#undef COMBINER1_NV
#endif
#ifdef COMBINER2_NV
#undef COMBINER2_NV
#endif
#ifdef COMBINER3_NV
#undef COMBINER3_NV
#endif
#ifdef COMBINER4_NV
#undef COMBINER4_NV
#endif
#ifdef COMBINER5_NV
#undef COMBINER5_NV
#endif
#ifdef COMBINER6_NV
#undef COMBINER6_NV
#endif
#ifdef COMBINER7_NV
#undef COMBINER7_NV
#endif
#ifdef PER_STAGE_CONSTANTS_NV
#undef PER_STAGE_CONSTANTS_NV
#endif
#ifdef BUFFER_GPU_ADDRESS_NV
#undef BUFFER_GPU_ADDRESS_NV
#endif
#ifdef GPU_ADDRESS_NV
#undef GPU_ADDRESS_NV
#endif
#ifdef MAX_SHADER_BUFFER_ADDRESS_NV
#undef MAX_SHADER_BUFFER_ADDRESS_NV
#endif
#ifdef EMBOSS_LIGHT_NV
#undef EMBOSS_LIGHT_NV
#endif
#ifdef EMBOSS_CONSTANT_NV
#undef EMBOSS_CONSTANT_NV
#endif
#ifdef EMBOSS_MAP_NV
#undef EMBOSS_MAP_NV
#endif
#ifdef NORMAL_MAP_NV
#undef NORMAL_MAP_NV
#endif
#ifdef REFLECTION_MAP_NV
#undef REFLECTION_MAP_NV
#endif
#ifdef COMBINE4_NV
#undef COMBINE4_NV
#endif
#ifdef SOURCE3_RGB_NV
#undef SOURCE3_RGB_NV
#endif
#ifdef SOURCE3_ALPHA_NV
#undef SOURCE3_ALPHA_NV
#endif
#ifdef OPERAND3_RGB_NV
#undef OPERAND3_RGB_NV
#endif
#ifdef OPERAND3_ALPHA_NV
#undef OPERAND3_ALPHA_NV
#endif
#ifdef TEXTURE_UNSIGNED_REMAP_MODE_NV
#undef TEXTURE_UNSIGNED_REMAP_MODE_NV
#endif
#ifdef TEXTURE_RECTANGLE_NV
#undef TEXTURE_RECTANGLE_NV
#endif
#ifdef TEXTURE_BINDING_RECTANGLE_NV
#undef TEXTURE_BINDING_RECTANGLE_NV
#endif
#ifdef PROXY_TEXTURE_RECTANGLE_NV
#undef PROXY_TEXTURE_RECTANGLE_NV
#endif
#ifdef MAX_RECTANGLE_TEXTURE_SIZE_NV
#undef MAX_RECTANGLE_TEXTURE_SIZE_NV
#endif
#ifdef OFFSET_TEXTURE_RECTANGLE_NV
#undef OFFSET_TEXTURE_RECTANGLE_NV
#endif
#ifdef OFFSET_TEXTURE_RECTANGLE_SCALE_NV
#undef OFFSET_TEXTURE_RECTANGLE_SCALE_NV
#endif
#ifdef DOT_PRODUCT_TEXTURE_RECTANGLE_NV
#undef DOT_PRODUCT_TEXTURE_RECTANGLE_NV
#endif
#ifdef RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV
#undef RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV
#endif
#ifdef UNSIGNED_INT_S8_S8_8_8_NV
#undef UNSIGNED_INT_S8_S8_8_8_NV
#endif
#ifdef UNSIGNED_INT_8_8_S8_S8_REV_NV
#undef UNSIGNED_INT_8_8_S8_S8_REV_NV
#endif
#ifdef DSDT_MAG_INTENSITY_NV
#undef DSDT_MAG_INTENSITY_NV
#endif
#ifdef SHADER_CONSISTENT_NV
#undef SHADER_CONSISTENT_NV
#endif
#ifdef TEXTURE_SHADER_NV
#undef TEXTURE_SHADER_NV
#endif
#ifdef SHADER_OPERATION_NV
#undef SHADER_OPERATION_NV
#endif
#ifdef CULL_MODES_NV
#undef CULL_MODES_NV
#endif
#ifdef OFFSET_TEXTURE_MATRIX_NV
#undef OFFSET_TEXTURE_MATRIX_NV
#endif
#ifdef OFFSET_TEXTURE_SCALE_NV
#undef OFFSET_TEXTURE_SCALE_NV
#endif
#ifdef OFFSET_TEXTURE_BIAS_NV
#undef OFFSET_TEXTURE_BIAS_NV
#endif
#ifdef OFFSET_TEXTURE_2D_MATRIX_NV
#undef OFFSET_TEXTURE_2D_MATRIX_NV
#endif
#ifdef OFFSET_TEXTURE_2D_SCALE_NV
#undef OFFSET_TEXTURE_2D_SCALE_NV
#endif
#ifdef OFFSET_TEXTURE_2D_BIAS_NV
#undef OFFSET_TEXTURE_2D_BIAS_NV
#endif
#ifdef PREVIOUS_TEXTURE_INPUT_NV
#undef PREVIOUS_TEXTURE_INPUT_NV
#endif
#ifdef CONST_EYE_NV
#undef CONST_EYE_NV
#endif
#ifdef PASS_THROUGH_NV
#undef PASS_THROUGH_NV
#endif
#ifdef CULL_FRAGMENT_NV
#undef CULL_FRAGMENT_NV
#endif
#ifdef OFFSET_TEXTURE_2D_NV
#undef OFFSET_TEXTURE_2D_NV
#endif
#ifdef DEPENDENT_AR_TEXTURE_2D_NV
#undef DEPENDENT_AR_TEXTURE_2D_NV
#endif
#ifdef DEPENDENT_GB_TEXTURE_2D_NV
#undef DEPENDENT_GB_TEXTURE_2D_NV
#endif
#ifdef DOT_PRODUCT_NV
#undef DOT_PRODUCT_NV
#endif
#ifdef DOT_PRODUCT_DEPTH_REPLACE_NV
#undef DOT_PRODUCT_DEPTH_REPLACE_NV
#endif
#ifdef DOT_PRODUCT_TEXTURE_2D_NV
#undef DOT_PRODUCT_TEXTURE_2D_NV
#endif
#ifdef DOT_PRODUCT_TEXTURE_CUBE_MAP_NV
#undef DOT_PRODUCT_TEXTURE_CUBE_MAP_NV
#endif
#ifdef DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV
#undef DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV
#endif
#ifdef DOT_PRODUCT_REFLECT_CUBE_MAP_NV
#undef DOT_PRODUCT_REFLECT_CUBE_MAP_NV
#endif
#ifdef DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV
#undef DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV
#endif
#ifdef HILO_NV
#undef HILO_NV
#endif
#ifdef DSDT_NV
#undef DSDT_NV
#endif
#ifdef DSDT_MAG_NV
#undef DSDT_MAG_NV
#endif
#ifdef DSDT_MAG_VIB_NV
#undef DSDT_MAG_VIB_NV
#endif
#ifdef HILO16_NV
#undef HILO16_NV
#endif
#ifdef SIGNED_HILO_NV
#undef SIGNED_HILO_NV
#endif
#ifdef SIGNED_HILO16_NV
#undef SIGNED_HILO16_NV
#endif
#ifdef SIGNED_RGBA_NV
#undef SIGNED_RGBA_NV
#endif
#ifdef SIGNED_RGBA8_NV
#undef SIGNED_RGBA8_NV
#endif
#ifdef SIGNED_RGB_NV
#undef SIGNED_RGB_NV
#endif
#ifdef SIGNED_RGB8_NV
#undef SIGNED_RGB8_NV
#endif
#ifdef SIGNED_LUMINANCE_NV
#undef SIGNED_LUMINANCE_NV
#endif
#ifdef SIGNED_LUMINANCE8_NV
#undef SIGNED_LUMINANCE8_NV
#endif
#ifdef SIGNED_LUMINANCE_ALPHA_NV
#undef SIGNED_LUMINANCE_ALPHA_NV
#endif
#ifdef SIGNED_LUMINANCE8_ALPHA8_NV
#undef SIGNED_LUMINANCE8_ALPHA8_NV
#endif
#ifdef SIGNED_ALPHA_NV
#undef SIGNED_ALPHA_NV
#endif
#ifdef SIGNED_ALPHA8_NV
#undef SIGNED_ALPHA8_NV
#endif
#ifdef SIGNED_INTENSITY_NV
#undef SIGNED_INTENSITY_NV
#endif
#ifdef SIGNED_INTENSITY8_NV
#undef SIGNED_INTENSITY8_NV
#endif
#ifdef DSDT8_NV
#undef DSDT8_NV
#endif
#ifdef DSDT8_MAG8_NV
#undef DSDT8_MAG8_NV
#endif
#ifdef DSDT8_MAG8_INTENSITY8_NV
#undef DSDT8_MAG8_INTENSITY8_NV
#endif
#ifdef SIGNED_RGB_UNSIGNED_ALPHA_NV
#undef SIGNED_RGB_UNSIGNED_ALPHA_NV
#endif
#ifdef SIGNED_RGB8_UNSIGNED_ALPHA8_NV
#undef SIGNED_RGB8_UNSIGNED_ALPHA8_NV
#endif
#ifdef HI_SCALE_NV
#undef HI_SCALE_NV
#endif
#ifdef LO_SCALE_NV
#undef LO_SCALE_NV
#endif
#ifdef DS_SCALE_NV
#undef DS_SCALE_NV
#endif
#ifdef DT_SCALE_NV
#undef DT_SCALE_NV
#endif
#ifdef MAGNITUDE_SCALE_NV
#undef MAGNITUDE_SCALE_NV
#endif
#ifdef VIBRANCE_SCALE_NV
#undef VIBRANCE_SCALE_NV
#endif
#ifdef HI_BIAS_NV
#undef HI_BIAS_NV
#endif
#ifdef LO_BIAS_NV
#undef LO_BIAS_NV
#endif
#ifdef DS_BIAS_NV
#undef DS_BIAS_NV
#endif
#ifdef DT_BIAS_NV
#undef DT_BIAS_NV
#endif
#ifdef MAGNITUDE_BIAS_NV
#undef MAGNITUDE_BIAS_NV
#endif
#ifdef VIBRANCE_BIAS_NV
#undef VIBRANCE_BIAS_NV
#endif
#ifdef TEXTURE_BORDER_VALUES_NV
#undef TEXTURE_BORDER_VALUES_NV
#endif
#ifdef TEXTURE_HI_SIZE_NV
#undef TEXTURE_HI_SIZE_NV
#endif
#ifdef TEXTURE_LO_SIZE_NV
#undef TEXTURE_LO_SIZE_NV
#endif
#ifdef TEXTURE_DS_SIZE_NV
#undef TEXTURE_DS_SIZE_NV
#endif
#ifdef TEXTURE_DT_SIZE_NV
#undef TEXTURE_DT_SIZE_NV
#endif
#ifdef TEXTURE_MAG_SIZE_NV
#undef TEXTURE_MAG_SIZE_NV
#endif
#ifdef DOT_PRODUCT_TEXTURE_3D_NV
#undef DOT_PRODUCT_TEXTURE_3D_NV
#endif
#ifdef OFFSET_PROJECTIVE_TEXTURE_2D_NV
#undef OFFSET_PROJECTIVE_TEXTURE_2D_NV
#endif
#ifdef OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV
#undef OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV
#endif
#ifdef OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV
#undef OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV
#endif
#ifdef OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV
#undef OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV
#endif
#ifdef OFFSET_HILO_TEXTURE_2D_NV
#undef OFFSET_HILO_TEXTURE_2D_NV
#endif
#ifdef OFFSET_HILO_TEXTURE_RECTANGLE_NV
#undef OFFSET_HILO_TEXTURE_RECTANGLE_NV
#endif
#ifdef OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV
#undef OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV
#endif
#ifdef OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV
#undef OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV
#endif
#ifdef DEPENDENT_HILO_TEXTURE_2D_NV
#undef DEPENDENT_HILO_TEXTURE_2D_NV
#endif
#ifdef DEPENDENT_RGB_TEXTURE_3D_NV
#undef DEPENDENT_RGB_TEXTURE_3D_NV
#endif
#ifdef DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV
#undef DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV
#endif
#ifdef DOT_PRODUCT_PASS_THROUGH_NV
#undef DOT_PRODUCT_PASS_THROUGH_NV
#endif
#ifdef DOT_PRODUCT_TEXTURE_1D_NV
#undef DOT_PRODUCT_TEXTURE_1D_NV
#endif
#ifdef DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV
#undef DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV
#endif
#ifdef HILO8_NV
#undef HILO8_NV
#endif
#ifdef SIGNED_HILO8_NV
#undef SIGNED_HILO8_NV
#endif
#ifdef FORCE_BLUE_TO_ONE_NV
#undef FORCE_BLUE_TO_ONE_NV
#endif
#ifdef BACK_PRIMARY_COLOR_NV
#undef BACK_PRIMARY_COLOR_NV
#endif
#ifdef BACK_SECONDARY_COLOR_NV
#undef BACK_SECONDARY_COLOR_NV
#endif
#ifdef TEXTURE_COORD_NV
#undef TEXTURE_COORD_NV
#endif
#ifdef CLIP_DISTANCE_NV
#undef CLIP_DISTANCE_NV
#endif
#ifdef VERTEX_ID_NV
#undef VERTEX_ID_NV
#endif
#ifdef PRIMITIVE_ID_NV
#undef PRIMITIVE_ID_NV
#endif
#ifdef GENERIC_ATTRIB_NV
#undef GENERIC_ATTRIB_NV
#endif
#ifdef TRANSFORM_FEEDBACK_ATTRIBS_NV
#undef TRANSFORM_FEEDBACK_ATTRIBS_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_MODE_NV
#undef TRANSFORM_FEEDBACK_BUFFER_MODE_NV
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV
#undef MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV
#endif
#ifdef ACTIVE_VARYINGS_NV
#undef ACTIVE_VARYINGS_NV
#endif
#ifdef ACTIVE_VARYING_MAX_LENGTH_NV
#undef ACTIVE_VARYING_MAX_LENGTH_NV
#endif
#ifdef TRANSFORM_FEEDBACK_VARYINGS_NV
#undef TRANSFORM_FEEDBACK_VARYINGS_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_START_NV
#undef TRANSFORM_FEEDBACK_BUFFER_START_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_SIZE_NV
#undef TRANSFORM_FEEDBACK_BUFFER_SIZE_NV
#endif
#ifdef TRANSFORM_FEEDBACK_RECORD_NV
#undef TRANSFORM_FEEDBACK_RECORD_NV
#endif
#ifdef PRIMITIVES_GENERATED_NV
#undef PRIMITIVES_GENERATED_NV
#endif
#ifdef TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV
#undef TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV
#endif
#ifdef RASTERIZER_DISCARD_NV
#undef RASTERIZER_DISCARD_NV
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV
#undef MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV
#undef MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV
#endif
#ifdef INTERLEAVED_ATTRIBS_NV
#undef INTERLEAVED_ATTRIBS_NV
#endif
#ifdef SEPARATE_ATTRIBS_NV
#undef SEPARATE_ATTRIBS_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_NV
#undef TRANSFORM_FEEDBACK_BUFFER_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_BINDING_NV
#undef TRANSFORM_FEEDBACK_BUFFER_BINDING_NV
#endif
#ifdef TRANSFORM_FEEDBACK_NV
#undef TRANSFORM_FEEDBACK_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV
#undef TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV
#undef TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV
#endif
#ifdef TRANSFORM_FEEDBACK_BINDING_NV
#undef TRANSFORM_FEEDBACK_BINDING_NV
#endif
#ifdef VERTEX_ARRAY_RANGE_NV
#undef VERTEX_ARRAY_RANGE_NV
#endif
#ifdef VERTEX_ARRAY_RANGE_LENGTH_NV
#undef VERTEX_ARRAY_RANGE_LENGTH_NV
#endif
#ifdef VERTEX_ARRAY_RANGE_VALID_NV
#undef VERTEX_ARRAY_RANGE_VALID_NV
#endif
#ifdef MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV
#undef MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV
#endif
#ifdef VERTEX_ARRAY_RANGE_POINTER_NV
#undef VERTEX_ARRAY_RANGE_POINTER_NV
#endif
#ifdef VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV
#undef VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY_UNIFIED_NV
#undef VERTEX_ATTRIB_ARRAY_UNIFIED_NV
#endif
#ifdef ELEMENT_ARRAY_UNIFIED_NV
#undef ELEMENT_ARRAY_UNIFIED_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY_ADDRESS_NV
#undef VERTEX_ATTRIB_ARRAY_ADDRESS_NV
#endif
#ifdef VERTEX_ARRAY_ADDRESS_NV
#undef VERTEX_ARRAY_ADDRESS_NV
#endif
#ifdef NORMAL_ARRAY_ADDRESS_NV
#undef NORMAL_ARRAY_ADDRESS_NV
#endif
#ifdef COLOR_ARRAY_ADDRESS_NV
#undef COLOR_ARRAY_ADDRESS_NV
#endif
#ifdef INDEX_ARRAY_ADDRESS_NV
#undef INDEX_ARRAY_ADDRESS_NV
#endif
#ifdef TEXTURE_COORD_ARRAY_ADDRESS_NV
#undef TEXTURE_COORD_ARRAY_ADDRESS_NV
#endif
#ifdef EDGE_FLAG_ARRAY_ADDRESS_NV
#undef EDGE_FLAG_ARRAY_ADDRESS_NV
#endif
#ifdef SECONDARY_COLOR_ARRAY_ADDRESS_NV
#undef SECONDARY_COLOR_ARRAY_ADDRESS_NV
#endif
#ifdef FOG_COORD_ARRAY_ADDRESS_NV
#undef FOG_COORD_ARRAY_ADDRESS_NV
#endif
#ifdef ELEMENT_ARRAY_ADDRESS_NV
#undef ELEMENT_ARRAY_ADDRESS_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY_LENGTH_NV
#undef VERTEX_ATTRIB_ARRAY_LENGTH_NV
#endif
#ifdef VERTEX_ARRAY_LENGTH_NV
#undef VERTEX_ARRAY_LENGTH_NV
#endif
#ifdef NORMAL_ARRAY_LENGTH_NV
#undef NORMAL_ARRAY_LENGTH_NV
#endif
#ifdef COLOR_ARRAY_LENGTH_NV
#undef COLOR_ARRAY_LENGTH_NV
#endif
#ifdef INDEX_ARRAY_LENGTH_NV
#undef INDEX_ARRAY_LENGTH_NV
#endif
#ifdef TEXTURE_COORD_ARRAY_LENGTH_NV
#undef TEXTURE_COORD_ARRAY_LENGTH_NV
#endif
#ifdef EDGE_FLAG_ARRAY_LENGTH_NV
#undef EDGE_FLAG_ARRAY_LENGTH_NV
#endif
#ifdef SECONDARY_COLOR_ARRAY_LENGTH_NV
#undef SECONDARY_COLOR_ARRAY_LENGTH_NV
#endif
#ifdef FOG_COORD_ARRAY_LENGTH_NV
#undef FOG_COORD_ARRAY_LENGTH_NV
#endif
#ifdef ELEMENT_ARRAY_LENGTH_NV
#undef ELEMENT_ARRAY_LENGTH_NV
#endif
#ifdef VERTEX_PROGRAM_NV
#undef VERTEX_PROGRAM_NV
#endif
#ifdef VERTEX_STATE_PROGRAM_NV
#undef VERTEX_STATE_PROGRAM_NV
#endif
#ifdef ATTRIB_ARRAY_SIZE_NV
#undef ATTRIB_ARRAY_SIZE_NV
#endif
#ifdef ATTRIB_ARRAY_STRIDE_NV
#undef ATTRIB_ARRAY_STRIDE_NV
#endif
#ifdef ATTRIB_ARRAY_TYPE_NV
#undef ATTRIB_ARRAY_TYPE_NV
#endif
#ifdef CURRENT_ATTRIB_NV
#undef CURRENT_ATTRIB_NV
#endif
#ifdef PROGRAM_LENGTH_NV
#undef PROGRAM_LENGTH_NV
#endif
#ifdef PROGRAM_STRING_NV
#undef PROGRAM_STRING_NV
#endif
#ifdef MODELVIEW_PROJECTION_NV
#undef MODELVIEW_PROJECTION_NV
#endif
#ifdef IDENTITY_NV
#undef IDENTITY_NV
#endif
#ifdef INVERSE_NV
#undef INVERSE_NV
#endif
#ifdef TRANSPOSE_NV
#undef TRANSPOSE_NV
#endif
#ifdef INVERSE_TRANSPOSE_NV
#undef INVERSE_TRANSPOSE_NV
#endif
#ifdef MAX_TRACK_MATRIX_STACK_DEPTH_NV
#undef MAX_TRACK_MATRIX_STACK_DEPTH_NV
#endif
#ifdef MAX_TRACK_MATRICES_NV
#undef MAX_TRACK_MATRICES_NV
#endif
#ifdef MATRIX0_NV
#undef MATRIX0_NV
#endif
#ifdef MATRIX1_NV
#undef MATRIX1_NV
#endif
#ifdef MATRIX2_NV
#undef MATRIX2_NV
#endif
#ifdef MATRIX3_NV
#undef MATRIX3_NV
#endif
#ifdef MATRIX4_NV
#undef MATRIX4_NV
#endif
#ifdef MATRIX5_NV
#undef MATRIX5_NV
#endif
#ifdef MATRIX6_NV
#undef MATRIX6_NV
#endif
#ifdef MATRIX7_NV
#undef MATRIX7_NV
#endif
#ifdef CURRENT_MATRIX_STACK_DEPTH_NV
#undef CURRENT_MATRIX_STACK_DEPTH_NV
#endif
#ifdef CURRENT_MATRIX_NV
#undef CURRENT_MATRIX_NV
#endif
#ifdef VERTEX_PROGRAM_POINT_SIZE_NV
#undef VERTEX_PROGRAM_POINT_SIZE_NV
#endif
#ifdef VERTEX_PROGRAM_TWO_SIDE_NV
#undef VERTEX_PROGRAM_TWO_SIDE_NV
#endif
#ifdef PROGRAM_PARAMETER_NV
#undef PROGRAM_PARAMETER_NV
#endif
#ifdef ATTRIB_ARRAY_POINTER_NV
#undef ATTRIB_ARRAY_POINTER_NV
#endif
#ifdef PROGRAM_TARGET_NV
#undef PROGRAM_TARGET_NV
#endif
#ifdef PROGRAM_RESIDENT_NV
#undef PROGRAM_RESIDENT_NV
#endif
#ifdef TRACK_MATRIX_NV
#undef TRACK_MATRIX_NV
#endif
#ifdef TRACK_MATRIX_TRANSFORM_NV
#undef TRACK_MATRIX_TRANSFORM_NV
#endif
#ifdef VERTEX_PROGRAM_BINDING_NV
#undef VERTEX_PROGRAM_BINDING_NV
#endif
#ifdef PROGRAM_ERROR_POSITION_NV
#undef PROGRAM_ERROR_POSITION_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY0_NV
#undef VERTEX_ATTRIB_ARRAY0_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY1_NV
#undef VERTEX_ATTRIB_ARRAY1_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY2_NV
#undef VERTEX_ATTRIB_ARRAY2_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY3_NV
#undef VERTEX_ATTRIB_ARRAY3_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY4_NV
#undef VERTEX_ATTRIB_ARRAY4_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY5_NV
#undef VERTEX_ATTRIB_ARRAY5_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY6_NV
#undef VERTEX_ATTRIB_ARRAY6_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY7_NV
#undef VERTEX_ATTRIB_ARRAY7_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY8_NV
#undef VERTEX_ATTRIB_ARRAY8_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY9_NV
#undef VERTEX_ATTRIB_ARRAY9_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY10_NV
#undef VERTEX_ATTRIB_ARRAY10_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY11_NV
#undef VERTEX_ATTRIB_ARRAY11_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY12_NV
#undef VERTEX_ATTRIB_ARRAY12_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY13_NV
#undef VERTEX_ATTRIB_ARRAY13_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY14_NV
#undef VERTEX_ATTRIB_ARRAY14_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY15_NV
#undef VERTEX_ATTRIB_ARRAY15_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB0_4_NV
#undef MAP1_VERTEX_ATTRIB0_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB1_4_NV
#undef MAP1_VERTEX_ATTRIB1_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB2_4_NV
#undef MAP1_VERTEX_ATTRIB2_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB3_4_NV
#undef MAP1_VERTEX_ATTRIB3_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB4_4_NV
#undef MAP1_VERTEX_ATTRIB4_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB5_4_NV
#undef MAP1_VERTEX_ATTRIB5_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB6_4_NV
#undef MAP1_VERTEX_ATTRIB6_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB7_4_NV
#undef MAP1_VERTEX_ATTRIB7_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB8_4_NV
#undef MAP1_VERTEX_ATTRIB8_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB9_4_NV
#undef MAP1_VERTEX_ATTRIB9_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB10_4_NV
#undef MAP1_VERTEX_ATTRIB10_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB11_4_NV
#undef MAP1_VERTEX_ATTRIB11_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB12_4_NV
#undef MAP1_VERTEX_ATTRIB12_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB13_4_NV
#undef MAP1_VERTEX_ATTRIB13_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB14_4_NV
#undef MAP1_VERTEX_ATTRIB14_4_NV
#endif
#ifdef MAP1_VERTEX_ATTRIB15_4_NV
#undef MAP1_VERTEX_ATTRIB15_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB0_4_NV
#undef MAP2_VERTEX_ATTRIB0_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB1_4_NV
#undef MAP2_VERTEX_ATTRIB1_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB2_4_NV
#undef MAP2_VERTEX_ATTRIB2_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB3_4_NV
#undef MAP2_VERTEX_ATTRIB3_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB4_4_NV
#undef MAP2_VERTEX_ATTRIB4_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB5_4_NV
#undef MAP2_VERTEX_ATTRIB5_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB6_4_NV
#undef MAP2_VERTEX_ATTRIB6_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB7_4_NV
#undef MAP2_VERTEX_ATTRIB7_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB8_4_NV
#undef MAP2_VERTEX_ATTRIB8_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB9_4_NV
#undef MAP2_VERTEX_ATTRIB9_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB10_4_NV
#undef MAP2_VERTEX_ATTRIB10_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB11_4_NV
#undef MAP2_VERTEX_ATTRIB11_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB12_4_NV
#undef MAP2_VERTEX_ATTRIB12_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB13_4_NV
#undef MAP2_VERTEX_ATTRIB13_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB14_4_NV
#undef MAP2_VERTEX_ATTRIB14_4_NV
#endif
#ifdef MAP2_VERTEX_ATTRIB15_4_NV
#undef MAP2_VERTEX_ATTRIB15_4_NV
#endif
#ifdef VERTEX_ATTRIB_ARRAY_INTEGER_NV
#undef VERTEX_ATTRIB_ARRAY_INTEGER_NV
#endif
#ifdef VIDEO_BUFFER_NV
#undef VIDEO_BUFFER_NV
#endif
#ifdef VIDEO_BUFFER_BINDING_NV
#undef VIDEO_BUFFER_BINDING_NV
#endif
#ifdef FIELD_UPPER_NV
#undef FIELD_UPPER_NV
#endif
#ifdef FIELD_LOWER_NV
#undef FIELD_LOWER_NV
#endif
#ifdef NUM_VIDEO_CAPTURE_STREAMS_NV
#undef NUM_VIDEO_CAPTURE_STREAMS_NV
#endif
#ifdef NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV
#undef NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV
#endif
#ifdef VIDEO_CAPTURE_TO_422_SUPPORTED_NV
#undef VIDEO_CAPTURE_TO_422_SUPPORTED_NV
#endif
#ifdef LAST_VIDEO_CAPTURE_STATUS_NV
#undef LAST_VIDEO_CAPTURE_STATUS_NV
#endif
#ifdef VIDEO_BUFFER_PITCH_NV
#undef VIDEO_BUFFER_PITCH_NV
#endif
#ifdef VIDEO_COLOR_CONVERSION_MATRIX_NV
#undef VIDEO_COLOR_CONVERSION_MATRIX_NV
#endif
#ifdef VIDEO_COLOR_CONVERSION_MAX_NV
#undef VIDEO_COLOR_CONVERSION_MAX_NV
#endif
#ifdef VIDEO_COLOR_CONVERSION_MIN_NV
#undef VIDEO_COLOR_CONVERSION_MIN_NV
#endif
#ifdef VIDEO_COLOR_CONVERSION_OFFSET_NV
#undef VIDEO_COLOR_CONVERSION_OFFSET_NV
#endif
#ifdef VIDEO_BUFFER_INTERNAL_FORMAT_NV
#undef VIDEO_BUFFER_INTERNAL_FORMAT_NV
#endif
#ifdef PARTIAL_SUCCESS_NV
#undef PARTIAL_SUCCESS_NV
#endif
#ifdef SUCCESS_NV
#undef SUCCESS_NV
#endif
#ifdef FAILURE_NV
#undef FAILURE_NV
#endif
#ifdef YCBYCR8_422_NV
#undef YCBYCR8_422_NV
#endif
#ifdef YCBAYCR8A_4224_NV
#undef YCBAYCR8A_4224_NV
#endif
#ifdef Z6Y10Z6CB10Z6Y10Z6CR10_422_NV
#undef Z6Y10Z6CB10Z6Y10Z6CR10_422_NV
#endif
#ifdef Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV
#undef Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV
#endif
#ifdef Z4Y12Z4CB12Z4Y12Z4CR12_422_NV
#undef Z4Y12Z4CB12Z4Y12Z4CR12_422_NV
#endif
#ifdef Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV
#undef Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV
#endif
#ifdef Z4Y12Z4CB12Z4CR12_444_NV
#undef Z4Y12Z4CB12Z4CR12_444_NV
#endif
#ifdef VIDEO_CAPTURE_FRAME_WIDTH_NV
#undef VIDEO_CAPTURE_FRAME_WIDTH_NV
#endif
#ifdef VIDEO_CAPTURE_FRAME_HEIGHT_NV
#undef VIDEO_CAPTURE_FRAME_HEIGHT_NV
#endif
#ifdef VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV
#undef VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV
#endif
#ifdef VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV
#undef VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV
#endif
#ifdef VIDEO_CAPTURE_SURFACE_ORIGIN_NV
#undef VIDEO_CAPTURE_SURFACE_ORIGIN_NV
#endif
#ifdef IMPLEMENTATION_COLOR_READ_TYPE_OES
#undef IMPLEMENTATION_COLOR_READ_TYPE_OES
#endif
#ifdef IMPLEMENTATION_COLOR_READ_FORMAT_OES
#undef IMPLEMENTATION_COLOR_READ_FORMAT_OES
#endif
#ifdef INTERLACE_OML
#undef INTERLACE_OML
#endif
#ifdef INTERLACE_READ_OML
#undef INTERLACE_READ_OML
#endif
#ifdef PACK_RESAMPLE_OML
#undef PACK_RESAMPLE_OML
#endif
#ifdef UNPACK_RESAMPLE_OML
#undef UNPACK_RESAMPLE_OML
#endif
#ifdef RESAMPLE_REPLICATE_OML
#undef RESAMPLE_REPLICATE_OML
#endif
#ifdef RESAMPLE_ZERO_FILL_OML
#undef RESAMPLE_ZERO_FILL_OML
#endif
#ifdef RESAMPLE_AVERAGE_OML
#undef RESAMPLE_AVERAGE_OML
#endif
#ifdef RESAMPLE_DECIMATE_OML
#undef RESAMPLE_DECIMATE_OML
#endif
#ifdef FORMAT_SUBSAMPLE_24_24_OML
#undef FORMAT_SUBSAMPLE_24_24_OML
#endif
#ifdef FORMAT_SUBSAMPLE_244_244_OML
#undef FORMAT_SUBSAMPLE_244_244_OML
#endif
#ifdef PREFER_DOUBLEBUFFER_HINT_PGI
#undef PREFER_DOUBLEBUFFER_HINT_PGI
#endif
#ifdef CONSERVE_MEMORY_HINT_PGI
#undef CONSERVE_MEMORY_HINT_PGI
#endif
#ifdef RECLAIM_MEMORY_HINT_PGI
#undef RECLAIM_MEMORY_HINT_PGI
#endif
#ifdef NATIVE_GRAPHICS_HANDLE_PGI
#undef NATIVE_GRAPHICS_HANDLE_PGI
#endif
#ifdef NATIVE_GRAPHICS_BEGIN_HINT_PGI
#undef NATIVE_GRAPHICS_BEGIN_HINT_PGI
#endif
#ifdef NATIVE_GRAPHICS_END_HINT_PGI
#undef NATIVE_GRAPHICS_END_HINT_PGI
#endif
#ifdef ALWAYS_FAST_HINT_PGI
#undef ALWAYS_FAST_HINT_PGI
#endif
#ifdef ALWAYS_SOFT_HINT_PGI
#undef ALWAYS_SOFT_HINT_PGI
#endif
#ifdef ALLOW_DRAW_OBJ_HINT_PGI
#undef ALLOW_DRAW_OBJ_HINT_PGI
#endif
#ifdef ALLOW_DRAW_WIN_HINT_PGI
#undef ALLOW_DRAW_WIN_HINT_PGI
#endif
#ifdef ALLOW_DRAW_FRG_HINT_PGI
#undef ALLOW_DRAW_FRG_HINT_PGI
#endif
#ifdef ALLOW_DRAW_MEM_HINT_PGI
#undef ALLOW_DRAW_MEM_HINT_PGI
#endif
#ifdef STRICT_DEPTHFUNC_HINT_PGI
#undef STRICT_DEPTHFUNC_HINT_PGI
#endif
#ifdef STRICT_LIGHTING_HINT_PGI
#undef STRICT_LIGHTING_HINT_PGI
#endif
#ifdef STRICT_SCISSOR_HINT_PGI
#undef STRICT_SCISSOR_HINT_PGI
#endif
#ifdef FULL_STIPPLE_HINT_PGI
#undef FULL_STIPPLE_HINT_PGI
#endif
#ifdef CLIP_NEAR_HINT_PGI
#undef CLIP_NEAR_HINT_PGI
#endif
#ifdef CLIP_FAR_HINT_PGI
#undef CLIP_FAR_HINT_PGI
#endif
#ifdef WIDE_LINE_HINT_PGI
#undef WIDE_LINE_HINT_PGI
#endif
#ifdef BACK_NORMALS_HINT_PGI
#undef BACK_NORMALS_HINT_PGI
#endif
#ifdef VERTEX_DATA_HINT_PGI
#undef VERTEX_DATA_HINT_PGI
#endif
#ifdef VERTEX_CONSISTENT_HINT_PGI
#undef VERTEX_CONSISTENT_HINT_PGI
#endif
#ifdef MATERIAL_SIDE_HINT_PGI
#undef MATERIAL_SIDE_HINT_PGI
#endif
#ifdef MAX_VERTEX_HINT_PGI
#undef MAX_VERTEX_HINT_PGI
#endif
#ifdef COLOR3_BIT_PGI
#undef COLOR3_BIT_PGI
#endif
#ifdef COLOR4_BIT_PGI
#undef COLOR4_BIT_PGI
#endif
#ifdef EDGEFLAG_BIT_PGI
#undef EDGEFLAG_BIT_PGI
#endif
#ifdef INDEX_BIT_PGI
#undef INDEX_BIT_PGI
#endif
#ifdef MAT_AMBIENT_BIT_PGI
#undef MAT_AMBIENT_BIT_PGI
#endif
#ifdef MAT_AMBIENT_AND_DIFFUSE_BIT_PGI
#undef MAT_AMBIENT_AND_DIFFUSE_BIT_PGI
#endif
#ifdef MAT_DIFFUSE_BIT_PGI
#undef MAT_DIFFUSE_BIT_PGI
#endif
#ifdef MAT_EMISSION_BIT_PGI
#undef MAT_EMISSION_BIT_PGI
#endif
#ifdef MAT_COLOR_INDEXES_BIT_PGI
#undef MAT_COLOR_INDEXES_BIT_PGI
#endif
#ifdef MAT_SHININESS_BIT_PGI
#undef MAT_SHININESS_BIT_PGI
#endif
#ifdef MAT_SPECULAR_BIT_PGI
#undef MAT_SPECULAR_BIT_PGI
#endif
#ifdef NORMAL_BIT_PGI
#undef NORMAL_BIT_PGI
#endif
#ifdef TEXCOORD1_BIT_PGI
#undef TEXCOORD1_BIT_PGI
#endif
#ifdef TEXCOORD2_BIT_PGI
#undef TEXCOORD2_BIT_PGI
#endif
#ifdef TEXCOORD3_BIT_PGI
#undef TEXCOORD3_BIT_PGI
#endif
#ifdef TEXCOORD4_BIT_PGI
#undef TEXCOORD4_BIT_PGI
#endif
#ifdef VERTEX23_BIT_PGI
#undef VERTEX23_BIT_PGI
#endif
#ifdef VERTEX4_BIT_PGI
#undef VERTEX4_BIT_PGI
#endif
#ifdef SCREEN_COORDINATES_REND
#undef SCREEN_COORDINATES_REND
#endif
#ifdef INVERTED_SCREEN_W_REND
#undef INVERTED_SCREEN_W_REND
#endif
#ifdef RGB_S3TC
#undef RGB_S3TC
#endif
#ifdef RGB4_S3TC
#undef RGB4_S3TC
#endif
#ifdef RGBA_S3TC
#undef RGBA_S3TC
#endif
#ifdef RGBA4_S3TC
#undef RGBA4_S3TC
#endif
#ifdef DETAIL_TEXTURE_2D_SGIS
#undef DETAIL_TEXTURE_2D_SGIS
#endif
#ifdef DETAIL_TEXTURE_2D_BINDING_SGIS
#undef DETAIL_TEXTURE_2D_BINDING_SGIS
#endif
#ifdef LINEAR_DETAIL_SGIS
#undef LINEAR_DETAIL_SGIS
#endif
#ifdef LINEAR_DETAIL_ALPHA_SGIS
#undef LINEAR_DETAIL_ALPHA_SGIS
#endif
#ifdef LINEAR_DETAIL_COLOR_SGIS
#undef LINEAR_DETAIL_COLOR_SGIS
#endif
#ifdef DETAIL_TEXTURE_LEVEL_SGIS
#undef DETAIL_TEXTURE_LEVEL_SGIS
#endif
#ifdef DETAIL_TEXTURE_MODE_SGIS
#undef DETAIL_TEXTURE_MODE_SGIS
#endif
#ifdef DETAIL_TEXTURE_FUNC_POINTS_SGIS
#undef DETAIL_TEXTURE_FUNC_POINTS_SGIS
#endif
#ifdef FOG_FUNC_SGIS
#undef FOG_FUNC_SGIS
#endif
#ifdef FOG_FUNC_POINTS_SGIS
#undef FOG_FUNC_POINTS_SGIS
#endif
#ifdef MAX_FOG_FUNC_POINTS_SGIS
#undef MAX_FOG_FUNC_POINTS_SGIS
#endif
#ifdef GENERATE_MIPMAP_SGIS
#undef GENERATE_MIPMAP_SGIS
#endif
#ifdef GENERATE_MIPMAP_HINT_SGIS
#undef GENERATE_MIPMAP_HINT_SGIS
#endif
#ifdef MULTISAMPLE_SGIS
#undef MULTISAMPLE_SGIS
#endif
#ifdef SAMPLE_ALPHA_TO_MASK_SGIS
#undef SAMPLE_ALPHA_TO_MASK_SGIS
#endif
#ifdef SAMPLE_ALPHA_TO_ONE_SGIS
#undef SAMPLE_ALPHA_TO_ONE_SGIS
#endif
#ifdef SAMPLE_MASK_SGIS
#undef SAMPLE_MASK_SGIS
#endif
#ifdef _1PASS_SGIS
#undef _1PASS_SGIS
#endif
#ifdef _2PASS_0_SGIS
#undef _2PASS_0_SGIS
#endif
#ifdef _2PASS_1_SGIS
#undef _2PASS_1_SGIS
#endif
#ifdef _4PASS_0_SGIS
#undef _4PASS_0_SGIS
#endif
#ifdef _4PASS_1_SGIS
#undef _4PASS_1_SGIS
#endif
#ifdef _4PASS_2_SGIS
#undef _4PASS_2_SGIS
#endif
#ifdef _4PASS_3_SGIS
#undef _4PASS_3_SGIS
#endif
#ifdef SAMPLE_BUFFERS_SGIS
#undef SAMPLE_BUFFERS_SGIS
#endif
#ifdef SAMPLES_SGIS
#undef SAMPLES_SGIS
#endif
#ifdef SAMPLE_MASK_VALUE_SGIS
#undef SAMPLE_MASK_VALUE_SGIS
#endif
#ifdef SAMPLE_MASK_INVERT_SGIS
#undef SAMPLE_MASK_INVERT_SGIS
#endif
#ifdef SAMPLE_PATTERN_SGIS
#undef SAMPLE_PATTERN_SGIS
#endif
#ifdef PIXEL_TEXTURE_SGIS
#undef PIXEL_TEXTURE_SGIS
#endif
#ifdef PIXEL_FRAGMENT_RGB_SOURCE_SGIS
#undef PIXEL_FRAGMENT_RGB_SOURCE_SGIS
#endif
#ifdef PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS
#undef PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS
#endif
#ifdef PIXEL_GROUP_COLOR_SGIS
#undef PIXEL_GROUP_COLOR_SGIS
#endif
#ifdef EYE_DISTANCE_TO_POINT_SGIS
#undef EYE_DISTANCE_TO_POINT_SGIS
#endif
#ifdef OBJECT_DISTANCE_TO_POINT_SGIS
#undef OBJECT_DISTANCE_TO_POINT_SGIS
#endif
#ifdef EYE_DISTANCE_TO_LINE_SGIS
#undef EYE_DISTANCE_TO_LINE_SGIS
#endif
#ifdef OBJECT_DISTANCE_TO_LINE_SGIS
#undef OBJECT_DISTANCE_TO_LINE_SGIS
#endif
#ifdef EYE_POINT_SGIS
#undef EYE_POINT_SGIS
#endif
#ifdef OBJECT_POINT_SGIS
#undef OBJECT_POINT_SGIS
#endif
#ifdef EYE_LINE_SGIS
#undef EYE_LINE_SGIS
#endif
#ifdef OBJECT_LINE_SGIS
#undef OBJECT_LINE_SGIS
#endif
#ifdef POINT_SIZE_MIN_SGIS
#undef POINT_SIZE_MIN_SGIS
#endif
#ifdef POINT_SIZE_MAX_SGIS
#undef POINT_SIZE_MAX_SGIS
#endif
#ifdef POINT_FADE_THRESHOLD_SIZE_SGIS
#undef POINT_FADE_THRESHOLD_SIZE_SGIS
#endif
#ifdef DISTANCE_ATTENUATION_SGIS
#undef DISTANCE_ATTENUATION_SGIS
#endif
#ifdef LINEAR_SHARPEN_SGIS
#undef LINEAR_SHARPEN_SGIS
#endif
#ifdef LINEAR_SHARPEN_ALPHA_SGIS
#undef LINEAR_SHARPEN_ALPHA_SGIS
#endif
#ifdef LINEAR_SHARPEN_COLOR_SGIS
#undef LINEAR_SHARPEN_COLOR_SGIS
#endif
#ifdef SHARPEN_TEXTURE_FUNC_POINTS_SGIS
#undef SHARPEN_TEXTURE_FUNC_POINTS_SGIS
#endif
#ifdef PACK_SKIP_VOLUMES_SGIS
#undef PACK_SKIP_VOLUMES_SGIS
#endif
#ifdef PACK_IMAGE_DEPTH_SGIS
#undef PACK_IMAGE_DEPTH_SGIS
#endif
#ifdef UNPACK_SKIP_VOLUMES_SGIS
#undef UNPACK_SKIP_VOLUMES_SGIS
#endif
#ifdef UNPACK_IMAGE_DEPTH_SGIS
#undef UNPACK_IMAGE_DEPTH_SGIS
#endif
#ifdef TEXTURE_4D_SGIS
#undef TEXTURE_4D_SGIS
#endif
#ifdef PROXY_TEXTURE_4D_SGIS
#undef PROXY_TEXTURE_4D_SGIS
#endif
#ifdef TEXTURE_4DSIZE_SGIS
#undef TEXTURE_4DSIZE_SGIS
#endif
#ifdef TEXTURE_WRAP_Q_SGIS
#undef TEXTURE_WRAP_Q_SGIS
#endif
#ifdef MAX_4D_TEXTURE_SIZE_SGIS
#undef MAX_4D_TEXTURE_SIZE_SGIS
#endif
#ifdef TEXTURE_4D_BINDING_SGIS
#undef TEXTURE_4D_BINDING_SGIS
#endif
#ifdef CLAMP_TO_BORDER_SGIS
#undef CLAMP_TO_BORDER_SGIS
#endif
#ifdef TEXTURE_COLOR_WRITEMASK_SGIS
#undef TEXTURE_COLOR_WRITEMASK_SGIS
#endif
#ifdef CLAMP_TO_EDGE_SGIS
#undef CLAMP_TO_EDGE_SGIS
#endif
#ifdef FILTER4_SGIS
#undef FILTER4_SGIS
#endif
#ifdef TEXTURE_FILTER4_SIZE_SGIS
#undef TEXTURE_FILTER4_SIZE_SGIS
#endif
#ifdef TEXTURE_MIN_LOD_SGIS
#undef TEXTURE_MIN_LOD_SGIS
#endif
#ifdef TEXTURE_MAX_LOD_SGIS
#undef TEXTURE_MAX_LOD_SGIS
#endif
#ifdef TEXTURE_BASE_LEVEL_SGIS
#undef TEXTURE_BASE_LEVEL_SGIS
#endif
#ifdef TEXTURE_MAX_LEVEL_SGIS
#undef TEXTURE_MAX_LEVEL_SGIS
#endif
#ifdef DUAL_ALPHA4_SGIS
#undef DUAL_ALPHA4_SGIS
#endif
#ifdef DUAL_ALPHA8_SGIS
#undef DUAL_ALPHA8_SGIS
#endif
#ifdef DUAL_ALPHA12_SGIS
#undef DUAL_ALPHA12_SGIS
#endif
#ifdef DUAL_ALPHA16_SGIS
#undef DUAL_ALPHA16_SGIS
#endif
#ifdef DUAL_LUMINANCE4_SGIS
#undef DUAL_LUMINANCE4_SGIS
#endif
#ifdef DUAL_LUMINANCE8_SGIS
#undef DUAL_LUMINANCE8_SGIS
#endif
#ifdef DUAL_LUMINANCE12_SGIS
#undef DUAL_LUMINANCE12_SGIS
#endif
#ifdef DUAL_LUMINANCE16_SGIS
#undef DUAL_LUMINANCE16_SGIS
#endif
#ifdef DUAL_INTENSITY4_SGIS
#undef DUAL_INTENSITY4_SGIS
#endif
#ifdef DUAL_INTENSITY8_SGIS
#undef DUAL_INTENSITY8_SGIS
#endif
#ifdef DUAL_INTENSITY12_SGIS
#undef DUAL_INTENSITY12_SGIS
#endif
#ifdef DUAL_INTENSITY16_SGIS
#undef DUAL_INTENSITY16_SGIS
#endif
#ifdef DUAL_LUMINANCE_ALPHA4_SGIS
#undef DUAL_LUMINANCE_ALPHA4_SGIS
#endif
#ifdef DUAL_LUMINANCE_ALPHA8_SGIS
#undef DUAL_LUMINANCE_ALPHA8_SGIS
#endif
#ifdef QUAD_ALPHA4_SGIS
#undef QUAD_ALPHA4_SGIS
#endif
#ifdef QUAD_ALPHA8_SGIS
#undef QUAD_ALPHA8_SGIS
#endif
#ifdef QUAD_LUMINANCE4_SGIS
#undef QUAD_LUMINANCE4_SGIS
#endif
#ifdef QUAD_LUMINANCE8_SGIS
#undef QUAD_LUMINANCE8_SGIS
#endif
#ifdef QUAD_INTENSITY4_SGIS
#undef QUAD_INTENSITY4_SGIS
#endif
#ifdef QUAD_INTENSITY8_SGIS
#undef QUAD_INTENSITY8_SGIS
#endif
#ifdef DUAL_TEXTURE_SELECT_SGIS
#undef DUAL_TEXTURE_SELECT_SGIS
#endif
#ifdef QUAD_TEXTURE_SELECT_SGIS
#undef QUAD_TEXTURE_SELECT_SGIS
#endif
#ifdef ASYNC_MARKER_SGIX
#undef ASYNC_MARKER_SGIX
#endif
#ifdef ASYNC_HISTOGRAM_SGIX
#undef ASYNC_HISTOGRAM_SGIX
#endif
#ifdef MAX_ASYNC_HISTOGRAM_SGIX
#undef MAX_ASYNC_HISTOGRAM_SGIX
#endif
#ifdef ASYNC_TEX_IMAGE_SGIX
#undef ASYNC_TEX_IMAGE_SGIX
#endif
#ifdef ASYNC_DRAW_PIXELS_SGIX
#undef ASYNC_DRAW_PIXELS_SGIX
#endif
#ifdef ASYNC_READ_PIXELS_SGIX
#undef ASYNC_READ_PIXELS_SGIX
#endif
#ifdef MAX_ASYNC_TEX_IMAGE_SGIX
#undef MAX_ASYNC_TEX_IMAGE_SGIX
#endif
#ifdef MAX_ASYNC_DRAW_PIXELS_SGIX
#undef MAX_ASYNC_DRAW_PIXELS_SGIX
#endif
#ifdef MAX_ASYNC_READ_PIXELS_SGIX
#undef MAX_ASYNC_READ_PIXELS_SGIX
#endif
#ifdef ALPHA_MIN_SGIX
#undef ALPHA_MIN_SGIX
#endif
#ifdef ALPHA_MAX_SGIX
#undef ALPHA_MAX_SGIX
#endif
#ifdef CALLIGRAPHIC_FRAGMENT_SGIX
#undef CALLIGRAPHIC_FRAGMENT_SGIX
#endif
#ifdef LINEAR_CLIPMAP_LINEAR_SGIX
#undef LINEAR_CLIPMAP_LINEAR_SGIX
#endif
#ifdef TEXTURE_CLIPMAP_CENTER_SGIX
#undef TEXTURE_CLIPMAP_CENTER_SGIX
#endif
#ifdef TEXTURE_CLIPMAP_FRAME_SGIX
#undef TEXTURE_CLIPMAP_FRAME_SGIX
#endif
#ifdef TEXTURE_CLIPMAP_OFFSET_SGIX
#undef TEXTURE_CLIPMAP_OFFSET_SGIX
#endif
#ifdef TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
#undef TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
#endif
#ifdef TEXTURE_CLIPMAP_LOD_OFFSET_SGIX
#undef TEXTURE_CLIPMAP_LOD_OFFSET_SGIX
#endif
#ifdef TEXTURE_CLIPMAP_DEPTH_SGIX
#undef TEXTURE_CLIPMAP_DEPTH_SGIX
#endif
#ifdef MAX_CLIPMAP_DEPTH_SGIX
#undef MAX_CLIPMAP_DEPTH_SGIX
#endif
#ifdef MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX
#undef MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX
#endif
#ifdef NEAREST_CLIPMAP_NEAREST_SGIX
#undef NEAREST_CLIPMAP_NEAREST_SGIX
#endif
#ifdef NEAREST_CLIPMAP_LINEAR_SGIX
#undef NEAREST_CLIPMAP_LINEAR_SGIX
#endif
#ifdef LINEAR_CLIPMAP_NEAREST_SGIX
#undef LINEAR_CLIPMAP_NEAREST_SGIX
#endif
#ifdef CONVOLUTION_HINT_SGIX
#undef CONVOLUTION_HINT_SGIX
#endif
#ifdef DEPTH_COMPONENT16_SGIX
#undef DEPTH_COMPONENT16_SGIX
#endif
#ifdef DEPTH_COMPONENT24_SGIX
#undef DEPTH_COMPONENT24_SGIX
#endif
#ifdef DEPTH_COMPONENT32_SGIX
#undef DEPTH_COMPONENT32_SGIX
#endif
#ifdef FOG_OFFSET_SGIX
#undef FOG_OFFSET_SGIX
#endif
#ifdef FOG_OFFSET_VALUE_SGIX
#undef FOG_OFFSET_VALUE_SGIX
#endif
#ifdef FOG_SCALE_SGIX
#undef FOG_SCALE_SGIX
#endif
#ifdef FOG_SCALE_VALUE_SGIX
#undef FOG_SCALE_VALUE_SGIX
#endif
#ifdef FRAGMENT_LIGHTING_SGIX
#undef FRAGMENT_LIGHTING_SGIX
#endif
#ifdef FRAGMENT_COLOR_MATERIAL_SGIX
#undef FRAGMENT_COLOR_MATERIAL_SGIX
#endif
#ifdef FRAGMENT_COLOR_MATERIAL_FACE_SGIX
#undef FRAGMENT_COLOR_MATERIAL_FACE_SGIX
#endif
#ifdef FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX
#undef FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX
#endif
#ifdef MAX_FRAGMENT_LIGHTS_SGIX
#undef MAX_FRAGMENT_LIGHTS_SGIX
#endif
#ifdef MAX_ACTIVE_LIGHTS_SGIX
#undef MAX_ACTIVE_LIGHTS_SGIX
#endif
#ifdef CURRENT_RASTER_NORMAL_SGIX
#undef CURRENT_RASTER_NORMAL_SGIX
#endif
#ifdef LIGHT_ENV_MODE_SGIX
#undef LIGHT_ENV_MODE_SGIX
#endif
#ifdef FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX
#undef FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX
#endif
#ifdef FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX
#undef FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX
#endif
#ifdef FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX
#undef FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX
#endif
#ifdef FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX
#undef FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX
#endif
#ifdef FRAGMENT_LIGHT0_SGIX
#undef FRAGMENT_LIGHT0_SGIX
#endif
#ifdef FRAGMENT_LIGHT1_SGIX
#undef FRAGMENT_LIGHT1_SGIX
#endif
#ifdef FRAGMENT_LIGHT2_SGIX
#undef FRAGMENT_LIGHT2_SGIX
#endif
#ifdef FRAGMENT_LIGHT3_SGIX
#undef FRAGMENT_LIGHT3_SGIX
#endif
#ifdef FRAGMENT_LIGHT4_SGIX
#undef FRAGMENT_LIGHT4_SGIX
#endif
#ifdef FRAGMENT_LIGHT5_SGIX
#undef FRAGMENT_LIGHT5_SGIX
#endif
#ifdef FRAGMENT_LIGHT6_SGIX
#undef FRAGMENT_LIGHT6_SGIX
#endif
#ifdef FRAGMENT_LIGHT7_SGIX
#undef FRAGMENT_LIGHT7_SGIX
#endif
#ifdef FRAMEZOOM_SGIX
#undef FRAMEZOOM_SGIX
#endif
#ifdef FRAMEZOOM_FACTOR_SGIX
#undef FRAMEZOOM_FACTOR_SGIX
#endif
#ifdef MAX_FRAMEZOOM_FACTOR_SGIX
#undef MAX_FRAMEZOOM_FACTOR_SGIX
#endif
#ifdef PIXEL_TEX_GEN_Q_CEILING_SGIX
#undef PIXEL_TEX_GEN_Q_CEILING_SGIX
#endif
#ifdef PIXEL_TEX_GEN_Q_ROUND_SGIX
#undef PIXEL_TEX_GEN_Q_ROUND_SGIX
#endif
#ifdef PIXEL_TEX_GEN_Q_FLOOR_SGIX
#undef PIXEL_TEX_GEN_Q_FLOOR_SGIX
#endif
#ifdef PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX
#undef PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX
#endif
#ifdef PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX
#undef PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX
#endif
#ifdef PIXEL_TEX_GEN_ALPHA_LS_SGIX
#undef PIXEL_TEX_GEN_ALPHA_LS_SGIX
#endif
#ifdef PIXEL_TEX_GEN_ALPHA_MS_SGIX
#undef PIXEL_TEX_GEN_ALPHA_MS_SGIX
#endif
#ifdef INSTRUMENT_BUFFER_POINTER_SGIX
#undef INSTRUMENT_BUFFER_POINTER_SGIX
#endif
#ifdef INSTRUMENT_MEASUREMENTS_SGIX
#undef INSTRUMENT_MEASUREMENTS_SGIX
#endif
#ifdef INTERLACE_SGIX
#undef INTERLACE_SGIX
#endif
#ifdef IR_INSTRUMENT1_SGIX
#undef IR_INSTRUMENT1_SGIX
#endif
#ifdef LIST_PRIORITY_SGIX
#undef LIST_PRIORITY_SGIX
#endif
#ifdef PIXEL_TEX_GEN_SGIX
#undef PIXEL_TEX_GEN_SGIX
#endif
#ifdef PIXEL_TEX_GEN_MODE_SGIX
#undef PIXEL_TEX_GEN_MODE_SGIX
#endif
#ifdef PIXEL_TILE_BEST_ALIGNMENT_SGIX
#undef PIXEL_TILE_BEST_ALIGNMENT_SGIX
#endif
#ifdef PIXEL_TILE_CACHE_INCREMENT_SGIX
#undef PIXEL_TILE_CACHE_INCREMENT_SGIX
#endif
#ifdef PIXEL_TILE_WIDTH_SGIX
#undef PIXEL_TILE_WIDTH_SGIX
#endif
#ifdef PIXEL_TILE_HEIGHT_SGIX
#undef PIXEL_TILE_HEIGHT_SGIX
#endif
#ifdef PIXEL_TILE_GRID_WIDTH_SGIX
#undef PIXEL_TILE_GRID_WIDTH_SGIX
#endif
#ifdef PIXEL_TILE_GRID_HEIGHT_SGIX
#undef PIXEL_TILE_GRID_HEIGHT_SGIX
#endif
#ifdef PIXEL_TILE_GRID_DEPTH_SGIX
#undef PIXEL_TILE_GRID_DEPTH_SGIX
#endif
#ifdef PIXEL_TILE_CACHE_SIZE_SGIX
#undef PIXEL_TILE_CACHE_SIZE_SGIX
#endif
#ifdef GEOMETRY_DEFORMATION_SGIX
#undef GEOMETRY_DEFORMATION_SGIX
#endif
#ifdef TEXTURE_DEFORMATION_SGIX
#undef TEXTURE_DEFORMATION_SGIX
#endif
#ifdef DEFORMATIONS_MASK_SGIX
#undef DEFORMATIONS_MASK_SGIX
#endif
#ifdef MAX_DEFORMATION_ORDER_SGIX
#undef MAX_DEFORMATION_ORDER_SGIX
#endif
#ifdef REFERENCE_PLANE_SGIX
#undef REFERENCE_PLANE_SGIX
#endif
#ifdef REFERENCE_PLANE_EQUATION_SGIX
#undef REFERENCE_PLANE_EQUATION_SGIX
#endif
#ifdef PACK_RESAMPLE_SGIX
#undef PACK_RESAMPLE_SGIX
#endif
#ifdef UNPACK_RESAMPLE_SGIX
#undef UNPACK_RESAMPLE_SGIX
#endif
#ifdef RESAMPLE_REPLICATE_SGIX
#undef RESAMPLE_REPLICATE_SGIX
#endif
#ifdef RESAMPLE_ZERO_FILL_SGIX
#undef RESAMPLE_ZERO_FILL_SGIX
#endif
#ifdef RESAMPLE_DECIMATE_SGIX
#undef RESAMPLE_DECIMATE_SGIX
#endif
#ifdef SCALEBIAS_HINT_SGIX
#undef SCALEBIAS_HINT_SGIX
#endif
#ifdef TEXTURE_COMPARE_SGIX
#undef TEXTURE_COMPARE_SGIX
#endif
#ifdef TEXTURE_COMPARE_OPERATOR_SGIX
#undef TEXTURE_COMPARE_OPERATOR_SGIX
#endif
#ifdef TEXTURE_LEQUAL_R_SGIX
#undef TEXTURE_LEQUAL_R_SGIX
#endif
#ifdef TEXTURE_GEQUAL_R_SGIX
#undef TEXTURE_GEQUAL_R_SGIX
#endif
#ifdef SHADOW_AMBIENT_SGIX
#undef SHADOW_AMBIENT_SGIX
#endif
#ifdef SPRITE_SGIX
#undef SPRITE_SGIX
#endif
#ifdef SPRITE_MODE_SGIX
#undef SPRITE_MODE_SGIX
#endif
#ifdef SPRITE_AXIS_SGIX
#undef SPRITE_AXIS_SGIX
#endif
#ifdef SPRITE_TRANSLATION_SGIX
#undef SPRITE_TRANSLATION_SGIX
#endif
#ifdef SPRITE_AXIAL_SGIX
#undef SPRITE_AXIAL_SGIX
#endif
#ifdef SPRITE_OBJECT_ALIGNED_SGIX
#undef SPRITE_OBJECT_ALIGNED_SGIX
#endif
#ifdef SPRITE_EYE_ALIGNED_SGIX
#undef SPRITE_EYE_ALIGNED_SGIX
#endif
#ifdef PACK_SUBSAMPLE_RATE_SGIX
#undef PACK_SUBSAMPLE_RATE_SGIX
#endif
#ifdef UNPACK_SUBSAMPLE_RATE_SGIX
#undef UNPACK_SUBSAMPLE_RATE_SGIX
#endif
#ifdef PIXEL_SUBSAMPLE_4444_SGIX
#undef PIXEL_SUBSAMPLE_4444_SGIX
#endif
#ifdef PIXEL_SUBSAMPLE_2424_SGIX
#undef PIXEL_SUBSAMPLE_2424_SGIX
#endif
#ifdef PIXEL_SUBSAMPLE_4242_SGIX
#undef PIXEL_SUBSAMPLE_4242_SGIX
#endif
#ifdef TEXTURE_ENV_BIAS_SGIX
#undef TEXTURE_ENV_BIAS_SGIX
#endif
#ifdef TEXTURE_MAX_CLAMP_S_SGIX
#undef TEXTURE_MAX_CLAMP_S_SGIX
#endif
#ifdef TEXTURE_MAX_CLAMP_T_SGIX
#undef TEXTURE_MAX_CLAMP_T_SGIX
#endif
#ifdef TEXTURE_MAX_CLAMP_R_SGIX
#undef TEXTURE_MAX_CLAMP_R_SGIX
#endif
#ifdef TEXTURE_LOD_BIAS_S_SGIX
#undef TEXTURE_LOD_BIAS_S_SGIX
#endif
#ifdef TEXTURE_LOD_BIAS_T_SGIX
#undef TEXTURE_LOD_BIAS_T_SGIX
#endif
#ifdef TEXTURE_LOD_BIAS_R_SGIX
#undef TEXTURE_LOD_BIAS_R_SGIX
#endif
#ifdef TEXTURE_MULTI_BUFFER_HINT_SGIX
#undef TEXTURE_MULTI_BUFFER_HINT_SGIX
#endif
#ifdef POST_TEXTURE_FILTER_BIAS_SGIX
#undef POST_TEXTURE_FILTER_BIAS_SGIX
#endif
#ifdef POST_TEXTURE_FILTER_SCALE_SGIX
#undef POST_TEXTURE_FILTER_SCALE_SGIX
#endif
#ifdef POST_TEXTURE_FILTER_BIAS_RANGE_SGIX
#undef POST_TEXTURE_FILTER_BIAS_RANGE_SGIX
#endif
#ifdef POST_TEXTURE_FILTER_SCALE_RANGE_SGIX
#undef POST_TEXTURE_FILTER_SCALE_RANGE_SGIX
#endif
#ifdef VERTEX_PRECLIP_SGIX
#undef VERTEX_PRECLIP_SGIX
#endif
#ifdef VERTEX_PRECLIP_HINT_SGIX
#undef VERTEX_PRECLIP_HINT_SGIX
#endif
#ifdef YCRCB_422_SGIX
#undef YCRCB_422_SGIX
#endif
#ifdef YCRCB_444_SGIX
#undef YCRCB_444_SGIX
#endif
#ifdef YCRCB_SGIX
#undef YCRCB_SGIX
#endif
#ifdef YCRCBA_SGIX
#undef YCRCBA_SGIX
#endif
#ifdef COLOR_MATRIX_SGI
#undef COLOR_MATRIX_SGI
#endif
#ifdef COLOR_MATRIX_STACK_DEPTH_SGI
#undef COLOR_MATRIX_STACK_DEPTH_SGI
#endif
#ifdef MAX_COLOR_MATRIX_STACK_DEPTH_SGI
#undef MAX_COLOR_MATRIX_STACK_DEPTH_SGI
#endif
#ifdef POST_COLOR_MATRIX_RED_SCALE_SGI
#undef POST_COLOR_MATRIX_RED_SCALE_SGI
#endif
#ifdef POST_COLOR_MATRIX_GREEN_SCALE_SGI
#undef POST_COLOR_MATRIX_GREEN_SCALE_SGI
#endif
#ifdef POST_COLOR_MATRIX_BLUE_SCALE_SGI
#undef POST_COLOR_MATRIX_BLUE_SCALE_SGI
#endif
#ifdef POST_COLOR_MATRIX_ALPHA_SCALE_SGI
#undef POST_COLOR_MATRIX_ALPHA_SCALE_SGI
#endif
#ifdef POST_COLOR_MATRIX_RED_BIAS_SGI
#undef POST_COLOR_MATRIX_RED_BIAS_SGI
#endif
#ifdef POST_COLOR_MATRIX_GREEN_BIAS_SGI
#undef POST_COLOR_MATRIX_GREEN_BIAS_SGI
#endif
#ifdef POST_COLOR_MATRIX_BLUE_BIAS_SGI
#undef POST_COLOR_MATRIX_BLUE_BIAS_SGI
#endif
#ifdef POST_COLOR_MATRIX_ALPHA_BIAS_SGI
#undef POST_COLOR_MATRIX_ALPHA_BIAS_SGI
#endif
#ifdef COLOR_TABLE_SGI
#undef COLOR_TABLE_SGI
#endif
#ifdef POST_CONVOLUTION_COLOR_TABLE_SGI
#undef POST_CONVOLUTION_COLOR_TABLE_SGI
#endif
#ifdef POST_COLOR_MATRIX_COLOR_TABLE_SGI
#undef POST_COLOR_MATRIX_COLOR_TABLE_SGI
#endif
#ifdef PROXY_COLOR_TABLE_SGI
#undef PROXY_COLOR_TABLE_SGI
#endif
#ifdef PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI
#undef PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI
#endif
#ifdef PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI
#undef PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI
#endif
#ifdef COLOR_TABLE_SCALE_SGI
#undef COLOR_TABLE_SCALE_SGI
#endif
#ifdef COLOR_TABLE_BIAS_SGI
#undef COLOR_TABLE_BIAS_SGI
#endif
#ifdef COLOR_TABLE_FORMAT_SGI
#undef COLOR_TABLE_FORMAT_SGI
#endif
#ifdef COLOR_TABLE_WIDTH_SGI
#undef COLOR_TABLE_WIDTH_SGI
#endif
#ifdef COLOR_TABLE_RED_SIZE_SGI
#undef COLOR_TABLE_RED_SIZE_SGI
#endif
#ifdef COLOR_TABLE_GREEN_SIZE_SGI
#undef COLOR_TABLE_GREEN_SIZE_SGI
#endif
#ifdef COLOR_TABLE_BLUE_SIZE_SGI
#undef COLOR_TABLE_BLUE_SIZE_SGI
#endif
#ifdef COLOR_TABLE_ALPHA_SIZE_SGI
#undef COLOR_TABLE_ALPHA_SIZE_SGI
#endif
#ifdef COLOR_TABLE_LUMINANCE_SIZE_SGI
#undef COLOR_TABLE_LUMINANCE_SIZE_SGI
#endif
#ifdef COLOR_TABLE_INTENSITY_SIZE_SGI
#undef COLOR_TABLE_INTENSITY_SIZE_SGI
#endif
#ifdef DEPTH_PASS_INSTRUMENT_SGIX
#undef DEPTH_PASS_INSTRUMENT_SGIX
#endif
#ifdef DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX
#undef DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX
#endif
#ifdef DEPTH_PASS_INSTRUMENT_MAX_SGIX
#undef DEPTH_PASS_INSTRUMENT_MAX_SGIX
#endif
#ifdef TEXTURE_COLOR_TABLE_SGI
#undef TEXTURE_COLOR_TABLE_SGI
#endif
#ifdef PROXY_TEXTURE_COLOR_TABLE_SGI
#undef PROXY_TEXTURE_COLOR_TABLE_SGI
#endif
#ifdef UNPACK_CONSTANT_DATA_SUNX
#undef UNPACK_CONSTANT_DATA_SUNX
#endif
#ifdef TEXTURE_CONSTANT_DATA_SUNX
#undef TEXTURE_CONSTANT_DATA_SUNX
#endif
#ifdef WRAP_BORDER_SUN
#undef WRAP_BORDER_SUN
#endif
#ifdef GLOBAL_ALPHA_SUN
#undef GLOBAL_ALPHA_SUN
#endif
#ifdef GLOBAL_ALPHA_FACTOR_SUN
#undef GLOBAL_ALPHA_FACTOR_SUN
#endif
#ifdef QUAD_MESH_SUN
#undef QUAD_MESH_SUN
#endif
#ifdef TRIANGLE_MESH_SUN
#undef TRIANGLE_MESH_SUN
#endif
#ifdef SLICE_ACCUM_SUN
#undef SLICE_ACCUM_SUN
#endif
#ifdef RESTART_SUN
#undef RESTART_SUN
#endif
#ifdef REPLACE_MIDDLE_SUN
#undef REPLACE_MIDDLE_SUN
#endif
#ifdef REPLACE_OLDEST_SUN
#undef REPLACE_OLDEST_SUN
#endif
#ifdef TRIANGLE_LIST_SUN
#undef TRIANGLE_LIST_SUN
#endif
#ifdef REPLACEMENT_CODE_SUN
#undef REPLACEMENT_CODE_SUN
#endif
#ifdef REPLACEMENT_CODE_ARRAY_SUN
#undef REPLACEMENT_CODE_ARRAY_SUN
#endif
#ifdef REPLACEMENT_CODE_ARRAY_TYPE_SUN
#undef REPLACEMENT_CODE_ARRAY_TYPE_SUN
#endif
#ifdef REPLACEMENT_CODE_ARRAY_STRIDE_SUN
#undef REPLACEMENT_CODE_ARRAY_STRIDE_SUN
#endif
#ifdef REPLACEMENT_CODE_ARRAY_POINTER_SUN
#undef REPLACEMENT_CODE_ARRAY_POINTER_SUN
#endif
#ifdef R1UI_V3F_SUN
#undef R1UI_V3F_SUN
#endif
#ifdef R1UI_C4UB_V3F_SUN
#undef R1UI_C4UB_V3F_SUN
#endif
#ifdef R1UI_C3F_V3F_SUN
#undef R1UI_C3F_V3F_SUN
#endif
#ifdef R1UI_N3F_V3F_SUN
#undef R1UI_N3F_V3F_SUN
#endif
#ifdef R1UI_C4F_N3F_V3F_SUN
#undef R1UI_C4F_N3F_V3F_SUN
#endif
#ifdef R1UI_T2F_V3F_SUN
#undef R1UI_T2F_V3F_SUN
#endif
#ifdef R1UI_T2F_N3F_V3F_SUN
#undef R1UI_T2F_N3F_V3F_SUN
#endif
#ifdef R1UI_T2F_C4F_N3F_V3F_SUN
#undef R1UI_T2F_C4F_N3F_V3F_SUN
#endif
#ifdef UNSIGNED_BYTE_3_3_2
#undef UNSIGNED_BYTE_3_3_2
#endif
#ifdef UNSIGNED_SHORT_4_4_4_4
#undef UNSIGNED_SHORT_4_4_4_4
#endif
#ifdef UNSIGNED_SHORT_5_5_5_1
#undef UNSIGNED_SHORT_5_5_5_1
#endif
#ifdef UNSIGNED_INT_8_8_8_8
#undef UNSIGNED_INT_8_8_8_8
#endif
#ifdef UNSIGNED_INT_10_10_10_2
#undef UNSIGNED_INT_10_10_10_2
#endif
#ifdef TEXTURE_BINDING_3D
#undef TEXTURE_BINDING_3D
#endif
#ifdef PACK_SKIP_IMAGES
#undef PACK_SKIP_IMAGES
#endif
#ifdef PACK_IMAGE_HEIGHT
#undef PACK_IMAGE_HEIGHT
#endif
#ifdef UNPACK_SKIP_IMAGES
#undef UNPACK_SKIP_IMAGES
#endif
#ifdef UNPACK_IMAGE_HEIGHT
#undef UNPACK_IMAGE_HEIGHT
#endif
#ifdef TEXTURE_3D
#undef TEXTURE_3D
#endif
#ifdef PROXY_TEXTURE_3D
#undef PROXY_TEXTURE_3D
#endif
#ifdef TEXTURE_DEPTH
#undef TEXTURE_DEPTH
#endif
#ifdef TEXTURE_WRAP_R
#undef TEXTURE_WRAP_R
#endif
#ifdef MAX_3D_TEXTURE_SIZE
#undef MAX_3D_TEXTURE_SIZE
#endif
#ifdef UNSIGNED_BYTE_2_3_3_REV
#undef UNSIGNED_BYTE_2_3_3_REV
#endif
#ifdef UNSIGNED_SHORT_5_6_5
#undef UNSIGNED_SHORT_5_6_5
#endif
#ifdef UNSIGNED_SHORT_5_6_5_REV
#undef UNSIGNED_SHORT_5_6_5_REV
#endif
#ifdef UNSIGNED_SHORT_4_4_4_4_REV
#undef UNSIGNED_SHORT_4_4_4_4_REV
#endif
#ifdef UNSIGNED_SHORT_1_5_5_5_REV
#undef UNSIGNED_SHORT_1_5_5_5_REV
#endif
#ifdef UNSIGNED_INT_8_8_8_8_REV
#undef UNSIGNED_INT_8_8_8_8_REV
#endif
#ifdef UNSIGNED_INT_2_10_10_10_REV
#undef UNSIGNED_INT_2_10_10_10_REV
#endif
#ifdef BGR
#undef BGR
#endif
#ifdef BGRA
#undef BGRA
#endif
#ifdef MAX_ELEMENTS_VERTICES
#undef MAX_ELEMENTS_VERTICES
#endif
#ifdef MAX_ELEMENTS_INDICES
#undef MAX_ELEMENTS_INDICES
#endif
#ifdef CLAMP_TO_EDGE
#undef CLAMP_TO_EDGE
#endif
#ifdef TEXTURE_MIN_LOD
#undef TEXTURE_MIN_LOD
#endif
#ifdef TEXTURE_MAX_LOD
#undef TEXTURE_MAX_LOD
#endif
#ifdef TEXTURE_BASE_LEVEL
#undef TEXTURE_BASE_LEVEL
#endif
#ifdef TEXTURE_MAX_LEVEL
#undef TEXTURE_MAX_LEVEL
#endif
#ifdef SMOOTH_POINT_SIZE_RANGE
#undef SMOOTH_POINT_SIZE_RANGE
#endif
#ifdef SMOOTH_POINT_SIZE_GRANULARITY
#undef SMOOTH_POINT_SIZE_GRANULARITY
#endif
#ifdef SMOOTH_LINE_WIDTH_RANGE
#undef SMOOTH_LINE_WIDTH_RANGE
#endif
#ifdef SMOOTH_LINE_WIDTH_GRANULARITY
#undef SMOOTH_LINE_WIDTH_GRANULARITY
#endif
#ifdef ALIASED_LINE_WIDTH_RANGE
#undef ALIASED_LINE_WIDTH_RANGE
#endif
#ifdef RESCALE_NORMAL
#undef RESCALE_NORMAL
#endif
#ifdef LIGHT_MODEL_COLOR_CONTROL
#undef LIGHT_MODEL_COLOR_CONTROL
#endif
#ifdef SINGLE_COLOR
#undef SINGLE_COLOR
#endif
#ifdef SEPARATE_SPECULAR_COLOR
#undef SEPARATE_SPECULAR_COLOR
#endif
#ifdef ALIASED_POINT_SIZE_RANGE
#undef ALIASED_POINT_SIZE_RANGE
#endif
#ifdef TEXTURE0
#undef TEXTURE0
#endif
#ifdef TEXTURE1
#undef TEXTURE1
#endif
#ifdef TEXTURE2
#undef TEXTURE2
#endif
#ifdef TEXTURE3
#undef TEXTURE3
#endif
#ifdef TEXTURE4
#undef TEXTURE4
#endif
#ifdef TEXTURE5
#undef TEXTURE5
#endif
#ifdef TEXTURE6
#undef TEXTURE6
#endif
#ifdef TEXTURE7
#undef TEXTURE7
#endif
#ifdef TEXTURE8
#undef TEXTURE8
#endif
#ifdef TEXTURE9
#undef TEXTURE9
#endif
#ifdef TEXTURE10
#undef TEXTURE10
#endif
#ifdef TEXTURE11
#undef TEXTURE11
#endif
#ifdef TEXTURE12
#undef TEXTURE12
#endif
#ifdef TEXTURE13
#undef TEXTURE13
#endif
#ifdef TEXTURE14
#undef TEXTURE14
#endif
#ifdef TEXTURE15
#undef TEXTURE15
#endif
#ifdef TEXTURE16
#undef TEXTURE16
#endif
#ifdef TEXTURE17
#undef TEXTURE17
#endif
#ifdef TEXTURE18
#undef TEXTURE18
#endif
#ifdef TEXTURE19
#undef TEXTURE19
#endif
#ifdef TEXTURE20
#undef TEXTURE20
#endif
#ifdef TEXTURE21
#undef TEXTURE21
#endif
#ifdef TEXTURE22
#undef TEXTURE22
#endif
#ifdef TEXTURE23
#undef TEXTURE23
#endif
#ifdef TEXTURE24
#undef TEXTURE24
#endif
#ifdef TEXTURE25
#undef TEXTURE25
#endif
#ifdef TEXTURE26
#undef TEXTURE26
#endif
#ifdef TEXTURE27
#undef TEXTURE27
#endif
#ifdef TEXTURE28
#undef TEXTURE28
#endif
#ifdef TEXTURE29
#undef TEXTURE29
#endif
#ifdef TEXTURE30
#undef TEXTURE30
#endif
#ifdef TEXTURE31
#undef TEXTURE31
#endif
#ifdef ACTIVE_TEXTURE
#undef ACTIVE_TEXTURE
#endif
#ifdef MULTISAMPLE
#undef MULTISAMPLE
#endif
#ifdef SAMPLE_ALPHA_TO_COVERAGE
#undef SAMPLE_ALPHA_TO_COVERAGE
#endif
#ifdef SAMPLE_ALPHA_TO_ONE
#undef SAMPLE_ALPHA_TO_ONE
#endif
#ifdef SAMPLE_COVERAGE
#undef SAMPLE_COVERAGE
#endif
#ifdef SAMPLE_BUFFERS
#undef SAMPLE_BUFFERS
#endif
#ifdef SAMPLES
#undef SAMPLES
#endif
#ifdef SAMPLE_COVERAGE_VALUE
#undef SAMPLE_COVERAGE_VALUE
#endif
#ifdef SAMPLE_COVERAGE_INVERT
#undef SAMPLE_COVERAGE_INVERT
#endif
#ifdef TEXTURE_CUBE_MAP
#undef TEXTURE_CUBE_MAP
#endif
#ifdef TEXTURE_BINDING_CUBE_MAP
#undef TEXTURE_BINDING_CUBE_MAP
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_X
#undef TEXTURE_CUBE_MAP_POSITIVE_X
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_X
#undef TEXTURE_CUBE_MAP_NEGATIVE_X
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Y
#undef TEXTURE_CUBE_MAP_POSITIVE_Y
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Y
#undef TEXTURE_CUBE_MAP_NEGATIVE_Y
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Z
#undef TEXTURE_CUBE_MAP_POSITIVE_Z
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Z
#undef TEXTURE_CUBE_MAP_NEGATIVE_Z
#endif
#ifdef PROXY_TEXTURE_CUBE_MAP
#undef PROXY_TEXTURE_CUBE_MAP
#endif
#ifdef MAX_CUBE_MAP_TEXTURE_SIZE
#undef MAX_CUBE_MAP_TEXTURE_SIZE
#endif
#ifdef COMPRESSED_RGB
#undef COMPRESSED_RGB
#endif
#ifdef COMPRESSED_RGBA
#undef COMPRESSED_RGBA
#endif
#ifdef TEXTURE_COMPRESSION_HINT
#undef TEXTURE_COMPRESSION_HINT
#endif
#ifdef TEXTURE_COMPRESSED_IMAGE_SIZE
#undef TEXTURE_COMPRESSED_IMAGE_SIZE
#endif
#ifdef TEXTURE_COMPRESSED
#undef TEXTURE_COMPRESSED
#endif
#ifdef NUM_COMPRESSED_TEXTURE_FORMATS
#undef NUM_COMPRESSED_TEXTURE_FORMATS
#endif
#ifdef COMPRESSED_TEXTURE_FORMATS
#undef COMPRESSED_TEXTURE_FORMATS
#endif
#ifdef CLAMP_TO_BORDER
#undef CLAMP_TO_BORDER
#endif
#ifdef CLIENT_ACTIVE_TEXTURE
#undef CLIENT_ACTIVE_TEXTURE
#endif
#ifdef MAX_TEXTURE_UNITS
#undef MAX_TEXTURE_UNITS
#endif
#ifdef TRANSPOSE_MODELVIEW_MATRIX
#undef TRANSPOSE_MODELVIEW_MATRIX
#endif
#ifdef TRANSPOSE_PROJECTION_MATRIX
#undef TRANSPOSE_PROJECTION_MATRIX
#endif
#ifdef TRANSPOSE_TEXTURE_MATRIX
#undef TRANSPOSE_TEXTURE_MATRIX
#endif
#ifdef TRANSPOSE_COLOR_MATRIX
#undef TRANSPOSE_COLOR_MATRIX
#endif
#ifdef MULTISAMPLE_BIT
#undef MULTISAMPLE_BIT
#endif
#ifdef NORMAL_MAP
#undef NORMAL_MAP
#endif
#ifdef REFLECTION_MAP
#undef REFLECTION_MAP
#endif
#ifdef COMPRESSED_ALPHA
#undef COMPRESSED_ALPHA
#endif
#ifdef COMPRESSED_LUMINANCE
#undef COMPRESSED_LUMINANCE
#endif
#ifdef COMPRESSED_LUMINANCE_ALPHA
#undef COMPRESSED_LUMINANCE_ALPHA
#endif
#ifdef COMPRESSED_INTENSITY
#undef COMPRESSED_INTENSITY
#endif
#ifdef COMBINE
#undef COMBINE
#endif
#ifdef COMBINE_RGB
#undef COMBINE_RGB
#endif
#ifdef COMBINE_ALPHA
#undef COMBINE_ALPHA
#endif
#ifdef SOURCE0_RGB
#undef SOURCE0_RGB
#endif
#ifdef SOURCE1_RGB
#undef SOURCE1_RGB
#endif
#ifdef SOURCE2_RGB
#undef SOURCE2_RGB
#endif
#ifdef SOURCE0_ALPHA
#undef SOURCE0_ALPHA
#endif
#ifdef SOURCE1_ALPHA
#undef SOURCE1_ALPHA
#endif
#ifdef SOURCE2_ALPHA
#undef SOURCE2_ALPHA
#endif
#ifdef OPERAND0_RGB
#undef OPERAND0_RGB
#endif
#ifdef OPERAND1_RGB
#undef OPERAND1_RGB
#endif
#ifdef OPERAND2_RGB
#undef OPERAND2_RGB
#endif
#ifdef OPERAND0_ALPHA
#undef OPERAND0_ALPHA
#endif
#ifdef OPERAND1_ALPHA
#undef OPERAND1_ALPHA
#endif
#ifdef OPERAND2_ALPHA
#undef OPERAND2_ALPHA
#endif
#ifdef RGB_SCALE
#undef RGB_SCALE
#endif
#ifdef ADD_SIGNED
#undef ADD_SIGNED
#endif
#ifdef INTERPOLATE
#undef INTERPOLATE
#endif
#ifdef SUBTRACT
#undef SUBTRACT
#endif
#ifdef CONSTANT
#undef CONSTANT
#endif
#ifdef PRIMARY_COLOR
#undef PRIMARY_COLOR
#endif
#ifdef PREVIOUS
#undef PREVIOUS
#endif
#ifdef DOT3_RGB
#undef DOT3_RGB
#endif
#ifdef DOT3_RGBA
#undef DOT3_RGBA
#endif
#ifdef BLEND_DST_RGB
#undef BLEND_DST_RGB
#endif
#ifdef BLEND_SRC_RGB
#undef BLEND_SRC_RGB
#endif
#ifdef BLEND_DST_ALPHA
#undef BLEND_DST_ALPHA
#endif
#ifdef BLEND_SRC_ALPHA
#undef BLEND_SRC_ALPHA
#endif
#ifdef POINT_FADE_THRESHOLD_SIZE
#undef POINT_FADE_THRESHOLD_SIZE
#endif
#ifdef DEPTH_COMPONENT16
#undef DEPTH_COMPONENT16
#endif
#ifdef DEPTH_COMPONENT24
#undef DEPTH_COMPONENT24
#endif
#ifdef DEPTH_COMPONENT32
#undef DEPTH_COMPONENT32
#endif
#ifdef MIRRORED_REPEAT
#undef MIRRORED_REPEAT
#endif
#ifdef MAX_TEXTURE_LOD_BIAS
#undef MAX_TEXTURE_LOD_BIAS
#endif
#ifdef TEXTURE_LOD_BIAS
#undef TEXTURE_LOD_BIAS
#endif
#ifdef INCR_WRAP
#undef INCR_WRAP
#endif
#ifdef DECR_WRAP
#undef DECR_WRAP
#endif
#ifdef TEXTURE_DEPTH_SIZE
#undef TEXTURE_DEPTH_SIZE
#endif
#ifdef TEXTURE_COMPARE_MODE
#undef TEXTURE_COMPARE_MODE
#endif
#ifdef TEXTURE_COMPARE_FUNC
#undef TEXTURE_COMPARE_FUNC
#endif
#ifdef POINT_SIZE_MIN
#undef POINT_SIZE_MIN
#endif
#ifdef POINT_SIZE_MAX
#undef POINT_SIZE_MAX
#endif
#ifdef POINT_DISTANCE_ATTENUATION
#undef POINT_DISTANCE_ATTENUATION
#endif
#ifdef GENERATE_MIPMAP
#undef GENERATE_MIPMAP
#endif
#ifdef GENERATE_MIPMAP_HINT
#undef GENERATE_MIPMAP_HINT
#endif
#ifdef FOG_COORDINATE_SOURCE
#undef FOG_COORDINATE_SOURCE
#endif
#ifdef FOG_COORDINATE
#undef FOG_COORDINATE
#endif
#ifdef FRAGMENT_DEPTH
#undef FRAGMENT_DEPTH
#endif
#ifdef CURRENT_FOG_COORDINATE
#undef CURRENT_FOG_COORDINATE
#endif
#ifdef FOG_COORDINATE_ARRAY_TYPE
#undef FOG_COORDINATE_ARRAY_TYPE
#endif
#ifdef FOG_COORDINATE_ARRAY_STRIDE
#undef FOG_COORDINATE_ARRAY_STRIDE
#endif
#ifdef FOG_COORDINATE_ARRAY_POINTER
#undef FOG_COORDINATE_ARRAY_POINTER
#endif
#ifdef FOG_COORDINATE_ARRAY
#undef FOG_COORDINATE_ARRAY
#endif
#ifdef COLOR_SUM
#undef COLOR_SUM
#endif
#ifdef CURRENT_SECONDARY_COLOR
#undef CURRENT_SECONDARY_COLOR
#endif
#ifdef SECONDARY_COLOR_ARRAY_SIZE
#undef SECONDARY_COLOR_ARRAY_SIZE
#endif
#ifdef SECONDARY_COLOR_ARRAY_TYPE
#undef SECONDARY_COLOR_ARRAY_TYPE
#endif
#ifdef SECONDARY_COLOR_ARRAY_STRIDE
#undef SECONDARY_COLOR_ARRAY_STRIDE
#endif
#ifdef SECONDARY_COLOR_ARRAY_POINTER
#undef SECONDARY_COLOR_ARRAY_POINTER
#endif
#ifdef SECONDARY_COLOR_ARRAY
#undef SECONDARY_COLOR_ARRAY
#endif
#ifdef TEXTURE_FILTER_CONTROL
#undef TEXTURE_FILTER_CONTROL
#endif
#ifdef DEPTH_TEXTURE_MODE
#undef DEPTH_TEXTURE_MODE
#endif
#ifdef COMPARE_R_TO_TEXTURE
#undef COMPARE_R_TO_TEXTURE
#endif
#ifdef BUFFER_SIZE
#undef BUFFER_SIZE
#endif
#ifdef BUFFER_USAGE
#undef BUFFER_USAGE
#endif
#ifdef QUERY_COUNTER_BITS
#undef QUERY_COUNTER_BITS
#endif
#ifdef CURRENT_QUERY
#undef CURRENT_QUERY
#endif
#ifdef QUERY_RESULT
#undef QUERY_RESULT
#endif
#ifdef QUERY_RESULT_AVAILABLE
#undef QUERY_RESULT_AVAILABLE
#endif
#ifdef ARRAY_BUFFER
#undef ARRAY_BUFFER
#endif
#ifdef ELEMENT_ARRAY_BUFFER
#undef ELEMENT_ARRAY_BUFFER
#endif
#ifdef ARRAY_BUFFER_BINDING
#undef ARRAY_BUFFER_BINDING
#endif
#ifdef ELEMENT_ARRAY_BUFFER_BINDING
#undef ELEMENT_ARRAY_BUFFER_BINDING
#endif
#ifdef VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
#undef VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
#endif
#ifdef READ_ONLY
#undef READ_ONLY
#endif
#ifdef WRITE_ONLY
#undef WRITE_ONLY
#endif
#ifdef READ_WRITE
#undef READ_WRITE
#endif
#ifdef BUFFER_ACCESS
#undef BUFFER_ACCESS
#endif
#ifdef BUFFER_MAPPED
#undef BUFFER_MAPPED
#endif
#ifdef BUFFER_MAP_POINTER
#undef BUFFER_MAP_POINTER
#endif
#ifdef STREAM_DRAW
#undef STREAM_DRAW
#endif
#ifdef STREAM_READ
#undef STREAM_READ
#endif
#ifdef STREAM_COPY
#undef STREAM_COPY
#endif
#ifdef STATIC_DRAW
#undef STATIC_DRAW
#endif
#ifdef STATIC_READ
#undef STATIC_READ
#endif
#ifdef STATIC_COPY
#undef STATIC_COPY
#endif
#ifdef DYNAMIC_DRAW
#undef DYNAMIC_DRAW
#endif
#ifdef DYNAMIC_READ
#undef DYNAMIC_READ
#endif
#ifdef DYNAMIC_COPY
#undef DYNAMIC_COPY
#endif
#ifdef SAMPLES_PASSED
#undef SAMPLES_PASSED
#endif
#ifdef VERTEX_ARRAY_BUFFER_BINDING
#undef VERTEX_ARRAY_BUFFER_BINDING
#endif
#ifdef NORMAL_ARRAY_BUFFER_BINDING
#undef NORMAL_ARRAY_BUFFER_BINDING
#endif
#ifdef COLOR_ARRAY_BUFFER_BINDING
#undef COLOR_ARRAY_BUFFER_BINDING
#endif
#ifdef INDEX_ARRAY_BUFFER_BINDING
#undef INDEX_ARRAY_BUFFER_BINDING
#endif
#ifdef TEXTURE_COORD_ARRAY_BUFFER_BINDING
#undef TEXTURE_COORD_ARRAY_BUFFER_BINDING
#endif
#ifdef EDGE_FLAG_ARRAY_BUFFER_BINDING
#undef EDGE_FLAG_ARRAY_BUFFER_BINDING
#endif
#ifdef SECONDARY_COLOR_ARRAY_BUFFER_BINDING
#undef SECONDARY_COLOR_ARRAY_BUFFER_BINDING
#endif
#ifdef FOG_COORDINATE_ARRAY_BUFFER_BINDING
#undef FOG_COORDINATE_ARRAY_BUFFER_BINDING
#endif
#ifdef WEIGHT_ARRAY_BUFFER_BINDING
#undef WEIGHT_ARRAY_BUFFER_BINDING
#endif
#ifdef FOG_COORD_SRC
#undef FOG_COORD_SRC
#endif
#ifdef FOG_COORD
#undef FOG_COORD
#endif
#ifdef CURRENT_FOG_COORD
#undef CURRENT_FOG_COORD
#endif
#ifdef FOG_COORD_ARRAY_TYPE
#undef FOG_COORD_ARRAY_TYPE
#endif
#ifdef FOG_COORD_ARRAY_STRIDE
#undef FOG_COORD_ARRAY_STRIDE
#endif
#ifdef FOG_COORD_ARRAY_POINTER
#undef FOG_COORD_ARRAY_POINTER
#endif
#ifdef FOG_COORD_ARRAY
#undef FOG_COORD_ARRAY
#endif
#ifdef FOG_COORD_ARRAY_BUFFER_BINDING
#undef FOG_COORD_ARRAY_BUFFER_BINDING
#endif
#ifdef SRC0_RGB
#undef SRC0_RGB
#endif
#ifdef SRC1_RGB
#undef SRC1_RGB
#endif
#ifdef SRC2_RGB
#undef SRC2_RGB
#endif
#ifdef SRC0_ALPHA
#undef SRC0_ALPHA
#endif
#ifdef SRC1_ALPHA
#undef SRC1_ALPHA
#endif
#ifdef SRC2_ALPHA
#undef SRC2_ALPHA
#endif
#ifdef BLEND_EQUATION_RGB
#undef BLEND_EQUATION_RGB
#endif
#ifdef VERTEX_ATTRIB_ARRAY_ENABLED
#undef VERTEX_ATTRIB_ARRAY_ENABLED
#endif
#ifdef VERTEX_ATTRIB_ARRAY_SIZE
#undef VERTEX_ATTRIB_ARRAY_SIZE
#endif
#ifdef VERTEX_ATTRIB_ARRAY_STRIDE
#undef VERTEX_ATTRIB_ARRAY_STRIDE
#endif
#ifdef VERTEX_ATTRIB_ARRAY_TYPE
#undef VERTEX_ATTRIB_ARRAY_TYPE
#endif
#ifdef CURRENT_VERTEX_ATTRIB
#undef CURRENT_VERTEX_ATTRIB
#endif
#ifdef VERTEX_PROGRAM_POINT_SIZE
#undef VERTEX_PROGRAM_POINT_SIZE
#endif
#ifdef VERTEX_ATTRIB_ARRAY_POINTER
#undef VERTEX_ATTRIB_ARRAY_POINTER
#endif
#ifdef STENCIL_BACK_FUNC
#undef STENCIL_BACK_FUNC
#endif
#ifdef STENCIL_BACK_FAIL
#undef STENCIL_BACK_FAIL
#endif
#ifdef STENCIL_BACK_PASS_DEPTH_FAIL
#undef STENCIL_BACK_PASS_DEPTH_FAIL
#endif
#ifdef STENCIL_BACK_PASS_DEPTH_PASS
#undef STENCIL_BACK_PASS_DEPTH_PASS
#endif
#ifdef MAX_DRAW_BUFFERS
#undef MAX_DRAW_BUFFERS
#endif
#ifdef DRAW_BUFFER0
#undef DRAW_BUFFER0
#endif
#ifdef DRAW_BUFFER1
#undef DRAW_BUFFER1
#endif
#ifdef DRAW_BUFFER2
#undef DRAW_BUFFER2
#endif
#ifdef DRAW_BUFFER3
#undef DRAW_BUFFER3
#endif
#ifdef DRAW_BUFFER4
#undef DRAW_BUFFER4
#endif
#ifdef DRAW_BUFFER5
#undef DRAW_BUFFER5
#endif
#ifdef DRAW_BUFFER6
#undef DRAW_BUFFER6
#endif
#ifdef DRAW_BUFFER7
#undef DRAW_BUFFER7
#endif
#ifdef DRAW_BUFFER8
#undef DRAW_BUFFER8
#endif
#ifdef DRAW_BUFFER9
#undef DRAW_BUFFER9
#endif
#ifdef DRAW_BUFFER10
#undef DRAW_BUFFER10
#endif
#ifdef DRAW_BUFFER11
#undef DRAW_BUFFER11
#endif
#ifdef DRAW_BUFFER12
#undef DRAW_BUFFER12
#endif
#ifdef DRAW_BUFFER13
#undef DRAW_BUFFER13
#endif
#ifdef DRAW_BUFFER14
#undef DRAW_BUFFER14
#endif
#ifdef DRAW_BUFFER15
#undef DRAW_BUFFER15
#endif
#ifdef BLEND_EQUATION_ALPHA
#undef BLEND_EQUATION_ALPHA
#endif
#ifdef MAX_VERTEX_ATTRIBS
#undef MAX_VERTEX_ATTRIBS
#endif
#ifdef VERTEX_ATTRIB_ARRAY_NORMALIZED
#undef VERTEX_ATTRIB_ARRAY_NORMALIZED
#endif
#ifdef MAX_TEXTURE_IMAGE_UNITS
#undef MAX_TEXTURE_IMAGE_UNITS
#endif
#ifdef FRAGMENT_SHADER
#undef FRAGMENT_SHADER
#endif
#ifdef VERTEX_SHADER
#undef VERTEX_SHADER
#endif
#ifdef MAX_FRAGMENT_UNIFORM_COMPONENTS
#undef MAX_FRAGMENT_UNIFORM_COMPONENTS
#endif
#ifdef MAX_VERTEX_UNIFORM_COMPONENTS
#undef MAX_VERTEX_UNIFORM_COMPONENTS
#endif
#ifdef MAX_VARYING_FLOATS
#undef MAX_VARYING_FLOATS
#endif
#ifdef MAX_VERTEX_TEXTURE_IMAGE_UNITS
#undef MAX_VERTEX_TEXTURE_IMAGE_UNITS
#endif
#ifdef MAX_COMBINED_TEXTURE_IMAGE_UNITS
#undef MAX_COMBINED_TEXTURE_IMAGE_UNITS
#endif
#ifdef SHADER_TYPE
#undef SHADER_TYPE
#endif
#ifdef FLOAT_VEC2
#undef FLOAT_VEC2
#endif
#ifdef FLOAT_VEC3
#undef FLOAT_VEC3
#endif
#ifdef FLOAT_VEC4
#undef FLOAT_VEC4
#endif
#ifdef INT_VEC2
#undef INT_VEC2
#endif
#ifdef INT_VEC3
#undef INT_VEC3
#endif
#ifdef INT_VEC4
#undef INT_VEC4
#endif
#ifdef BOOL
#undef BOOL
#endif
#ifdef BOOL_VEC2
#undef BOOL_VEC2
#endif
#ifdef BOOL_VEC3
#undef BOOL_VEC3
#endif
#ifdef BOOL_VEC4
#undef BOOL_VEC4
#endif
#ifdef FLOAT_MAT2
#undef FLOAT_MAT2
#endif
#ifdef FLOAT_MAT3
#undef FLOAT_MAT3
#endif
#ifdef FLOAT_MAT4
#undef FLOAT_MAT4
#endif
#ifdef SAMPLER_1D
#undef SAMPLER_1D
#endif
#ifdef SAMPLER_2D
#undef SAMPLER_2D
#endif
#ifdef SAMPLER_3D
#undef SAMPLER_3D
#endif
#ifdef SAMPLER_CUBE
#undef SAMPLER_CUBE
#endif
#ifdef SAMPLER_1D_SHADOW
#undef SAMPLER_1D_SHADOW
#endif
#ifdef SAMPLER_2D_SHADOW
#undef SAMPLER_2D_SHADOW
#endif
#ifdef DELETE_STATUS
#undef DELETE_STATUS
#endif
#ifdef COMPILE_STATUS
#undef COMPILE_STATUS
#endif
#ifdef LINK_STATUS
#undef LINK_STATUS
#endif
#ifdef VALIDATE_STATUS
#undef VALIDATE_STATUS
#endif
#ifdef INFO_LOG_LENGTH
#undef INFO_LOG_LENGTH
#endif
#ifdef ATTACHED_SHADERS
#undef ATTACHED_SHADERS
#endif
#ifdef ACTIVE_UNIFORMS
#undef ACTIVE_UNIFORMS
#endif
#ifdef ACTIVE_UNIFORM_MAX_LENGTH
#undef ACTIVE_UNIFORM_MAX_LENGTH
#endif
#ifdef SHADER_SOURCE_LENGTH
#undef SHADER_SOURCE_LENGTH
#endif
#ifdef ACTIVE_ATTRIBUTES
#undef ACTIVE_ATTRIBUTES
#endif
#ifdef ACTIVE_ATTRIBUTE_MAX_LENGTH
#undef ACTIVE_ATTRIBUTE_MAX_LENGTH
#endif
#ifdef FRAGMENT_SHADER_DERIVATIVE_HINT
#undef FRAGMENT_SHADER_DERIVATIVE_HINT
#endif
#ifdef SHADING_LANGUAGE_VERSION
#undef SHADING_LANGUAGE_VERSION
#endif
#ifdef CURRENT_PROGRAM
#undef CURRENT_PROGRAM
#endif
#ifdef POINT_SPRITE_COORD_ORIGIN
#undef POINT_SPRITE_COORD_ORIGIN
#endif
#ifdef LOWER_LEFT
#undef LOWER_LEFT
#endif
#ifdef UPPER_LEFT
#undef UPPER_LEFT
#endif
#ifdef STENCIL_BACK_REF
#undef STENCIL_BACK_REF
#endif
#ifdef STENCIL_BACK_VALUE_MASK
#undef STENCIL_BACK_VALUE_MASK
#endif
#ifdef STENCIL_BACK_WRITEMASK
#undef STENCIL_BACK_WRITEMASK
#endif
#ifdef VERTEX_PROGRAM_TWO_SIDE
#undef VERTEX_PROGRAM_TWO_SIDE
#endif
#ifdef POINT_SPRITE
#undef POINT_SPRITE
#endif
#ifdef COORD_REPLACE
#undef COORD_REPLACE
#endif
#ifdef MAX_TEXTURE_COORDS
#undef MAX_TEXTURE_COORDS
#endif
#ifdef PIXEL_PACK_BUFFER
#undef PIXEL_PACK_BUFFER
#endif
#ifdef PIXEL_UNPACK_BUFFER
#undef PIXEL_UNPACK_BUFFER
#endif
#ifdef PIXEL_PACK_BUFFER_BINDING
#undef PIXEL_PACK_BUFFER_BINDING
#endif
#ifdef PIXEL_UNPACK_BUFFER_BINDING
#undef PIXEL_UNPACK_BUFFER_BINDING
#endif
#ifdef FLOAT_MAT2x3
#undef FLOAT_MAT2x3
#endif
#ifdef FLOAT_MAT2x4
#undef FLOAT_MAT2x4
#endif
#ifdef FLOAT_MAT3x2
#undef FLOAT_MAT3x2
#endif
#ifdef FLOAT_MAT3x4
#undef FLOAT_MAT3x4
#endif
#ifdef FLOAT_MAT4x2
#undef FLOAT_MAT4x2
#endif
#ifdef FLOAT_MAT4x3
#undef FLOAT_MAT4x3
#endif
#ifdef SRGB
#undef SRGB
#endif
#ifdef SRGB8
#undef SRGB8
#endif
#ifdef SRGB_ALPHA
#undef SRGB_ALPHA
#endif
#ifdef SRGB8_ALPHA8
#undef SRGB8_ALPHA8
#endif
#ifdef COMPRESSED_SRGB
#undef COMPRESSED_SRGB
#endif
#ifdef COMPRESSED_SRGB_ALPHA
#undef COMPRESSED_SRGB_ALPHA
#endif
#ifdef CURRENT_RASTER_SECONDARY_COLOR
#undef CURRENT_RASTER_SECONDARY_COLOR
#endif
#ifdef SLUMINANCE_ALPHA
#undef SLUMINANCE_ALPHA
#endif
#ifdef SLUMINANCE8_ALPHA8
#undef SLUMINANCE8_ALPHA8
#endif
#ifdef SLUMINANCE
#undef SLUMINANCE
#endif
#ifdef SLUMINANCE8
#undef SLUMINANCE8
#endif
#ifdef COMPRESSED_SLUMINANCE
#undef COMPRESSED_SLUMINANCE
#endif
#ifdef COMPRESSED_SLUMINANCE_ALPHA
#undef COMPRESSED_SLUMINANCE_ALPHA
#endif
#ifdef COMPARE_REF_TO_TEXTURE
#undef COMPARE_REF_TO_TEXTURE
#endif
#ifdef CLIP_DISTANCE0
#undef CLIP_DISTANCE0
#endif
#ifdef CLIP_DISTANCE1
#undef CLIP_DISTANCE1
#endif
#ifdef CLIP_DISTANCE2
#undef CLIP_DISTANCE2
#endif
#ifdef CLIP_DISTANCE3
#undef CLIP_DISTANCE3
#endif
#ifdef CLIP_DISTANCE4
#undef CLIP_DISTANCE4
#endif
#ifdef CLIP_DISTANCE5
#undef CLIP_DISTANCE5
#endif
#ifdef CLIP_DISTANCE6
#undef CLIP_DISTANCE6
#endif
#ifdef CLIP_DISTANCE7
#undef CLIP_DISTANCE7
#endif
#ifdef MAX_CLIP_DISTANCES
#undef MAX_CLIP_DISTANCES
#endif
#ifdef MAJOR_VERSION
#undef MAJOR_VERSION
#endif
#ifdef MINOR_VERSION
#undef MINOR_VERSION
#endif
#ifdef NUM_EXTENSIONS
#undef NUM_EXTENSIONS
#endif
#ifdef CONTEXT_FLAGS
#undef CONTEXT_FLAGS
#endif
#ifdef DEPTH_BUFFER
#undef DEPTH_BUFFER
#endif
#ifdef STENCIL_BUFFER
#undef STENCIL_BUFFER
#endif
#ifdef COMPRESSED_RED
#undef COMPRESSED_RED
#endif
#ifdef COMPRESSED_RG
#undef COMPRESSED_RG
#endif
#ifdef CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT
#undef CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT
#endif
#ifdef RGBA32F
#undef RGBA32F
#endif
#ifdef RGB32F
#undef RGB32F
#endif
#ifdef RGBA16F
#undef RGBA16F
#endif
#ifdef RGB16F
#undef RGB16F
#endif
#ifdef VERTEX_ATTRIB_ARRAY_INTEGER
#undef VERTEX_ATTRIB_ARRAY_INTEGER
#endif
#ifdef MAX_ARRAY_TEXTURE_LAYERS
#undef MAX_ARRAY_TEXTURE_LAYERS
#endif
#ifdef MIN_PROGRAM_TEXEL_OFFSET
#undef MIN_PROGRAM_TEXEL_OFFSET
#endif
#ifdef MAX_PROGRAM_TEXEL_OFFSET
#undef MAX_PROGRAM_TEXEL_OFFSET
#endif
#ifdef CLAMP_READ_COLOR
#undef CLAMP_READ_COLOR
#endif
#ifdef FIXED_ONLY
#undef FIXED_ONLY
#endif
#ifdef MAX_VARYING_COMPONENTS
#undef MAX_VARYING_COMPONENTS
#endif
#ifdef TEXTURE_1D_ARRAY
#undef TEXTURE_1D_ARRAY
#endif
#ifdef PROXY_TEXTURE_1D_ARRAY
#undef PROXY_TEXTURE_1D_ARRAY
#endif
#ifdef TEXTURE_2D_ARRAY
#undef TEXTURE_2D_ARRAY
#endif
#ifdef PROXY_TEXTURE_2D_ARRAY
#undef PROXY_TEXTURE_2D_ARRAY
#endif
#ifdef TEXTURE_BINDING_1D_ARRAY
#undef TEXTURE_BINDING_1D_ARRAY
#endif
#ifdef TEXTURE_BINDING_2D_ARRAY
#undef TEXTURE_BINDING_2D_ARRAY
#endif
#ifdef R11F_G11F_B10F
#undef R11F_G11F_B10F
#endif
#ifdef UNSIGNED_INT_10F_11F_11F_REV
#undef UNSIGNED_INT_10F_11F_11F_REV
#endif
#ifdef RGB9_E5
#undef RGB9_E5
#endif
#ifdef UNSIGNED_INT_5_9_9_9_REV
#undef UNSIGNED_INT_5_9_9_9_REV
#endif
#ifdef TEXTURE_SHARED_SIZE
#undef TEXTURE_SHARED_SIZE
#endif
#ifdef TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
#undef TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_MODE
#undef TRANSFORM_FEEDBACK_BUFFER_MODE
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
#undef MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
#endif
#ifdef TRANSFORM_FEEDBACK_VARYINGS
#undef TRANSFORM_FEEDBACK_VARYINGS
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_START
#undef TRANSFORM_FEEDBACK_BUFFER_START
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_SIZE
#undef TRANSFORM_FEEDBACK_BUFFER_SIZE
#endif
#ifdef PRIMITIVES_GENERATED
#undef PRIMITIVES_GENERATED
#endif
#ifdef TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
#undef TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
#endif
#ifdef RASTERIZER_DISCARD
#undef RASTERIZER_DISCARD
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
#undef MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
#endif
#ifdef MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
#undef MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
#endif
#ifdef INTERLEAVED_ATTRIBS
#undef INTERLEAVED_ATTRIBS
#endif
#ifdef SEPARATE_ATTRIBS
#undef SEPARATE_ATTRIBS
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER
#undef TRANSFORM_FEEDBACK_BUFFER
#endif
#ifdef TRANSFORM_FEEDBACK_BUFFER_BINDING
#undef TRANSFORM_FEEDBACK_BUFFER_BINDING
#endif
#ifdef RGBA32UI
#undef RGBA32UI
#endif
#ifdef RGB32UI
#undef RGB32UI
#endif
#ifdef RGBA16UI
#undef RGBA16UI
#endif
#ifdef RGB16UI
#undef RGB16UI
#endif
#ifdef RGBA8UI
#undef RGBA8UI
#endif
#ifdef RGB8UI
#undef RGB8UI
#endif
#ifdef RGBA32I
#undef RGBA32I
#endif
#ifdef RGB32I
#undef RGB32I
#endif
#ifdef RGBA16I
#undef RGBA16I
#endif
#ifdef RGB16I
#undef RGB16I
#endif
#ifdef RGBA8I
#undef RGBA8I
#endif
#ifdef RGB8I
#undef RGB8I
#endif
#ifdef RED_INTEGER
#undef RED_INTEGER
#endif
#ifdef GREEN_INTEGER
#undef GREEN_INTEGER
#endif
#ifdef BLUE_INTEGER
#undef BLUE_INTEGER
#endif
#ifdef RGB_INTEGER
#undef RGB_INTEGER
#endif
#ifdef RGBA_INTEGER
#undef RGBA_INTEGER
#endif
#ifdef BGR_INTEGER
#undef BGR_INTEGER
#endif
#ifdef BGRA_INTEGER
#undef BGRA_INTEGER
#endif
#ifdef SAMPLER_1D_ARRAY
#undef SAMPLER_1D_ARRAY
#endif
#ifdef SAMPLER_2D_ARRAY
#undef SAMPLER_2D_ARRAY
#endif
#ifdef SAMPLER_1D_ARRAY_SHADOW
#undef SAMPLER_1D_ARRAY_SHADOW
#endif
#ifdef SAMPLER_2D_ARRAY_SHADOW
#undef SAMPLER_2D_ARRAY_SHADOW
#endif
#ifdef SAMPLER_CUBE_SHADOW
#undef SAMPLER_CUBE_SHADOW
#endif
#ifdef UNSIGNED_INT_VEC2
#undef UNSIGNED_INT_VEC2
#endif
#ifdef UNSIGNED_INT_VEC3
#undef UNSIGNED_INT_VEC3
#endif
#ifdef UNSIGNED_INT_VEC4
#undef UNSIGNED_INT_VEC4
#endif
#ifdef INT_SAMPLER_1D
#undef INT_SAMPLER_1D
#endif
#ifdef INT_SAMPLER_2D
#undef INT_SAMPLER_2D
#endif
#ifdef INT_SAMPLER_3D
#undef INT_SAMPLER_3D
#endif
#ifdef INT_SAMPLER_CUBE
#undef INT_SAMPLER_CUBE
#endif
#ifdef INT_SAMPLER_1D_ARRAY
#undef INT_SAMPLER_1D_ARRAY
#endif
#ifdef INT_SAMPLER_2D_ARRAY
#undef INT_SAMPLER_2D_ARRAY
#endif
#ifdef UNSIGNED_INT_SAMPLER_1D
#undef UNSIGNED_INT_SAMPLER_1D
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D
#undef UNSIGNED_INT_SAMPLER_2D
#endif
#ifdef UNSIGNED_INT_SAMPLER_3D
#undef UNSIGNED_INT_SAMPLER_3D
#endif
#ifdef UNSIGNED_INT_SAMPLER_CUBE
#undef UNSIGNED_INT_SAMPLER_CUBE
#endif
#ifdef UNSIGNED_INT_SAMPLER_1D_ARRAY
#undef UNSIGNED_INT_SAMPLER_1D_ARRAY
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D_ARRAY
#undef UNSIGNED_INT_SAMPLER_2D_ARRAY
#endif
#ifdef QUERY_WAIT
#undef QUERY_WAIT
#endif
#ifdef QUERY_NO_WAIT
#undef QUERY_NO_WAIT
#endif
#ifdef QUERY_BY_REGION_WAIT
#undef QUERY_BY_REGION_WAIT
#endif
#ifdef QUERY_BY_REGION_NO_WAIT
#undef QUERY_BY_REGION_NO_WAIT
#endif
#ifdef BUFFER_ACCESS_FLAGS
#undef BUFFER_ACCESS_FLAGS
#endif
#ifdef BUFFER_MAP_LENGTH
#undef BUFFER_MAP_LENGTH
#endif
#ifdef BUFFER_MAP_OFFSET
#undef BUFFER_MAP_OFFSET
#endif
#ifdef CLAMP_VERTEX_COLOR
#undef CLAMP_VERTEX_COLOR
#endif
#ifdef CLAMP_FRAGMENT_COLOR
#undef CLAMP_FRAGMENT_COLOR
#endif
#ifdef ALPHA_INTEGER
#undef ALPHA_INTEGER
#endif
#ifdef SAMPLER_2D_RECT
#undef SAMPLER_2D_RECT
#endif
#ifdef SAMPLER_2D_RECT_SHADOW
#undef SAMPLER_2D_RECT_SHADOW
#endif
#ifdef SAMPLER_BUFFER
#undef SAMPLER_BUFFER
#endif
#ifdef INT_SAMPLER_2D_RECT
#undef INT_SAMPLER_2D_RECT
#endif
#ifdef INT_SAMPLER_BUFFER
#undef INT_SAMPLER_BUFFER
#endif
#ifdef UNSIGNED_INT_SAMPLER_2D_RECT
#undef UNSIGNED_INT_SAMPLER_2D_RECT
#endif
#ifdef UNSIGNED_INT_SAMPLER_BUFFER
#undef UNSIGNED_INT_SAMPLER_BUFFER
#endif
#ifdef TEXTURE_BUFFER
#undef TEXTURE_BUFFER
#endif
#ifdef MAX_TEXTURE_BUFFER_SIZE
#undef MAX_TEXTURE_BUFFER_SIZE
#endif
#ifdef TEXTURE_BINDING_BUFFER
#undef TEXTURE_BINDING_BUFFER
#endif
#ifdef TEXTURE_BUFFER_DATA_STORE_BINDING
#undef TEXTURE_BUFFER_DATA_STORE_BINDING
#endif
#ifdef TEXTURE_BUFFER_FORMAT
#undef TEXTURE_BUFFER_FORMAT
#endif
#ifdef TEXTURE_RECTANGLE
#undef TEXTURE_RECTANGLE
#endif
#ifdef TEXTURE_BINDING_RECTANGLE
#undef TEXTURE_BINDING_RECTANGLE
#endif
#ifdef PROXY_TEXTURE_RECTANGLE
#undef PROXY_TEXTURE_RECTANGLE
#endif
#ifdef MAX_RECTANGLE_TEXTURE_SIZE
#undef MAX_RECTANGLE_TEXTURE_SIZE
#endif
#ifdef RED_SNORM
#undef RED_SNORM
#endif
#ifdef RG_SNORM
#undef RG_SNORM
#endif
#ifdef RGB_SNORM
#undef RGB_SNORM
#endif
#ifdef RGBA_SNORM
#undef RGBA_SNORM
#endif
#ifdef R8_SNORM
#undef R8_SNORM
#endif
#ifdef RG8_SNORM
#undef RG8_SNORM
#endif
#ifdef RGB8_SNORM
#undef RGB8_SNORM
#endif
#ifdef RGBA8_SNORM
#undef RGBA8_SNORM
#endif
#ifdef R16_SNORM
#undef R16_SNORM
#endif
#ifdef RG16_SNORM
#undef RG16_SNORM
#endif
#ifdef RGB16_SNORM
#undef RGB16_SNORM
#endif
#ifdef RGBA16_SNORM
#undef RGBA16_SNORM
#endif
#ifdef SIGNED_NORMALIZED
#undef SIGNED_NORMALIZED
#endif
#ifdef PRIMITIVE_RESTART
#undef PRIMITIVE_RESTART
#endif
#ifdef PRIMITIVE_RESTART_INDEX
#undef PRIMITIVE_RESTART_INDEX
#endif
#ifdef CONTEXT_CORE_PROFILE_BIT
#undef CONTEXT_CORE_PROFILE_BIT
#endif
#ifdef CONTEXT_COMPATIBILITY_PROFILE_BIT
#undef CONTEXT_COMPATIBILITY_PROFILE_BIT
#endif
#ifdef LINES_ADJACENCY
#undef LINES_ADJACENCY
#endif
#ifdef LINE_STRIP_ADJACENCY
#undef LINE_STRIP_ADJACENCY
#endif
#ifdef TRIANGLES_ADJACENCY
#undef TRIANGLES_ADJACENCY
#endif
#ifdef TRIANGLE_STRIP_ADJACENCY
#undef TRIANGLE_STRIP_ADJACENCY
#endif
#ifdef PROGRAM_POINT_SIZE
#undef PROGRAM_POINT_SIZE
#endif
#ifdef MAX_GEOMETRY_TEXTURE_IMAGE_UNITS
#undef MAX_GEOMETRY_TEXTURE_IMAGE_UNITS
#endif
#ifdef FRAMEBUFFER_ATTACHMENT_LAYERED
#undef FRAMEBUFFER_ATTACHMENT_LAYERED
#endif
#ifdef FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS
#undef FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS
#endif
#ifdef GEOMETRY_SHADER
#undef GEOMETRY_SHADER
#endif
#ifdef GEOMETRY_VERTICES_OUT
#undef GEOMETRY_VERTICES_OUT
#endif
#ifdef GEOMETRY_INPUT_TYPE
#undef GEOMETRY_INPUT_TYPE
#endif
#ifdef GEOMETRY_OUTPUT_TYPE
#undef GEOMETRY_OUTPUT_TYPE
#endif
#ifdef MAX_GEOMETRY_UNIFORM_COMPONENTS
#undef MAX_GEOMETRY_UNIFORM_COMPONENTS
#endif
#ifdef MAX_GEOMETRY_OUTPUT_VERTICES
#undef MAX_GEOMETRY_OUTPUT_VERTICES
#endif
#ifdef MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS
#undef MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS
#endif
#ifdef MAX_VERTEX_OUTPUT_COMPONENTS
#undef MAX_VERTEX_OUTPUT_COMPONENTS
#endif
#ifdef MAX_GEOMETRY_INPUT_COMPONENTS
#undef MAX_GEOMETRY_INPUT_COMPONENTS
#endif
#ifdef MAX_GEOMETRY_OUTPUT_COMPONENTS
#undef MAX_GEOMETRY_OUTPUT_COMPONENTS
#endif
#ifdef MAX_FRAGMENT_INPUT_COMPONENTS
#undef MAX_FRAGMENT_INPUT_COMPONENTS
#endif
#ifdef CONTEXT_PROFILE_MASK
#undef CONTEXT_PROFILE_MASK
#endif
#ifdef PHONG_WIN
#undef PHONG_WIN
#endif
#ifdef PHONG_HINT_WIN
#undef PHONG_HINT_WIN
#endif
#ifdef FOG_SPECULAR_TEXTURE_WIN
#undef FOG_SPECULAR_TEXTURE_WIN
#endif
#ifdef SAMPLE_BUFFERS_3DFX
#undef SAMPLE_BUFFERS_3DFX
#endif
#ifdef SAMPLES_3DFX
#undef SAMPLES_3DFX
#endif
#ifdef STEREO_EMITTER_ENABLE_3DL
#undef STEREO_EMITTER_ENABLE_3DL
#endif
#ifdef STEREO_EMITTER_DISABLE_3DL
#undef STEREO_EMITTER_DISABLE_3DL
#endif
#ifdef STEREO_POLARITY_NORMAL_3DL
#undef STEREO_POLARITY_NORMAL_3DL
#endif
#ifdef STEREO_POLARITY_INVERT_3DL
#undef STEREO_POLARITY_INVERT_3DL
#endif
#ifdef FRONT_COLOR_BUFFER_BIT_ARB
#undef FRONT_COLOR_BUFFER_BIT_ARB
#endif
#ifdef BACK_COLOR_BUFFER_BIT_ARB
#undef BACK_COLOR_BUFFER_BIT_ARB
#endif
#ifdef DEPTH_BUFFER_BIT_ARB
#undef DEPTH_BUFFER_BIT_ARB
#endif
#ifdef STENCIL_BUFFER_BIT_ARB
#undef STENCIL_BUFFER_BIT_ARB
#endif
#ifdef CONTEXT_DEBUG_BIT_ARB
#undef CONTEXT_DEBUG_BIT_ARB
#endif
#ifdef CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
#undef CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
#endif
#ifdef CONTEXT_MAJOR_VERSION_ARB
#undef CONTEXT_MAJOR_VERSION_ARB
#endif
#ifdef CONTEXT_MINOR_VERSION_ARB
#undef CONTEXT_MINOR_VERSION_ARB
#endif
#ifdef CONTEXT_LAYER_PLANE_ARB
#undef CONTEXT_LAYER_PLANE_ARB
#endif
#ifdef CONTEXT_FLAGS_ARB
#undef CONTEXT_FLAGS_ARB
#endif
#ifdef SAMPLE_BUFFERS_ARB
#undef SAMPLE_BUFFERS_ARB
#endif
#ifdef SAMPLES_ARB
#undef SAMPLES_ARB
#endif
#ifdef DRAW_TO_PBUFFER_ARB
#undef DRAW_TO_PBUFFER_ARB
#endif
#ifdef MAX_PBUFFER_PIXELS_ARB
#undef MAX_PBUFFER_PIXELS_ARB
#endif
#ifdef MAX_PBUFFER_WIDTH_ARB
#undef MAX_PBUFFER_WIDTH_ARB
#endif
#ifdef MAX_PBUFFER_HEIGHT_ARB
#undef MAX_PBUFFER_HEIGHT_ARB
#endif
#ifdef PBUFFER_LARGEST_ARB
#undef PBUFFER_LARGEST_ARB
#endif
#ifdef PBUFFER_WIDTH_ARB
#undef PBUFFER_WIDTH_ARB
#endif
#ifdef PBUFFER_HEIGHT_ARB
#undef PBUFFER_HEIGHT_ARB
#endif
#ifdef PBUFFER_LOST_ARB
#undef PBUFFER_LOST_ARB
#endif
#ifdef NUMBER_PIXEL_FORMATS_ARB
#undef NUMBER_PIXEL_FORMATS_ARB
#endif
#ifdef DRAW_TO_WINDOW_ARB
#undef DRAW_TO_WINDOW_ARB
#endif
#ifdef DRAW_TO_BITMAP_ARB
#undef DRAW_TO_BITMAP_ARB
#endif
#ifdef ACCELERATION_ARB
#undef ACCELERATION_ARB
#endif
#ifdef NEED_PALETTE_ARB
#undef NEED_PALETTE_ARB
#endif
#ifdef NEED_SYSTEM_PALETTE_ARB
#undef NEED_SYSTEM_PALETTE_ARB
#endif
#ifdef SWAP_LAYER_BUFFERS_ARB
#undef SWAP_LAYER_BUFFERS_ARB
#endif
#ifdef SWAP_METHOD_ARB
#undef SWAP_METHOD_ARB
#endif
#ifdef NUMBER_OVERLAYS_ARB
#undef NUMBER_OVERLAYS_ARB
#endif
#ifdef NUMBER_UNDERLAYS_ARB
#undef NUMBER_UNDERLAYS_ARB
#endif
#ifdef TRANSPARENT_ARB
#undef TRANSPARENT_ARB
#endif
#ifdef TRANSPARENT_RED_VALUE_ARB
#undef TRANSPARENT_RED_VALUE_ARB
#endif
#ifdef TRANSPARENT_GREEN_VALUE_ARB
#undef TRANSPARENT_GREEN_VALUE_ARB
#endif
#ifdef TRANSPARENT_BLUE_VALUE_ARB
#undef TRANSPARENT_BLUE_VALUE_ARB
#endif
#ifdef TRANSPARENT_ALPHA_VALUE_ARB
#undef TRANSPARENT_ALPHA_VALUE_ARB
#endif
#ifdef TRANSPARENT_INDEX_VALUE_ARB
#undef TRANSPARENT_INDEX_VALUE_ARB
#endif
#ifdef SHARE_DEPTH_ARB
#undef SHARE_DEPTH_ARB
#endif
#ifdef SHARE_STENCIL_ARB
#undef SHARE_STENCIL_ARB
#endif
#ifdef SHARE_ACCUM_ARB
#undef SHARE_ACCUM_ARB
#endif
#ifdef SUPPORT_GDI_ARB
#undef SUPPORT_GDI_ARB
#endif
#ifdef SUPPORT_OPENGL_ARB
#undef SUPPORT_OPENGL_ARB
#endif
#ifdef DOUBLE_BUFFER_ARB
#undef DOUBLE_BUFFER_ARB
#endif
#ifdef STEREO_ARB
#undef STEREO_ARB
#endif
#ifdef PIXEL_TYPE_ARB
#undef PIXEL_TYPE_ARB
#endif
#ifdef COLOR_BITS_ARB
#undef COLOR_BITS_ARB
#endif
#ifdef RED_BITS_ARB
#undef RED_BITS_ARB
#endif
#ifdef RED_SHIFT_ARB
#undef RED_SHIFT_ARB
#endif
#ifdef GREEN_BITS_ARB
#undef GREEN_BITS_ARB
#endif
#ifdef GREEN_SHIFT_ARB
#undef GREEN_SHIFT_ARB
#endif
#ifdef BLUE_BITS_ARB
#undef BLUE_BITS_ARB
#endif
#ifdef BLUE_SHIFT_ARB
#undef BLUE_SHIFT_ARB
#endif
#ifdef ALPHA_BITS_ARB
#undef ALPHA_BITS_ARB
#endif
#ifdef ALPHA_SHIFT_ARB
#undef ALPHA_SHIFT_ARB
#endif
#ifdef ACCUM_BITS_ARB
#undef ACCUM_BITS_ARB
#endif
#ifdef ACCUM_RED_BITS_ARB
#undef ACCUM_RED_BITS_ARB
#endif
#ifdef ACCUM_GREEN_BITS_ARB
#undef ACCUM_GREEN_BITS_ARB
#endif
#ifdef ACCUM_BLUE_BITS_ARB
#undef ACCUM_BLUE_BITS_ARB
#endif
#ifdef ACCUM_ALPHA_BITS_ARB
#undef ACCUM_ALPHA_BITS_ARB
#endif
#ifdef DEPTH_BITS_ARB
#undef DEPTH_BITS_ARB
#endif
#ifdef STENCIL_BITS_ARB
#undef STENCIL_BITS_ARB
#endif
#ifdef AUX_BUFFERS_ARB
#undef AUX_BUFFERS_ARB
#endif
#ifdef NO_ACCELERATION_ARB
#undef NO_ACCELERATION_ARB
#endif
#ifdef GENERIC_ACCELERATION_ARB
#undef GENERIC_ACCELERATION_ARB
#endif
#ifdef FULL_ACCELERATION_ARB
#undef FULL_ACCELERATION_ARB
#endif
#ifdef SWAP_EXCHANGE_ARB
#undef SWAP_EXCHANGE_ARB
#endif
#ifdef SWAP_COPY_ARB
#undef SWAP_COPY_ARB
#endif
#ifdef SWAP_UNDEFINED_ARB
#undef SWAP_UNDEFINED_ARB
#endif
#ifdef TYPE_RGBA_ARB
#undef TYPE_RGBA_ARB
#endif
#ifdef TYPE_COLORINDEX_ARB
#undef TYPE_COLORINDEX_ARB
#endif
#ifdef TYPE_RGBA_FLOAT_ARB
#undef TYPE_RGBA_FLOAT_ARB
#endif
#ifdef BIND_TO_TEXTURE_RGB_ARB
#undef BIND_TO_TEXTURE_RGB_ARB
#endif
#ifdef BIND_TO_TEXTURE_RGBA_ARB
#undef BIND_TO_TEXTURE_RGBA_ARB
#endif
#ifdef TEXTURE_FORMAT_ARB
#undef TEXTURE_FORMAT_ARB
#endif
#ifdef TEXTURE_TARGET_ARB
#undef TEXTURE_TARGET_ARB
#endif
#ifdef MIPMAP_TEXTURE_ARB
#undef MIPMAP_TEXTURE_ARB
#endif
#ifdef TEXTURE_RGB_ARB
#undef TEXTURE_RGB_ARB
#endif
#ifdef TEXTURE_RGBA_ARB
#undef TEXTURE_RGBA_ARB
#endif
#ifdef NO_TEXTURE_ARB
#undef NO_TEXTURE_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_ARB
#undef TEXTURE_CUBE_MAP_ARB
#endif
#ifdef TEXTURE_1D_ARB
#undef TEXTURE_1D_ARB
#endif
#ifdef TEXTURE_2D_ARB
#undef TEXTURE_2D_ARB
#endif
#ifdef MIPMAP_LEVEL_ARB
#undef MIPMAP_LEVEL_ARB
#endif
#ifdef CUBE_MAP_FACE_ARB
#undef CUBE_MAP_FACE_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_X_ARB
#undef TEXTURE_CUBE_MAP_POSITIVE_X_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
#undef TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
#undef TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
#undef TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
#undef TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
#endif
#ifdef TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
#undef TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
#endif
#ifdef FRONT_LEFT_ARB
#undef FRONT_LEFT_ARB
#endif
#ifdef FRONT_RIGHT_ARB
#undef FRONT_RIGHT_ARB
#endif
#ifdef BACK_LEFT_ARB
#undef BACK_LEFT_ARB
#endif
#ifdef BACK_RIGHT_ARB
#undef BACK_RIGHT_ARB
#endif
#ifdef AUX0_ARB
#undef AUX0_ARB
#endif
#ifdef AUX1_ARB
#undef AUX1_ARB
#endif
#ifdef AUX2_ARB
#undef AUX2_ARB
#endif
#ifdef AUX3_ARB
#undef AUX3_ARB
#endif
#ifdef AUX4_ARB
#undef AUX4_ARB
#endif
#ifdef AUX5_ARB
#undef AUX5_ARB
#endif
#ifdef AUX6_ARB
#undef AUX6_ARB
#endif
#ifdef AUX7_ARB
#undef AUX7_ARB
#endif
#ifdef AUX8_ARB
#undef AUX8_ARB
#endif
#ifdef AUX9_ARB
#undef AUX9_ARB
#endif
#ifdef TYPE_RGBA_FLOAT_ATI
#undef TYPE_RGBA_FLOAT_ATI
#endif
#ifdef DEPTH_FLOAT_EXT
#undef DEPTH_FLOAT_EXT
#endif
#ifdef FRAMEBUFFER_SRGB_CAPABLE_EXT
#undef FRAMEBUFFER_SRGB_CAPABLE_EXT
#endif
#ifdef SAMPLE_BUFFERS_EXT
#undef SAMPLE_BUFFERS_EXT
#endif
#ifdef SAMPLES_EXT
#undef SAMPLES_EXT
#endif
#ifdef DRAW_TO_PBUFFER_EXT
#undef DRAW_TO_PBUFFER_EXT
#endif
#ifdef MAX_PBUFFER_PIXELS_EXT
#undef MAX_PBUFFER_PIXELS_EXT
#endif
#ifdef MAX_PBUFFER_WIDTH_EXT
#undef MAX_PBUFFER_WIDTH_EXT
#endif
#ifdef MAX_PBUFFER_HEIGHT_EXT
#undef MAX_PBUFFER_HEIGHT_EXT
#endif
#ifdef OPTIMAL_PBUFFER_WIDTH_EXT
#undef OPTIMAL_PBUFFER_WIDTH_EXT
#endif
#ifdef OPTIMAL_PBUFFER_HEIGHT_EXT
#undef OPTIMAL_PBUFFER_HEIGHT_EXT
#endif
#ifdef PBUFFER_LARGEST_EXT
#undef PBUFFER_LARGEST_EXT
#endif
#ifdef PBUFFER_WIDTH_EXT
#undef PBUFFER_WIDTH_EXT
#endif
#ifdef PBUFFER_HEIGHT_EXT
#undef PBUFFER_HEIGHT_EXT
#endif
#ifdef NUMBER_PIXEL_FORMATS_EXT
#undef NUMBER_PIXEL_FORMATS_EXT
#endif
#ifdef DRAW_TO_WINDOW_EXT
#undef DRAW_TO_WINDOW_EXT
#endif
#ifdef DRAW_TO_BITMAP_EXT
#undef DRAW_TO_BITMAP_EXT
#endif
#ifdef ACCELERATION_EXT
#undef ACCELERATION_EXT
#endif
#ifdef NEED_PALETTE_EXT
#undef NEED_PALETTE_EXT
#endif
#ifdef NEED_SYSTEM_PALETTE_EXT
#undef NEED_SYSTEM_PALETTE_EXT
#endif
#ifdef SWAP_LAYER_BUFFERS_EXT
#undef SWAP_LAYER_BUFFERS_EXT
#endif
#ifdef SWAP_METHOD_EXT
#undef SWAP_METHOD_EXT
#endif
#ifdef NUMBER_OVERLAYS_EXT
#undef NUMBER_OVERLAYS_EXT
#endif
#ifdef NUMBER_UNDERLAYS_EXT
#undef NUMBER_UNDERLAYS_EXT
#endif
#ifdef TRANSPARENT_EXT
#undef TRANSPARENT_EXT
#endif
#ifdef TRANSPARENT_VALUE_EXT
#undef TRANSPARENT_VALUE_EXT
#endif
#ifdef SHARE_DEPTH_EXT
#undef SHARE_DEPTH_EXT
#endif
#ifdef SHARE_STENCIL_EXT
#undef SHARE_STENCIL_EXT
#endif
#ifdef SHARE_ACCUM_EXT
#undef SHARE_ACCUM_EXT
#endif
#ifdef SUPPORT_GDI_EXT
#undef SUPPORT_GDI_EXT
#endif
#ifdef SUPPORT_OPENGL_EXT
#undef SUPPORT_OPENGL_EXT
#endif
#ifdef DOUBLE_BUFFER_EXT
#undef DOUBLE_BUFFER_EXT
#endif
#ifdef STEREO_EXT
#undef STEREO_EXT
#endif
#ifdef PIXEL_TYPE_EXT
#undef PIXEL_TYPE_EXT
#endif
#ifdef COLOR_BITS_EXT
#undef COLOR_BITS_EXT
#endif
#ifdef RED_BITS_EXT
#undef RED_BITS_EXT
#endif
#ifdef RED_SHIFT_EXT
#undef RED_SHIFT_EXT
#endif
#ifdef GREEN_BITS_EXT
#undef GREEN_BITS_EXT
#endif
#ifdef GREEN_SHIFT_EXT
#undef GREEN_SHIFT_EXT
#endif
#ifdef BLUE_BITS_EXT
#undef BLUE_BITS_EXT
#endif
#ifdef BLUE_SHIFT_EXT
#undef BLUE_SHIFT_EXT
#endif
#ifdef ALPHA_BITS_EXT
#undef ALPHA_BITS_EXT
#endif
#ifdef ALPHA_SHIFT_EXT
#undef ALPHA_SHIFT_EXT
#endif
#ifdef ACCUM_BITS_EXT
#undef ACCUM_BITS_EXT
#endif
#ifdef ACCUM_RED_BITS_EXT
#undef ACCUM_RED_BITS_EXT
#endif
#ifdef ACCUM_GREEN_BITS_EXT
#undef ACCUM_GREEN_BITS_EXT
#endif
#ifdef ACCUM_BLUE_BITS_EXT
#undef ACCUM_BLUE_BITS_EXT
#endif
#ifdef ACCUM_ALPHA_BITS_EXT
#undef ACCUM_ALPHA_BITS_EXT
#endif
#ifdef DEPTH_BITS_EXT
#undef DEPTH_BITS_EXT
#endif
#ifdef STENCIL_BITS_EXT
#undef STENCIL_BITS_EXT
#endif
#ifdef AUX_BUFFERS_EXT
#undef AUX_BUFFERS_EXT
#endif
#ifdef NO_ACCELERATION_EXT
#undef NO_ACCELERATION_EXT
#endif
#ifdef GENERIC_ACCELERATION_EXT
#undef GENERIC_ACCELERATION_EXT
#endif
#ifdef FULL_ACCELERATION_EXT
#undef FULL_ACCELERATION_EXT
#endif
#ifdef SWAP_EXCHANGE_EXT
#undef SWAP_EXCHANGE_EXT
#endif
#ifdef SWAP_COPY_EXT
#undef SWAP_COPY_EXT
#endif
#ifdef SWAP_UNDEFINED_EXT
#undef SWAP_UNDEFINED_EXT
#endif
#ifdef TYPE_RGBA_EXT
#undef TYPE_RGBA_EXT
#endif
#ifdef TYPE_COLORINDEX_EXT
#undef TYPE_COLORINDEX_EXT
#endif
#ifdef TYPE_RGBA_UNSIGNED_FLOAT_EXT
#undef TYPE_RGBA_UNSIGNED_FLOAT_EXT
#endif
#ifdef DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
#undef DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
#endif
#ifdef DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D
#undef DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D
#endif
#ifdef DIGITAL_VIDEO_CURSOR_INCLUDED_I3D
#undef DIGITAL_VIDEO_CURSOR_INCLUDED_I3D
#endif
#ifdef DIGITAL_VIDEO_GAMMA_CORRECTED_I3D
#undef DIGITAL_VIDEO_GAMMA_CORRECTED_I3D
#endif
#ifdef GAMMA_TABLE_SIZE_I3D
#undef GAMMA_TABLE_SIZE_I3D
#endif
#ifdef GAMMA_EXCLUDE_DESKTOP_I3D
#undef GAMMA_EXCLUDE_DESKTOP_I3D
#endif
#ifdef GENLOCK_SOURCE_MULTIVIEW_I3D
#undef GENLOCK_SOURCE_MULTIVIEW_I3D
#endif
#ifdef GENLOCK_SOURCE_EXTENAL_SYNC_I3D
#undef GENLOCK_SOURCE_EXTENAL_SYNC_I3D
#endif
#ifdef GENLOCK_SOURCE_EXTENAL_FIELD_I3D
#undef GENLOCK_SOURCE_EXTENAL_FIELD_I3D
#endif
#ifdef GENLOCK_SOURCE_EXTENAL_TTL_I3D
#undef GENLOCK_SOURCE_EXTENAL_TTL_I3D
#endif
#ifdef GENLOCK_SOURCE_DIGITAL_SYNC_I3D
#undef GENLOCK_SOURCE_DIGITAL_SYNC_I3D
#endif
#ifdef GENLOCK_SOURCE_DIGITAL_FIELD_I3D
#undef GENLOCK_SOURCE_DIGITAL_FIELD_I3D
#endif
#ifdef GENLOCK_SOURCE_EDGE_FALLING_I3D
#undef GENLOCK_SOURCE_EDGE_FALLING_I3D
#endif
#ifdef GENLOCK_SOURCE_EDGE_RISING_I3D
#undef GENLOCK_SOURCE_EDGE_RISING_I3D
#endif
#ifdef GENLOCK_SOURCE_EDGE_BOTH_I3D
#undef GENLOCK_SOURCE_EDGE_BOTH_I3D
#endif
#ifdef IMAGE_BUFFER_MIN_ACCESS_I3D
#undef IMAGE_BUFFER_MIN_ACCESS_I3D
#endif
#ifdef IMAGE_BUFFER_LOCK_I3D
#undef IMAGE_BUFFER_LOCK_I3D
#endif
#ifdef FLOAT_COMPONENTS_NV
#undef FLOAT_COMPONENTS_NV
#endif
#ifdef BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV
#undef BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV
#endif
#ifdef BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV
#undef BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV
#endif
#ifdef BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV
#undef BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV
#endif
#ifdef BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV
#undef BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV
#endif
#ifdef TEXTURE_FLOAT_R_NV
#undef TEXTURE_FLOAT_R_NV
#endif
#ifdef TEXTURE_FLOAT_RG_NV
#undef TEXTURE_FLOAT_RG_NV
#endif
#ifdef TEXTURE_FLOAT_RGB_NV
#undef TEXTURE_FLOAT_RGB_NV
#endif
#ifdef TEXTURE_FLOAT_RGBA_NV
#undef TEXTURE_FLOAT_RGBA_NV
#endif
#ifdef NUM_VIDEO_SLOTS_NV
#undef NUM_VIDEO_SLOTS_NV
#endif
#ifdef BIND_TO_TEXTURE_DEPTH_NV
#undef BIND_TO_TEXTURE_DEPTH_NV
#endif
#ifdef BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV
#undef BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV
#endif
#ifdef DEPTH_TEXTURE_FORMAT_NV
#undef DEPTH_TEXTURE_FORMAT_NV
#endif
#ifdef TEXTURE_DEPTH_COMPONENT_NV
#undef TEXTURE_DEPTH_COMPONENT_NV
#endif
#ifdef DEPTH_COMPONENT_NV
#undef DEPTH_COMPONENT_NV
#endif
#ifdef BIND_TO_TEXTURE_RECTANGLE_RGB_NV
#undef BIND_TO_TEXTURE_RECTANGLE_RGB_NV
#endif
#ifdef BIND_TO_TEXTURE_RECTANGLE_RGBA_NV
#undef BIND_TO_TEXTURE_RECTANGLE_RGBA_NV
#endif
#ifdef TEXTURE_RECTANGLE_NV
#undef TEXTURE_RECTANGLE_NV
#endif
#ifdef BIND_TO_VIDEO_RGB_NV
#undef BIND_TO_VIDEO_RGB_NV
#endif
#ifdef BIND_TO_VIDEO_RGBA_NV
#undef BIND_TO_VIDEO_RGBA_NV
#endif
#ifdef BIND_TO_VIDEO_RGB_AND_DEPTH_NV
#undef BIND_TO_VIDEO_RGB_AND_DEPTH_NV
#endif
#ifdef VIDEO_OUT_COLOR_NV
#undef VIDEO_OUT_COLOR_NV
#endif
#ifdef VIDEO_OUT_ALPHA_NV
#undef VIDEO_OUT_ALPHA_NV
#endif
#ifdef VIDEO_OUT_DEPTH_NV
#undef VIDEO_OUT_DEPTH_NV
#endif
#ifdef VIDEO_OUT_COLOR_AND_ALPHA_NV
#undef VIDEO_OUT_COLOR_AND_ALPHA_NV
#endif
#ifdef VIDEO_OUT_COLOR_AND_DEPTH_NV
#undef VIDEO_OUT_COLOR_AND_DEPTH_NV
#endif
#ifdef VIDEO_OUT_FRAME
#undef VIDEO_OUT_FRAME
#endif
#ifdef VIDEO_OUT_FIELD_1
#undef VIDEO_OUT_FIELD_1
#endif
#ifdef VIDEO_OUT_FIELD_2
#undef VIDEO_OUT_FIELD_2
#endif
#ifdef VIDEO_OUT_STACKED_FIELDS_1_2
#undef VIDEO_OUT_STACKED_FIELDS_1_2
#endif
#ifdef VIDEO_OUT_STACKED_FIELDS_2_1
#undef VIDEO_OUT_STACKED_FIELDS_2_1
#endif

namespace vtkgl {
  //Define int32_t, int64_t, and uint64_t.
  typedef vtkTypeInt32 int32_t;
  typedef vtkTypeInt64 int64_t;
  typedef vtkTypeUInt64 uint64_t;
  typedef int64_t GLint64;
  typedef uint64_t GLuint64;
  typedef struct __GLsync *GLsync;

  //Definitions for GL_VERSION_1_2
  const GLenum UNSIGNED_BYTE_3_3_2 = static_cast<GLenum>(0x8032);
  const GLenum UNSIGNED_SHORT_4_4_4_4 = static_cast<GLenum>(0x8033);
  const GLenum UNSIGNED_SHORT_5_5_5_1 = static_cast<GLenum>(0x8034);
  const GLenum UNSIGNED_INT_8_8_8_8 = static_cast<GLenum>(0x8035);
  const GLenum UNSIGNED_INT_10_10_10_2 = static_cast<GLenum>(0x8036);
  const GLenum TEXTURE_BINDING_3D = static_cast<GLenum>(0x806A);
  const GLenum PACK_SKIP_IMAGES = static_cast<GLenum>(0x806B);
  const GLenum PACK_IMAGE_HEIGHT = static_cast<GLenum>(0x806C);
  const GLenum UNPACK_SKIP_IMAGES = static_cast<GLenum>(0x806D);
  const GLenum UNPACK_IMAGE_HEIGHT = static_cast<GLenum>(0x806E);
  const GLenum TEXTURE_3D = static_cast<GLenum>(0x806F);
  const GLenum PROXY_TEXTURE_3D = static_cast<GLenum>(0x8070);
  const GLenum TEXTURE_DEPTH = static_cast<GLenum>(0x8071);
  const GLenum TEXTURE_WRAP_R = static_cast<GLenum>(0x8072);
  const GLenum MAX_3D_TEXTURE_SIZE = static_cast<GLenum>(0x8073);
  const GLenum UNSIGNED_BYTE_2_3_3_REV = static_cast<GLenum>(0x8362);
  const GLenum UNSIGNED_SHORT_5_6_5 = static_cast<GLenum>(0x8363);
  const GLenum UNSIGNED_SHORT_5_6_5_REV = static_cast<GLenum>(0x8364);
  const GLenum UNSIGNED_SHORT_4_4_4_4_REV = static_cast<GLenum>(0x8365);
  const GLenum UNSIGNED_SHORT_1_5_5_5_REV = static_cast<GLenum>(0x8366);
  const GLenum UNSIGNED_INT_8_8_8_8_REV = static_cast<GLenum>(0x8367);
  const GLenum UNSIGNED_INT_2_10_10_10_REV = static_cast<GLenum>(0x8368);
  const GLenum BGR = static_cast<GLenum>(0x80E0);
  const GLenum BGRA = static_cast<GLenum>(0x80E1);
  const GLenum MAX_ELEMENTS_VERTICES = static_cast<GLenum>(0x80E8);
  const GLenum MAX_ELEMENTS_INDICES = static_cast<GLenum>(0x80E9);
  const GLenum CLAMP_TO_EDGE = static_cast<GLenum>(0x812F);
  const GLenum TEXTURE_MIN_LOD = static_cast<GLenum>(0x813A);
  const GLenum TEXTURE_MAX_LOD = static_cast<GLenum>(0x813B);
  const GLenum TEXTURE_BASE_LEVEL = static_cast<GLenum>(0x813C);
  const GLenum TEXTURE_MAX_LEVEL = static_cast<GLenum>(0x813D);
  const GLenum SMOOTH_POINT_SIZE_RANGE = static_cast<GLenum>(0x0B12);
  const GLenum SMOOTH_POINT_SIZE_GRANULARITY = static_cast<GLenum>(0x0B13);
  const GLenum SMOOTH_LINE_WIDTH_RANGE = static_cast<GLenum>(0x0B22);
  const GLenum SMOOTH_LINE_WIDTH_GRANULARITY = static_cast<GLenum>(0x0B23);
  const GLenum ALIASED_LINE_WIDTH_RANGE = static_cast<GLenum>(0x846E);
  typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
  typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
  typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  extern VTK_RENDERING_EXPORT PFNGLBLENDCOLORPROC BlendColor;
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONPROC BlendEquation;
  extern VTK_RENDERING_EXPORT PFNGLDRAWRANGEELEMENTSPROC DrawRangeElements;
  extern VTK_RENDERING_EXPORT PFNGLTEXIMAGE3DPROC TexImage3D;
  extern VTK_RENDERING_EXPORT PFNGLTEXSUBIMAGE3DPROC TexSubImage3D;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC CopyTexSubImage3D;

  //Definitions for GL_VERSION_1_2_DEPRECATED
  const GLenum RESCALE_NORMAL = static_cast<GLenum>(0x803A);
  const GLenum LIGHT_MODEL_COLOR_CONTROL = static_cast<GLenum>(0x81F8);
  const GLenum SINGLE_COLOR = static_cast<GLenum>(0x81F9);
  const GLenum SEPARATE_SPECULAR_COLOR = static_cast<GLenum>(0x81FA);
  const GLenum ALIASED_POINT_SIZE_RANGE = static_cast<GLenum>(0x846D);
  typedef void (APIENTRYP PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
  typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
  typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
  typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
  typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
  typedef void (APIENTRYP PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
  typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
  typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
  typedef void (APIENTRYP PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
  typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLRESETMINMAXPROC) (GLenum target);
  extern VTK_RENDERING_EXPORT PFNGLCOLORTABLEPROC ColorTable;
  extern VTK_RENDERING_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC ColorTableParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC ColorTableParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCOLORTABLEPROC CopyColorTable;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEPROC GetColorTable;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC GetColorTableParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC GetColorTableParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLCOLORSUBTABLEPROC ColorSubTable;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCOLORSUBTABLEPROC CopyColorSubTable;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONFILTER1DPROC ConvolutionFilter1D;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONFILTER2DPROC ConvolutionFilter2D;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC ConvolutionParameterf;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC ConvolutionParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC ConvolutionParameteri;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC ConvolutionParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC CopyConvolutionFilter1D;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC CopyConvolutionFilter2D;
  extern VTK_RENDERING_EXPORT PFNGLGETCONVOLUTIONFILTERPROC GetConvolutionFilter;
  extern VTK_RENDERING_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC GetConvolutionParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC GetConvolutionParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLGETSEPARABLEFILTERPROC GetSeparableFilter;
  extern VTK_RENDERING_EXPORT PFNGLSEPARABLEFILTER2DPROC SeparableFilter2D;
  extern VTK_RENDERING_EXPORT PFNGLGETHISTOGRAMPROC GetHistogram;
  extern VTK_RENDERING_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC GetHistogramParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC GetHistogramParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLGETMINMAXPROC GetMinmax;
  extern VTK_RENDERING_EXPORT PFNGLGETMINMAXPARAMETERFVPROC GetMinmaxParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLGETMINMAXPARAMETERIVPROC GetMinmaxParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLHISTOGRAMPROC Histogram;
  extern VTK_RENDERING_EXPORT PFNGLMINMAXPROC Minmax;
  extern VTK_RENDERING_EXPORT PFNGLRESETHISTOGRAMPROC ResetHistogram;
  extern VTK_RENDERING_EXPORT PFNGLRESETMINMAXPROC ResetMinmax;

  //Definitions for GL_ARB_imaging
  const GLenum CONSTANT_COLOR = static_cast<GLenum>(0x8001);
  const GLenum ONE_MINUS_CONSTANT_COLOR = static_cast<GLenum>(0x8002);
  const GLenum CONSTANT_ALPHA = static_cast<GLenum>(0x8003);
  const GLenum ONE_MINUS_CONSTANT_ALPHA = static_cast<GLenum>(0x8004);
  const GLenum BLEND_COLOR = static_cast<GLenum>(0x8005);
  const GLenum FUNC_ADD = static_cast<GLenum>(0x8006);
  const GLenum MIN = static_cast<GLenum>(0x8007);
  const GLenum MAX = static_cast<GLenum>(0x8008);
  const GLenum BLEND_EQUATION = static_cast<GLenum>(0x8009);
  const GLenum FUNC_SUBTRACT = static_cast<GLenum>(0x800A);
  const GLenum FUNC_REVERSE_SUBTRACT = static_cast<GLenum>(0x800B);

  //Definitions for GL_ARB_imaging_DEPRECATED
  const GLenum CONVOLUTION_1D = static_cast<GLenum>(0x8010);
  const GLenum CONVOLUTION_2D = static_cast<GLenum>(0x8011);
  const GLenum SEPARABLE_2D = static_cast<GLenum>(0x8012);
  const GLenum CONVOLUTION_BORDER_MODE = static_cast<GLenum>(0x8013);
  const GLenum CONVOLUTION_FILTER_SCALE = static_cast<GLenum>(0x8014);
  const GLenum CONVOLUTION_FILTER_BIAS = static_cast<GLenum>(0x8015);
  const GLenum REDUCE = static_cast<GLenum>(0x8016);
  const GLenum CONVOLUTION_FORMAT = static_cast<GLenum>(0x8017);
  const GLenum CONVOLUTION_WIDTH = static_cast<GLenum>(0x8018);
  const GLenum CONVOLUTION_HEIGHT = static_cast<GLenum>(0x8019);
  const GLenum MAX_CONVOLUTION_WIDTH = static_cast<GLenum>(0x801A);
  const GLenum MAX_CONVOLUTION_HEIGHT = static_cast<GLenum>(0x801B);
  const GLenum POST_CONVOLUTION_RED_SCALE = static_cast<GLenum>(0x801C);
  const GLenum POST_CONVOLUTION_GREEN_SCALE = static_cast<GLenum>(0x801D);
  const GLenum POST_CONVOLUTION_BLUE_SCALE = static_cast<GLenum>(0x801E);
  const GLenum POST_CONVOLUTION_ALPHA_SCALE = static_cast<GLenum>(0x801F);
  const GLenum POST_CONVOLUTION_RED_BIAS = static_cast<GLenum>(0x8020);
  const GLenum POST_CONVOLUTION_GREEN_BIAS = static_cast<GLenum>(0x8021);
  const GLenum POST_CONVOLUTION_BLUE_BIAS = static_cast<GLenum>(0x8022);
  const GLenum POST_CONVOLUTION_ALPHA_BIAS = static_cast<GLenum>(0x8023);
  const GLenum HISTOGRAM = static_cast<GLenum>(0x8024);
  const GLenum PROXY_HISTOGRAM = static_cast<GLenum>(0x8025);
  const GLenum HISTOGRAM_WIDTH = static_cast<GLenum>(0x8026);
  const GLenum HISTOGRAM_FORMAT = static_cast<GLenum>(0x8027);
  const GLenum HISTOGRAM_RED_SIZE = static_cast<GLenum>(0x8028);
  const GLenum HISTOGRAM_GREEN_SIZE = static_cast<GLenum>(0x8029);
  const GLenum HISTOGRAM_BLUE_SIZE = static_cast<GLenum>(0x802A);
  const GLenum HISTOGRAM_ALPHA_SIZE = static_cast<GLenum>(0x802B);
  const GLenum HISTOGRAM_LUMINANCE_SIZE = static_cast<GLenum>(0x802C);
  const GLenum HISTOGRAM_SINK = static_cast<GLenum>(0x802D);
  const GLenum MINMAX = static_cast<GLenum>(0x802E);
  const GLenum MINMAX_FORMAT = static_cast<GLenum>(0x802F);
  const GLenum MINMAX_SINK = static_cast<GLenum>(0x8030);
  const GLenum TABLE_TOO_LARGE = static_cast<GLenum>(0x8031);
  const GLenum COLOR_MATRIX = static_cast<GLenum>(0x80B1);
  const GLenum COLOR_MATRIX_STACK_DEPTH = static_cast<GLenum>(0x80B2);
  const GLenum MAX_COLOR_MATRIX_STACK_DEPTH = static_cast<GLenum>(0x80B3);
  const GLenum POST_COLOR_MATRIX_RED_SCALE = static_cast<GLenum>(0x80B4);
  const GLenum POST_COLOR_MATRIX_GREEN_SCALE = static_cast<GLenum>(0x80B5);
  const GLenum POST_COLOR_MATRIX_BLUE_SCALE = static_cast<GLenum>(0x80B6);
  const GLenum POST_COLOR_MATRIX_ALPHA_SCALE = static_cast<GLenum>(0x80B7);
  const GLenum POST_COLOR_MATRIX_RED_BIAS = static_cast<GLenum>(0x80B8);
  const GLenum POST_COLOR_MATRIX_GREEN_BIAS = static_cast<GLenum>(0x80B9);
  const GLenum POST_COLOR_MATRIX_BLUE_BIAS = static_cast<GLenum>(0x80BA);
  const GLenum POST_COLOR_MATRIX_ALPHA_BIAS = static_cast<GLenum>(0x80BB);
  const GLenum COLOR_TABLE = static_cast<GLenum>(0x80D0);
  const GLenum POST_CONVOLUTION_COLOR_TABLE = static_cast<GLenum>(0x80D1);
  const GLenum POST_COLOR_MATRIX_COLOR_TABLE = static_cast<GLenum>(0x80D2);
  const GLenum PROXY_COLOR_TABLE = static_cast<GLenum>(0x80D3);
  const GLenum PROXY_POST_CONVOLUTION_COLOR_TABLE = static_cast<GLenum>(0x80D4);
  const GLenum PROXY_POST_COLOR_MATRIX_COLOR_TABLE = static_cast<GLenum>(0x80D5);
  const GLenum COLOR_TABLE_SCALE = static_cast<GLenum>(0x80D6);
  const GLenum COLOR_TABLE_BIAS = static_cast<GLenum>(0x80D7);
  const GLenum COLOR_TABLE_FORMAT = static_cast<GLenum>(0x80D8);
  const GLenum COLOR_TABLE_WIDTH = static_cast<GLenum>(0x80D9);
  const GLenum COLOR_TABLE_RED_SIZE = static_cast<GLenum>(0x80DA);
  const GLenum COLOR_TABLE_GREEN_SIZE = static_cast<GLenum>(0x80DB);
  const GLenum COLOR_TABLE_BLUE_SIZE = static_cast<GLenum>(0x80DC);
  const GLenum COLOR_TABLE_ALPHA_SIZE = static_cast<GLenum>(0x80DD);
  const GLenum COLOR_TABLE_LUMINANCE_SIZE = static_cast<GLenum>(0x80DE);
  const GLenum COLOR_TABLE_INTENSITY_SIZE = static_cast<GLenum>(0x80DF);
  const GLenum CONSTANT_BORDER = static_cast<GLenum>(0x8151);
  const GLenum REPLICATE_BORDER = static_cast<GLenum>(0x8153);
  const GLenum CONVOLUTION_BORDER_COLOR = static_cast<GLenum>(0x8154);

  //Definitions for GL_VERSION_1_3
  const GLenum TEXTURE0 = static_cast<GLenum>(0x84C0);
  const GLenum TEXTURE1 = static_cast<GLenum>(0x84C1);
  const GLenum TEXTURE2 = static_cast<GLenum>(0x84C2);
  const GLenum TEXTURE3 = static_cast<GLenum>(0x84C3);
  const GLenum TEXTURE4 = static_cast<GLenum>(0x84C4);
  const GLenum TEXTURE5 = static_cast<GLenum>(0x84C5);
  const GLenum TEXTURE6 = static_cast<GLenum>(0x84C6);
  const GLenum TEXTURE7 = static_cast<GLenum>(0x84C7);
  const GLenum TEXTURE8 = static_cast<GLenum>(0x84C8);
  const GLenum TEXTURE9 = static_cast<GLenum>(0x84C9);
  const GLenum TEXTURE10 = static_cast<GLenum>(0x84CA);
  const GLenum TEXTURE11 = static_cast<GLenum>(0x84CB);
  const GLenum TEXTURE12 = static_cast<GLenum>(0x84CC);
  const GLenum TEXTURE13 = static_cast<GLenum>(0x84CD);
  const GLenum TEXTURE14 = static_cast<GLenum>(0x84CE);
  const GLenum TEXTURE15 = static_cast<GLenum>(0x84CF);
  const GLenum TEXTURE16 = static_cast<GLenum>(0x84D0);
  const GLenum TEXTURE17 = static_cast<GLenum>(0x84D1);
  const GLenum TEXTURE18 = static_cast<GLenum>(0x84D2);
  const GLenum TEXTURE19 = static_cast<GLenum>(0x84D3);
  const GLenum TEXTURE20 = static_cast<GLenum>(0x84D4);
  const GLenum TEXTURE21 = static_cast<GLenum>(0x84D5);
  const GLenum TEXTURE22 = static_cast<GLenum>(0x84D6);
  const GLenum TEXTURE23 = static_cast<GLenum>(0x84D7);
  const GLenum TEXTURE24 = static_cast<GLenum>(0x84D8);
  const GLenum TEXTURE25 = static_cast<GLenum>(0x84D9);
  const GLenum TEXTURE26 = static_cast<GLenum>(0x84DA);
  const GLenum TEXTURE27 = static_cast<GLenum>(0x84DB);
  const GLenum TEXTURE28 = static_cast<GLenum>(0x84DC);
  const GLenum TEXTURE29 = static_cast<GLenum>(0x84DD);
  const GLenum TEXTURE30 = static_cast<GLenum>(0x84DE);
  const GLenum TEXTURE31 = static_cast<GLenum>(0x84DF);
  const GLenum ACTIVE_TEXTURE = static_cast<GLenum>(0x84E0);
  const GLenum MULTISAMPLE = static_cast<GLenum>(0x809D);
  const GLenum SAMPLE_ALPHA_TO_COVERAGE = static_cast<GLenum>(0x809E);
  const GLenum SAMPLE_ALPHA_TO_ONE = static_cast<GLenum>(0x809F);
  const GLenum SAMPLE_COVERAGE = static_cast<GLenum>(0x80A0);
  const GLenum SAMPLE_BUFFERS = static_cast<GLenum>(0x80A8);
  const GLenum SAMPLES = static_cast<GLenum>(0x80A9);
  const GLenum SAMPLE_COVERAGE_VALUE = static_cast<GLenum>(0x80AA);
  const GLenum SAMPLE_COVERAGE_INVERT = static_cast<GLenum>(0x80AB);
  const GLenum TEXTURE_CUBE_MAP = static_cast<GLenum>(0x8513);
  const GLenum TEXTURE_BINDING_CUBE_MAP = static_cast<GLenum>(0x8514);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_X = static_cast<GLenum>(0x8515);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X = static_cast<GLenum>(0x8516);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y = static_cast<GLenum>(0x8517);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y = static_cast<GLenum>(0x8518);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z = static_cast<GLenum>(0x8519);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z = static_cast<GLenum>(0x851A);
  const GLenum PROXY_TEXTURE_CUBE_MAP = static_cast<GLenum>(0x851B);
  const GLenum MAX_CUBE_MAP_TEXTURE_SIZE = static_cast<GLenum>(0x851C);
  const GLenum COMPRESSED_RGB = static_cast<GLenum>(0x84ED);
  const GLenum COMPRESSED_RGBA = static_cast<GLenum>(0x84EE);
  const GLenum TEXTURE_COMPRESSION_HINT = static_cast<GLenum>(0x84EF);
  const GLenum TEXTURE_COMPRESSED_IMAGE_SIZE = static_cast<GLenum>(0x86A0);
  const GLenum TEXTURE_COMPRESSED = static_cast<GLenum>(0x86A1);
  const GLenum NUM_COMPRESSED_TEXTURE_FORMATS = static_cast<GLenum>(0x86A2);
  const GLenum COMPRESSED_TEXTURE_FORMATS = static_cast<GLenum>(0x86A3);
  const GLenum CLAMP_TO_BORDER = static_cast<GLenum>(0x812D);
  typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
  typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
  extern VTK_RENDERING_EXPORT PFNGLACTIVETEXTUREPROC ActiveTexture;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLECOVERAGEPROC SampleCoverage;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEPROC GetCompressedTexImage;

  //Definitions for GL_VERSION_1_3_DEPRECATED
  const GLenum CLIENT_ACTIVE_TEXTURE = static_cast<GLenum>(0x84E1);
  const GLenum MAX_TEXTURE_UNITS = static_cast<GLenum>(0x84E2);
  const GLenum TRANSPOSE_MODELVIEW_MATRIX = static_cast<GLenum>(0x84E3);
  const GLenum TRANSPOSE_PROJECTION_MATRIX = static_cast<GLenum>(0x84E4);
  const GLenum TRANSPOSE_TEXTURE_MATRIX = static_cast<GLenum>(0x84E5);
  const GLenum TRANSPOSE_COLOR_MATRIX = static_cast<GLenum>(0x84E6);
  const GLenum MULTISAMPLE_BIT = static_cast<GLenum>(0x20000000);
  const GLenum NORMAL_MAP = static_cast<GLenum>(0x8511);
  const GLenum REFLECTION_MAP = static_cast<GLenum>(0x8512);
  const GLenum COMPRESSED_ALPHA = static_cast<GLenum>(0x84E9);
  const GLenum COMPRESSED_LUMINANCE = static_cast<GLenum>(0x84EA);
  const GLenum COMPRESSED_LUMINANCE_ALPHA = static_cast<GLenum>(0x84EB);
  const GLenum COMPRESSED_INTENSITY = static_cast<GLenum>(0x84EC);
  const GLenum COMBINE = static_cast<GLenum>(0x8570);
  const GLenum COMBINE_RGB = static_cast<GLenum>(0x8571);
  const GLenum COMBINE_ALPHA = static_cast<GLenum>(0x8572);
  const GLenum SOURCE0_RGB = static_cast<GLenum>(0x8580);
  const GLenum SOURCE1_RGB = static_cast<GLenum>(0x8581);
  const GLenum SOURCE2_RGB = static_cast<GLenum>(0x8582);
  const GLenum SOURCE0_ALPHA = static_cast<GLenum>(0x8588);
  const GLenum SOURCE1_ALPHA = static_cast<GLenum>(0x8589);
  const GLenum SOURCE2_ALPHA = static_cast<GLenum>(0x858A);
  const GLenum OPERAND0_RGB = static_cast<GLenum>(0x8590);
  const GLenum OPERAND1_RGB = static_cast<GLenum>(0x8591);
  const GLenum OPERAND2_RGB = static_cast<GLenum>(0x8592);
  const GLenum OPERAND0_ALPHA = static_cast<GLenum>(0x8598);
  const GLenum OPERAND1_ALPHA = static_cast<GLenum>(0x8599);
  const GLenum OPERAND2_ALPHA = static_cast<GLenum>(0x859A);
  const GLenum RGB_SCALE = static_cast<GLenum>(0x8573);
  const GLenum ADD_SIGNED = static_cast<GLenum>(0x8574);
  const GLenum INTERPOLATE = static_cast<GLenum>(0x8575);
  const GLenum SUBTRACT = static_cast<GLenum>(0x84E7);
  const GLenum CONSTANT = static_cast<GLenum>(0x8576);
  const GLenum PRIMARY_COLOR = static_cast<GLenum>(0x8577);
  const GLenum PREVIOUS = static_cast<GLenum>(0x8578);
  const GLenum DOT3_RGB = static_cast<GLenum>(0x86AE);
  const GLenum DOT3_RGBA = static_cast<GLenum>(0x86AF);
  typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
  typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
  typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
  typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
  typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
  extern VTK_RENDERING_EXPORT PFNGLCLIENTACTIVETEXTUREPROC ClientActiveTexture;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1DPROC MultiTexCoord1d;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1DVPROC MultiTexCoord1dv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1FPROC MultiTexCoord1f;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1FVPROC MultiTexCoord1fv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1IPROC MultiTexCoord1i;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1IVPROC MultiTexCoord1iv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1SPROC MultiTexCoord1s;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1SVPROC MultiTexCoord1sv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2DPROC MultiTexCoord2d;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2DVPROC MultiTexCoord2dv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2FPROC MultiTexCoord2f;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2FVPROC MultiTexCoord2fv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2IPROC MultiTexCoord2i;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2IVPROC MultiTexCoord2iv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2SPROC MultiTexCoord2s;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2SVPROC MultiTexCoord2sv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3DPROC MultiTexCoord3d;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3DVPROC MultiTexCoord3dv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3FPROC MultiTexCoord3f;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3FVPROC MultiTexCoord3fv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3IPROC MultiTexCoord3i;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3IVPROC MultiTexCoord3iv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3SPROC MultiTexCoord3s;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3SVPROC MultiTexCoord3sv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4DPROC MultiTexCoord4d;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4DVPROC MultiTexCoord4dv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4FPROC MultiTexCoord4f;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4FVPROC MultiTexCoord4fv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4IPROC MultiTexCoord4i;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4IVPROC MultiTexCoord4iv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4SPROC MultiTexCoord4s;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4SVPROC MultiTexCoord4sv;
  extern VTK_RENDERING_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC LoadTransposeMatrixf;
  extern VTK_RENDERING_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC LoadTransposeMatrixd;
  extern VTK_RENDERING_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC MultTransposeMatrixf;
  extern VTK_RENDERING_EXPORT PFNGLMULTTRANSPOSEMATRIXDPROC MultTransposeMatrixd;

  //Definitions for GL_VERSION_1_4
  const GLenum BLEND_DST_RGB = static_cast<GLenum>(0x80C8);
  const GLenum BLEND_SRC_RGB = static_cast<GLenum>(0x80C9);
  const GLenum BLEND_DST_ALPHA = static_cast<GLenum>(0x80CA);
  const GLenum BLEND_SRC_ALPHA = static_cast<GLenum>(0x80CB);
  const GLenum POINT_FADE_THRESHOLD_SIZE = static_cast<GLenum>(0x8128);
  const GLenum DEPTH_COMPONENT16 = static_cast<GLenum>(0x81A5);
  const GLenum DEPTH_COMPONENT24 = static_cast<GLenum>(0x81A6);
  const GLenum DEPTH_COMPONENT32 = static_cast<GLenum>(0x81A7);
  const GLenum MIRRORED_REPEAT = static_cast<GLenum>(0x8370);
  const GLenum MAX_TEXTURE_LOD_BIAS = static_cast<GLenum>(0x84FD);
  const GLenum TEXTURE_LOD_BIAS = static_cast<GLenum>(0x8501);
  const GLenum INCR_WRAP = static_cast<GLenum>(0x8507);
  const GLenum DECR_WRAP = static_cast<GLenum>(0x8508);
  const GLenum TEXTURE_DEPTH_SIZE = static_cast<GLenum>(0x884A);
  const GLenum TEXTURE_COMPARE_MODE = static_cast<GLenum>(0x884C);
  const GLenum TEXTURE_COMPARE_FUNC = static_cast<GLenum>(0x884D);
  typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate;
  extern VTK_RENDERING_EXPORT PFNGLMULTIDRAWARRAYSPROC MultiDrawArrays;
  extern VTK_RENDERING_EXPORT PFNGLMULTIDRAWELEMENTSPROC MultiDrawElements;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFPROC PointParameterf;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFVPROC PointParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERIPROC PointParameteri;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERIVPROC PointParameteriv;

  //Definitions for GL_VERSION_1_4_DEPRECATED
  const GLenum POINT_SIZE_MIN = static_cast<GLenum>(0x8126);
  const GLenum POINT_SIZE_MAX = static_cast<GLenum>(0x8127);
  const GLenum POINT_DISTANCE_ATTENUATION = static_cast<GLenum>(0x8129);
  const GLenum GENERATE_MIPMAP = static_cast<GLenum>(0x8191);
  const GLenum GENERATE_MIPMAP_HINT = static_cast<GLenum>(0x8192);
  const GLenum FOG_COORDINATE_SOURCE = static_cast<GLenum>(0x8450);
  const GLenum FOG_COORDINATE = static_cast<GLenum>(0x8451);
  const GLenum FRAGMENT_DEPTH = static_cast<GLenum>(0x8452);
  const GLenum CURRENT_FOG_COORDINATE = static_cast<GLenum>(0x8453);
  const GLenum FOG_COORDINATE_ARRAY_TYPE = static_cast<GLenum>(0x8454);
  const GLenum FOG_COORDINATE_ARRAY_STRIDE = static_cast<GLenum>(0x8455);
  const GLenum FOG_COORDINATE_ARRAY_POINTER = static_cast<GLenum>(0x8456);
  const GLenum FOG_COORDINATE_ARRAY = static_cast<GLenum>(0x8457);
  const GLenum COLOR_SUM = static_cast<GLenum>(0x8458);
  const GLenum CURRENT_SECONDARY_COLOR = static_cast<GLenum>(0x8459);
  const GLenum SECONDARY_COLOR_ARRAY_SIZE = static_cast<GLenum>(0x845A);
  const GLenum SECONDARY_COLOR_ARRAY_TYPE = static_cast<GLenum>(0x845B);
  const GLenum SECONDARY_COLOR_ARRAY_STRIDE = static_cast<GLenum>(0x845C);
  const GLenum SECONDARY_COLOR_ARRAY_POINTER = static_cast<GLenum>(0x845D);
  const GLenum SECONDARY_COLOR_ARRAY = static_cast<GLenum>(0x845E);
  const GLenum TEXTURE_FILTER_CONTROL = static_cast<GLenum>(0x8500);
  const GLenum DEPTH_TEXTURE_MODE = static_cast<GLenum>(0x884B);
  const GLenum COMPARE_R_TO_TEXTURE = static_cast<GLenum>(0x884E);
  typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);
  typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
  typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord);
  typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
  typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDFPROC FogCoordf;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDFVPROC FogCoordfv;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDDPROC FogCoordd;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDDVPROC FogCoorddv;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDPOINTERPROC FogCoordPointer;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3BPROC SecondaryColor3b;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3DPROC SecondaryColor3d;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3FPROC SecondaryColor3f;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3FVPROC SecondaryColor3fv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3IPROC SecondaryColor3i;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3SPROC SecondaryColor3s;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UBPROC SecondaryColor3ub;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UIPROC SecondaryColor3ui;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3USPROC SecondaryColor3us;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointer;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2DPROC WindowPos2d;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2DVPROC WindowPos2dv;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2FPROC WindowPos2f;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2FVPROC WindowPos2fv;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2IPROC WindowPos2i;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2IVPROC WindowPos2iv;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2SPROC WindowPos2s;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2SVPROC WindowPos2sv;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3DPROC WindowPos3d;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3DVPROC WindowPos3dv;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3FPROC WindowPos3f;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3FVPROC WindowPos3fv;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3IPROC WindowPos3i;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3IVPROC WindowPos3iv;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3SPROC WindowPos3s;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3SVPROC WindowPos3sv;

  //Definitions for GL_VERSION_1_5
  const GLenum BUFFER_SIZE = static_cast<GLenum>(0x8764);
  const GLenum BUFFER_USAGE = static_cast<GLenum>(0x8765);
  const GLenum QUERY_COUNTER_BITS = static_cast<GLenum>(0x8864);
  const GLenum CURRENT_QUERY = static_cast<GLenum>(0x8865);
  const GLenum QUERY_RESULT = static_cast<GLenum>(0x8866);
  const GLenum QUERY_RESULT_AVAILABLE = static_cast<GLenum>(0x8867);
  const GLenum ARRAY_BUFFER = static_cast<GLenum>(0x8892);
  const GLenum ELEMENT_ARRAY_BUFFER = static_cast<GLenum>(0x8893);
  const GLenum ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x8894);
  const GLenum ELEMENT_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x8895);
  const GLenum VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x889F);
  const GLenum READ_ONLY = static_cast<GLenum>(0x88B8);
  const GLenum WRITE_ONLY = static_cast<GLenum>(0x88B9);
  const GLenum READ_WRITE = static_cast<GLenum>(0x88BA);
  const GLenum BUFFER_ACCESS = static_cast<GLenum>(0x88BB);
  const GLenum BUFFER_MAPPED = static_cast<GLenum>(0x88BC);
  const GLenum BUFFER_MAP_POINTER = static_cast<GLenum>(0x88BD);
  const GLenum STREAM_DRAW = static_cast<GLenum>(0x88E0);
  const GLenum STREAM_READ = static_cast<GLenum>(0x88E1);
  const GLenum STREAM_COPY = static_cast<GLenum>(0x88E2);
  const GLenum STATIC_DRAW = static_cast<GLenum>(0x88E4);
  const GLenum STATIC_READ = static_cast<GLenum>(0x88E5);
  const GLenum STATIC_COPY = static_cast<GLenum>(0x88E6);
  const GLenum DYNAMIC_DRAW = static_cast<GLenum>(0x88E8);
  const GLenum DYNAMIC_READ = static_cast<GLenum>(0x88E9);
  const GLenum DYNAMIC_COPY = static_cast<GLenum>(0x88EA);
  const GLenum SAMPLES_PASSED = static_cast<GLenum>(0x8914);
  typedef ptrdiff_t GLintptr;
  typedef ptrdiff_t GLsizeiptr;
  typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
  typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
  typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
  typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
  typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
  typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
  typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
  typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
  typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
  typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
  typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
  typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
  typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
  extern VTK_RENDERING_EXPORT PFNGLGENQUERIESPROC GenQueries;
  extern VTK_RENDERING_EXPORT PFNGLDELETEQUERIESPROC DeleteQueries;
  extern VTK_RENDERING_EXPORT PFNGLISQUERYPROC IsQuery;
  extern VTK_RENDERING_EXPORT PFNGLBEGINQUERYPROC BeginQuery;
  extern VTK_RENDERING_EXPORT PFNGLENDQUERYPROC EndQuery;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYIVPROC GetQueryiv;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERPROC BindBuffer;
  extern VTK_RENDERING_EXPORT PFNGLDELETEBUFFERSPROC DeleteBuffers;
  extern VTK_RENDERING_EXPORT PFNGLGENBUFFERSPROC GenBuffers;
  extern VTK_RENDERING_EXPORT PFNGLISBUFFERPROC IsBuffer;
  extern VTK_RENDERING_EXPORT PFNGLBUFFERDATAPROC BufferData;
  extern VTK_RENDERING_EXPORT PFNGLBUFFERSUBDATAPROC BufferSubData;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERSUBDATAPROC GetBufferSubData;
  extern VTK_RENDERING_EXPORT PFNGLMAPBUFFERPROC MapBuffer;
  extern VTK_RENDERING_EXPORT PFNGLUNMAPBUFFERPROC UnmapBuffer;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERPARAMETERIVPROC GetBufferParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERPOINTERVPROC GetBufferPointerv;

  //Definitions for GL_VERSION_1_5_DEPRECATED
  const GLenum VERTEX_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x8896);
  const GLenum NORMAL_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x8897);
  const GLenum COLOR_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x8898);
  const GLenum INDEX_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x8899);
  const GLenum TEXTURE_COORD_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x889A);
  const GLenum EDGE_FLAG_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x889B);
  const GLenum SECONDARY_COLOR_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x889C);
  const GLenum FOG_COORDINATE_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x889D);
  const GLenum WEIGHT_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x889E);
  const GLenum FOG_COORD_SRC = static_cast<GLenum>(0x8450);
  const GLenum FOG_COORD = static_cast<GLenum>(0x8451);
  const GLenum CURRENT_FOG_COORD = static_cast<GLenum>(0x8453);
  const GLenum FOG_COORD_ARRAY_TYPE = static_cast<GLenum>(0x8454);
  const GLenum FOG_COORD_ARRAY_STRIDE = static_cast<GLenum>(0x8455);
  const GLenum FOG_COORD_ARRAY_POINTER = static_cast<GLenum>(0x8456);
  const GLenum FOG_COORD_ARRAY = static_cast<GLenum>(0x8457);
  const GLenum FOG_COORD_ARRAY_BUFFER_BINDING = static_cast<GLenum>(0x889D);
  const GLenum SRC0_RGB = static_cast<GLenum>(0x8580);
  const GLenum SRC1_RGB = static_cast<GLenum>(0x8581);
  const GLenum SRC2_RGB = static_cast<GLenum>(0x8582);
  const GLenum SRC0_ALPHA = static_cast<GLenum>(0x8588);
  const GLenum SRC1_ALPHA = static_cast<GLenum>(0x8589);
  const GLenum SRC2_ALPHA = static_cast<GLenum>(0x858A);

  //Definitions for GL_VERSION_2_0
  const GLenum BLEND_EQUATION_RGB = static_cast<GLenum>(0x8009);
  const GLenum VERTEX_ATTRIB_ARRAY_ENABLED = static_cast<GLenum>(0x8622);
  const GLenum VERTEX_ATTRIB_ARRAY_SIZE = static_cast<GLenum>(0x8623);
  const GLenum VERTEX_ATTRIB_ARRAY_STRIDE = static_cast<GLenum>(0x8624);
  const GLenum VERTEX_ATTRIB_ARRAY_TYPE = static_cast<GLenum>(0x8625);
  const GLenum CURRENT_VERTEX_ATTRIB = static_cast<GLenum>(0x8626);
  const GLenum VERTEX_PROGRAM_POINT_SIZE = static_cast<GLenum>(0x8642);
  const GLenum VERTEX_ATTRIB_ARRAY_POINTER = static_cast<GLenum>(0x8645);
  const GLenum STENCIL_BACK_FUNC = static_cast<GLenum>(0x8800);
  const GLenum STENCIL_BACK_FAIL = static_cast<GLenum>(0x8801);
  const GLenum STENCIL_BACK_PASS_DEPTH_FAIL = static_cast<GLenum>(0x8802);
  const GLenum STENCIL_BACK_PASS_DEPTH_PASS = static_cast<GLenum>(0x8803);
  const GLenum MAX_DRAW_BUFFERS = static_cast<GLenum>(0x8824);
  const GLenum DRAW_BUFFER0 = static_cast<GLenum>(0x8825);
  const GLenum DRAW_BUFFER1 = static_cast<GLenum>(0x8826);
  const GLenum DRAW_BUFFER2 = static_cast<GLenum>(0x8827);
  const GLenum DRAW_BUFFER3 = static_cast<GLenum>(0x8828);
  const GLenum DRAW_BUFFER4 = static_cast<GLenum>(0x8829);
  const GLenum DRAW_BUFFER5 = static_cast<GLenum>(0x882A);
  const GLenum DRAW_BUFFER6 = static_cast<GLenum>(0x882B);
  const GLenum DRAW_BUFFER7 = static_cast<GLenum>(0x882C);
  const GLenum DRAW_BUFFER8 = static_cast<GLenum>(0x882D);
  const GLenum DRAW_BUFFER9 = static_cast<GLenum>(0x882E);
  const GLenum DRAW_BUFFER10 = static_cast<GLenum>(0x882F);
  const GLenum DRAW_BUFFER11 = static_cast<GLenum>(0x8830);
  const GLenum DRAW_BUFFER12 = static_cast<GLenum>(0x8831);
  const GLenum DRAW_BUFFER13 = static_cast<GLenum>(0x8832);
  const GLenum DRAW_BUFFER14 = static_cast<GLenum>(0x8833);
  const GLenum DRAW_BUFFER15 = static_cast<GLenum>(0x8834);
  const GLenum BLEND_EQUATION_ALPHA = static_cast<GLenum>(0x883D);
  const GLenum MAX_VERTEX_ATTRIBS = static_cast<GLenum>(0x8869);
  const GLenum VERTEX_ATTRIB_ARRAY_NORMALIZED = static_cast<GLenum>(0x886A);
  const GLenum MAX_TEXTURE_IMAGE_UNITS = static_cast<GLenum>(0x8872);
  const GLenum FRAGMENT_SHADER = static_cast<GLenum>(0x8B30);
  const GLenum VERTEX_SHADER = static_cast<GLenum>(0x8B31);
  const GLenum MAX_FRAGMENT_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8B49);
  const GLenum MAX_VERTEX_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8B4A);
  const GLenum MAX_VARYING_FLOATS = static_cast<GLenum>(0x8B4B);
  const GLenum MAX_VERTEX_TEXTURE_IMAGE_UNITS = static_cast<GLenum>(0x8B4C);
  const GLenum MAX_COMBINED_TEXTURE_IMAGE_UNITS = static_cast<GLenum>(0x8B4D);
  const GLenum SHADER_TYPE = static_cast<GLenum>(0x8B4F);
  const GLenum FLOAT_VEC2 = static_cast<GLenum>(0x8B50);
  const GLenum FLOAT_VEC3 = static_cast<GLenum>(0x8B51);
  const GLenum FLOAT_VEC4 = static_cast<GLenum>(0x8B52);
  const GLenum INT_VEC2 = static_cast<GLenum>(0x8B53);
  const GLenum INT_VEC3 = static_cast<GLenum>(0x8B54);
  const GLenum INT_VEC4 = static_cast<GLenum>(0x8B55);
  const GLenum BOOL = static_cast<GLenum>(0x8B56);
  const GLenum BOOL_VEC2 = static_cast<GLenum>(0x8B57);
  const GLenum BOOL_VEC3 = static_cast<GLenum>(0x8B58);
  const GLenum BOOL_VEC4 = static_cast<GLenum>(0x8B59);
  const GLenum FLOAT_MAT2 = static_cast<GLenum>(0x8B5A);
  const GLenum FLOAT_MAT3 = static_cast<GLenum>(0x8B5B);
  const GLenum FLOAT_MAT4 = static_cast<GLenum>(0x8B5C);
  const GLenum SAMPLER_1D = static_cast<GLenum>(0x8B5D);
  const GLenum SAMPLER_2D = static_cast<GLenum>(0x8B5E);
  const GLenum SAMPLER_3D = static_cast<GLenum>(0x8B5F);
  const GLenum SAMPLER_CUBE = static_cast<GLenum>(0x8B60);
  const GLenum SAMPLER_1D_SHADOW = static_cast<GLenum>(0x8B61);
  const GLenum SAMPLER_2D_SHADOW = static_cast<GLenum>(0x8B62);
  const GLenum DELETE_STATUS = static_cast<GLenum>(0x8B80);
  const GLenum COMPILE_STATUS = static_cast<GLenum>(0x8B81);
  const GLenum LINK_STATUS = static_cast<GLenum>(0x8B82);
  const GLenum VALIDATE_STATUS = static_cast<GLenum>(0x8B83);
  const GLenum INFO_LOG_LENGTH = static_cast<GLenum>(0x8B84);
  const GLenum ATTACHED_SHADERS = static_cast<GLenum>(0x8B85);
  const GLenum ACTIVE_UNIFORMS = static_cast<GLenum>(0x8B86);
  const GLenum ACTIVE_UNIFORM_MAX_LENGTH = static_cast<GLenum>(0x8B87);
  const GLenum SHADER_SOURCE_LENGTH = static_cast<GLenum>(0x8B88);
  const GLenum ACTIVE_ATTRIBUTES = static_cast<GLenum>(0x8B89);
  const GLenum ACTIVE_ATTRIBUTE_MAX_LENGTH = static_cast<GLenum>(0x8B8A);
  const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT = static_cast<GLenum>(0x8B8B);
  const GLenum SHADING_LANGUAGE_VERSION = static_cast<GLenum>(0x8B8C);
  const GLenum CURRENT_PROGRAM = static_cast<GLenum>(0x8B8D);
  const GLenum POINT_SPRITE_COORD_ORIGIN = static_cast<GLenum>(0x8CA0);
  const GLenum LOWER_LEFT = static_cast<GLenum>(0x8CA1);
  const GLenum UPPER_LEFT = static_cast<GLenum>(0x8CA2);
  const GLenum STENCIL_BACK_REF = static_cast<GLenum>(0x8CA3);
  const GLenum STENCIL_BACK_VALUE_MASK = static_cast<GLenum>(0x8CA4);
  const GLenum STENCIL_BACK_WRITEMASK = static_cast<GLenum>(0x8CA5);
  typedef char GLchar;
  typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
  typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
  typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
  typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
  typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
  typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
  typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
  typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
  typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
  typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
  typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
  typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
  typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
  typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
  typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
  typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
  typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
  typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
  typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
  typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
  typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
  typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
  typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
  typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
  typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
  typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
  typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
  typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
  typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate;
  extern VTK_RENDERING_EXPORT PFNGLDRAWBUFFERSPROC DrawBuffers;
  extern VTK_RENDERING_EXPORT PFNGLSTENCILOPSEPARATEPROC StencilOpSeparate;
  extern VTK_RENDERING_EXPORT PFNGLSTENCILFUNCSEPARATEPROC StencilFuncSeparate;
  extern VTK_RENDERING_EXPORT PFNGLSTENCILMASKSEPARATEPROC StencilMaskSeparate;
  extern VTK_RENDERING_EXPORT PFNGLATTACHSHADERPROC AttachShader;
  extern VTK_RENDERING_EXPORT PFNGLBINDATTRIBLOCATIONPROC BindAttribLocation;
  extern VTK_RENDERING_EXPORT PFNGLCOMPILESHADERPROC CompileShader;
  extern VTK_RENDERING_EXPORT PFNGLCREATEPROGRAMPROC CreateProgram;
  extern VTK_RENDERING_EXPORT PFNGLCREATESHADERPROC CreateShader;
  extern VTK_RENDERING_EXPORT PFNGLDELETEPROGRAMPROC DeleteProgram;
  extern VTK_RENDERING_EXPORT PFNGLDELETESHADERPROC DeleteShader;
  extern VTK_RENDERING_EXPORT PFNGLDETACHSHADERPROC DetachShader;
  extern VTK_RENDERING_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC DisableVertexAttribArray;
  extern VTK_RENDERING_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC EnableVertexAttribArray;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEATTRIBPROC GetActiveAttrib;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEUNIFORMPROC GetActiveUniform;
  extern VTK_RENDERING_EXPORT PFNGLGETATTACHEDSHADERSPROC GetAttachedShaders;
  extern VTK_RENDERING_EXPORT PFNGLGETATTRIBLOCATIONPROC GetAttribLocation;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMIVPROC GetProgramiv;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMINFOLOGPROC GetProgramInfoLog;
  extern VTK_RENDERING_EXPORT PFNGLGETSHADERIVPROC GetShaderiv;
  extern VTK_RENDERING_EXPORT PFNGLGETSHADERINFOLOGPROC GetShaderInfoLog;
  extern VTK_RENDERING_EXPORT PFNGLGETSHADERSOURCEPROC GetShaderSource;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMLOCATIONPROC GetUniformLocation;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMFVPROC GetUniformfv;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMIVPROC GetUniformiv;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBDVPROC GetVertexAttribdv;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBFVPROC GetVertexAttribfv;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBIVPROC GetVertexAttribiv;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC GetVertexAttribPointerv;
  extern VTK_RENDERING_EXPORT PFNGLISPROGRAMPROC IsProgram;
  extern VTK_RENDERING_EXPORT PFNGLISSHADERPROC IsShader;
  extern VTK_RENDERING_EXPORT PFNGLLINKPROGRAMPROC LinkProgram;
  extern VTK_RENDERING_EXPORT PFNGLSHADERSOURCEPROC ShaderSource;
  extern VTK_RENDERING_EXPORT PFNGLUSEPROGRAMPROC UseProgram;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1FPROC Uniform1f;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2FPROC Uniform2f;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3FPROC Uniform3f;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4FPROC Uniform4f;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1IPROC Uniform1i;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2IPROC Uniform2i;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3IPROC Uniform3i;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4IPROC Uniform4i;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1FVPROC Uniform1fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2FVPROC Uniform2fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3FVPROC Uniform3fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4FVPROC Uniform4fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1IVPROC Uniform1iv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2IVPROC Uniform2iv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3IVPROC Uniform3iv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4IVPROC Uniform4iv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX2FVPROC UniformMatrix2fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX3FVPROC UniformMatrix3fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX4FVPROC UniformMatrix4fv;
  extern VTK_RENDERING_EXPORT PFNGLVALIDATEPROGRAMPROC ValidateProgram;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1DPROC VertexAttrib1d;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1FPROC VertexAttrib1f;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1FVPROC VertexAttrib1fv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1SPROC VertexAttrib1s;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2DPROC VertexAttrib2d;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2FPROC VertexAttrib2f;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2FVPROC VertexAttrib2fv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2SPROC VertexAttrib2s;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3DPROC VertexAttrib3d;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3FPROC VertexAttrib3f;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3FVPROC VertexAttrib3fv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3SPROC VertexAttrib3s;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUBPROC VertexAttrib4Nub;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4DPROC VertexAttrib4d;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4FPROC VertexAttrib4f;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4FVPROC VertexAttrib4fv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4SPROC VertexAttrib4s;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBPOINTERPROC VertexAttribPointer;

  //Definitions for GL_VERSION_2_0_DEPRECATED
  const GLenum VERTEX_PROGRAM_TWO_SIDE = static_cast<GLenum>(0x8643);
  const GLenum POINT_SPRITE = static_cast<GLenum>(0x8861);
  const GLenum COORD_REPLACE = static_cast<GLenum>(0x8862);
  const GLenum MAX_TEXTURE_COORDS = static_cast<GLenum>(0x8871);

  //Definitions for GL_VERSION_2_1
  const GLenum PIXEL_PACK_BUFFER = static_cast<GLenum>(0x88EB);
  const GLenum PIXEL_UNPACK_BUFFER = static_cast<GLenum>(0x88EC);
  const GLenum PIXEL_PACK_BUFFER_BINDING = static_cast<GLenum>(0x88ED);
  const GLenum PIXEL_UNPACK_BUFFER_BINDING = static_cast<GLenum>(0x88EF);
  const GLenum FLOAT_MAT2x3 = static_cast<GLenum>(0x8B65);
  const GLenum FLOAT_MAT2x4 = static_cast<GLenum>(0x8B66);
  const GLenum FLOAT_MAT3x2 = static_cast<GLenum>(0x8B67);
  const GLenum FLOAT_MAT3x4 = static_cast<GLenum>(0x8B68);
  const GLenum FLOAT_MAT4x2 = static_cast<GLenum>(0x8B69);
  const GLenum FLOAT_MAT4x3 = static_cast<GLenum>(0x8B6A);
  const GLenum SRGB = static_cast<GLenum>(0x8C40);
  const GLenum SRGB8 = static_cast<GLenum>(0x8C41);
  const GLenum SRGB_ALPHA = static_cast<GLenum>(0x8C42);
  const GLenum SRGB8_ALPHA8 = static_cast<GLenum>(0x8C43);
  const GLenum COMPRESSED_SRGB = static_cast<GLenum>(0x8C48);
  const GLenum COMPRESSED_SRGB_ALPHA = static_cast<GLenum>(0x8C49);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC UniformMatrix2x3fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC UniformMatrix3x2fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC UniformMatrix2x4fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC UniformMatrix4x2fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC UniformMatrix3x4fv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC UniformMatrix4x3fv;

  //Definitions for GL_VERSION_2_1_DEPRECATED
  const GLenum CURRENT_RASTER_SECONDARY_COLOR = static_cast<GLenum>(0x845F);
  const GLenum SLUMINANCE_ALPHA = static_cast<GLenum>(0x8C44);
  const GLenum SLUMINANCE8_ALPHA8 = static_cast<GLenum>(0x8C45);
  const GLenum SLUMINANCE = static_cast<GLenum>(0x8C46);
  const GLenum SLUMINANCE8 = static_cast<GLenum>(0x8C47);
  const GLenum COMPRESSED_SLUMINANCE = static_cast<GLenum>(0x8C4A);
  const GLenum COMPRESSED_SLUMINANCE_ALPHA = static_cast<GLenum>(0x8C4B);

  //Definitions for GL_VERSION_3_0
  const GLenum COMPARE_REF_TO_TEXTURE = static_cast<GLenum>(0x884E);
  const GLenum CLIP_DISTANCE0 = static_cast<GLenum>(0x3000);
  const GLenum CLIP_DISTANCE1 = static_cast<GLenum>(0x3001);
  const GLenum CLIP_DISTANCE2 = static_cast<GLenum>(0x3002);
  const GLenum CLIP_DISTANCE3 = static_cast<GLenum>(0x3003);
  const GLenum CLIP_DISTANCE4 = static_cast<GLenum>(0x3004);
  const GLenum CLIP_DISTANCE5 = static_cast<GLenum>(0x3005);
  const GLenum CLIP_DISTANCE6 = static_cast<GLenum>(0x3006);
  const GLenum CLIP_DISTANCE7 = static_cast<GLenum>(0x3007);
  const GLenum MAX_CLIP_DISTANCES = static_cast<GLenum>(0x0D32);
  const GLenum MAJOR_VERSION = static_cast<GLenum>(0x821B);
  const GLenum MINOR_VERSION = static_cast<GLenum>(0x821C);
  const GLenum NUM_EXTENSIONS = static_cast<GLenum>(0x821D);
  const GLenum CONTEXT_FLAGS = static_cast<GLenum>(0x821E);
  const GLenum DEPTH_BUFFER = static_cast<GLenum>(0x8223);
  const GLenum STENCIL_BUFFER = static_cast<GLenum>(0x8224);
  const GLenum COMPRESSED_RED = static_cast<GLenum>(0x8225);
  const GLenum COMPRESSED_RG = static_cast<GLenum>(0x8226);
  const GLenum CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = static_cast<GLenum>(0x0001);
  const GLenum RGBA32F = static_cast<GLenum>(0x8814);
  const GLenum RGB32F = static_cast<GLenum>(0x8815);
  const GLenum RGBA16F = static_cast<GLenum>(0x881A);
  const GLenum RGB16F = static_cast<GLenum>(0x881B);
  const GLenum VERTEX_ATTRIB_ARRAY_INTEGER = static_cast<GLenum>(0x88FD);
  const GLenum MAX_ARRAY_TEXTURE_LAYERS = static_cast<GLenum>(0x88FF);
  const GLenum MIN_PROGRAM_TEXEL_OFFSET = static_cast<GLenum>(0x8904);
  const GLenum MAX_PROGRAM_TEXEL_OFFSET = static_cast<GLenum>(0x8905);
  const GLenum CLAMP_READ_COLOR = static_cast<GLenum>(0x891C);
  const GLenum FIXED_ONLY = static_cast<GLenum>(0x891D);
  const GLenum MAX_VARYING_COMPONENTS = static_cast<GLenum>(0x8B4B);
  const GLenum TEXTURE_1D_ARRAY = static_cast<GLenum>(0x8C18);
  const GLenum PROXY_TEXTURE_1D_ARRAY = static_cast<GLenum>(0x8C19);
  const GLenum TEXTURE_2D_ARRAY = static_cast<GLenum>(0x8C1A);
  const GLenum PROXY_TEXTURE_2D_ARRAY = static_cast<GLenum>(0x8C1B);
  const GLenum TEXTURE_BINDING_1D_ARRAY = static_cast<GLenum>(0x8C1C);
  const GLenum TEXTURE_BINDING_2D_ARRAY = static_cast<GLenum>(0x8C1D);
  const GLenum R11F_G11F_B10F = static_cast<GLenum>(0x8C3A);
  const GLenum UNSIGNED_INT_10F_11F_11F_REV = static_cast<GLenum>(0x8C3B);
  const GLenum RGB9_E5 = static_cast<GLenum>(0x8C3D);
  const GLenum UNSIGNED_INT_5_9_9_9_REV = static_cast<GLenum>(0x8C3E);
  const GLenum TEXTURE_SHARED_SIZE = static_cast<GLenum>(0x8C3F);
  const GLenum TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = static_cast<GLenum>(0x8C76);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_MODE = static_cast<GLenum>(0x8C7F);
  const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = static_cast<GLenum>(0x8C80);
  const GLenum TRANSFORM_FEEDBACK_VARYINGS = static_cast<GLenum>(0x8C83);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_START = static_cast<GLenum>(0x8C84);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_SIZE = static_cast<GLenum>(0x8C85);
  const GLenum PRIMITIVES_GENERATED = static_cast<GLenum>(0x8C87);
  const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = static_cast<GLenum>(0x8C88);
  const GLenum RASTERIZER_DISCARD = static_cast<GLenum>(0x8C89);
  const GLenum MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = static_cast<GLenum>(0x8C8A);
  const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = static_cast<GLenum>(0x8C8B);
  const GLenum INTERLEAVED_ATTRIBS = static_cast<GLenum>(0x8C8C);
  const GLenum SEPARATE_ATTRIBS = static_cast<GLenum>(0x8C8D);
  const GLenum TRANSFORM_FEEDBACK_BUFFER = static_cast<GLenum>(0x8C8E);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_BINDING = static_cast<GLenum>(0x8C8F);
  const GLenum RGBA32UI = static_cast<GLenum>(0x8D70);
  const GLenum RGB32UI = static_cast<GLenum>(0x8D71);
  const GLenum RGBA16UI = static_cast<GLenum>(0x8D76);
  const GLenum RGB16UI = static_cast<GLenum>(0x8D77);
  const GLenum RGBA8UI = static_cast<GLenum>(0x8D7C);
  const GLenum RGB8UI = static_cast<GLenum>(0x8D7D);
  const GLenum RGBA32I = static_cast<GLenum>(0x8D82);
  const GLenum RGB32I = static_cast<GLenum>(0x8D83);
  const GLenum RGBA16I = static_cast<GLenum>(0x8D88);
  const GLenum RGB16I = static_cast<GLenum>(0x8D89);
  const GLenum RGBA8I = static_cast<GLenum>(0x8D8E);
  const GLenum RGB8I = static_cast<GLenum>(0x8D8F);
  const GLenum RED_INTEGER = static_cast<GLenum>(0x8D94);
  const GLenum GREEN_INTEGER = static_cast<GLenum>(0x8D95);
  const GLenum BLUE_INTEGER = static_cast<GLenum>(0x8D96);
  const GLenum RGB_INTEGER = static_cast<GLenum>(0x8D98);
  const GLenum RGBA_INTEGER = static_cast<GLenum>(0x8D99);
  const GLenum BGR_INTEGER = static_cast<GLenum>(0x8D9A);
  const GLenum BGRA_INTEGER = static_cast<GLenum>(0x8D9B);
  const GLenum SAMPLER_1D_ARRAY = static_cast<GLenum>(0x8DC0);
  const GLenum SAMPLER_2D_ARRAY = static_cast<GLenum>(0x8DC1);
  const GLenum SAMPLER_1D_ARRAY_SHADOW = static_cast<GLenum>(0x8DC3);
  const GLenum SAMPLER_2D_ARRAY_SHADOW = static_cast<GLenum>(0x8DC4);
  const GLenum SAMPLER_CUBE_SHADOW = static_cast<GLenum>(0x8DC5);
  const GLenum UNSIGNED_INT_VEC2 = static_cast<GLenum>(0x8DC6);
  const GLenum UNSIGNED_INT_VEC3 = static_cast<GLenum>(0x8DC7);
  const GLenum UNSIGNED_INT_VEC4 = static_cast<GLenum>(0x8DC8);
  const GLenum INT_SAMPLER_1D = static_cast<GLenum>(0x8DC9);
  const GLenum INT_SAMPLER_2D = static_cast<GLenum>(0x8DCA);
  const GLenum INT_SAMPLER_3D = static_cast<GLenum>(0x8DCB);
  const GLenum INT_SAMPLER_CUBE = static_cast<GLenum>(0x8DCC);
  const GLenum INT_SAMPLER_1D_ARRAY = static_cast<GLenum>(0x8DCE);
  const GLenum INT_SAMPLER_2D_ARRAY = static_cast<GLenum>(0x8DCF);
  const GLenum UNSIGNED_INT_SAMPLER_1D = static_cast<GLenum>(0x8DD1);
  const GLenum UNSIGNED_INT_SAMPLER_2D = static_cast<GLenum>(0x8DD2);
  const GLenum UNSIGNED_INT_SAMPLER_3D = static_cast<GLenum>(0x8DD3);
  const GLenum UNSIGNED_INT_SAMPLER_CUBE = static_cast<GLenum>(0x8DD4);
  const GLenum UNSIGNED_INT_SAMPLER_1D_ARRAY = static_cast<GLenum>(0x8DD6);
  const GLenum UNSIGNED_INT_SAMPLER_2D_ARRAY = static_cast<GLenum>(0x8DD7);
  const GLenum QUERY_WAIT = static_cast<GLenum>(0x8E13);
  const GLenum QUERY_NO_WAIT = static_cast<GLenum>(0x8E14);
  const GLenum QUERY_BY_REGION_WAIT = static_cast<GLenum>(0x8E15);
  const GLenum QUERY_BY_REGION_NO_WAIT = static_cast<GLenum>(0x8E16);
  const GLenum BUFFER_ACCESS_FLAGS = static_cast<GLenum>(0x911F);
  const GLenum BUFFER_MAP_LENGTH = static_cast<GLenum>(0x9120);
  const GLenum BUFFER_MAP_OFFSET = static_cast<GLenum>(0x9121);
  typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
  typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
  typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
  typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
  typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
  typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
  typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
  typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
  typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
  typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
  typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
  typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);
  typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
  typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
  typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
  typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
  typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
  typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
  typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
  typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
  typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
  typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
  typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
  extern VTK_RENDERING_EXPORT PFNGLCOLORMASKIPROC ColorMaski;
  extern VTK_RENDERING_EXPORT PFNGLGETBOOLEANI_VPROC GetBooleani_v;
  extern VTK_RENDERING_EXPORT PFNGLGETINTEGERI_VPROC GetIntegeri_v;
  extern VTK_RENDERING_EXPORT PFNGLENABLEIPROC Enablei;
  extern VTK_RENDERING_EXPORT PFNGLDISABLEIPROC Disablei;
  extern VTK_RENDERING_EXPORT PFNGLISENABLEDIPROC IsEnabledi;
  extern VTK_RENDERING_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC BeginTransformFeedback;
  extern VTK_RENDERING_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC EndTransformFeedback;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERRANGEPROC BindBufferRange;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERBASEPROC BindBufferBase;
  extern VTK_RENDERING_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC TransformFeedbackVaryings;
  extern VTK_RENDERING_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC GetTransformFeedbackVarying;
  extern VTK_RENDERING_EXPORT PFNGLCLAMPCOLORPROC ClampColor;
  extern VTK_RENDERING_EXPORT PFNGLBEGINCONDITIONALRENDERPROC BeginConditionalRender;
  extern VTK_RENDERING_EXPORT PFNGLENDCONDITIONALRENDERPROC EndConditionalRender;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC VertexAttribIPointer;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBIIVPROC GetVertexAttribIiv;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC GetVertexAttribIuiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1IPROC VertexAttribI1i;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2IPROC VertexAttribI2i;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3IPROC VertexAttribI3i;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4IPROC VertexAttribI4i;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1UIPROC VertexAttribI1ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2UIPROC VertexAttribI2ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3UIPROC VertexAttribI3ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4UIPROC VertexAttribI4ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1IVPROC VertexAttribI1iv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2IVPROC VertexAttribI2iv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3IVPROC VertexAttribI3iv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4IVPROC VertexAttribI4iv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1UIVPROC VertexAttribI1uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2UIVPROC VertexAttribI2uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3UIVPROC VertexAttribI3uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4UIVPROC VertexAttribI4uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4BVPROC VertexAttribI4bv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4SVPROC VertexAttribI4sv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4UBVPROC VertexAttribI4ubv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4USVPROC VertexAttribI4usv;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMUIVPROC GetUniformuiv;
  extern VTK_RENDERING_EXPORT PFNGLBINDFRAGDATALOCATIONPROC BindFragDataLocation;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAGDATALOCATIONPROC GetFragDataLocation;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1UIPROC Uniform1ui;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2UIPROC Uniform2ui;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3UIPROC Uniform3ui;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4UIPROC Uniform4ui;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1UIVPROC Uniform1uiv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2UIVPROC Uniform2uiv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3UIVPROC Uniform3uiv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4UIVPROC Uniform4uiv;
  extern VTK_RENDERING_EXPORT PFNGLTEXPARAMETERIIVPROC TexParameterIiv;
  extern VTK_RENDERING_EXPORT PFNGLTEXPARAMETERIUIVPROC TexParameterIuiv;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXPARAMETERIIVPROC GetTexParameterIiv;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXPARAMETERIUIVPROC GetTexParameterIuiv;
  extern VTK_RENDERING_EXPORT PFNGLCLEARBUFFERIVPROC ClearBufferiv;
  extern VTK_RENDERING_EXPORT PFNGLCLEARBUFFERUIVPROC ClearBufferuiv;
  extern VTK_RENDERING_EXPORT PFNGLCLEARBUFFERFVPROC ClearBufferfv;
  extern VTK_RENDERING_EXPORT PFNGLCLEARBUFFERFIPROC ClearBufferfi;
  extern VTK_RENDERING_EXPORT PFNGLGETSTRINGIPROC GetStringi;

  //Definitions for GL_VERSION_3_0_DEPRECATED
  const GLenum CLAMP_VERTEX_COLOR = static_cast<GLenum>(0x891A);
  const GLenum CLAMP_FRAGMENT_COLOR = static_cast<GLenum>(0x891B);
  const GLenum ALPHA_INTEGER = static_cast<GLenum>(0x8D97);

  //Definitions for GL_VERSION_3_1
  const GLenum SAMPLER_2D_RECT = static_cast<GLenum>(0x8B63);
  const GLenum SAMPLER_2D_RECT_SHADOW = static_cast<GLenum>(0x8B64);
  const GLenum SAMPLER_BUFFER = static_cast<GLenum>(0x8DC2);
  const GLenum INT_SAMPLER_2D_RECT = static_cast<GLenum>(0x8DCD);
  const GLenum INT_SAMPLER_BUFFER = static_cast<GLenum>(0x8DD0);
  const GLenum UNSIGNED_INT_SAMPLER_2D_RECT = static_cast<GLenum>(0x8DD5);
  const GLenum UNSIGNED_INT_SAMPLER_BUFFER = static_cast<GLenum>(0x8DD8);
  const GLenum TEXTURE_BUFFER = static_cast<GLenum>(0x8C2A);
  const GLenum MAX_TEXTURE_BUFFER_SIZE = static_cast<GLenum>(0x8C2B);
  const GLenum TEXTURE_BINDING_BUFFER = static_cast<GLenum>(0x8C2C);
  const GLenum TEXTURE_BUFFER_DATA_STORE_BINDING = static_cast<GLenum>(0x8C2D);
  const GLenum TEXTURE_BUFFER_FORMAT = static_cast<GLenum>(0x8C2E);
  const GLenum TEXTURE_RECTANGLE = static_cast<GLenum>(0x84F5);
  const GLenum TEXTURE_BINDING_RECTANGLE = static_cast<GLenum>(0x84F6);
  const GLenum PROXY_TEXTURE_RECTANGLE = static_cast<GLenum>(0x84F7);
  const GLenum MAX_RECTANGLE_TEXTURE_SIZE = static_cast<GLenum>(0x84F8);
  const GLenum RED_SNORM = static_cast<GLenum>(0x8F90);
  const GLenum RG_SNORM = static_cast<GLenum>(0x8F91);
  const GLenum RGB_SNORM = static_cast<GLenum>(0x8F92);
  const GLenum RGBA_SNORM = static_cast<GLenum>(0x8F93);
  const GLenum R8_SNORM = static_cast<GLenum>(0x8F94);
  const GLenum RG8_SNORM = static_cast<GLenum>(0x8F95);
  const GLenum RGB8_SNORM = static_cast<GLenum>(0x8F96);
  const GLenum RGBA8_SNORM = static_cast<GLenum>(0x8F97);
  const GLenum R16_SNORM = static_cast<GLenum>(0x8F98);
  const GLenum RG16_SNORM = static_cast<GLenum>(0x8F99);
  const GLenum RGB16_SNORM = static_cast<GLenum>(0x8F9A);
  const GLenum RGBA16_SNORM = static_cast<GLenum>(0x8F9B);
  const GLenum SIGNED_NORMALIZED = static_cast<GLenum>(0x8F9C);
  const GLenum PRIMITIVE_RESTART = static_cast<GLenum>(0x8F9D);
  const GLenum PRIMITIVE_RESTART_INDEX = static_cast<GLenum>(0x8F9E);
  typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
  typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);
  extern VTK_RENDERING_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC DrawArraysInstanced;
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC DrawElementsInstanced;
  extern VTK_RENDERING_EXPORT PFNGLTEXBUFFERPROC TexBuffer;
  extern VTK_RENDERING_EXPORT PFNGLPRIMITIVERESTARTINDEXPROC PrimitiveRestartIndex;

  //Definitions for GL_VERSION_3_2
  const GLenum CONTEXT_CORE_PROFILE_BIT = static_cast<GLenum>(0x00000001);
  const GLenum CONTEXT_COMPATIBILITY_PROFILE_BIT = static_cast<GLenum>(0x00000002);
  const GLenum LINES_ADJACENCY = static_cast<GLenum>(0x000A);
  const GLenum LINE_STRIP_ADJACENCY = static_cast<GLenum>(0x000B);
  const GLenum TRIANGLES_ADJACENCY = static_cast<GLenum>(0x000C);
  const GLenum TRIANGLE_STRIP_ADJACENCY = static_cast<GLenum>(0x000D);
  const GLenum PROGRAM_POINT_SIZE = static_cast<GLenum>(0x8642);
  const GLenum MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = static_cast<GLenum>(0x8C29);
  const GLenum FRAMEBUFFER_ATTACHMENT_LAYERED = static_cast<GLenum>(0x8DA7);
  const GLenum FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = static_cast<GLenum>(0x8DA8);
  const GLenum GEOMETRY_SHADER = static_cast<GLenum>(0x8DD9);
  const GLenum GEOMETRY_VERTICES_OUT = static_cast<GLenum>(0x8916);
  const GLenum GEOMETRY_INPUT_TYPE = static_cast<GLenum>(0x8917);
  const GLenum GEOMETRY_OUTPUT_TYPE = static_cast<GLenum>(0x8918);
  const GLenum MAX_GEOMETRY_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8DDF);
  const GLenum MAX_GEOMETRY_OUTPUT_VERTICES = static_cast<GLenum>(0x8DE0);
  const GLenum MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = static_cast<GLenum>(0x8DE1);
  const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = static_cast<GLenum>(0x9122);
  const GLenum MAX_GEOMETRY_INPUT_COMPONENTS = static_cast<GLenum>(0x9123);
  const GLenum MAX_GEOMETRY_OUTPUT_COMPONENTS = static_cast<GLenum>(0x9124);
  const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = static_cast<GLenum>(0x9125);
  const GLenum CONTEXT_PROFILE_MASK = static_cast<GLenum>(0x9126);
  typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
  typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  extern VTK_RENDERING_EXPORT PFNGLGETINTEGER64I_VPROC GetInteger64i_v;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC GetBufferParameteri64v;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETERIPROC ProgramParameteri;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC FramebufferTexture;

  //Definitions for GL_VERSION_3_3

  //Definitions for GL_VERSION_4_0

  //Definitions for GL_ARB_multitexture
  const GLenum TEXTURE0_ARB = static_cast<GLenum>(0x84C0);
  const GLenum TEXTURE1_ARB = static_cast<GLenum>(0x84C1);
  const GLenum TEXTURE2_ARB = static_cast<GLenum>(0x84C2);
  const GLenum TEXTURE3_ARB = static_cast<GLenum>(0x84C3);
  const GLenum TEXTURE4_ARB = static_cast<GLenum>(0x84C4);
  const GLenum TEXTURE5_ARB = static_cast<GLenum>(0x84C5);
  const GLenum TEXTURE6_ARB = static_cast<GLenum>(0x84C6);
  const GLenum TEXTURE7_ARB = static_cast<GLenum>(0x84C7);
  const GLenum TEXTURE8_ARB = static_cast<GLenum>(0x84C8);
  const GLenum TEXTURE9_ARB = static_cast<GLenum>(0x84C9);
  const GLenum TEXTURE10_ARB = static_cast<GLenum>(0x84CA);
  const GLenum TEXTURE11_ARB = static_cast<GLenum>(0x84CB);
  const GLenum TEXTURE12_ARB = static_cast<GLenum>(0x84CC);
  const GLenum TEXTURE13_ARB = static_cast<GLenum>(0x84CD);
  const GLenum TEXTURE14_ARB = static_cast<GLenum>(0x84CE);
  const GLenum TEXTURE15_ARB = static_cast<GLenum>(0x84CF);
  const GLenum TEXTURE16_ARB = static_cast<GLenum>(0x84D0);
  const GLenum TEXTURE17_ARB = static_cast<GLenum>(0x84D1);
  const GLenum TEXTURE18_ARB = static_cast<GLenum>(0x84D2);
  const GLenum TEXTURE19_ARB = static_cast<GLenum>(0x84D3);
  const GLenum TEXTURE20_ARB = static_cast<GLenum>(0x84D4);
  const GLenum TEXTURE21_ARB = static_cast<GLenum>(0x84D5);
  const GLenum TEXTURE22_ARB = static_cast<GLenum>(0x84D6);
  const GLenum TEXTURE23_ARB = static_cast<GLenum>(0x84D7);
  const GLenum TEXTURE24_ARB = static_cast<GLenum>(0x84D8);
  const GLenum TEXTURE25_ARB = static_cast<GLenum>(0x84D9);
  const GLenum TEXTURE26_ARB = static_cast<GLenum>(0x84DA);
  const GLenum TEXTURE27_ARB = static_cast<GLenum>(0x84DB);
  const GLenum TEXTURE28_ARB = static_cast<GLenum>(0x84DC);
  const GLenum TEXTURE29_ARB = static_cast<GLenum>(0x84DD);
  const GLenum TEXTURE30_ARB = static_cast<GLenum>(0x84DE);
  const GLenum TEXTURE31_ARB = static_cast<GLenum>(0x84DF);
  const GLenum ACTIVE_TEXTURE_ARB = static_cast<GLenum>(0x84E0);
  const GLenum CLIENT_ACTIVE_TEXTURE_ARB = static_cast<GLenum>(0x84E1);
  const GLenum MAX_TEXTURE_UNITS_ARB = static_cast<GLenum>(0x84E2);
  typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
  typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
  extern VTK_RENDERING_EXPORT PFNGLACTIVETEXTUREARBPROC ActiveTextureARB;
  extern VTK_RENDERING_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC ClientActiveTextureARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1DARBPROC MultiTexCoord1dARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1DVARBPROC MultiTexCoord1dvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1FARBPROC MultiTexCoord1fARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1FVARBPROC MultiTexCoord1fvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1IARBPROC MultiTexCoord1iARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1IVARBPROC MultiTexCoord1ivARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1SARBPROC MultiTexCoord1sARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1SVARBPROC MultiTexCoord1svARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2DARBPROC MultiTexCoord2dARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2DVARBPROC MultiTexCoord2dvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2FARBPROC MultiTexCoord2fARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2FVARBPROC MultiTexCoord2fvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2IARBPROC MultiTexCoord2iARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2IVARBPROC MultiTexCoord2ivARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2SARBPROC MultiTexCoord2sARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2SVARBPROC MultiTexCoord2svARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3DARBPROC MultiTexCoord3dARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3DVARBPROC MultiTexCoord3dvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3FARBPROC MultiTexCoord3fARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3FVARBPROC MultiTexCoord3fvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3IARBPROC MultiTexCoord3iARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3IVARBPROC MultiTexCoord3ivARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3SARBPROC MultiTexCoord3sARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3SVARBPROC MultiTexCoord3svARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4DARBPROC MultiTexCoord4dARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4DVARBPROC MultiTexCoord4dvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4FARBPROC MultiTexCoord4fARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4FVARBPROC MultiTexCoord4fvARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4IARBPROC MultiTexCoord4iARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4IVARBPROC MultiTexCoord4ivARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4SARBPROC MultiTexCoord4sARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4SVARBPROC MultiTexCoord4svARB;

  //Definitions for GL_ARB_transpose_matrix
  const GLenum TRANSPOSE_MODELVIEW_MATRIX_ARB = static_cast<GLenum>(0x84E3);
  const GLenum TRANSPOSE_PROJECTION_MATRIX_ARB = static_cast<GLenum>(0x84E4);
  const GLenum TRANSPOSE_TEXTURE_MATRIX_ARB = static_cast<GLenum>(0x84E5);
  const GLenum TRANSPOSE_COLOR_MATRIX_ARB = static_cast<GLenum>(0x84E6);
  typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
  typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
  typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
  typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
  extern VTK_RENDERING_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC LoadTransposeMatrixfARB;
  extern VTK_RENDERING_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC LoadTransposeMatrixdARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC MultTransposeMatrixfARB;
  extern VTK_RENDERING_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC MultTransposeMatrixdARB;

  //Definitions for GL_ARB_multisample
  const GLenum MULTISAMPLE_ARB = static_cast<GLenum>(0x809D);
  const GLenum SAMPLE_ALPHA_TO_COVERAGE_ARB = static_cast<GLenum>(0x809E);
  const GLenum SAMPLE_ALPHA_TO_ONE_ARB = static_cast<GLenum>(0x809F);
  const GLenum SAMPLE_COVERAGE_ARB = static_cast<GLenum>(0x80A0);
  const GLenum SAMPLE_BUFFERS_ARB = static_cast<GLenum>(0x80A8);
  const GLenum SAMPLES_ARB = static_cast<GLenum>(0x80A9);
  const GLenum SAMPLE_COVERAGE_VALUE_ARB = static_cast<GLenum>(0x80AA);
  const GLenum SAMPLE_COVERAGE_INVERT_ARB = static_cast<GLenum>(0x80AB);
  const GLenum MULTISAMPLE_BIT_ARB = static_cast<GLenum>(0x20000000);
  typedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
  extern VTK_RENDERING_EXPORT PFNGLSAMPLECOVERAGEARBPROC SampleCoverageARB;

  //Definitions for GL_ARB_texture_env_add

  //Definitions for GL_ARB_texture_cube_map
  const GLenum NORMAL_MAP_ARB = static_cast<GLenum>(0x8511);
  const GLenum REFLECTION_MAP_ARB = static_cast<GLenum>(0x8512);
  const GLenum TEXTURE_CUBE_MAP_ARB = static_cast<GLenum>(0x8513);
  const GLenum TEXTURE_BINDING_CUBE_MAP_ARB = static_cast<GLenum>(0x8514);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_X_ARB = static_cast<GLenum>(0x8515);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = static_cast<GLenum>(0x8516);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = static_cast<GLenum>(0x8517);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = static_cast<GLenum>(0x8518);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = static_cast<GLenum>(0x8519);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = static_cast<GLenum>(0x851A);
  const GLenum PROXY_TEXTURE_CUBE_MAP_ARB = static_cast<GLenum>(0x851B);
  const GLenum MAX_CUBE_MAP_TEXTURE_SIZE_ARB = static_cast<GLenum>(0x851C);

  //Definitions for GL_ARB_texture_compression
  const GLenum COMPRESSED_ALPHA_ARB = static_cast<GLenum>(0x84E9);
  const GLenum COMPRESSED_LUMINANCE_ARB = static_cast<GLenum>(0x84EA);
  const GLenum COMPRESSED_LUMINANCE_ALPHA_ARB = static_cast<GLenum>(0x84EB);
  const GLenum COMPRESSED_INTENSITY_ARB = static_cast<GLenum>(0x84EC);
  const GLenum COMPRESSED_RGB_ARB = static_cast<GLenum>(0x84ED);
  const GLenum COMPRESSED_RGBA_ARB = static_cast<GLenum>(0x84EE);
  const GLenum TEXTURE_COMPRESSION_HINT_ARB = static_cast<GLenum>(0x84EF);
  const GLenum TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = static_cast<GLenum>(0x86A0);
  const GLenum TEXTURE_COMPRESSED_ARB = static_cast<GLenum>(0x86A1);
  const GLenum NUM_COMPRESSED_TEXTURE_FORMATS_ARB = static_cast<GLenum>(0x86A2);
  const GLenum COMPRESSED_TEXTURE_FORMATS_ARB = static_cast<GLenum>(0x86A3);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
  typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid *img);
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC CompressedTexImage3DARB;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC CompressedTexImage2DARB;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC CompressedTexImage1DARB;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC CompressedTexSubImage3DARB;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC CompressedTexSubImage2DARB;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC CompressedTexSubImage1DARB;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC GetCompressedTexImageARB;

  //Definitions for GL_ARB_texture_border_clamp
  const GLenum CLAMP_TO_BORDER_ARB = static_cast<GLenum>(0x812D);

  //Definitions for GL_ARB_point_parameters
  const GLenum POINT_SIZE_MIN_ARB = static_cast<GLenum>(0x8126);
  const GLenum POINT_SIZE_MAX_ARB = static_cast<GLenum>(0x8127);
  const GLenum POINT_FADE_THRESHOLD_SIZE_ARB = static_cast<GLenum>(0x8128);
  const GLenum POINT_DISTANCE_ATTENUATION_ARB = static_cast<GLenum>(0x8129);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFARBPROC PointParameterfARB;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFVARBPROC PointParameterfvARB;

  //Definitions for GL_ARB_vertex_blend
  const GLenum MAX_VERTEX_UNITS_ARB = static_cast<GLenum>(0x86A4);
  const GLenum ACTIVE_VERTEX_UNITS_ARB = static_cast<GLenum>(0x86A5);
  const GLenum WEIGHT_SUM_UNITY_ARB = static_cast<GLenum>(0x86A6);
  const GLenum VERTEX_BLEND_ARB = static_cast<GLenum>(0x86A7);
  const GLenum CURRENT_WEIGHT_ARB = static_cast<GLenum>(0x86A8);
  const GLenum WEIGHT_ARRAY_TYPE_ARB = static_cast<GLenum>(0x86A9);
  const GLenum WEIGHT_ARRAY_STRIDE_ARB = static_cast<GLenum>(0x86AA);
  const GLenum WEIGHT_ARRAY_SIZE_ARB = static_cast<GLenum>(0x86AB);
  const GLenum WEIGHT_ARRAY_POINTER_ARB = static_cast<GLenum>(0x86AC);
  const GLenum WEIGHT_ARRAY_ARB = static_cast<GLenum>(0x86AD);
  const GLenum MODELVIEW0_ARB = static_cast<GLenum>(0x1700);
  const GLenum MODELVIEW1_ARB = static_cast<GLenum>(0x850A);
  const GLenum MODELVIEW2_ARB = static_cast<GLenum>(0x8722);
  const GLenum MODELVIEW3_ARB = static_cast<GLenum>(0x8723);
  const GLenum MODELVIEW4_ARB = static_cast<GLenum>(0x8724);
  const GLenum MODELVIEW5_ARB = static_cast<GLenum>(0x8725);
  const GLenum MODELVIEW6_ARB = static_cast<GLenum>(0x8726);
  const GLenum MODELVIEW7_ARB = static_cast<GLenum>(0x8727);
  const GLenum MODELVIEW8_ARB = static_cast<GLenum>(0x8728);
  const GLenum MODELVIEW9_ARB = static_cast<GLenum>(0x8729);
  const GLenum MODELVIEW10_ARB = static_cast<GLenum>(0x872A);
  const GLenum MODELVIEW11_ARB = static_cast<GLenum>(0x872B);
  const GLenum MODELVIEW12_ARB = static_cast<GLenum>(0x872C);
  const GLenum MODELVIEW13_ARB = static_cast<GLenum>(0x872D);
  const GLenum MODELVIEW14_ARB = static_cast<GLenum>(0x872E);
  const GLenum MODELVIEW15_ARB = static_cast<GLenum>(0x872F);
  const GLenum MODELVIEW16_ARB = static_cast<GLenum>(0x8730);
  const GLenum MODELVIEW17_ARB = static_cast<GLenum>(0x8731);
  const GLenum MODELVIEW18_ARB = static_cast<GLenum>(0x8732);
  const GLenum MODELVIEW19_ARB = static_cast<GLenum>(0x8733);
  const GLenum MODELVIEW20_ARB = static_cast<GLenum>(0x8734);
  const GLenum MODELVIEW21_ARB = static_cast<GLenum>(0x8735);
  const GLenum MODELVIEW22_ARB = static_cast<GLenum>(0x8736);
  const GLenum MODELVIEW23_ARB = static_cast<GLenum>(0x8737);
  const GLenum MODELVIEW24_ARB = static_cast<GLenum>(0x8738);
  const GLenum MODELVIEW25_ARB = static_cast<GLenum>(0x8739);
  const GLenum MODELVIEW26_ARB = static_cast<GLenum>(0x873A);
  const GLenum MODELVIEW27_ARB = static_cast<GLenum>(0x873B);
  const GLenum MODELVIEW28_ARB = static_cast<GLenum>(0x873C);
  const GLenum MODELVIEW29_ARB = static_cast<GLenum>(0x873D);
  const GLenum MODELVIEW30_ARB = static_cast<GLenum>(0x873E);
  const GLenum MODELVIEW31_ARB = static_cast<GLenum>(0x873F);
  typedef void (APIENTRYP PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);
  typedef void (APIENTRYP PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);
  typedef void (APIENTRYP PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);
  typedef void (APIENTRYP PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
  typedef void (APIENTRYP PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);
  typedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);
  typedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);
  typedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);
  typedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC) (GLint count);
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTBVARBPROC WeightbvARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTSVARBPROC WeightsvARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTIVARBPROC WeightivARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTFVARBPROC WeightfvARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTDVARBPROC WeightdvARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTUBVARBPROC WeightubvARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTUSVARBPROC WeightusvARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTUIVARBPROC WeightuivARB;
  extern VTK_RENDERING_EXPORT PFNGLWEIGHTPOINTERARBPROC WeightPointerARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXBLENDARBPROC VertexBlendARB;

  //Definitions for GL_ARB_matrix_palette
  const GLenum MATRIX_PALETTE_ARB = static_cast<GLenum>(0x8840);
  const GLenum MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = static_cast<GLenum>(0x8841);
  const GLenum MAX_PALETTE_MATRICES_ARB = static_cast<GLenum>(0x8842);
  const GLenum CURRENT_PALETTE_MATRIX_ARB = static_cast<GLenum>(0x8843);
  const GLenum MATRIX_INDEX_ARRAY_ARB = static_cast<GLenum>(0x8844);
  const GLenum CURRENT_MATRIX_INDEX_ARB = static_cast<GLenum>(0x8845);
  const GLenum MATRIX_INDEX_ARRAY_SIZE_ARB = static_cast<GLenum>(0x8846);
  const GLenum MATRIX_INDEX_ARRAY_TYPE_ARB = static_cast<GLenum>(0x8847);
  const GLenum MATRIX_INDEX_ARRAY_STRIDE_ARB = static_cast<GLenum>(0x8848);
  const GLenum MATRIX_INDEX_ARRAY_POINTER_ARB = static_cast<GLenum>(0x8849);
  typedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
  typedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);
  typedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);
  typedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);
  typedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC CurrentPaletteMatrixARB;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXINDEXUBVARBPROC MatrixIndexubvARB;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXINDEXUSVARBPROC MatrixIndexusvARB;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXINDEXUIVARBPROC MatrixIndexuivARB;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC MatrixIndexPointerARB;

  //Definitions for GL_ARB_texture_env_combine
  const GLenum COMBINE_ARB = static_cast<GLenum>(0x8570);
  const GLenum COMBINE_RGB_ARB = static_cast<GLenum>(0x8571);
  const GLenum COMBINE_ALPHA_ARB = static_cast<GLenum>(0x8572);
  const GLenum SOURCE0_RGB_ARB = static_cast<GLenum>(0x8580);
  const GLenum SOURCE1_RGB_ARB = static_cast<GLenum>(0x8581);
  const GLenum SOURCE2_RGB_ARB = static_cast<GLenum>(0x8582);
  const GLenum SOURCE0_ALPHA_ARB = static_cast<GLenum>(0x8588);
  const GLenum SOURCE1_ALPHA_ARB = static_cast<GLenum>(0x8589);
  const GLenum SOURCE2_ALPHA_ARB = static_cast<GLenum>(0x858A);
  const GLenum OPERAND0_RGB_ARB = static_cast<GLenum>(0x8590);
  const GLenum OPERAND1_RGB_ARB = static_cast<GLenum>(0x8591);
  const GLenum OPERAND2_RGB_ARB = static_cast<GLenum>(0x8592);
  const GLenum OPERAND0_ALPHA_ARB = static_cast<GLenum>(0x8598);
  const GLenum OPERAND1_ALPHA_ARB = static_cast<GLenum>(0x8599);
  const GLenum OPERAND2_ALPHA_ARB = static_cast<GLenum>(0x859A);
  const GLenum RGB_SCALE_ARB = static_cast<GLenum>(0x8573);
  const GLenum ADD_SIGNED_ARB = static_cast<GLenum>(0x8574);
  const GLenum INTERPOLATE_ARB = static_cast<GLenum>(0x8575);
  const GLenum SUBTRACT_ARB = static_cast<GLenum>(0x84E7);
  const GLenum CONSTANT_ARB = static_cast<GLenum>(0x8576);
  const GLenum PRIMARY_COLOR_ARB = static_cast<GLenum>(0x8577);
  const GLenum PREVIOUS_ARB = static_cast<GLenum>(0x8578);

  //Definitions for GL_ARB_texture_env_crossbar

  //Definitions for GL_ARB_texture_env_dot3
  const GLenum DOT3_RGB_ARB = static_cast<GLenum>(0x86AE);
  const GLenum DOT3_RGBA_ARB = static_cast<GLenum>(0x86AF);

  //Definitions for GL_ARB_texture_mirrored_repeat
  const GLenum MIRRORED_REPEAT_ARB = static_cast<GLenum>(0x8370);

  //Definitions for GL_ARB_depth_texture
  const GLenum DEPTH_COMPONENT16_ARB = static_cast<GLenum>(0x81A5);
  const GLenum DEPTH_COMPONENT24_ARB = static_cast<GLenum>(0x81A6);
  const GLenum DEPTH_COMPONENT32_ARB = static_cast<GLenum>(0x81A7);
  const GLenum TEXTURE_DEPTH_SIZE_ARB = static_cast<GLenum>(0x884A);
  const GLenum DEPTH_TEXTURE_MODE_ARB = static_cast<GLenum>(0x884B);

  //Definitions for GL_ARB_shadow
  const GLenum TEXTURE_COMPARE_MODE_ARB = static_cast<GLenum>(0x884C);
  const GLenum TEXTURE_COMPARE_FUNC_ARB = static_cast<GLenum>(0x884D);
  const GLenum COMPARE_R_TO_TEXTURE_ARB = static_cast<GLenum>(0x884E);

  //Definitions for GL_ARB_shadow_ambient
  const GLenum TEXTURE_COMPARE_FAIL_VALUE_ARB = static_cast<GLenum>(0x80BF);

  //Definitions for GL_ARB_window_pos
  typedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2DARBPROC WindowPos2dARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2DVARBPROC WindowPos2dvARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2FARBPROC WindowPos2fARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2FVARBPROC WindowPos2fvARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2IARBPROC WindowPos2iARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2IVARBPROC WindowPos2ivARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2SARBPROC WindowPos2sARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2SVARBPROC WindowPos2svARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3DARBPROC WindowPos3dARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3DVARBPROC WindowPos3dvARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3FARBPROC WindowPos3fARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3FVARBPROC WindowPos3fvARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3IARBPROC WindowPos3iARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3IVARBPROC WindowPos3ivARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3SARBPROC WindowPos3sARB;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3SVARBPROC WindowPos3svARB;

  //Definitions for GL_ARB_vertex_program
  const GLenum COLOR_SUM_ARB = static_cast<GLenum>(0x8458);
  const GLenum VERTEX_PROGRAM_ARB = static_cast<GLenum>(0x8620);
  const GLenum VERTEX_ATTRIB_ARRAY_ENABLED_ARB = static_cast<GLenum>(0x8622);
  const GLenum VERTEX_ATTRIB_ARRAY_SIZE_ARB = static_cast<GLenum>(0x8623);
  const GLenum VERTEX_ATTRIB_ARRAY_STRIDE_ARB = static_cast<GLenum>(0x8624);
  const GLenum VERTEX_ATTRIB_ARRAY_TYPE_ARB = static_cast<GLenum>(0x8625);
  const GLenum CURRENT_VERTEX_ATTRIB_ARB = static_cast<GLenum>(0x8626);
  const GLenum PROGRAM_LENGTH_ARB = static_cast<GLenum>(0x8627);
  const GLenum PROGRAM_STRING_ARB = static_cast<GLenum>(0x8628);
  const GLenum MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = static_cast<GLenum>(0x862E);
  const GLenum MAX_PROGRAM_MATRICES_ARB = static_cast<GLenum>(0x862F);
  const GLenum CURRENT_MATRIX_STACK_DEPTH_ARB = static_cast<GLenum>(0x8640);
  const GLenum CURRENT_MATRIX_ARB = static_cast<GLenum>(0x8641);
  const GLenum VERTEX_PROGRAM_POINT_SIZE_ARB = static_cast<GLenum>(0x8642);
  const GLenum VERTEX_PROGRAM_TWO_SIDE_ARB = static_cast<GLenum>(0x8643);
  const GLenum VERTEX_ATTRIB_ARRAY_POINTER_ARB = static_cast<GLenum>(0x8645);
  const GLenum PROGRAM_ERROR_POSITION_ARB = static_cast<GLenum>(0x864B);
  const GLenum PROGRAM_BINDING_ARB = static_cast<GLenum>(0x8677);
  const GLenum MAX_VERTEX_ATTRIBS_ARB = static_cast<GLenum>(0x8869);
  const GLenum VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = static_cast<GLenum>(0x886A);
  const GLenum PROGRAM_ERROR_STRING_ARB = static_cast<GLenum>(0x8874);
  const GLenum PROGRAM_FORMAT_ASCII_ARB = static_cast<GLenum>(0x8875);
  const GLenum PROGRAM_FORMAT_ARB = static_cast<GLenum>(0x8876);
  const GLenum PROGRAM_INSTRUCTIONS_ARB = static_cast<GLenum>(0x88A0);
  const GLenum MAX_PROGRAM_INSTRUCTIONS_ARB = static_cast<GLenum>(0x88A1);
  const GLenum PROGRAM_NATIVE_INSTRUCTIONS_ARB = static_cast<GLenum>(0x88A2);
  const GLenum MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = static_cast<GLenum>(0x88A3);
  const GLenum PROGRAM_TEMPORARIES_ARB = static_cast<GLenum>(0x88A4);
  const GLenum MAX_PROGRAM_TEMPORARIES_ARB = static_cast<GLenum>(0x88A5);
  const GLenum PROGRAM_NATIVE_TEMPORARIES_ARB = static_cast<GLenum>(0x88A6);
  const GLenum MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = static_cast<GLenum>(0x88A7);
  const GLenum PROGRAM_PARAMETERS_ARB = static_cast<GLenum>(0x88A8);
  const GLenum MAX_PROGRAM_PARAMETERS_ARB = static_cast<GLenum>(0x88A9);
  const GLenum PROGRAM_NATIVE_PARAMETERS_ARB = static_cast<GLenum>(0x88AA);
  const GLenum MAX_PROGRAM_NATIVE_PARAMETERS_ARB = static_cast<GLenum>(0x88AB);
  const GLenum PROGRAM_ATTRIBS_ARB = static_cast<GLenum>(0x88AC);
  const GLenum MAX_PROGRAM_ATTRIBS_ARB = static_cast<GLenum>(0x88AD);
  const GLenum PROGRAM_NATIVE_ATTRIBS_ARB = static_cast<GLenum>(0x88AE);
  const GLenum MAX_PROGRAM_NATIVE_ATTRIBS_ARB = static_cast<GLenum>(0x88AF);
  const GLenum PROGRAM_ADDRESS_REGISTERS_ARB = static_cast<GLenum>(0x88B0);
  const GLenum MAX_PROGRAM_ADDRESS_REGISTERS_ARB = static_cast<GLenum>(0x88B1);
  const GLenum PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = static_cast<GLenum>(0x88B2);
  const GLenum MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = static_cast<GLenum>(0x88B3);
  const GLenum MAX_PROGRAM_LOCAL_PARAMETERS_ARB = static_cast<GLenum>(0x88B4);
  const GLenum MAX_PROGRAM_ENV_PARAMETERS_ARB = static_cast<GLenum>(0x88B5);
  const GLenum PROGRAM_UNDER_NATIVE_LIMITS_ARB = static_cast<GLenum>(0x88B6);
  const GLenum TRANSPOSE_CURRENT_MATRIX_ARB = static_cast<GLenum>(0x88B7);
  const GLenum MATRIX0_ARB = static_cast<GLenum>(0x88C0);
  const GLenum MATRIX1_ARB = static_cast<GLenum>(0x88C1);
  const GLenum MATRIX2_ARB = static_cast<GLenum>(0x88C2);
  const GLenum MATRIX3_ARB = static_cast<GLenum>(0x88C3);
  const GLenum MATRIX4_ARB = static_cast<GLenum>(0x88C4);
  const GLenum MATRIX5_ARB = static_cast<GLenum>(0x88C5);
  const GLenum MATRIX6_ARB = static_cast<GLenum>(0x88C6);
  const GLenum MATRIX7_ARB = static_cast<GLenum>(0x88C7);
  const GLenum MATRIX8_ARB = static_cast<GLenum>(0x88C8);
  const GLenum MATRIX9_ARB = static_cast<GLenum>(0x88C9);
  const GLenum MATRIX10_ARB = static_cast<GLenum>(0x88CA);
  const GLenum MATRIX11_ARB = static_cast<GLenum>(0x88CB);
  const GLenum MATRIX12_ARB = static_cast<GLenum>(0x88CC);
  const GLenum MATRIX13_ARB = static_cast<GLenum>(0x88CD);
  const GLenum MATRIX14_ARB = static_cast<GLenum>(0x88CE);
  const GLenum MATRIX15_ARB = static_cast<GLenum>(0x88CF);
  const GLenum MATRIX16_ARB = static_cast<GLenum>(0x88D0);
  const GLenum MATRIX17_ARB = static_cast<GLenum>(0x88D1);
  const GLenum MATRIX18_ARB = static_cast<GLenum>(0x88D2);
  const GLenum MATRIX19_ARB = static_cast<GLenum>(0x88D3);
  const GLenum MATRIX20_ARB = static_cast<GLenum>(0x88D4);
  const GLenum MATRIX21_ARB = static_cast<GLenum>(0x88D5);
  const GLenum MATRIX22_ARB = static_cast<GLenum>(0x88D6);
  const GLenum MATRIX23_ARB = static_cast<GLenum>(0x88D7);
  const GLenum MATRIX24_ARB = static_cast<GLenum>(0x88D8);
  const GLenum MATRIX25_ARB = static_cast<GLenum>(0x88D9);
  const GLenum MATRIX26_ARB = static_cast<GLenum>(0x88DA);
  const GLenum MATRIX27_ARB = static_cast<GLenum>(0x88DB);
  const GLenum MATRIX28_ARB = static_cast<GLenum>(0x88DC);
  const GLenum MATRIX29_ARB = static_cast<GLenum>(0x88DD);
  const GLenum MATRIX30_ARB = static_cast<GLenum>(0x88DE);
  const GLenum MATRIX31_ARB = static_cast<GLenum>(0x88DF);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
  typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
  typedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
  typedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
  typedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
  typedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
  typedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC) (GLuint program);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1DARBPROC VertexAttrib1dARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1DVARBPROC VertexAttrib1dvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1FARBPROC VertexAttrib1fARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1SARBPROC VertexAttrib1sARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1SVARBPROC VertexAttrib1svARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2DARBPROC VertexAttrib2dARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2DVARBPROC VertexAttrib2dvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2FARBPROC VertexAttrib2fARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2SARBPROC VertexAttrib2sARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2SVARBPROC VertexAttrib2svARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3DARBPROC VertexAttrib3dARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3DVARBPROC VertexAttrib3dvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3FARBPROC VertexAttrib3fARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3SARBPROC VertexAttrib3sARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3SVARBPROC VertexAttrib3svARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC VertexAttrib4NbvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC VertexAttrib4NivARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC VertexAttrib4NsvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC VertexAttrib4NubARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC VertexAttrib4NubvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC VertexAttrib4NuivARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC VertexAttrib4NusvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4BVARBPROC VertexAttrib4bvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4DARBPROC VertexAttrib4dARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4DVARBPROC VertexAttrib4dvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4FARBPROC VertexAttrib4fARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4IVARBPROC VertexAttrib4ivARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4SARBPROC VertexAttrib4sARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4SVARBPROC VertexAttrib4svARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC VertexAttrib4ubvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC VertexAttrib4uivARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4USVARBPROC VertexAttrib4usvARB;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC VertexAttribPointerARB;
  extern VTK_RENDERING_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC EnableVertexAttribArrayARB;
  extern VTK_RENDERING_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC DisableVertexAttribArrayARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMSTRINGARBPROC ProgramStringARB;
  extern VTK_RENDERING_EXPORT PFNGLBINDPROGRAMARBPROC BindProgramARB;
  extern VTK_RENDERING_EXPORT PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB;
  extern VTK_RENDERING_EXPORT PFNGLGENPROGRAMSARBPROC GenProgramsARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC ProgramEnvParameter4dARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC ProgramEnvParameter4fARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC ProgramLocalParameter4dARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC ProgramLocalParameter4fARB;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMIVARBPROC GetProgramivARB;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMSTRINGARBPROC GetProgramStringARB;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC GetVertexAttribdvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC GetVertexAttribfvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC GetVertexAttribivARB;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC GetVertexAttribPointervARB;
  extern VTK_RENDERING_EXPORT PFNGLISPROGRAMARBPROC IsProgramARB;

  //Definitions for GL_ARB_fragment_program
  const GLenum FRAGMENT_PROGRAM_ARB = static_cast<GLenum>(0x8804);
  const GLenum PROGRAM_ALU_INSTRUCTIONS_ARB = static_cast<GLenum>(0x8805);
  const GLenum PROGRAM_TEX_INSTRUCTIONS_ARB = static_cast<GLenum>(0x8806);
  const GLenum PROGRAM_TEX_INDIRECTIONS_ARB = static_cast<GLenum>(0x8807);
  const GLenum PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = static_cast<GLenum>(0x8808);
  const GLenum PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = static_cast<GLenum>(0x8809);
  const GLenum PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = static_cast<GLenum>(0x880A);
  const GLenum MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = static_cast<GLenum>(0x880B);
  const GLenum MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = static_cast<GLenum>(0x880C);
  const GLenum MAX_PROGRAM_TEX_INDIRECTIONS_ARB = static_cast<GLenum>(0x880D);
  const GLenum MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = static_cast<GLenum>(0x880E);
  const GLenum MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = static_cast<GLenum>(0x880F);
  const GLenum MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = static_cast<GLenum>(0x8810);
  const GLenum MAX_TEXTURE_COORDS_ARB = static_cast<GLenum>(0x8871);
  const GLenum MAX_TEXTURE_IMAGE_UNITS_ARB = static_cast<GLenum>(0x8872);

  //Definitions for GL_ARB_vertex_buffer_object
  const GLenum BUFFER_SIZE_ARB = static_cast<GLenum>(0x8764);
  const GLenum BUFFER_USAGE_ARB = static_cast<GLenum>(0x8765);
  const GLenum ARRAY_BUFFER_ARB = static_cast<GLenum>(0x8892);
  const GLenum ELEMENT_ARRAY_BUFFER_ARB = static_cast<GLenum>(0x8893);
  const GLenum ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x8894);
  const GLenum ELEMENT_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x8895);
  const GLenum VERTEX_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x8896);
  const GLenum NORMAL_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x8897);
  const GLenum COLOR_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x8898);
  const GLenum INDEX_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x8899);
  const GLenum TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x889A);
  const GLenum EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x889B);
  const GLenum SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x889C);
  const GLenum FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x889D);
  const GLenum WEIGHT_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x889E);
  const GLenum VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = static_cast<GLenum>(0x889F);
  const GLenum READ_ONLY_ARB = static_cast<GLenum>(0x88B8);
  const GLenum WRITE_ONLY_ARB = static_cast<GLenum>(0x88B9);
  const GLenum READ_WRITE_ARB = static_cast<GLenum>(0x88BA);
  const GLenum BUFFER_ACCESS_ARB = static_cast<GLenum>(0x88BB);
  const GLenum BUFFER_MAPPED_ARB = static_cast<GLenum>(0x88BC);
  const GLenum BUFFER_MAP_POINTER_ARB = static_cast<GLenum>(0x88BD);
  const GLenum STREAM_DRAW_ARB = static_cast<GLenum>(0x88E0);
  const GLenum STREAM_READ_ARB = static_cast<GLenum>(0x88E1);
  const GLenum STREAM_COPY_ARB = static_cast<GLenum>(0x88E2);
  const GLenum STATIC_DRAW_ARB = static_cast<GLenum>(0x88E4);
  const GLenum STATIC_READ_ARB = static_cast<GLenum>(0x88E5);
  const GLenum STATIC_COPY_ARB = static_cast<GLenum>(0x88E6);
  const GLenum DYNAMIC_DRAW_ARB = static_cast<GLenum>(0x88E8);
  const GLenum DYNAMIC_READ_ARB = static_cast<GLenum>(0x88E9);
  const GLenum DYNAMIC_COPY_ARB = static_cast<GLenum>(0x88EA);
  typedef ptrdiff_t GLintptrARB;
  typedef ptrdiff_t GLsizeiptrARB;
  typedef void (APIENTRYP PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
  typedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
  typedef void (APIENTRYP PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
  typedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC) (GLuint buffer);
  typedef void (APIENTRYP PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
  typedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
  typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
  typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
  typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERARBPROC BindBufferARB;
  extern VTK_RENDERING_EXPORT PFNGLDELETEBUFFERSARBPROC DeleteBuffersARB;
  extern VTK_RENDERING_EXPORT PFNGLGENBUFFERSARBPROC GenBuffersARB;
  extern VTK_RENDERING_EXPORT PFNGLISBUFFERARBPROC IsBufferARB;
  extern VTK_RENDERING_EXPORT PFNGLBUFFERDATAARBPROC BufferDataARB;
  extern VTK_RENDERING_EXPORT PFNGLBUFFERSUBDATAARBPROC BufferSubDataARB;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERSUBDATAARBPROC GetBufferSubDataARB;
  extern VTK_RENDERING_EXPORT PFNGLMAPBUFFERARBPROC MapBufferARB;
  extern VTK_RENDERING_EXPORT PFNGLUNMAPBUFFERARBPROC UnmapBufferARB;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC GetBufferParameterivARB;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERPOINTERVARBPROC GetBufferPointervARB;

  //Definitions for GL_ARB_occlusion_query
  const GLenum QUERY_COUNTER_BITS_ARB = static_cast<GLenum>(0x8864);
  const GLenum CURRENT_QUERY_ARB = static_cast<GLenum>(0x8865);
  const GLenum QUERY_RESULT_ARB = static_cast<GLenum>(0x8866);
  const GLenum QUERY_RESULT_AVAILABLE_ARB = static_cast<GLenum>(0x8867);
  const GLenum SAMPLES_PASSED_ARB = static_cast<GLenum>(0x8914);
  typedef void (APIENTRYP PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);
  typedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);
  typedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
  typedef void (APIENTRYP PFNGLENDQUERYARBPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);
  extern VTK_RENDERING_EXPORT PFNGLGENQUERIESARBPROC GenQueriesARB;
  extern VTK_RENDERING_EXPORT PFNGLDELETEQUERIESARBPROC DeleteQueriesARB;
  extern VTK_RENDERING_EXPORT PFNGLISQUERYARBPROC IsQueryARB;
  extern VTK_RENDERING_EXPORT PFNGLBEGINQUERYARBPROC BeginQueryARB;
  extern VTK_RENDERING_EXPORT PFNGLENDQUERYARBPROC EndQueryARB;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYIVARBPROC GetQueryivARB;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTIVARBPROC GetQueryObjectivARB;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTUIVARBPROC GetQueryObjectuivARB;

  //Definitions for GL_ARB_shader_objects
  const GLenum PROGRAM_OBJECT_ARB = static_cast<GLenum>(0x8B40);
  const GLenum SHADER_OBJECT_ARB = static_cast<GLenum>(0x8B48);
  const GLenum OBJECT_TYPE_ARB = static_cast<GLenum>(0x8B4E);
  const GLenum OBJECT_SUBTYPE_ARB = static_cast<GLenum>(0x8B4F);
  const GLenum FLOAT_VEC2_ARB = static_cast<GLenum>(0x8B50);
  const GLenum FLOAT_VEC3_ARB = static_cast<GLenum>(0x8B51);
  const GLenum FLOAT_VEC4_ARB = static_cast<GLenum>(0x8B52);
  const GLenum INT_VEC2_ARB = static_cast<GLenum>(0x8B53);
  const GLenum INT_VEC3_ARB = static_cast<GLenum>(0x8B54);
  const GLenum INT_VEC4_ARB = static_cast<GLenum>(0x8B55);
  const GLenum BOOL_ARB = static_cast<GLenum>(0x8B56);
  const GLenum BOOL_VEC2_ARB = static_cast<GLenum>(0x8B57);
  const GLenum BOOL_VEC3_ARB = static_cast<GLenum>(0x8B58);
  const GLenum BOOL_VEC4_ARB = static_cast<GLenum>(0x8B59);
  const GLenum FLOAT_MAT2_ARB = static_cast<GLenum>(0x8B5A);
  const GLenum FLOAT_MAT3_ARB = static_cast<GLenum>(0x8B5B);
  const GLenum FLOAT_MAT4_ARB = static_cast<GLenum>(0x8B5C);
  const GLenum SAMPLER_1D_ARB = static_cast<GLenum>(0x8B5D);
  const GLenum SAMPLER_2D_ARB = static_cast<GLenum>(0x8B5E);
  const GLenum SAMPLER_3D_ARB = static_cast<GLenum>(0x8B5F);
  const GLenum SAMPLER_CUBE_ARB = static_cast<GLenum>(0x8B60);
  const GLenum SAMPLER_1D_SHADOW_ARB = static_cast<GLenum>(0x8B61);
  const GLenum SAMPLER_2D_SHADOW_ARB = static_cast<GLenum>(0x8B62);
  const GLenum SAMPLER_2D_RECT_ARB = static_cast<GLenum>(0x8B63);
  const GLenum SAMPLER_2D_RECT_SHADOW_ARB = static_cast<GLenum>(0x8B64);
  const GLenum OBJECT_DELETE_STATUS_ARB = static_cast<GLenum>(0x8B80);
  const GLenum OBJECT_COMPILE_STATUS_ARB = static_cast<GLenum>(0x8B81);
  const GLenum OBJECT_LINK_STATUS_ARB = static_cast<GLenum>(0x8B82);
  const GLenum OBJECT_VALIDATE_STATUS_ARB = static_cast<GLenum>(0x8B83);
  const GLenum OBJECT_INFO_LOG_LENGTH_ARB = static_cast<GLenum>(0x8B84);
  const GLenum OBJECT_ATTACHED_OBJECTS_ARB = static_cast<GLenum>(0x8B85);
  const GLenum OBJECT_ACTIVE_UNIFORMS_ARB = static_cast<GLenum>(0x8B86);
  const GLenum OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = static_cast<GLenum>(0x8B87);
  const GLenum OBJECT_SHADER_SOURCE_LENGTH_ARB = static_cast<GLenum>(0x8B88);
  typedef char GLcharARB;
  typedef unsigned int GLhandleARB;
  typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
  typedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC) (GLenum pname);
  typedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
  typedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
  typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
  typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
  typedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
  typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
  typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
  typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
  typedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
  typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
  typedef void (APIENTRYP PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
  typedef void (APIENTRYP PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
  typedef void (APIENTRYP PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
  typedef void (APIENTRYP PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
  typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  typedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
  typedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
  typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
  typedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
  typedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
  extern VTK_RENDERING_EXPORT PFNGLDELETEOBJECTARBPROC DeleteObjectARB;
  extern VTK_RENDERING_EXPORT PFNGLGETHANDLEARBPROC GetHandleARB;
  extern VTK_RENDERING_EXPORT PFNGLDETACHOBJECTARBPROC DetachObjectARB;
  extern VTK_RENDERING_EXPORT PFNGLCREATESHADEROBJECTARBPROC CreateShaderObjectARB;
  extern VTK_RENDERING_EXPORT PFNGLSHADERSOURCEARBPROC ShaderSourceARB;
  extern VTK_RENDERING_EXPORT PFNGLCOMPILESHADERARBPROC CompileShaderARB;
  extern VTK_RENDERING_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC CreateProgramObjectARB;
  extern VTK_RENDERING_EXPORT PFNGLATTACHOBJECTARBPROC AttachObjectARB;
  extern VTK_RENDERING_EXPORT PFNGLLINKPROGRAMARBPROC LinkProgramARB;
  extern VTK_RENDERING_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC UseProgramObjectARB;
  extern VTK_RENDERING_EXPORT PFNGLVALIDATEPROGRAMARBPROC ValidateProgramARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1FARBPROC Uniform1fARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2FARBPROC Uniform2fARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3FARBPROC Uniform3fARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4FARBPROC Uniform4fARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1IARBPROC Uniform1iARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2IARBPROC Uniform2iARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3IARBPROC Uniform3iARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4IARBPROC Uniform4iARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1FVARBPROC Uniform1fvARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2FVARBPROC Uniform2fvARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3FVARBPROC Uniform3fvARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4FVARBPROC Uniform4fvARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1IVARBPROC Uniform1ivARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2IVARBPROC Uniform2ivARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3IVARBPROC Uniform3ivARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4IVARBPROC Uniform4ivARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC UniformMatrix2fvARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC UniformMatrix3fvARB;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC UniformMatrix4fvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC GetObjectParameterfvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC GetObjectParameterivARB;
  extern VTK_RENDERING_EXPORT PFNGLGETINFOLOGARBPROC GetInfoLogARB;
  extern VTK_RENDERING_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC GetAttachedObjectsARB;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC GetUniformLocationARB;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEUNIFORMARBPROC GetActiveUniformARB;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMFVARBPROC GetUniformfvARB;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMIVARBPROC GetUniformivARB;
  extern VTK_RENDERING_EXPORT PFNGLGETSHADERSOURCEARBPROC GetShaderSourceARB;

  //Definitions for GL_ARB_vertex_shader
  const GLenum VERTEX_SHADER_ARB = static_cast<GLenum>(0x8B31);
  const GLenum MAX_VERTEX_UNIFORM_COMPONENTS_ARB = static_cast<GLenum>(0x8B4A);
  const GLenum MAX_VARYING_FLOATS_ARB = static_cast<GLenum>(0x8B4B);
  const GLenum MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = static_cast<GLenum>(0x8B4C);
  const GLenum MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = static_cast<GLenum>(0x8B4D);
  const GLenum OBJECT_ACTIVE_ATTRIBUTES_ARB = static_cast<GLenum>(0x8B89);
  const GLenum OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = static_cast<GLenum>(0x8B8A);
  typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
  typedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
  typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
  extern VTK_RENDERING_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC BindAttribLocationARB;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEATTRIBARBPROC GetActiveAttribARB;
  extern VTK_RENDERING_EXPORT PFNGLGETATTRIBLOCATIONARBPROC GetAttribLocationARB;

  //Definitions for GL_ARB_fragment_shader
  const GLenum FRAGMENT_SHADER_ARB = static_cast<GLenum>(0x8B30);
  const GLenum MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = static_cast<GLenum>(0x8B49);
  const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = static_cast<GLenum>(0x8B8B);

  //Definitions for GL_ARB_shading_language_100
  const GLenum SHADING_LANGUAGE_VERSION_ARB = static_cast<GLenum>(0x8B8C);

  //Definitions for GL_ARB_texture_non_power_of_two

  //Definitions for GL_ARB_point_sprite
  const GLenum POINT_SPRITE_ARB = static_cast<GLenum>(0x8861);
  const GLenum COORD_REPLACE_ARB = static_cast<GLenum>(0x8862);

  //Definitions for GL_ARB_fragment_program_shadow

  //Definitions for GL_ARB_draw_buffers
  const GLenum MAX_DRAW_BUFFERS_ARB = static_cast<GLenum>(0x8824);
  const GLenum DRAW_BUFFER0_ARB = static_cast<GLenum>(0x8825);
  const GLenum DRAW_BUFFER1_ARB = static_cast<GLenum>(0x8826);
  const GLenum DRAW_BUFFER2_ARB = static_cast<GLenum>(0x8827);
  const GLenum DRAW_BUFFER3_ARB = static_cast<GLenum>(0x8828);
  const GLenum DRAW_BUFFER4_ARB = static_cast<GLenum>(0x8829);
  const GLenum DRAW_BUFFER5_ARB = static_cast<GLenum>(0x882A);
  const GLenum DRAW_BUFFER6_ARB = static_cast<GLenum>(0x882B);
  const GLenum DRAW_BUFFER7_ARB = static_cast<GLenum>(0x882C);
  const GLenum DRAW_BUFFER8_ARB = static_cast<GLenum>(0x882D);
  const GLenum DRAW_BUFFER9_ARB = static_cast<GLenum>(0x882E);
  const GLenum DRAW_BUFFER10_ARB = static_cast<GLenum>(0x882F);
  const GLenum DRAW_BUFFER11_ARB = static_cast<GLenum>(0x8830);
  const GLenum DRAW_BUFFER12_ARB = static_cast<GLenum>(0x8831);
  const GLenum DRAW_BUFFER13_ARB = static_cast<GLenum>(0x8832);
  const GLenum DRAW_BUFFER14_ARB = static_cast<GLenum>(0x8833);
  const GLenum DRAW_BUFFER15_ARB = static_cast<GLenum>(0x8834);
  typedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);
  extern VTK_RENDERING_EXPORT PFNGLDRAWBUFFERSARBPROC DrawBuffersARB;

  //Definitions for GL_ARB_texture_rectangle
  const GLenum TEXTURE_RECTANGLE_ARB = static_cast<GLenum>(0x84F5);
  const GLenum TEXTURE_BINDING_RECTANGLE_ARB = static_cast<GLenum>(0x84F6);
  const GLenum PROXY_TEXTURE_RECTANGLE_ARB = static_cast<GLenum>(0x84F7);
  const GLenum MAX_RECTANGLE_TEXTURE_SIZE_ARB = static_cast<GLenum>(0x84F8);

  //Definitions for GL_ARB_color_buffer_float
  const GLenum RGBA_FLOAT_MODE_ARB = static_cast<GLenum>(0x8820);
  const GLenum CLAMP_VERTEX_COLOR_ARB = static_cast<GLenum>(0x891A);
  const GLenum CLAMP_FRAGMENT_COLOR_ARB = static_cast<GLenum>(0x891B);
  const GLenum CLAMP_READ_COLOR_ARB = static_cast<GLenum>(0x891C);
  const GLenum FIXED_ONLY_ARB = static_cast<GLenum>(0x891D);
  typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
  extern VTK_RENDERING_EXPORT PFNGLCLAMPCOLORARBPROC ClampColorARB;

  //Definitions for GL_ARB_half_float_pixel
  const GLenum HALF_FLOAT_ARB = static_cast<GLenum>(0x140B);
  typedef unsigned short GLhalfARB;

  //Definitions for GL_ARB_texture_float
  const GLenum TEXTURE_RED_TYPE_ARB = static_cast<GLenum>(0x8C10);
  const GLenum TEXTURE_GREEN_TYPE_ARB = static_cast<GLenum>(0x8C11);
  const GLenum TEXTURE_BLUE_TYPE_ARB = static_cast<GLenum>(0x8C12);
  const GLenum TEXTURE_ALPHA_TYPE_ARB = static_cast<GLenum>(0x8C13);
  const GLenum TEXTURE_LUMINANCE_TYPE_ARB = static_cast<GLenum>(0x8C14);
  const GLenum TEXTURE_INTENSITY_TYPE_ARB = static_cast<GLenum>(0x8C15);
  const GLenum TEXTURE_DEPTH_TYPE_ARB = static_cast<GLenum>(0x8C16);
  const GLenum UNSIGNED_NORMALIZED_ARB = static_cast<GLenum>(0x8C17);
  const GLenum RGBA32F_ARB = static_cast<GLenum>(0x8814);
  const GLenum RGB32F_ARB = static_cast<GLenum>(0x8815);
  const GLenum ALPHA32F_ARB = static_cast<GLenum>(0x8816);
  const GLenum INTENSITY32F_ARB = static_cast<GLenum>(0x8817);
  const GLenum LUMINANCE32F_ARB = static_cast<GLenum>(0x8818);
  const GLenum LUMINANCE_ALPHA32F_ARB = static_cast<GLenum>(0x8819);
  const GLenum RGBA16F_ARB = static_cast<GLenum>(0x881A);
  const GLenum RGB16F_ARB = static_cast<GLenum>(0x881B);
  const GLenum ALPHA16F_ARB = static_cast<GLenum>(0x881C);
  const GLenum INTENSITY16F_ARB = static_cast<GLenum>(0x881D);
  const GLenum LUMINANCE16F_ARB = static_cast<GLenum>(0x881E);
  const GLenum LUMINANCE_ALPHA16F_ARB = static_cast<GLenum>(0x881F);

  //Definitions for GL_ARB_pixel_buffer_object
  const GLenum PIXEL_PACK_BUFFER_ARB = static_cast<GLenum>(0x88EB);
  const GLenum PIXEL_UNPACK_BUFFER_ARB = static_cast<GLenum>(0x88EC);
  const GLenum PIXEL_PACK_BUFFER_BINDING_ARB = static_cast<GLenum>(0x88ED);
  const GLenum PIXEL_UNPACK_BUFFER_BINDING_ARB = static_cast<GLenum>(0x88EF);

  //Definitions for GL_ARB_depth_buffer_float
  const GLenum DEPTH_COMPONENT32F = static_cast<GLenum>(0x8CAC);
  const GLenum DEPTH32F_STENCIL8 = static_cast<GLenum>(0x8CAD);
  const GLenum FLOAT_32_UNSIGNED_INT_24_8_REV = static_cast<GLenum>(0x8DAD);

  //Definitions for GL_ARB_draw_instanced
  typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  extern VTK_RENDERING_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC DrawArraysInstancedARB;
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC DrawElementsInstancedARB;

  //Definitions for GL_ARB_framebuffer_object
  const GLenum INVALID_FRAMEBUFFER_OPERATION = static_cast<GLenum>(0x0506);
  const GLenum FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = static_cast<GLenum>(0x8210);
  const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = static_cast<GLenum>(0x8211);
  const GLenum FRAMEBUFFER_ATTACHMENT_RED_SIZE = static_cast<GLenum>(0x8212);
  const GLenum FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = static_cast<GLenum>(0x8213);
  const GLenum FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = static_cast<GLenum>(0x8214);
  const GLenum FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = static_cast<GLenum>(0x8215);
  const GLenum FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = static_cast<GLenum>(0x8216);
  const GLenum FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = static_cast<GLenum>(0x8217);
  const GLenum FRAMEBUFFER_DEFAULT = static_cast<GLenum>(0x8218);
  const GLenum FRAMEBUFFER_UNDEFINED = static_cast<GLenum>(0x8219);
  const GLenum DEPTH_STENCIL_ATTACHMENT = static_cast<GLenum>(0x821A);
  const GLenum MAX_RENDERBUFFER_SIZE = static_cast<GLenum>(0x84E8);
  const GLenum DEPTH_STENCIL = static_cast<GLenum>(0x84F9);
  const GLenum UNSIGNED_INT_24_8 = static_cast<GLenum>(0x84FA);
  const GLenum DEPTH24_STENCIL8 = static_cast<GLenum>(0x88F0);
  const GLenum TEXTURE_STENCIL_SIZE = static_cast<GLenum>(0x88F1);
  const GLenum TEXTURE_RED_TYPE = static_cast<GLenum>(0x8C10);
  const GLenum TEXTURE_GREEN_TYPE = static_cast<GLenum>(0x8C11);
  const GLenum TEXTURE_BLUE_TYPE = static_cast<GLenum>(0x8C12);
  const GLenum TEXTURE_ALPHA_TYPE = static_cast<GLenum>(0x8C13);
  const GLenum TEXTURE_DEPTH_TYPE = static_cast<GLenum>(0x8C16);
  const GLenum UNSIGNED_NORMALIZED = static_cast<GLenum>(0x8C17);
  const GLenum FRAMEBUFFER_BINDING = static_cast<GLenum>(0x8CA6);
  const GLenum DRAW_FRAMEBUFFER_BINDING = static_cast<GLenum>(0x8CA6);
  const GLenum RENDERBUFFER_BINDING = static_cast<GLenum>(0x8CA7);
  const GLenum READ_FRAMEBUFFER = static_cast<GLenum>(0x8CA8);
  const GLenum DRAW_FRAMEBUFFER = static_cast<GLenum>(0x8CA9);
  const GLenum READ_FRAMEBUFFER_BINDING = static_cast<GLenum>(0x8CAA);
  const GLenum RENDERBUFFER_SAMPLES = static_cast<GLenum>(0x8CAB);
  const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = static_cast<GLenum>(0x8CD0);
  const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = static_cast<GLenum>(0x8CD1);
  const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = static_cast<GLenum>(0x8CD2);
  const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = static_cast<GLenum>(0x8CD3);
  const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = static_cast<GLenum>(0x8CD4);
  const GLenum FRAMEBUFFER_COMPLETE = static_cast<GLenum>(0x8CD5);
  const GLenum FRAMEBUFFER_INCOMPLETE_ATTACHMENT = static_cast<GLenum>(0x8CD6);
  const GLenum FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = static_cast<GLenum>(0x8CD7);
  const GLenum FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = static_cast<GLenum>(0x8CDB);
  const GLenum FRAMEBUFFER_INCOMPLETE_READ_BUFFER = static_cast<GLenum>(0x8CDC);
  const GLenum FRAMEBUFFER_UNSUPPORTED = static_cast<GLenum>(0x8CDD);
  const GLenum MAX_COLOR_ATTACHMENTS = static_cast<GLenum>(0x8CDF);
  const GLenum COLOR_ATTACHMENT0 = static_cast<GLenum>(0x8CE0);
  const GLenum COLOR_ATTACHMENT1 = static_cast<GLenum>(0x8CE1);
  const GLenum COLOR_ATTACHMENT2 = static_cast<GLenum>(0x8CE2);
  const GLenum COLOR_ATTACHMENT3 = static_cast<GLenum>(0x8CE3);
  const GLenum COLOR_ATTACHMENT4 = static_cast<GLenum>(0x8CE4);
  const GLenum COLOR_ATTACHMENT5 = static_cast<GLenum>(0x8CE5);
  const GLenum COLOR_ATTACHMENT6 = static_cast<GLenum>(0x8CE6);
  const GLenum COLOR_ATTACHMENT7 = static_cast<GLenum>(0x8CE7);
  const GLenum COLOR_ATTACHMENT8 = static_cast<GLenum>(0x8CE8);
  const GLenum COLOR_ATTACHMENT9 = static_cast<GLenum>(0x8CE9);
  const GLenum COLOR_ATTACHMENT10 = static_cast<GLenum>(0x8CEA);
  const GLenum COLOR_ATTACHMENT11 = static_cast<GLenum>(0x8CEB);
  const GLenum COLOR_ATTACHMENT12 = static_cast<GLenum>(0x8CEC);
  const GLenum COLOR_ATTACHMENT13 = static_cast<GLenum>(0x8CED);
  const GLenum COLOR_ATTACHMENT14 = static_cast<GLenum>(0x8CEE);
  const GLenum COLOR_ATTACHMENT15 = static_cast<GLenum>(0x8CEF);
  const GLenum DEPTH_ATTACHMENT = static_cast<GLenum>(0x8D00);
  const GLenum STENCIL_ATTACHMENT = static_cast<GLenum>(0x8D20);
  const GLenum FRAMEBUFFER = static_cast<GLenum>(0x8D40);
  const GLenum RENDERBUFFER = static_cast<GLenum>(0x8D41);
  const GLenum RENDERBUFFER_WIDTH = static_cast<GLenum>(0x8D42);
  const GLenum RENDERBUFFER_HEIGHT = static_cast<GLenum>(0x8D43);
  const GLenum RENDERBUFFER_INTERNAL_FORMAT = static_cast<GLenum>(0x8D44);
  const GLenum STENCIL_INDEX1 = static_cast<GLenum>(0x8D46);
  const GLenum STENCIL_INDEX4 = static_cast<GLenum>(0x8D47);
  const GLenum STENCIL_INDEX8 = static_cast<GLenum>(0x8D48);
  const GLenum STENCIL_INDEX16 = static_cast<GLenum>(0x8D49);
  const GLenum RENDERBUFFER_RED_SIZE = static_cast<GLenum>(0x8D50);
  const GLenum RENDERBUFFER_GREEN_SIZE = static_cast<GLenum>(0x8D51);
  const GLenum RENDERBUFFER_BLUE_SIZE = static_cast<GLenum>(0x8D52);
  const GLenum RENDERBUFFER_ALPHA_SIZE = static_cast<GLenum>(0x8D53);
  const GLenum RENDERBUFFER_DEPTH_SIZE = static_cast<GLenum>(0x8D54);
  const GLenum RENDERBUFFER_STENCIL_SIZE = static_cast<GLenum>(0x8D55);
  const GLenum FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = static_cast<GLenum>(0x8D56);
  const GLenum MAX_SAMPLES = static_cast<GLenum>(0x8D57);
  typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
  typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
  typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
  typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
  typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
  typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
  typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  extern VTK_RENDERING_EXPORT PFNGLISRENDERBUFFERPROC IsRenderbuffer;
  extern VTK_RENDERING_EXPORT PFNGLBINDRENDERBUFFERPROC BindRenderbuffer;
  extern VTK_RENDERING_EXPORT PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers;
  extern VTK_RENDERING_EXPORT PFNGLGENRENDERBUFFERSPROC GenRenderbuffers;
  extern VTK_RENDERING_EXPORT PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage;
  extern VTK_RENDERING_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLISFRAMEBUFFERPROC IsFramebuffer;
  extern VTK_RENDERING_EXPORT PFNGLBINDFRAMEBUFFERPROC BindFramebuffer;
  extern VTK_RENDERING_EXPORT PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers;
  extern VTK_RENDERING_EXPORT PFNGLGENFRAMEBUFFERSPROC GenFramebuffers;
  extern VTK_RENDERING_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC GetFramebufferAttachmentParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLGENERATEMIPMAPPROC GenerateMipmap;
  extern VTK_RENDERING_EXPORT PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer;
  extern VTK_RENDERING_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer;

  //Definitions for GL_ARB_framebuffer_object_DEPRECATED
  const GLenum INDEX = static_cast<GLenum>(0x8222);
  const GLenum TEXTURE_LUMINANCE_TYPE = static_cast<GLenum>(0x8C14);
  const GLenum TEXTURE_INTENSITY_TYPE = static_cast<GLenum>(0x8C15);

  //Definitions for GL_ARB_framebuffer_sRGB
  const GLenum FRAMEBUFFER_SRGB = static_cast<GLenum>(0x8DB9);

  //Definitions for GL_ARB_geometry_shader4
  const GLenum LINES_ADJACENCY_ARB = static_cast<GLenum>(0x000A);
  const GLenum LINE_STRIP_ADJACENCY_ARB = static_cast<GLenum>(0x000B);
  const GLenum TRIANGLES_ADJACENCY_ARB = static_cast<GLenum>(0x000C);
  const GLenum TRIANGLE_STRIP_ADJACENCY_ARB = static_cast<GLenum>(0x000D);
  const GLenum PROGRAM_POINT_SIZE_ARB = static_cast<GLenum>(0x8642);
  const GLenum MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = static_cast<GLenum>(0x8C29);
  const GLenum FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = static_cast<GLenum>(0x8DA7);
  const GLenum FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = static_cast<GLenum>(0x8DA8);
  const GLenum FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = static_cast<GLenum>(0x8DA9);
  const GLenum GEOMETRY_SHADER_ARB = static_cast<GLenum>(0x8DD9);
  const GLenum GEOMETRY_VERTICES_OUT_ARB = static_cast<GLenum>(0x8DDA);
  const GLenum GEOMETRY_INPUT_TYPE_ARB = static_cast<GLenum>(0x8DDB);
  const GLenum GEOMETRY_OUTPUT_TYPE_ARB = static_cast<GLenum>(0x8DDC);
  const GLenum MAX_GEOMETRY_VARYING_COMPONENTS_ARB = static_cast<GLenum>(0x8DDD);
  const GLenum MAX_VERTEX_VARYING_COMPONENTS_ARB = static_cast<GLenum>(0x8DDE);
  const GLenum MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = static_cast<GLenum>(0x8DDF);
  const GLenum MAX_GEOMETRY_OUTPUT_VERTICES_ARB = static_cast<GLenum>(0x8DE0);
  const GLenum MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = static_cast<GLenum>(0x8DE1);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETERIARBPROC ProgramParameteriARB;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC FramebufferTextureARB;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC FramebufferTextureLayerARB;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC FramebufferTextureFaceARB;

  //Definitions for GL_ARB_half_float_vertex
  const GLenum HALF_FLOAT = static_cast<GLenum>(0x140B);

  //Definitions for GL_ARB_instanced_arrays
  const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = static_cast<GLenum>(0x88FE);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC VertexAttribDivisorARB;

  //Definitions for GL_ARB_map_buffer_range
  const GLenum MAP_READ_BIT = static_cast<GLenum>(0x0001);
  const GLenum MAP_WRITE_BIT = static_cast<GLenum>(0x0002);
  const GLenum MAP_INVALIDATE_RANGE_BIT = static_cast<GLenum>(0x0004);
  const GLenum MAP_INVALIDATE_BUFFER_BIT = static_cast<GLenum>(0x0008);
  const GLenum MAP_FLUSH_EXPLICIT_BIT = static_cast<GLenum>(0x0010);
  const GLenum MAP_UNSYNCHRONIZED_BIT = static_cast<GLenum>(0x0020);
  typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  extern VTK_RENDERING_EXPORT PFNGLMAPBUFFERRANGEPROC MapBufferRange;
  extern VTK_RENDERING_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC FlushMappedBufferRange;

  //Definitions for GL_ARB_texture_buffer_object
  const GLenum TEXTURE_BUFFER_ARB = static_cast<GLenum>(0x8C2A);
  const GLenum MAX_TEXTURE_BUFFER_SIZE_ARB = static_cast<GLenum>(0x8C2B);
  const GLenum TEXTURE_BINDING_BUFFER_ARB = static_cast<GLenum>(0x8C2C);
  const GLenum TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = static_cast<GLenum>(0x8C2D);
  const GLenum TEXTURE_BUFFER_FORMAT_ARB = static_cast<GLenum>(0x8C2E);
  typedef void (APIENTRYP PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);
  extern VTK_RENDERING_EXPORT PFNGLTEXBUFFERARBPROC TexBufferARB;

  //Definitions for GL_ARB_texture_compression_rgtc
  const GLenum COMPRESSED_RED_RGTC1 = static_cast<GLenum>(0x8DBB);
  const GLenum COMPRESSED_SIGNED_RED_RGTC1 = static_cast<GLenum>(0x8DBC);
  const GLenum COMPRESSED_RG_RGTC2 = static_cast<GLenum>(0x8DBD);
  const GLenum COMPRESSED_SIGNED_RG_RGTC2 = static_cast<GLenum>(0x8DBE);

  //Definitions for GL_ARB_texture_rg
  const GLenum RG = static_cast<GLenum>(0x8227);
  const GLenum RG_INTEGER = static_cast<GLenum>(0x8228);
  const GLenum R8 = static_cast<GLenum>(0x8229);
  const GLenum R16 = static_cast<GLenum>(0x822A);
  const GLenum RG8 = static_cast<GLenum>(0x822B);
  const GLenum RG16 = static_cast<GLenum>(0x822C);
  const GLenum R16F = static_cast<GLenum>(0x822D);
  const GLenum R32F = static_cast<GLenum>(0x822E);
  const GLenum RG16F = static_cast<GLenum>(0x822F);
  const GLenum RG32F = static_cast<GLenum>(0x8230);
  const GLenum R8I = static_cast<GLenum>(0x8231);
  const GLenum R8UI = static_cast<GLenum>(0x8232);
  const GLenum R16I = static_cast<GLenum>(0x8233);
  const GLenum R16UI = static_cast<GLenum>(0x8234);
  const GLenum R32I = static_cast<GLenum>(0x8235);
  const GLenum R32UI = static_cast<GLenum>(0x8236);
  const GLenum RG8I = static_cast<GLenum>(0x8237);
  const GLenum RG8UI = static_cast<GLenum>(0x8238);
  const GLenum RG16I = static_cast<GLenum>(0x8239);
  const GLenum RG16UI = static_cast<GLenum>(0x823A);
  const GLenum RG32I = static_cast<GLenum>(0x823B);
  const GLenum RG32UI = static_cast<GLenum>(0x823C);

  //Definitions for GL_ARB_vertex_array_object
  const GLenum VERTEX_ARRAY_BINDING = static_cast<GLenum>(0x85B5);
  typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
  typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
  typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
  typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
  extern VTK_RENDERING_EXPORT PFNGLBINDVERTEXARRAYPROC BindVertexArray;
  extern VTK_RENDERING_EXPORT PFNGLDELETEVERTEXARRAYSPROC DeleteVertexArrays;
  extern VTK_RENDERING_EXPORT PFNGLGENVERTEXARRAYSPROC GenVertexArrays;
  extern VTK_RENDERING_EXPORT PFNGLISVERTEXARRAYPROC IsVertexArray;

  //Definitions for GL_ARB_uniform_buffer_object
  const GLenum UNIFORM_BUFFER = static_cast<GLenum>(0x8A11);
  const GLenum UNIFORM_BUFFER_BINDING = static_cast<GLenum>(0x8A28);
  const GLenum UNIFORM_BUFFER_START = static_cast<GLenum>(0x8A29);
  const GLenum UNIFORM_BUFFER_SIZE = static_cast<GLenum>(0x8A2A);
  const GLenum MAX_VERTEX_UNIFORM_BLOCKS = static_cast<GLenum>(0x8A2B);
  const GLenum MAX_GEOMETRY_UNIFORM_BLOCKS = static_cast<GLenum>(0x8A2C);
  const GLenum MAX_FRAGMENT_UNIFORM_BLOCKS = static_cast<GLenum>(0x8A2D);
  const GLenum MAX_COMBINED_UNIFORM_BLOCKS = static_cast<GLenum>(0x8A2E);
  const GLenum MAX_UNIFORM_BUFFER_BINDINGS = static_cast<GLenum>(0x8A2F);
  const GLenum MAX_UNIFORM_BLOCK_SIZE = static_cast<GLenum>(0x8A30);
  const GLenum MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8A31);
  const GLenum MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8A32);
  const GLenum MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8A33);
  const GLenum UNIFORM_BUFFER_OFFSET_ALIGNMENT = static_cast<GLenum>(0x8A34);
  const GLenum ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = static_cast<GLenum>(0x8A35);
  const GLenum ACTIVE_UNIFORM_BLOCKS = static_cast<GLenum>(0x8A36);
  const GLenum UNIFORM_TYPE = static_cast<GLenum>(0x8A37);
  const GLenum UNIFORM_SIZE = static_cast<GLenum>(0x8A38);
  const GLenum UNIFORM_NAME_LENGTH = static_cast<GLenum>(0x8A39);
  const GLenum UNIFORM_BLOCK_INDEX = static_cast<GLenum>(0x8A3A);
  const GLenum UNIFORM_OFFSET = static_cast<GLenum>(0x8A3B);
  const GLenum UNIFORM_ARRAY_STRIDE = static_cast<GLenum>(0x8A3C);
  const GLenum UNIFORM_MATRIX_STRIDE = static_cast<GLenum>(0x8A3D);
  const GLenum UNIFORM_IS_ROW_MAJOR = static_cast<GLenum>(0x8A3E);
  const GLenum UNIFORM_BLOCK_BINDING = static_cast<GLenum>(0x8A3F);
  const GLenum UNIFORM_BLOCK_DATA_SIZE = static_cast<GLenum>(0x8A40);
  const GLenum UNIFORM_BLOCK_NAME_LENGTH = static_cast<GLenum>(0x8A41);
  const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORMS = static_cast<GLenum>(0x8A42);
  const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = static_cast<GLenum>(0x8A43);
  const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = static_cast<GLenum>(0x8A44);
  const GLenum UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = static_cast<GLenum>(0x8A45);
  const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = static_cast<GLenum>(0x8A46);
  const GLenum INVALID_INDEX = static_cast<GLenum>(0xFFFFFFFFu);
  typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
  typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMINDICESPROC GetUniformIndices;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC GetActiveUniformsiv;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC GetActiveUniformName;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC GetUniformBlockIndex;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC GetActiveUniformBlockiv;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC GetActiveUniformBlockName;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC UniformBlockBinding;

  //Definitions for GL_ARB_compatibility

  //Definitions for GL_ARB_copy_buffer
  const GLenum COPY_READ_BUFFER = static_cast<GLenum>(0x8F36);
  const GLenum COPY_WRITE_BUFFER = static_cast<GLenum>(0x8F37);
  typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  extern VTK_RENDERING_EXPORT PFNGLCOPYBUFFERSUBDATAPROC CopyBufferSubData;

  //Definitions for GL_ARB_shader_texture_lod

  //Definitions for GL_ARB_depth_clamp
  const GLenum DEPTH_CLAMP = static_cast<GLenum>(0x864F);

  //Definitions for GL_ARB_draw_elements_base_vertex
  typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
  typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
  typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);
  typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, const GLint *basevertex);
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC DrawElementsBaseVertex;
  extern VTK_RENDERING_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC DrawRangeElementsBaseVertex;
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC DrawElementsInstancedBaseVertex;
  extern VTK_RENDERING_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC MultiDrawElementsBaseVertex;

  //Definitions for GL_ARB_fragment_coord_conventions

  //Definitions for GL_ARB_provoking_vertex
  const GLenum QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = static_cast<GLenum>(0x8E4C);
  const GLenum FIRST_VERTEX_CONVENTION = static_cast<GLenum>(0x8E4D);
  const GLenum LAST_VERTEX_CONVENTION = static_cast<GLenum>(0x8E4E);
  const GLenum PROVOKING_VERTEX = static_cast<GLenum>(0x8E4F);
  typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLPROVOKINGVERTEXPROC ProvokingVertex;

  //Definitions for GL_ARB_seamless_cube_map
  const GLenum TEXTURE_CUBE_MAP_SEAMLESS = static_cast<GLenum>(0x884F);

  //Definitions for GL_ARB_sync
  const GLenum MAX_SERVER_WAIT_TIMEOUT = static_cast<GLenum>(0x9111);
  const GLenum OBJECT_TYPE = static_cast<GLenum>(0x9112);
  const GLenum SYNC_CONDITION = static_cast<GLenum>(0x9113);
  const GLenum SYNC_STATUS = static_cast<GLenum>(0x9114);
  const GLenum SYNC_FLAGS = static_cast<GLenum>(0x9115);
  const GLenum SYNC_FENCE = static_cast<GLenum>(0x9116);
  const GLenum SYNC_GPU_COMMANDS_COMPLETE = static_cast<GLenum>(0x9117);
  const GLenum UNSIGNALED = static_cast<GLenum>(0x9118);
  const GLenum SIGNALED = static_cast<GLenum>(0x9119);
  const GLenum ALREADY_SIGNALED = static_cast<GLenum>(0x911A);
  const GLenum TIMEOUT_EXPIRED = static_cast<GLenum>(0x911B);
  const GLenum CONDITION_SATISFIED = static_cast<GLenum>(0x911C);
  const GLenum WAIT_FAILED = static_cast<GLenum>(0x911D);
  const GLenum SYNC_FLUSH_COMMANDS_BIT = static_cast<GLenum>(0x00000001);
#if !defined(__BORLANDC__) && (!defined(_MSC_VER) || (defined(_MSC_VER) && _MSC_VER>=1310))
  const GLenum TIMEOUT_IGNORED = static_cast<GLenum>(0xFFFFFFFFFFFFFFFFull);
#endif /* only for C99 compilers */
  typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
  typedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
  typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
  typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params);
  typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  extern VTK_RENDERING_EXPORT PFNGLFENCESYNCPROC FenceSync;
  extern VTK_RENDERING_EXPORT PFNGLISSYNCPROC IsSync;
  extern VTK_RENDERING_EXPORT PFNGLDELETESYNCPROC DeleteSync;
  extern VTK_RENDERING_EXPORT PFNGLCLIENTWAITSYNCPROC ClientWaitSync;
  extern VTK_RENDERING_EXPORT PFNGLWAITSYNCPROC WaitSync;
  extern VTK_RENDERING_EXPORT PFNGLGETINTEGER64VPROC GetInteger64v;
  extern VTK_RENDERING_EXPORT PFNGLGETSYNCIVPROC GetSynciv;

  //Definitions for GL_ARB_texture_multisample
  const GLenum SAMPLE_POSITION = static_cast<GLenum>(0x8E50);
  const GLenum SAMPLE_MASK = static_cast<GLenum>(0x8E51);
  const GLenum SAMPLE_MASK_VALUE = static_cast<GLenum>(0x8E52);
  const GLenum MAX_SAMPLE_MASK_WORDS = static_cast<GLenum>(0x8E59);
  const GLenum TEXTURE_2D_MULTISAMPLE = static_cast<GLenum>(0x9100);
  const GLenum PROXY_TEXTURE_2D_MULTISAMPLE = static_cast<GLenum>(0x9101);
  const GLenum TEXTURE_2D_MULTISAMPLE_ARRAY = static_cast<GLenum>(0x9102);
  const GLenum PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = static_cast<GLenum>(0x9103);
  const GLenum TEXTURE_BINDING_2D_MULTISAMPLE = static_cast<GLenum>(0x9104);
  const GLenum TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = static_cast<GLenum>(0x9105);
  const GLenum TEXTURE_SAMPLES = static_cast<GLenum>(0x9106);
  const GLenum TEXTURE_FIXED_SAMPLE_LOCATIONS = static_cast<GLenum>(0x9107);
  const GLenum SAMPLER_2D_MULTISAMPLE = static_cast<GLenum>(0x9108);
  const GLenum INT_SAMPLER_2D_MULTISAMPLE = static_cast<GLenum>(0x9109);
  const GLenum UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = static_cast<GLenum>(0x910A);
  const GLenum SAMPLER_2D_MULTISAMPLE_ARRAY = static_cast<GLenum>(0x910B);
  const GLenum INT_SAMPLER_2D_MULTISAMPLE_ARRAY = static_cast<GLenum>(0x910C);
  const GLenum UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = static_cast<GLenum>(0x910D);
  const GLenum MAX_COLOR_TEXTURE_SAMPLES = static_cast<GLenum>(0x910E);
  const GLenum MAX_DEPTH_TEXTURE_SAMPLES = static_cast<GLenum>(0x910F);
  const GLenum MAX_INTEGER_SAMPLES = static_cast<GLenum>(0x9110);
  typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
  typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
  typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
  typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);
  extern VTK_RENDERING_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC TexImage2DMultisample;
  extern VTK_RENDERING_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC TexImage3DMultisample;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTISAMPLEFVPROC GetMultisamplefv;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLEMASKIPROC SampleMaski;

  //Definitions for GL_ARB_vertex_array_bgra

  //Definitions for GL_ARB_draw_buffers_blend
  typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
  typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  typedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
  typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONIPROC BlendEquationi;
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC BlendEquationSeparatei;
  extern VTK_RENDERING_EXPORT PFNGLBLENDFUNCIPROC BlendFunci;
  extern VTK_RENDERING_EXPORT PFNGLBLENDFUNCSEPARATEIPROC BlendFuncSeparatei;

  //Definitions for GL_ARB_sample_shading
  const GLenum SAMPLE_SHADING = static_cast<GLenum>(0x8C36);
  const GLenum MIN_SAMPLE_SHADING_VALUE = static_cast<GLenum>(0x8C37);
  typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLclampf value);
  extern VTK_RENDERING_EXPORT PFNGLMINSAMPLESHADINGPROC MinSampleShading;

  //Definitions for GL_ARB_texture_cube_map_array
  const GLenum TEXTURE_CUBE_MAP_ARRAY = static_cast<GLenum>(0x9009);
  const GLenum TEXTURE_BINDING_CUBE_MAP_ARRAY = static_cast<GLenum>(0x900A);
  const GLenum PROXY_TEXTURE_CUBE_MAP_ARRAY = static_cast<GLenum>(0x900B);
  const GLenum SAMPLER_CUBE_MAP_ARRAY = static_cast<GLenum>(0x900C);
  const GLenum SAMPLER_CUBE_MAP_ARRAY_SHADOW = static_cast<GLenum>(0x900D);
  const GLenum INT_SAMPLER_CUBE_MAP_ARRAY = static_cast<GLenum>(0x900E);
  const GLenum UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = static_cast<GLenum>(0x900F);

  //Definitions for GL_ARB_texture_gather
  const GLenum MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = static_cast<GLenum>(0x8E5E);
  const GLenum MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = static_cast<GLenum>(0x8E5F);

  //Definitions for GL_ARB_texture_query_lod

  //Definitions for GL_ARB_shading_language_include
  const GLenum SHADER_INCLUDE_ARB = static_cast<GLenum>(0x8DAE);
  const GLenum NAMED_STRING_LENGTH_ARB = static_cast<GLenum>(0x8DE9);
  const GLenum NAMED_STRING_TYPE_ARB = static_cast<GLenum>(0x8DEA);
  typedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
  typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
  typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);
  typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
  typedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);
  typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar *name, GLenum pname, GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLNAMEDSTRINGARBPROC NamedStringARB;
  extern VTK_RENDERING_EXPORT PFNGLDELETENAMEDSTRINGARBPROC DeleteNamedStringARB;
  extern VTK_RENDERING_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC CompileShaderIncludeARB;
  extern VTK_RENDERING_EXPORT PFNGLISNAMEDSTRINGARBPROC IsNamedStringARB;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDSTRINGARBPROC GetNamedStringARB;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDSTRINGIVARBPROC GetNamedStringivARB;

  //Definitions for GL_ARB_texture_compression_bptc
  const GLenum COMPRESSED_RGBA_BPTC_UNORM_ARB = static_cast<GLenum>(0x8E8C);
  const GLenum COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = static_cast<GLenum>(0x8E8D);
  const GLenum COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = static_cast<GLenum>(0x8E8E);
  const GLenum COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = static_cast<GLenum>(0x8E8F);

  //Definitions for GL_ARB_blend_func_extended
  const GLenum SRC1_COLOR = static_cast<GLenum>(0x88F9);
  const GLenum ONE_MINUS_SRC1_COLOR = static_cast<GLenum>(0x88FA);
  const GLenum ONE_MINUS_SRC1_ALPHA = static_cast<GLenum>(0x88FB);
  const GLenum MAX_DUAL_SOURCE_DRAW_BUFFERS = static_cast<GLenum>(0x88FC);
  typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
  typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name);
  extern VTK_RENDERING_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC BindFragDataLocationIndexed;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAGDATAINDEXPROC GetFragDataIndex;

  //Definitions for GL_ARB_explicit_attrib_location

  //Definitions for GL_ARB_occlusion_query2
  const GLenum ANY_SAMPLES_PASSED = static_cast<GLenum>(0x8C2F);

  //Definitions for GL_ARB_sampler_objects
  const GLenum SAMPLER_BINDING = static_cast<GLenum>(0x8919);
  typedef void (APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
  typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
  typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
  typedef void (APIENTRYP PFNGLBINDSAMPLERPROC) (GLenum unit, GLuint sampler);
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLGENSAMPLERSPROC GenSamplers;
  extern VTK_RENDERING_EXPORT PFNGLDELETESAMPLERSPROC DeleteSamplers;
  extern VTK_RENDERING_EXPORT PFNGLISSAMPLERPROC IsSampler;
  extern VTK_RENDERING_EXPORT PFNGLBINDSAMPLERPROC BindSampler;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLERPARAMETERIPROC SamplerParameteri;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLERPARAMETERIVPROC SamplerParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLERPARAMETERFPROC SamplerParameterf;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLERPARAMETERFVPROC SamplerParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLERPARAMETERIIVPROC SamplerParameterIiv;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC SamplerParameterIuiv;
  extern VTK_RENDERING_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC GetSamplerParameteriv;
  extern VTK_RENDERING_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC GetSamplerParameterIiv;
  extern VTK_RENDERING_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC GetSamplerParameterfv;
  extern VTK_RENDERING_EXPORT PFNGLGETSAMPLERPARAMETERIFVPROC GetSamplerParameterIfv;

  //Definitions for GL_ARB_shader_bit_encoding

  //Definitions for GL_ARB_texture_rgb10_a2ui
  const GLenum RGB10_A2UI = static_cast<GLenum>(0x906F);

  //Definitions for GL_ARB_texture_swizzle
  const GLenum TEXTURE_SWIZZLE_R = static_cast<GLenum>(0x8E42);
  const GLenum TEXTURE_SWIZZLE_G = static_cast<GLenum>(0x8E43);
  const GLenum TEXTURE_SWIZZLE_B = static_cast<GLenum>(0x8E44);
  const GLenum TEXTURE_SWIZZLE_A = static_cast<GLenum>(0x8E45);
  const GLenum TEXTURE_SWIZZLE_RGBA = static_cast<GLenum>(0x8E46);

  //Definitions for GL_ARB_timer_query
  const GLenum TIME_ELAPSED = static_cast<GLenum>(0x88BF);
  const GLenum TIMESTAMP = static_cast<GLenum>(0x8E28);
  typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params);
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params);
  extern VTK_RENDERING_EXPORT PFNGLQUERYCOUNTERPROC QueryCounter;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTI64VPROC GetQueryObjecti64v;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTUI64VPROC GetQueryObjectui64v;

  //Definitions for GL_ARB_vertex_type_2_10_10_10_rev
  const GLenum INT_2_10_10_10_REV = static_cast<GLenum>(0x8D9F);
  typedef void (APIENTRYP PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);
  typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint *value);
  typedef void (APIENTRYP PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);
  typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint *value);
  typedef void (APIENTRYP PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);
  typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint *value);
  typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);
  typedef void (APIENTRYP PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint *coords);
  typedef void (APIENTRYP PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);
  typedef void (APIENTRYP PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint *color);
  typedef void (APIENTRYP PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);
  typedef void (APIENTRYP PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint *color);
  typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);
  typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint *color);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXP2UIPROC VertexP2ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXP2UIVPROC VertexP2uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXP3UIPROC VertexP3ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXP3UIVPROC VertexP3uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXP4UIPROC VertexP4ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXP4UIVPROC VertexP4uiv;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP1UIPROC TexCoordP1ui;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP1UIVPROC TexCoordP1uiv;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP2UIPROC TexCoordP2ui;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP2UIVPROC TexCoordP2uiv;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP3UIPROC TexCoordP3ui;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP3UIVPROC TexCoordP3uiv;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP4UIPROC TexCoordP4ui;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDP4UIVPROC TexCoordP4uiv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP1UIPROC MultiTexCoordP1ui;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP1UIVPROC MultiTexCoordP1uiv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP2UIPROC MultiTexCoordP2ui;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP2UIVPROC MultiTexCoordP2uiv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP3UIPROC MultiTexCoordP3ui;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP3UIVPROC MultiTexCoordP3uiv;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP4UIPROC MultiTexCoordP4ui;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDP4UIVPROC MultiTexCoordP4uiv;
  extern VTK_RENDERING_EXPORT PFNGLNORMALP3UIPROC NormalP3ui;
  extern VTK_RENDERING_EXPORT PFNGLNORMALP3UIVPROC NormalP3uiv;
  extern VTK_RENDERING_EXPORT PFNGLCOLORP3UIPROC ColorP3ui;
  extern VTK_RENDERING_EXPORT PFNGLCOLORP3UIVPROC ColorP3uiv;
  extern VTK_RENDERING_EXPORT PFNGLCOLORP4UIPROC ColorP4ui;
  extern VTK_RENDERING_EXPORT PFNGLCOLORP4UIVPROC ColorP4uiv;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLORP3UIPROC SecondaryColorP3ui;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLORP3UIVPROC SecondaryColorP3uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP1UIPROC VertexAttribP1ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP1UIVPROC VertexAttribP1uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP2UIPROC VertexAttribP2ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP2UIVPROC VertexAttribP2uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP3UIPROC VertexAttribP3ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP3UIVPROC VertexAttribP3uiv;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP4UIPROC VertexAttribP4ui;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBP4UIVPROC VertexAttribP4uiv;

  //Definitions for GL_ARB_draw_indirect
  const GLenum DRAW_INDIRECT_BUFFER = static_cast<GLenum>(0x8F3F);
  const GLenum DRAW_INDIRECT_BUFFER_BINDING = static_cast<GLenum>(0x8F43);
  typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid *indirect);
  typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid *indirect);
  extern VTK_RENDERING_EXPORT PFNGLDRAWARRAYSINDIRECTPROC DrawArraysIndirect;
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC DrawElementsIndirect;

  //Definitions for GL_ARB_gpu_shader5
  const GLenum GEOMETRY_SHADER_INVOCATIONS = static_cast<GLenum>(0x887F);
  const GLenum MAX_GEOMETRY_SHADER_INVOCATIONS = static_cast<GLenum>(0x8E5A);
  const GLenum MIN_FRAGMENT_INTERPOLATION_OFFSET = static_cast<GLenum>(0x8E5B);
  const GLenum MAX_FRAGMENT_INTERPOLATION_OFFSET = static_cast<GLenum>(0x8E5C);
  const GLenum FRAGMENT_INTERPOLATION_OFFSET_BITS = static_cast<GLenum>(0x8E5D);
  const GLenum MAX_VERTEX_STREAMS = static_cast<GLenum>(0x8E71);

  //Definitions for GL_ARB_gpu_shader_fp64
  const GLenum DOUBLE_VEC2 = static_cast<GLenum>(0x8FFC);
  const GLenum DOUBLE_VEC3 = static_cast<GLenum>(0x8FFD);
  const GLenum DOUBLE_VEC4 = static_cast<GLenum>(0x8FFE);
  const GLenum DOUBLE_MAT2 = static_cast<GLenum>(0x8F46);
  const GLenum DOUBLE_MAT3 = static_cast<GLenum>(0x8F47);
  const GLenum DOUBLE_MAT4 = static_cast<GLenum>(0x8F48);
  const GLenum DOUBLE_MAT2x3 = static_cast<GLenum>(0x8F49);
  const GLenum DOUBLE_MAT2x4 = static_cast<GLenum>(0x8F4A);
  const GLenum DOUBLE_MAT3x2 = static_cast<GLenum>(0x8F4B);
  const GLenum DOUBLE_MAT3x4 = static_cast<GLenum>(0x8F4C);
  const GLenum DOUBLE_MAT4x2 = static_cast<GLenum>(0x8F4D);
  const GLenum DOUBLE_MAT4x3 = static_cast<GLenum>(0x8F4E);
  typedef void (APIENTRYP PFNGLUNIFORM1DPROC) (GLint location, GLdouble x);
  typedef void (APIENTRYP PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1DPROC Uniform1d;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2DPROC Uniform2d;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3DPROC Uniform3d;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4DPROC Uniform4d;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1DVPROC Uniform1dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2DVPROC Uniform2dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3DVPROC Uniform3dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4DVPROC Uniform4dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX2DVPROC UniformMatrix2dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX3DVPROC UniformMatrix3dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX4DVPROC UniformMatrix4dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX2X3DVPROC UniformMatrix2x3dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX2X4DVPROC UniformMatrix2x4dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX3X2DVPROC UniformMatrix3x2dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX3X4DVPROC UniformMatrix3x4dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX4X2DVPROC UniformMatrix4x2dv;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMMATRIX4X3DVPROC UniformMatrix4x3dv;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMDVPROC GetUniformdv;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1DEXTPROC ProgramUniform1dEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2DEXTPROC ProgramUniform2dEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3DEXTPROC ProgramUniform3dEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4DEXTPROC ProgramUniform4dEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1DVEXTPROC ProgramUniform1dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2DVEXTPROC ProgramUniform2dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3DVEXTPROC ProgramUniform3dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4DVEXTPROC ProgramUniform4dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC ProgramUniformMatrix2dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC ProgramUniformMatrix3dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC ProgramUniformMatrix4dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC ProgramUniformMatrix2x3dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC ProgramUniformMatrix2x4dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC ProgramUniformMatrix3x2dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC ProgramUniformMatrix3x4dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC ProgramUniformMatrix4x2dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC ProgramUniformMatrix4x3dvEXT;

  //Definitions for GL_ARB_shader_subroutine
  const GLenum ACTIVE_SUBROUTINES = static_cast<GLenum>(0x8DE5);
  const GLenum ACTIVE_SUBROUTINE_UNIFORMS = static_cast<GLenum>(0x8DE6);
  const GLenum ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = static_cast<GLenum>(0x8E47);
  const GLenum ACTIVE_SUBROUTINE_MAX_LENGTH = static_cast<GLenum>(0x8E48);
  const GLenum ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = static_cast<GLenum>(0x8E49);
  const GLenum MAX_SUBROUTINES = static_cast<GLenum>(0x8DE7);
  const GLenum MAX_SUBROUTINE_UNIFORM_LOCATIONS = static_cast<GLenum>(0x8DE8);
  const GLenum NUM_COMPATIBLE_SUBROUTINES = static_cast<GLenum>(0x8E4A);
  const GLenum COMPATIBLE_SUBROUTINES = static_cast<GLenum>(0x8E4B);
  typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name);
  typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name);
  typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
  typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
  typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
  typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices);
  typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
  extern VTK_RENDERING_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC GetSubroutineUniformLocation;
  extern VTK_RENDERING_EXPORT PFNGLGETSUBROUTINEINDEXPROC GetSubroutineIndex;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC GetActiveSubroutineUniformiv;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC GetActiveSubroutineUniformName;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC GetActiveSubroutineName;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC UniformSubroutinesuiv;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC GetUniformSubroutineuiv;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMSTAGEIVPROC GetProgramStageiv;

  //Definitions for GL_ARB_tessellation_shader
  const GLenum PATCHES = static_cast<GLenum>(0x000E);
  const GLenum PATCH_VERTICES = static_cast<GLenum>(0x8E72);
  const GLenum PATCH_DEFAULT_INNER_LEVEL = static_cast<GLenum>(0x8E73);
  const GLenum PATCH_DEFAULT_OUTER_LEVEL = static_cast<GLenum>(0x8E74);
  const GLenum TESS_CONTROL_OUTPUT_VERTICES = static_cast<GLenum>(0x8E75);
  const GLenum TESS_GEN_MODE = static_cast<GLenum>(0x8E76);
  const GLenum TESS_GEN_SPACING = static_cast<GLenum>(0x8E77);
  const GLenum TESS_GEN_VERTEX_ORDER = static_cast<GLenum>(0x8E78);
  const GLenum TESS_GEN_POINT_MODE = static_cast<GLenum>(0x8E79);
  const GLenum ISOLINES = static_cast<GLenum>(0x8E7A);
  const GLenum FRACTIONAL_ODD = static_cast<GLenum>(0x8E7B);
  const GLenum FRACTIONAL_EVEN = static_cast<GLenum>(0x8E7C);
  const GLenum MAX_PATCH_VERTICES = static_cast<GLenum>(0x8E7D);
  const GLenum MAX_TESS_GEN_LEVEL = static_cast<GLenum>(0x8E7E);
  const GLenum MAX_TESS_CONTROL_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8E7F);
  const GLenum MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8E80);
  const GLenum MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = static_cast<GLenum>(0x8E81);
  const GLenum MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = static_cast<GLenum>(0x8E82);
  const GLenum MAX_TESS_CONTROL_OUTPUT_COMPONENTS = static_cast<GLenum>(0x8E83);
  const GLenum MAX_TESS_PATCH_COMPONENTS = static_cast<GLenum>(0x8E84);
  const GLenum MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = static_cast<GLenum>(0x8E85);
  const GLenum MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = static_cast<GLenum>(0x8E86);
  const GLenum MAX_TESS_CONTROL_UNIFORM_BLOCKS = static_cast<GLenum>(0x8E89);
  const GLenum MAX_TESS_EVALUATION_UNIFORM_BLOCKS = static_cast<GLenum>(0x8E8A);
  const GLenum MAX_TESS_CONTROL_INPUT_COMPONENTS = static_cast<GLenum>(0x886C);
  const GLenum MAX_TESS_EVALUATION_INPUT_COMPONENTS = static_cast<GLenum>(0x886D);
  const GLenum MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8E1E);
  const GLenum MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = static_cast<GLenum>(0x8E1F);
  const GLenum UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = static_cast<GLenum>(0x84F0);
  const GLenum UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = static_cast<GLenum>(0x84F1);
  const GLenum TESS_EVALUATION_SHADER = static_cast<GLenum>(0x8E87);
  const GLenum TESS_CONTROL_SHADER = static_cast<GLenum>(0x8E88);
  typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
  typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values);
  extern VTK_RENDERING_EXPORT PFNGLPATCHPARAMETERIPROC PatchParameteri;
  extern VTK_RENDERING_EXPORT PFNGLPATCHPARAMETERFVPROC PatchParameterfv;

  //Definitions for GL_ARB_texture_buffer_object_rgb32

  //Definitions for GL_ARB_transform_feedback2
  const GLenum TRANSFORM_FEEDBACK = static_cast<GLenum>(0x8E22);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_PAUSED = static_cast<GLenum>(0x8E23);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_ACTIVE = static_cast<GLenum>(0x8E24);
  const GLenum TRANSFORM_FEEDBACK_BINDING = static_cast<GLenum>(0x8E25);
  typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
  typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
  typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
  typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
  typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
  typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);
  extern VTK_RENDERING_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC BindTransformFeedback;
  extern VTK_RENDERING_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC DeleteTransformFeedbacks;
  extern VTK_RENDERING_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC GenTransformFeedbacks;
  extern VTK_RENDERING_EXPORT PFNGLISTRANSFORMFEEDBACKPROC IsTransformFeedback;
  extern VTK_RENDERING_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC PauseTransformFeedback;
  extern VTK_RENDERING_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC ResumeTransformFeedback;
  extern VTK_RENDERING_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC DrawTransformFeedback;

  //Definitions for GL_ARB_transform_feedback3
  const GLenum MAX_TRANSFORM_FEEDBACK_BUFFERS = static_cast<GLenum>(0x8E70);
  typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);
  typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);
  typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);
  typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC DrawTransformFeedbackStream;
  extern VTK_RENDERING_EXPORT PFNGLBEGINQUERYINDEXEDPROC BeginQueryIndexed;
  extern VTK_RENDERING_EXPORT PFNGLENDQUERYINDEXEDPROC EndQueryIndexed;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYINDEXEDIVPROC GetQueryIndexediv;

  //Definitions for GL_EXT_abgr
  const GLenum ABGR_EXT = static_cast<GLenum>(0x8000);

  //Definitions for GL_EXT_blend_color
  const GLenum CONSTANT_COLOR_EXT = static_cast<GLenum>(0x8001);
  const GLenum ONE_MINUS_CONSTANT_COLOR_EXT = static_cast<GLenum>(0x8002);
  const GLenum CONSTANT_ALPHA_EXT = static_cast<GLenum>(0x8003);
  const GLenum ONE_MINUS_CONSTANT_ALPHA_EXT = static_cast<GLenum>(0x8004);
  const GLenum BLEND_COLOR_EXT = static_cast<GLenum>(0x8005);
  typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
  extern VTK_RENDERING_EXPORT PFNGLBLENDCOLOREXTPROC BlendColorEXT;

  //Definitions for GL_EXT_polygon_offset
  const GLenum POLYGON_OFFSET_EXT = static_cast<GLenum>(0x8037);
  const GLenum POLYGON_OFFSET_FACTOR_EXT = static_cast<GLenum>(0x8038);
  const GLenum POLYGON_OFFSET_BIAS_EXT = static_cast<GLenum>(0x8039);
  typedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
  extern VTK_RENDERING_EXPORT PFNGLPOLYGONOFFSETEXTPROC PolygonOffsetEXT;

  //Definitions for GL_EXT_texture
  const GLenum ALPHA4_EXT = static_cast<GLenum>(0x803B);
  const GLenum ALPHA8_EXT = static_cast<GLenum>(0x803C);
  const GLenum ALPHA12_EXT = static_cast<GLenum>(0x803D);
  const GLenum ALPHA16_EXT = static_cast<GLenum>(0x803E);
  const GLenum LUMINANCE4_EXT = static_cast<GLenum>(0x803F);
  const GLenum LUMINANCE8_EXT = static_cast<GLenum>(0x8040);
  const GLenum LUMINANCE12_EXT = static_cast<GLenum>(0x8041);
  const GLenum LUMINANCE16_EXT = static_cast<GLenum>(0x8042);
  const GLenum LUMINANCE4_ALPHA4_EXT = static_cast<GLenum>(0x8043);
  const GLenum LUMINANCE6_ALPHA2_EXT = static_cast<GLenum>(0x8044);
  const GLenum LUMINANCE8_ALPHA8_EXT = static_cast<GLenum>(0x8045);
  const GLenum LUMINANCE12_ALPHA4_EXT = static_cast<GLenum>(0x8046);
  const GLenum LUMINANCE12_ALPHA12_EXT = static_cast<GLenum>(0x8047);
  const GLenum LUMINANCE16_ALPHA16_EXT = static_cast<GLenum>(0x8048);
  const GLenum INTENSITY_EXT = static_cast<GLenum>(0x8049);
  const GLenum INTENSITY4_EXT = static_cast<GLenum>(0x804A);
  const GLenum INTENSITY8_EXT = static_cast<GLenum>(0x804B);
  const GLenum INTENSITY12_EXT = static_cast<GLenum>(0x804C);
  const GLenum INTENSITY16_EXT = static_cast<GLenum>(0x804D);
  const GLenum RGB2_EXT = static_cast<GLenum>(0x804E);
  const GLenum RGB4_EXT = static_cast<GLenum>(0x804F);
  const GLenum RGB5_EXT = static_cast<GLenum>(0x8050);
  const GLenum RGB8_EXT = static_cast<GLenum>(0x8051);
  const GLenum RGB10_EXT = static_cast<GLenum>(0x8052);
  const GLenum RGB12_EXT = static_cast<GLenum>(0x8053);
  const GLenum RGB16_EXT = static_cast<GLenum>(0x8054);
  const GLenum RGBA2_EXT = static_cast<GLenum>(0x8055);
  const GLenum RGBA4_EXT = static_cast<GLenum>(0x8056);
  const GLenum RGB5_A1_EXT = static_cast<GLenum>(0x8057);
  const GLenum RGBA8_EXT = static_cast<GLenum>(0x8058);
  const GLenum RGB10_A2_EXT = static_cast<GLenum>(0x8059);
  const GLenum RGBA12_EXT = static_cast<GLenum>(0x805A);
  const GLenum RGBA16_EXT = static_cast<GLenum>(0x805B);
  const GLenum TEXTURE_RED_SIZE_EXT = static_cast<GLenum>(0x805C);
  const GLenum TEXTURE_GREEN_SIZE_EXT = static_cast<GLenum>(0x805D);
  const GLenum TEXTURE_BLUE_SIZE_EXT = static_cast<GLenum>(0x805E);
  const GLenum TEXTURE_ALPHA_SIZE_EXT = static_cast<GLenum>(0x805F);
  const GLenum TEXTURE_LUMINANCE_SIZE_EXT = static_cast<GLenum>(0x8060);
  const GLenum TEXTURE_INTENSITY_SIZE_EXT = static_cast<GLenum>(0x8061);
  const GLenum REPLACE_EXT = static_cast<GLenum>(0x8062);
  const GLenum PROXY_TEXTURE_1D_EXT = static_cast<GLenum>(0x8063);
  const GLenum PROXY_TEXTURE_2D_EXT = static_cast<GLenum>(0x8064);
  const GLenum TEXTURE_TOO_LARGE_EXT = static_cast<GLenum>(0x8065);

  //Definitions for GL_EXT_texture3D
  const GLenum PACK_SKIP_IMAGES_EXT = static_cast<GLenum>(0x806B);
  const GLenum PACK_IMAGE_HEIGHT_EXT = static_cast<GLenum>(0x806C);
  const GLenum UNPACK_SKIP_IMAGES_EXT = static_cast<GLenum>(0x806D);
  const GLenum UNPACK_IMAGE_HEIGHT_EXT = static_cast<GLenum>(0x806E);
  const GLenum TEXTURE_3D_EXT = static_cast<GLenum>(0x806F);
  const GLenum PROXY_TEXTURE_3D_EXT = static_cast<GLenum>(0x8070);
  const GLenum TEXTURE_DEPTH_EXT = static_cast<GLenum>(0x8071);
  const GLenum TEXTURE_WRAP_R_EXT = static_cast<GLenum>(0x8072);
  const GLenum MAX_3D_TEXTURE_SIZE_EXT = static_cast<GLenum>(0x8073);
  typedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
  extern VTK_RENDERING_EXPORT PFNGLTEXIMAGE3DEXTPROC TexImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC TexSubImage3DEXT;

  //Definitions for GL_SGIS_texture_filter4
  const GLenum FILTER4_SGIS = static_cast<GLenum>(0x8146);
  const GLenum TEXTURE_FILTER4_SIZE_SGIS = static_cast<GLenum>(0x8147);
  typedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);
  typedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
  extern VTK_RENDERING_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC GetTexFilterFuncSGIS;
  extern VTK_RENDERING_EXPORT PFNGLTEXFILTERFUNCSGISPROC TexFilterFuncSGIS;

  //Definitions for GL_EXT_subtexture
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
  extern VTK_RENDERING_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC TexSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXSUBIMAGE2DEXTPROC TexSubImage2DEXT;

  //Definitions for GL_EXT_copy_texture
  typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC CopyTexImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC CopyTexImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC CopyTexSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC CopyTexSubImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXSUBIMAGE3DEXTPROC CopyTexSubImage3DEXT;

  //Definitions for GL_EXT_histogram
  const GLenum HISTOGRAM_EXT = static_cast<GLenum>(0x8024);
  const GLenum PROXY_HISTOGRAM_EXT = static_cast<GLenum>(0x8025);
  const GLenum HISTOGRAM_WIDTH_EXT = static_cast<GLenum>(0x8026);
  const GLenum HISTOGRAM_FORMAT_EXT = static_cast<GLenum>(0x8027);
  const GLenum HISTOGRAM_RED_SIZE_EXT = static_cast<GLenum>(0x8028);
  const GLenum HISTOGRAM_GREEN_SIZE_EXT = static_cast<GLenum>(0x8029);
  const GLenum HISTOGRAM_BLUE_SIZE_EXT = static_cast<GLenum>(0x802A);
  const GLenum HISTOGRAM_ALPHA_SIZE_EXT = static_cast<GLenum>(0x802B);
  const GLenum HISTOGRAM_LUMINANCE_SIZE_EXT = static_cast<GLenum>(0x802C);
  const GLenum HISTOGRAM_SINK_EXT = static_cast<GLenum>(0x802D);
  const GLenum MINMAX_EXT = static_cast<GLenum>(0x802E);
  const GLenum MINMAX_FORMAT_EXT = static_cast<GLenum>(0x802F);
  const GLenum MINMAX_SINK_EXT = static_cast<GLenum>(0x8030);
  const GLenum TABLE_TOO_LARGE_EXT = static_cast<GLenum>(0x8031);
  typedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
  typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
  typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
  typedef void (APIENTRYP PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
  typedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC) (GLenum target);
  extern VTK_RENDERING_EXPORT PFNGLGETHISTOGRAMEXTPROC GetHistogramEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC GetHistogramParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC GetHistogramParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMINMAXEXTPROC GetMinmaxEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC GetMinmaxParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC GetMinmaxParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLHISTOGRAMEXTPROC HistogramEXT;
  extern VTK_RENDERING_EXPORT PFNGLMINMAXEXTPROC MinmaxEXT;
  extern VTK_RENDERING_EXPORT PFNGLRESETHISTOGRAMEXTPROC ResetHistogramEXT;
  extern VTK_RENDERING_EXPORT PFNGLRESETMINMAXEXTPROC ResetMinmaxEXT;

  //Definitions for GL_EXT_convolution
  const GLenum CONVOLUTION_1D_EXT = static_cast<GLenum>(0x8010);
  const GLenum CONVOLUTION_2D_EXT = static_cast<GLenum>(0x8011);
  const GLenum SEPARABLE_2D_EXT = static_cast<GLenum>(0x8012);
  const GLenum CONVOLUTION_BORDER_MODE_EXT = static_cast<GLenum>(0x8013);
  const GLenum CONVOLUTION_FILTER_SCALE_EXT = static_cast<GLenum>(0x8014);
  const GLenum CONVOLUTION_FILTER_BIAS_EXT = static_cast<GLenum>(0x8015);
  const GLenum REDUCE_EXT = static_cast<GLenum>(0x8016);
  const GLenum CONVOLUTION_FORMAT_EXT = static_cast<GLenum>(0x8017);
  const GLenum CONVOLUTION_WIDTH_EXT = static_cast<GLenum>(0x8018);
  const GLenum CONVOLUTION_HEIGHT_EXT = static_cast<GLenum>(0x8019);
  const GLenum MAX_CONVOLUTION_WIDTH_EXT = static_cast<GLenum>(0x801A);
  const GLenum MAX_CONVOLUTION_HEIGHT_EXT = static_cast<GLenum>(0x801B);
  const GLenum POST_CONVOLUTION_RED_SCALE_EXT = static_cast<GLenum>(0x801C);
  const GLenum POST_CONVOLUTION_GREEN_SCALE_EXT = static_cast<GLenum>(0x801D);
  const GLenum POST_CONVOLUTION_BLUE_SCALE_EXT = static_cast<GLenum>(0x801E);
  const GLenum POST_CONVOLUTION_ALPHA_SCALE_EXT = static_cast<GLenum>(0x801F);
  const GLenum POST_CONVOLUTION_RED_BIAS_EXT = static_cast<GLenum>(0x8020);
  const GLenum POST_CONVOLUTION_GREEN_BIAS_EXT = static_cast<GLenum>(0x8021);
  const GLenum POST_CONVOLUTION_BLUE_BIAS_EXT = static_cast<GLenum>(0x8022);
  const GLenum POST_CONVOLUTION_ALPHA_BIAS_EXT = static_cast<GLenum>(0x8023);
  typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
  typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);
  typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
  typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
  typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC ConvolutionFilter1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC ConvolutionFilter2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC ConvolutionParameterfEXT;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC ConvolutionParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC ConvolutionParameteriEXT;
  extern VTK_RENDERING_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC ConvolutionParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC CopyConvolutionFilter1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC CopyConvolutionFilter2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC GetConvolutionFilterEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC GetConvolutionParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC GetConvolutionParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC GetSeparableFilterEXT;
  extern VTK_RENDERING_EXPORT PFNGLSEPARABLEFILTER2DEXTPROC SeparableFilter2DEXT;

  //Definitions for GL_SGI_color_matrix
  const GLenum COLOR_MATRIX_SGI = static_cast<GLenum>(0x80B1);
  const GLenum COLOR_MATRIX_STACK_DEPTH_SGI = static_cast<GLenum>(0x80B2);
  const GLenum MAX_COLOR_MATRIX_STACK_DEPTH_SGI = static_cast<GLenum>(0x80B3);
  const GLenum POST_COLOR_MATRIX_RED_SCALE_SGI = static_cast<GLenum>(0x80B4);
  const GLenum POST_COLOR_MATRIX_GREEN_SCALE_SGI = static_cast<GLenum>(0x80B5);
  const GLenum POST_COLOR_MATRIX_BLUE_SCALE_SGI = static_cast<GLenum>(0x80B6);
  const GLenum POST_COLOR_MATRIX_ALPHA_SCALE_SGI = static_cast<GLenum>(0x80B7);
  const GLenum POST_COLOR_MATRIX_RED_BIAS_SGI = static_cast<GLenum>(0x80B8);
  const GLenum POST_COLOR_MATRIX_GREEN_BIAS_SGI = static_cast<GLenum>(0x80B9);
  const GLenum POST_COLOR_MATRIX_BLUE_BIAS_SGI = static_cast<GLenum>(0x80BA);
  const GLenum POST_COLOR_MATRIX_ALPHA_BIAS_SGI = static_cast<GLenum>(0x80BB);

  //Definitions for GL_SGI_color_table
  const GLenum COLOR_TABLE_SGI = static_cast<GLenum>(0x80D0);
  const GLenum POST_CONVOLUTION_COLOR_TABLE_SGI = static_cast<GLenum>(0x80D1);
  const GLenum POST_COLOR_MATRIX_COLOR_TABLE_SGI = static_cast<GLenum>(0x80D2);
  const GLenum PROXY_COLOR_TABLE_SGI = static_cast<GLenum>(0x80D3);
  const GLenum PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = static_cast<GLenum>(0x80D4);
  const GLenum PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = static_cast<GLenum>(0x80D5);
  const GLenum COLOR_TABLE_SCALE_SGI = static_cast<GLenum>(0x80D6);
  const GLenum COLOR_TABLE_BIAS_SGI = static_cast<GLenum>(0x80D7);
  const GLenum COLOR_TABLE_FORMAT_SGI = static_cast<GLenum>(0x80D8);
  const GLenum COLOR_TABLE_WIDTH_SGI = static_cast<GLenum>(0x80D9);
  const GLenum COLOR_TABLE_RED_SIZE_SGI = static_cast<GLenum>(0x80DA);
  const GLenum COLOR_TABLE_GREEN_SIZE_SGI = static_cast<GLenum>(0x80DB);
  const GLenum COLOR_TABLE_BLUE_SIZE_SGI = static_cast<GLenum>(0x80DC);
  const GLenum COLOR_TABLE_ALPHA_SIZE_SGI = static_cast<GLenum>(0x80DD);
  const GLenum COLOR_TABLE_LUMINANCE_SIZE_SGI = static_cast<GLenum>(0x80DE);
  const GLenum COLOR_TABLE_INTENSITY_SIZE_SGI = static_cast<GLenum>(0x80DF);
  typedef void (APIENTRYP PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
  typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLCOLORTABLESGIPROC ColorTableSGI;
  extern VTK_RENDERING_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC ColorTableParameterfvSGI;
  extern VTK_RENDERING_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC ColorTableParameterivSGI;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCOLORTABLESGIPROC CopyColorTableSGI;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLESGIPROC GetColorTableSGI;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC GetColorTableParameterfvSGI;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEPARAMETERIVSGIPROC GetColorTableParameterivSGI;

  //Definitions for GL_SGIS_pixel_texture
  const GLenum PIXEL_TEXTURE_SGIS = static_cast<GLenum>(0x8353);
  const GLenum PIXEL_FRAGMENT_RGB_SOURCE_SGIS = static_cast<GLenum>(0x8354);
  const GLenum PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = static_cast<GLenum>(0x8355);
  const GLenum PIXEL_GROUP_COLOR_SGIS = static_cast<GLenum>(0x8356);
  typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLPIXELTEXGENPARAMETERISGISPROC PixelTexGenParameteriSGIS;
  extern VTK_RENDERING_EXPORT PFNGLPIXELTEXGENPARAMETERIVSGISPROC PixelTexGenParameterivSGIS;
  extern VTK_RENDERING_EXPORT PFNGLPIXELTEXGENPARAMETERFSGISPROC PixelTexGenParameterfSGIS;
  extern VTK_RENDERING_EXPORT PFNGLPIXELTEXGENPARAMETERFVSGISPROC PixelTexGenParameterfvSGIS;
  extern VTK_RENDERING_EXPORT PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC GetPixelTexGenParameterivSGIS;
  extern VTK_RENDERING_EXPORT PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC GetPixelTexGenParameterfvSGIS;

  //Definitions for GL_SGIX_pixel_texture
  const GLenum PIXEL_TEX_GEN_SGIX = static_cast<GLenum>(0x8139);
  const GLenum PIXEL_TEX_GEN_MODE_SGIX = static_cast<GLenum>(0x832B);
  typedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLPIXELTEXGENSGIXPROC PixelTexGenSGIX;

  //Definitions for GL_SGIS_texture4D
  const GLenum PACK_SKIP_VOLUMES_SGIS = static_cast<GLenum>(0x8130);
  const GLenum PACK_IMAGE_DEPTH_SGIS = static_cast<GLenum>(0x8131);
  const GLenum UNPACK_SKIP_VOLUMES_SGIS = static_cast<GLenum>(0x8132);
  const GLenum UNPACK_IMAGE_DEPTH_SGIS = static_cast<GLenum>(0x8133);
  const GLenum TEXTURE_4D_SGIS = static_cast<GLenum>(0x8134);
  const GLenum PROXY_TEXTURE_4D_SGIS = static_cast<GLenum>(0x8135);
  const GLenum TEXTURE_4DSIZE_SGIS = static_cast<GLenum>(0x8136);
  const GLenum TEXTURE_WRAP_Q_SGIS = static_cast<GLenum>(0x8137);
  const GLenum MAX_4D_TEXTURE_SIZE_SGIS = static_cast<GLenum>(0x8138);
  const GLenum TEXTURE_4D_BINDING_SGIS = static_cast<GLenum>(0x814F);
  typedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
  extern VTK_RENDERING_EXPORT PFNGLTEXIMAGE4DSGISPROC TexImage4DSGIS;
  extern VTK_RENDERING_EXPORT PFNGLTEXSUBIMAGE4DSGISPROC TexSubImage4DSGIS;

  //Definitions for GL_SGI_texture_color_table
  const GLenum TEXTURE_COLOR_TABLE_SGI = static_cast<GLenum>(0x80BC);
  const GLenum PROXY_TEXTURE_COLOR_TABLE_SGI = static_cast<GLenum>(0x80BD);

  //Definitions for GL_EXT_cmyka
  const GLenum CMYK_EXT = static_cast<GLenum>(0x800C);
  const GLenum CMYKA_EXT = static_cast<GLenum>(0x800D);
  const GLenum PACK_CMYK_HINT_EXT = static_cast<GLenum>(0x800E);
  const GLenum UNPACK_CMYK_HINT_EXT = static_cast<GLenum>(0x800F);

  //Definitions for GL_EXT_texture_object
  const GLenum TEXTURE_PRIORITY_EXT = static_cast<GLenum>(0x8066);
  const GLenum TEXTURE_RESIDENT_EXT = static_cast<GLenum>(0x8067);
  const GLenum TEXTURE_1D_BINDING_EXT = static_cast<GLenum>(0x8068);
  const GLenum TEXTURE_2D_BINDING_EXT = static_cast<GLenum>(0x8069);
  const GLenum TEXTURE_3D_BINDING_EXT = static_cast<GLenum>(0x806A);
  typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
  typedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
  typedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
  typedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
  typedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC) (GLuint texture);
  typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
  extern VTK_RENDERING_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC AreTexturesResidentEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDTEXTUREEXTPROC BindTextureEXT;
  extern VTK_RENDERING_EXPORT PFNGLDELETETEXTURESEXTPROC DeleteTexturesEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENTEXTURESEXTPROC GenTexturesEXT;
  extern VTK_RENDERING_EXPORT PFNGLISTEXTUREEXTPROC IsTextureEXT;
  extern VTK_RENDERING_EXPORT PFNGLPRIORITIZETEXTURESEXTPROC PrioritizeTexturesEXT;

  //Definitions for GL_SGIS_detail_texture
  const GLenum DETAIL_TEXTURE_2D_SGIS = static_cast<GLenum>(0x8095);
  const GLenum DETAIL_TEXTURE_2D_BINDING_SGIS = static_cast<GLenum>(0x8096);
  const GLenum LINEAR_DETAIL_SGIS = static_cast<GLenum>(0x8097);
  const GLenum LINEAR_DETAIL_ALPHA_SGIS = static_cast<GLenum>(0x8098);
  const GLenum LINEAR_DETAIL_COLOR_SGIS = static_cast<GLenum>(0x8099);
  const GLenum DETAIL_TEXTURE_LEVEL_SGIS = static_cast<GLenum>(0x809A);
  const GLenum DETAIL_TEXTURE_MODE_SGIS = static_cast<GLenum>(0x809B);
  const GLenum DETAIL_TEXTURE_FUNC_POINTS_SGIS = static_cast<GLenum>(0x809C);
  typedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
  typedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
  extern VTK_RENDERING_EXPORT PFNGLDETAILTEXFUNCSGISPROC DetailTexFuncSGIS;
  extern VTK_RENDERING_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC GetDetailTexFuncSGIS;

  //Definitions for GL_SGIS_sharpen_texture
  const GLenum LINEAR_SHARPEN_SGIS = static_cast<GLenum>(0x80AD);
  const GLenum LINEAR_SHARPEN_ALPHA_SGIS = static_cast<GLenum>(0x80AE);
  const GLenum LINEAR_SHARPEN_COLOR_SGIS = static_cast<GLenum>(0x80AF);
  const GLenum SHARPEN_TEXTURE_FUNC_POINTS_SGIS = static_cast<GLenum>(0x80B0);
  typedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
  typedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
  extern VTK_RENDERING_EXPORT PFNGLSHARPENTEXFUNCSGISPROC SharpenTexFuncSGIS;
  extern VTK_RENDERING_EXPORT PFNGLGETSHARPENTEXFUNCSGISPROC GetSharpenTexFuncSGIS;

  //Definitions for GL_EXT_packed_pixels
  const GLenum UNSIGNED_BYTE_3_3_2_EXT = static_cast<GLenum>(0x8032);
  const GLenum UNSIGNED_SHORT_4_4_4_4_EXT = static_cast<GLenum>(0x8033);
  const GLenum UNSIGNED_SHORT_5_5_5_1_EXT = static_cast<GLenum>(0x8034);
  const GLenum UNSIGNED_INT_8_8_8_8_EXT = static_cast<GLenum>(0x8035);
  const GLenum UNSIGNED_INT_10_10_10_2_EXT = static_cast<GLenum>(0x8036);

  //Definitions for GL_SGIS_texture_lod
  const GLenum TEXTURE_MIN_LOD_SGIS = static_cast<GLenum>(0x813A);
  const GLenum TEXTURE_MAX_LOD_SGIS = static_cast<GLenum>(0x813B);
  const GLenum TEXTURE_BASE_LEVEL_SGIS = static_cast<GLenum>(0x813C);
  const GLenum TEXTURE_MAX_LEVEL_SGIS = static_cast<GLenum>(0x813D);

  //Definitions for GL_SGIS_multisample
  const GLenum MULTISAMPLE_SGIS = static_cast<GLenum>(0x809D);
  const GLenum SAMPLE_ALPHA_TO_MASK_SGIS = static_cast<GLenum>(0x809E);
  const GLenum SAMPLE_ALPHA_TO_ONE_SGIS = static_cast<GLenum>(0x809F);
  const GLenum SAMPLE_MASK_SGIS = static_cast<GLenum>(0x80A0);
  const GLenum _1PASS_SGIS = static_cast<GLenum>(0x80A1);
  const GLenum _2PASS_0_SGIS = static_cast<GLenum>(0x80A2);
  const GLenum _2PASS_1_SGIS = static_cast<GLenum>(0x80A3);
  const GLenum _4PASS_0_SGIS = static_cast<GLenum>(0x80A4);
  const GLenum _4PASS_1_SGIS = static_cast<GLenum>(0x80A5);
  const GLenum _4PASS_2_SGIS = static_cast<GLenum>(0x80A6);
  const GLenum _4PASS_3_SGIS = static_cast<GLenum>(0x80A7);
  const GLenum SAMPLE_BUFFERS_SGIS = static_cast<GLenum>(0x80A8);
  const GLenum SAMPLES_SGIS = static_cast<GLenum>(0x80A9);
  const GLenum SAMPLE_MASK_VALUE_SGIS = static_cast<GLenum>(0x80AA);
  const GLenum SAMPLE_MASK_INVERT_SGIS = static_cast<GLenum>(0x80AB);
  const GLenum SAMPLE_PATTERN_SGIS = static_cast<GLenum>(0x80AC);
  typedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
  typedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
  extern VTK_RENDERING_EXPORT PFNGLSAMPLEMASKSGISPROC SampleMaskSGIS;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLEPATTERNSGISPROC SamplePatternSGIS;

  //Definitions for GL_EXT_rescale_normal
  const GLenum RESCALE_NORMAL_EXT = static_cast<GLenum>(0x803A);

  //Definitions for GL_EXT_vertex_array
  const GLenum VERTEX_ARRAY_EXT = static_cast<GLenum>(0x8074);
  const GLenum NORMAL_ARRAY_EXT = static_cast<GLenum>(0x8075);
  const GLenum COLOR_ARRAY_EXT = static_cast<GLenum>(0x8076);
  const GLenum INDEX_ARRAY_EXT = static_cast<GLenum>(0x8077);
  const GLenum TEXTURE_COORD_ARRAY_EXT = static_cast<GLenum>(0x8078);
  const GLenum EDGE_FLAG_ARRAY_EXT = static_cast<GLenum>(0x8079);
  const GLenum VERTEX_ARRAY_SIZE_EXT = static_cast<GLenum>(0x807A);
  const GLenum VERTEX_ARRAY_TYPE_EXT = static_cast<GLenum>(0x807B);
  const GLenum VERTEX_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x807C);
  const GLenum VERTEX_ARRAY_COUNT_EXT = static_cast<GLenum>(0x807D);
  const GLenum NORMAL_ARRAY_TYPE_EXT = static_cast<GLenum>(0x807E);
  const GLenum NORMAL_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x807F);
  const GLenum NORMAL_ARRAY_COUNT_EXT = static_cast<GLenum>(0x8080);
  const GLenum COLOR_ARRAY_SIZE_EXT = static_cast<GLenum>(0x8081);
  const GLenum COLOR_ARRAY_TYPE_EXT = static_cast<GLenum>(0x8082);
  const GLenum COLOR_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x8083);
  const GLenum COLOR_ARRAY_COUNT_EXT = static_cast<GLenum>(0x8084);
  const GLenum INDEX_ARRAY_TYPE_EXT = static_cast<GLenum>(0x8085);
  const GLenum INDEX_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x8086);
  const GLenum INDEX_ARRAY_COUNT_EXT = static_cast<GLenum>(0x8087);
  const GLenum TEXTURE_COORD_ARRAY_SIZE_EXT = static_cast<GLenum>(0x8088);
  const GLenum TEXTURE_COORD_ARRAY_TYPE_EXT = static_cast<GLenum>(0x8089);
  const GLenum TEXTURE_COORD_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x808A);
  const GLenum TEXTURE_COORD_ARRAY_COUNT_EXT = static_cast<GLenum>(0x808B);
  const GLenum EDGE_FLAG_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x808C);
  const GLenum EDGE_FLAG_ARRAY_COUNT_EXT = static_cast<GLenum>(0x808D);
  const GLenum VERTEX_ARRAY_POINTER_EXT = static_cast<GLenum>(0x808E);
  const GLenum NORMAL_ARRAY_POINTER_EXT = static_cast<GLenum>(0x808F);
  const GLenum COLOR_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8090);
  const GLenum INDEX_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8091);
  const GLenum TEXTURE_COORD_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8092);
  const GLenum EDGE_FLAG_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8093);
  typedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC) (GLint i);
  typedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
  typedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
  typedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
  typedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLARRAYELEMENTEXTPROC ArrayElementEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOLORPOINTEREXTPROC ColorPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLDRAWARRAYSEXTPROC DrawArraysEXT;
  extern VTK_RENDERING_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC EdgeFlagPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETPOINTERVEXTPROC GetPointervEXT;
  extern VTK_RENDERING_EXPORT PFNGLINDEXPOINTEREXTPROC IndexPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLNORMALPOINTEREXTPROC NormalPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDPOINTEREXTPROC TexCoordPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXPOINTEREXTPROC VertexPointerEXT;

  //Definitions for GL_EXT_misc_attribute

  //Definitions for GL_SGIS_generate_mipmap
  const GLenum GENERATE_MIPMAP_SGIS = static_cast<GLenum>(0x8191);
  const GLenum GENERATE_MIPMAP_HINT_SGIS = static_cast<GLenum>(0x8192);

  //Definitions for GL_SGIX_clipmap
  const GLenum LINEAR_CLIPMAP_LINEAR_SGIX = static_cast<GLenum>(0x8170);
  const GLenum TEXTURE_CLIPMAP_CENTER_SGIX = static_cast<GLenum>(0x8171);
  const GLenum TEXTURE_CLIPMAP_FRAME_SGIX = static_cast<GLenum>(0x8172);
  const GLenum TEXTURE_CLIPMAP_OFFSET_SGIX = static_cast<GLenum>(0x8173);
  const GLenum TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = static_cast<GLenum>(0x8174);
  const GLenum TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = static_cast<GLenum>(0x8175);
  const GLenum TEXTURE_CLIPMAP_DEPTH_SGIX = static_cast<GLenum>(0x8176);
  const GLenum MAX_CLIPMAP_DEPTH_SGIX = static_cast<GLenum>(0x8177);
  const GLenum MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = static_cast<GLenum>(0x8178);
  const GLenum NEAREST_CLIPMAP_NEAREST_SGIX = static_cast<GLenum>(0x844D);
  const GLenum NEAREST_CLIPMAP_LINEAR_SGIX = static_cast<GLenum>(0x844E);
  const GLenum LINEAR_CLIPMAP_NEAREST_SGIX = static_cast<GLenum>(0x844F);

  //Definitions for GL_SGIX_shadow
  const GLenum TEXTURE_COMPARE_SGIX = static_cast<GLenum>(0x819A);
  const GLenum TEXTURE_COMPARE_OPERATOR_SGIX = static_cast<GLenum>(0x819B);
  const GLenum TEXTURE_LEQUAL_R_SGIX = static_cast<GLenum>(0x819C);
  const GLenum TEXTURE_GEQUAL_R_SGIX = static_cast<GLenum>(0x819D);

  //Definitions for GL_SGIS_texture_edge_clamp
  const GLenum CLAMP_TO_EDGE_SGIS = static_cast<GLenum>(0x812F);

  //Definitions for GL_SGIS_texture_border_clamp
  const GLenum CLAMP_TO_BORDER_SGIS = static_cast<GLenum>(0x812D);

  //Definitions for GL_EXT_blend_minmax
  const GLenum FUNC_ADD_EXT = static_cast<GLenum>(0x8006);
  const GLenum MIN_EXT = static_cast<GLenum>(0x8007);
  const GLenum MAX_EXT = static_cast<GLenum>(0x8008);
  const GLenum BLEND_EQUATION_EXT = static_cast<GLenum>(0x8009);
  typedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONEXTPROC BlendEquationEXT;

  //Definitions for GL_EXT_blend_subtract
  const GLenum FUNC_SUBTRACT_EXT = static_cast<GLenum>(0x800A);
  const GLenum FUNC_REVERSE_SUBTRACT_EXT = static_cast<GLenum>(0x800B);

  //Definitions for GL_EXT_blend_logic_op

  //Definitions for GL_SGIX_interlace
  const GLenum INTERLACE_SGIX = static_cast<GLenum>(0x8094);

  //Definitions for GL_SGIX_pixel_tiles
  const GLenum PIXEL_TILE_BEST_ALIGNMENT_SGIX = static_cast<GLenum>(0x813E);
  const GLenum PIXEL_TILE_CACHE_INCREMENT_SGIX = static_cast<GLenum>(0x813F);
  const GLenum PIXEL_TILE_WIDTH_SGIX = static_cast<GLenum>(0x8140);
  const GLenum PIXEL_TILE_HEIGHT_SGIX = static_cast<GLenum>(0x8141);
  const GLenum PIXEL_TILE_GRID_WIDTH_SGIX = static_cast<GLenum>(0x8142);
  const GLenum PIXEL_TILE_GRID_HEIGHT_SGIX = static_cast<GLenum>(0x8143);
  const GLenum PIXEL_TILE_GRID_DEPTH_SGIX = static_cast<GLenum>(0x8144);
  const GLenum PIXEL_TILE_CACHE_SIZE_SGIX = static_cast<GLenum>(0x8145);

  //Definitions for GL_SGIS_texture_select
  const GLenum DUAL_ALPHA4_SGIS = static_cast<GLenum>(0x8110);
  const GLenum DUAL_ALPHA8_SGIS = static_cast<GLenum>(0x8111);
  const GLenum DUAL_ALPHA12_SGIS = static_cast<GLenum>(0x8112);
  const GLenum DUAL_ALPHA16_SGIS = static_cast<GLenum>(0x8113);
  const GLenum DUAL_LUMINANCE4_SGIS = static_cast<GLenum>(0x8114);
  const GLenum DUAL_LUMINANCE8_SGIS = static_cast<GLenum>(0x8115);
  const GLenum DUAL_LUMINANCE12_SGIS = static_cast<GLenum>(0x8116);
  const GLenum DUAL_LUMINANCE16_SGIS = static_cast<GLenum>(0x8117);
  const GLenum DUAL_INTENSITY4_SGIS = static_cast<GLenum>(0x8118);
  const GLenum DUAL_INTENSITY8_SGIS = static_cast<GLenum>(0x8119);
  const GLenum DUAL_INTENSITY12_SGIS = static_cast<GLenum>(0x811A);
  const GLenum DUAL_INTENSITY16_SGIS = static_cast<GLenum>(0x811B);
  const GLenum DUAL_LUMINANCE_ALPHA4_SGIS = static_cast<GLenum>(0x811C);
  const GLenum DUAL_LUMINANCE_ALPHA8_SGIS = static_cast<GLenum>(0x811D);
  const GLenum QUAD_ALPHA4_SGIS = static_cast<GLenum>(0x811E);
  const GLenum QUAD_ALPHA8_SGIS = static_cast<GLenum>(0x811F);
  const GLenum QUAD_LUMINANCE4_SGIS = static_cast<GLenum>(0x8120);
  const GLenum QUAD_LUMINANCE8_SGIS = static_cast<GLenum>(0x8121);
  const GLenum QUAD_INTENSITY4_SGIS = static_cast<GLenum>(0x8122);
  const GLenum QUAD_INTENSITY8_SGIS = static_cast<GLenum>(0x8123);
  const GLenum DUAL_TEXTURE_SELECT_SGIS = static_cast<GLenum>(0x8124);
  const GLenum QUAD_TEXTURE_SELECT_SGIS = static_cast<GLenum>(0x8125);

  //Definitions for GL_SGIX_sprite
  const GLenum SPRITE_SGIX = static_cast<GLenum>(0x8148);
  const GLenum SPRITE_MODE_SGIX = static_cast<GLenum>(0x8149);
  const GLenum SPRITE_AXIS_SGIX = static_cast<GLenum>(0x814A);
  const GLenum SPRITE_TRANSLATION_SGIX = static_cast<GLenum>(0x814B);
  const GLenum SPRITE_AXIAL_SGIX = static_cast<GLenum>(0x814C);
  const GLenum SPRITE_OBJECT_ALIGNED_SGIX = static_cast<GLenum>(0x814D);
  const GLenum SPRITE_EYE_ALIGNED_SGIX = static_cast<GLenum>(0x814E);
  typedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC SpriteParameterfSGIX;
  extern VTK_RENDERING_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC SpriteParameterfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLSPRITEPARAMETERISGIXPROC SpriteParameteriSGIX;
  extern VTK_RENDERING_EXPORT PFNGLSPRITEPARAMETERIVSGIXPROC SpriteParameterivSGIX;

  //Definitions for GL_SGIX_texture_multi_buffer
  const GLenum TEXTURE_MULTI_BUFFER_HINT_SGIX = static_cast<GLenum>(0x812E);

  //Definitions for GL_EXT_point_parameters
  const GLenum POINT_SIZE_MIN_EXT = static_cast<GLenum>(0x8126);
  const GLenum POINT_SIZE_MAX_EXT = static_cast<GLenum>(0x8127);
  const GLenum POINT_FADE_THRESHOLD_SIZE_EXT = static_cast<GLenum>(0x8128);
  const GLenum DISTANCE_ATTENUATION_EXT = static_cast<GLenum>(0x8129);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFEXTPROC PointParameterfEXT;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFVEXTPROC PointParameterfvEXT;

  //Definitions for GL_SGIS_point_parameters
  const GLenum POINT_SIZE_MIN_SGIS = static_cast<GLenum>(0x8126);
  const GLenum POINT_SIZE_MAX_SGIS = static_cast<GLenum>(0x8127);
  const GLenum POINT_FADE_THRESHOLD_SIZE_SGIS = static_cast<GLenum>(0x8128);
  const GLenum DISTANCE_ATTENUATION_SGIS = static_cast<GLenum>(0x8129);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFSGISPROC PointParameterfSGIS;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERFVSGISPROC PointParameterfvSGIS;

  //Definitions for GL_SGIX_instruments
  const GLenum INSTRUMENT_BUFFER_POINTER_SGIX = static_cast<GLenum>(0x8180);
  const GLenum INSTRUMENT_MEASUREMENTS_SGIX = static_cast<GLenum>(0x8181);
  typedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC) (void);
  typedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);
  typedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);
  typedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);
  typedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC) (void);
  typedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);
  extern VTK_RENDERING_EXPORT PFNGLGETINSTRUMENTSSGIXPROC GetInstrumentsSGIX;
  extern VTK_RENDERING_EXPORT PFNGLINSTRUMENTSBUFFERSGIXPROC InstrumentsBufferSGIX;
  extern VTK_RENDERING_EXPORT PFNGLPOLLINSTRUMENTSSGIXPROC PollInstrumentsSGIX;
  extern VTK_RENDERING_EXPORT PFNGLREADINSTRUMENTSSGIXPROC ReadInstrumentsSGIX;
  extern VTK_RENDERING_EXPORT PFNGLSTARTINSTRUMENTSSGIXPROC StartInstrumentsSGIX;
  extern VTK_RENDERING_EXPORT PFNGLSTOPINSTRUMENTSSGIXPROC StopInstrumentsSGIX;

  //Definitions for GL_SGIX_texture_scale_bias
  const GLenum POST_TEXTURE_FILTER_BIAS_SGIX = static_cast<GLenum>(0x8179);
  const GLenum POST_TEXTURE_FILTER_SCALE_SGIX = static_cast<GLenum>(0x817A);
  const GLenum POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = static_cast<GLenum>(0x817B);
  const GLenum POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = static_cast<GLenum>(0x817C);

  //Definitions for GL_SGIX_framezoom
  const GLenum FRAMEZOOM_SGIX = static_cast<GLenum>(0x818B);
  const GLenum FRAMEZOOM_FACTOR_SGIX = static_cast<GLenum>(0x818C);
  const GLenum MAX_FRAMEZOOM_FACTOR_SGIX = static_cast<GLenum>(0x818D);
  typedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
  extern VTK_RENDERING_EXPORT PFNGLFRAMEZOOMSGIXPROC FrameZoomSGIX;

  //Definitions for GL_SGIX_tag_sample_buffer
  typedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLTAGSAMPLEBUFFERSGIXPROC TagSampleBufferSGIX;

  //Definitions for GL_FfdMaskSGIX
  const GLenum TEXTURE_DEFORMATION_BIT_SGIX = static_cast<GLenum>(0x00000001);
  const GLenum GEOMETRY_DEFORMATION_BIT_SGIX = static_cast<GLenum>(0x00000002);

  //Definitions for GL_SGIX_polynomial_ffd
  const GLenum GEOMETRY_DEFORMATION_SGIX = static_cast<GLenum>(0x8194);
  const GLenum TEXTURE_DEFORMATION_SGIX = static_cast<GLenum>(0x8195);
  const GLenum DEFORMATIONS_MASK_SGIX = static_cast<GLenum>(0x8196);
  const GLenum MAX_DEFORMATION_ORDER_SGIX = static_cast<GLenum>(0x8197);
  typedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
  typedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
  typedef void (APIENTRYP PFNGLDEFORMSGIXPROC) (GLbitfield mask);
  typedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);
  extern VTK_RENDERING_EXPORT PFNGLDEFORMATIONMAP3DSGIXPROC DeformationMap3dSGIX;
  extern VTK_RENDERING_EXPORT PFNGLDEFORMATIONMAP3FSGIXPROC DeformationMap3fSGIX;
  extern VTK_RENDERING_EXPORT PFNGLDEFORMSGIXPROC DeformSGIX;
  extern VTK_RENDERING_EXPORT PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC LoadIdentityDeformationMapSGIX;

  //Definitions for GL_SGIX_reference_plane
  const GLenum REFERENCE_PLANE_SGIX = static_cast<GLenum>(0x817D);
  const GLenum REFERENCE_PLANE_EQUATION_SGIX = static_cast<GLenum>(0x817E);
  typedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);
  extern VTK_RENDERING_EXPORT PFNGLREFERENCEPLANESGIXPROC ReferencePlaneSGIX;

  //Definitions for GL_SGIX_flush_raster
  typedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLFLUSHRASTERSGIXPROC FlushRasterSGIX;

  //Definitions for GL_SGIX_depth_texture
  const GLenum DEPTH_COMPONENT16_SGIX = static_cast<GLenum>(0x81A5);
  const GLenum DEPTH_COMPONENT24_SGIX = static_cast<GLenum>(0x81A6);
  const GLenum DEPTH_COMPONENT32_SGIX = static_cast<GLenum>(0x81A7);

  //Definitions for GL_SGIS_fog_function
  const GLenum FOG_FUNC_SGIS = static_cast<GLenum>(0x812A);
  const GLenum FOG_FUNC_POINTS_SGIS = static_cast<GLenum>(0x812B);
  const GLenum MAX_FOG_FUNC_POINTS_SGIS = static_cast<GLenum>(0x812C);
  typedef void (APIENTRYP PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);
  typedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);
  extern VTK_RENDERING_EXPORT PFNGLFOGFUNCSGISPROC FogFuncSGIS;
  extern VTK_RENDERING_EXPORT PFNGLGETFOGFUNCSGISPROC GetFogFuncSGIS;

  //Definitions for GL_SGIX_fog_offset
  const GLenum FOG_OFFSET_SGIX = static_cast<GLenum>(0x8198);
  const GLenum FOG_OFFSET_VALUE_SGIX = static_cast<GLenum>(0x8199);

  //Definitions for GL_HP_image_transform
  const GLenum IMAGE_SCALE_X_HP = static_cast<GLenum>(0x8155);
  const GLenum IMAGE_SCALE_Y_HP = static_cast<GLenum>(0x8156);
  const GLenum IMAGE_TRANSLATE_X_HP = static_cast<GLenum>(0x8157);
  const GLenum IMAGE_TRANSLATE_Y_HP = static_cast<GLenum>(0x8158);
  const GLenum IMAGE_ROTATE_ANGLE_HP = static_cast<GLenum>(0x8159);
  const GLenum IMAGE_ROTATE_ORIGIN_X_HP = static_cast<GLenum>(0x815A);
  const GLenum IMAGE_ROTATE_ORIGIN_Y_HP = static_cast<GLenum>(0x815B);
  const GLenum IMAGE_MAG_FILTER_HP = static_cast<GLenum>(0x815C);
  const GLenum IMAGE_MIN_FILTER_HP = static_cast<GLenum>(0x815D);
  const GLenum IMAGE_CUBIC_WEIGHT_HP = static_cast<GLenum>(0x815E);
  const GLenum CUBIC_HP = static_cast<GLenum>(0x815F);
  const GLenum AVERAGE_HP = static_cast<GLenum>(0x8160);
  const GLenum IMAGE_TRANSFORM_2D_HP = static_cast<GLenum>(0x8161);
  const GLenum POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = static_cast<GLenum>(0x8162);
  const GLenum PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = static_cast<GLenum>(0x8163);
  typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC ImageTransformParameteriHP;
  extern VTK_RENDERING_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC ImageTransformParameterfHP;
  extern VTK_RENDERING_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC ImageTransformParameterivHP;
  extern VTK_RENDERING_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC ImageTransformParameterfvHP;
  extern VTK_RENDERING_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC GetImageTransformParameterivHP;
  extern VTK_RENDERING_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC GetImageTransformParameterfvHP;

  //Definitions for GL_HP_convolution_border_modes
  const GLenum IGNORE_BORDER_HP = static_cast<GLenum>(0x8150);
  const GLenum CONSTANT_BORDER_HP = static_cast<GLenum>(0x8151);
  const GLenum REPLICATE_BORDER_HP = static_cast<GLenum>(0x8153);
  const GLenum CONVOLUTION_BORDER_COLOR_HP = static_cast<GLenum>(0x8154);

  //Definitions for GL_INGR_palette_buffer

  //Definitions for GL_SGIX_texture_add_env
  const GLenum TEXTURE_ENV_BIAS_SGIX = static_cast<GLenum>(0x80BE);

  //Definitions for GL_EXT_color_subtable
  typedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
  typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
  extern VTK_RENDERING_EXPORT PFNGLCOLORSUBTABLEEXTPROC ColorSubTableEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYCOLORSUBTABLEEXTPROC CopyColorSubTableEXT;

  //Definitions for GL_PGI_vertex_hints
  const GLenum VERTEX_DATA_HINT_PGI = static_cast<GLenum>(0x1A22A);
  const GLenum VERTEX_CONSISTENT_HINT_PGI = static_cast<GLenum>(0x1A22B);
  const GLenum MATERIAL_SIDE_HINT_PGI = static_cast<GLenum>(0x1A22C);
  const GLenum MAX_VERTEX_HINT_PGI = static_cast<GLenum>(0x1A22D);
  const GLenum COLOR3_BIT_PGI = static_cast<GLenum>(0x00010000);
  const GLenum COLOR4_BIT_PGI = static_cast<GLenum>(0x00020000);
  const GLenum EDGEFLAG_BIT_PGI = static_cast<GLenum>(0x00040000);
  const GLenum INDEX_BIT_PGI = static_cast<GLenum>(0x00080000);
  const GLenum MAT_AMBIENT_BIT_PGI = static_cast<GLenum>(0x00100000);
  const GLenum MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = static_cast<GLenum>(0x00200000);
  const GLenum MAT_DIFFUSE_BIT_PGI = static_cast<GLenum>(0x00400000);
  const GLenum MAT_EMISSION_BIT_PGI = static_cast<GLenum>(0x00800000);
  const GLenum MAT_COLOR_INDEXES_BIT_PGI = static_cast<GLenum>(0x01000000);
  const GLenum MAT_SHININESS_BIT_PGI = static_cast<GLenum>(0x02000000);
  const GLenum MAT_SPECULAR_BIT_PGI = static_cast<GLenum>(0x04000000);
  const GLenum NORMAL_BIT_PGI = static_cast<GLenum>(0x08000000);
  const GLenum TEXCOORD1_BIT_PGI = static_cast<GLenum>(0x10000000);
  const GLenum TEXCOORD2_BIT_PGI = static_cast<GLenum>(0x20000000);
  const GLenum TEXCOORD3_BIT_PGI = static_cast<GLenum>(0x40000000);
  const GLenum TEXCOORD4_BIT_PGI = static_cast<GLenum>(0x80000000);
  const GLenum VERTEX23_BIT_PGI = static_cast<GLenum>(0x00000004);
  const GLenum VERTEX4_BIT_PGI = static_cast<GLenum>(0x00000008);

  //Definitions for GL_PGI_misc_hints
  const GLenum PREFER_DOUBLEBUFFER_HINT_PGI = static_cast<GLenum>(0x1A1F8);
  const GLenum CONSERVE_MEMORY_HINT_PGI = static_cast<GLenum>(0x1A1FD);
  const GLenum RECLAIM_MEMORY_HINT_PGI = static_cast<GLenum>(0x1A1FE);
  const GLenum NATIVE_GRAPHICS_HANDLE_PGI = static_cast<GLenum>(0x1A202);
  const GLenum NATIVE_GRAPHICS_BEGIN_HINT_PGI = static_cast<GLenum>(0x1A203);
  const GLenum NATIVE_GRAPHICS_END_HINT_PGI = static_cast<GLenum>(0x1A204);
  const GLenum ALWAYS_FAST_HINT_PGI = static_cast<GLenum>(0x1A20C);
  const GLenum ALWAYS_SOFT_HINT_PGI = static_cast<GLenum>(0x1A20D);
  const GLenum ALLOW_DRAW_OBJ_HINT_PGI = static_cast<GLenum>(0x1A20E);
  const GLenum ALLOW_DRAW_WIN_HINT_PGI = static_cast<GLenum>(0x1A20F);
  const GLenum ALLOW_DRAW_FRG_HINT_PGI = static_cast<GLenum>(0x1A210);
  const GLenum ALLOW_DRAW_MEM_HINT_PGI = static_cast<GLenum>(0x1A211);
  const GLenum STRICT_DEPTHFUNC_HINT_PGI = static_cast<GLenum>(0x1A216);
  const GLenum STRICT_LIGHTING_HINT_PGI = static_cast<GLenum>(0x1A217);
  const GLenum STRICT_SCISSOR_HINT_PGI = static_cast<GLenum>(0x1A218);
  const GLenum FULL_STIPPLE_HINT_PGI = static_cast<GLenum>(0x1A219);
  const GLenum CLIP_NEAR_HINT_PGI = static_cast<GLenum>(0x1A220);
  const GLenum CLIP_FAR_HINT_PGI = static_cast<GLenum>(0x1A221);
  const GLenum WIDE_LINE_HINT_PGI = static_cast<GLenum>(0x1A222);
  const GLenum BACK_NORMALS_HINT_PGI = static_cast<GLenum>(0x1A223);
  typedef void (APIENTRYP PFNGLHINTPGIPROC) (GLenum target, GLint mode);
  extern VTK_RENDERING_EXPORT PFNGLHINTPGIPROC HintPGI;

  //Definitions for GL_EXT_paletted_texture
  const GLenum COLOR_INDEX1_EXT = static_cast<GLenum>(0x80E2);
  const GLenum COLOR_INDEX2_EXT = static_cast<GLenum>(0x80E3);
  const GLenum COLOR_INDEX4_EXT = static_cast<GLenum>(0x80E4);
  const GLenum COLOR_INDEX8_EXT = static_cast<GLenum>(0x80E5);
  const GLenum COLOR_INDEX12_EXT = static_cast<GLenum>(0x80E6);
  const GLenum COLOR_INDEX16_EXT = static_cast<GLenum>(0x80E7);
  const GLenum TEXTURE_INDEX_SIZE_EXT = static_cast<GLenum>(0x80ED);
  typedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLCOLORTABLEEXTPROC ColorTableEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEEXTPROC GetColorTableEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC GetColorTableParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC GetColorTableParameterfvEXT;

  //Definitions for GL_EXT_clip_volume_hint
  const GLenum CLIP_VOLUME_CLIPPING_HINT_EXT = static_cast<GLenum>(0x80F0);

  //Definitions for GL_SGIX_list_priority
  const GLenum LIST_PRIORITY_SGIX = static_cast<GLenum>(0x8182);
  typedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLGETLISTPARAMETERFVSGIXPROC GetListParameterfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLGETLISTPARAMETERIVSGIXPROC GetListParameterivSGIX;
  extern VTK_RENDERING_EXPORT PFNGLLISTPARAMETERFSGIXPROC ListParameterfSGIX;
  extern VTK_RENDERING_EXPORT PFNGLLISTPARAMETERFVSGIXPROC ListParameterfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLLISTPARAMETERISGIXPROC ListParameteriSGIX;
  extern VTK_RENDERING_EXPORT PFNGLLISTPARAMETERIVSGIXPROC ListParameterivSGIX;

  //Definitions for GL_SGIX_ir_instrument1
  const GLenum IR_INSTRUMENT1_SGIX = static_cast<GLenum>(0x817F);

  //Definitions for GL_SGIX_calligraphic_fragment
  const GLenum CALLIGRAPHIC_FRAGMENT_SGIX = static_cast<GLenum>(0x8183);

  //Definitions for GL_SGIX_texture_lod_bias
  const GLenum TEXTURE_LOD_BIAS_S_SGIX = static_cast<GLenum>(0x818E);
  const GLenum TEXTURE_LOD_BIAS_T_SGIX = static_cast<GLenum>(0x818F);
  const GLenum TEXTURE_LOD_BIAS_R_SGIX = static_cast<GLenum>(0x8190);

  //Definitions for GL_SGIX_shadow_ambient
  const GLenum SHADOW_AMBIENT_SGIX = static_cast<GLenum>(0x80BF);

  //Definitions for GL_EXT_index_texture

  //Definitions for GL_EXT_index_material
  const GLenum INDEX_MATERIAL_EXT = static_cast<GLenum>(0x81B8);
  const GLenum INDEX_MATERIAL_PARAMETER_EXT = static_cast<GLenum>(0x81B9);
  const GLenum INDEX_MATERIAL_FACE_EXT = static_cast<GLenum>(0x81BA);
  typedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLINDEXMATERIALEXTPROC IndexMaterialEXT;

  //Definitions for GL_EXT_index_func
  const GLenum INDEX_TEST_EXT = static_cast<GLenum>(0x81B5);
  const GLenum INDEX_TEST_FUNC_EXT = static_cast<GLenum>(0x81B6);
  const GLenum INDEX_TEST_REF_EXT = static_cast<GLenum>(0x81B7);
  typedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);
  extern VTK_RENDERING_EXPORT PFNGLINDEXFUNCEXTPROC IndexFuncEXT;

  //Definitions for GL_EXT_index_array_formats
  const GLenum IUI_V2F_EXT = static_cast<GLenum>(0x81AD);
  const GLenum IUI_V3F_EXT = static_cast<GLenum>(0x81AE);
  const GLenum IUI_N3F_V2F_EXT = static_cast<GLenum>(0x81AF);
  const GLenum IUI_N3F_V3F_EXT = static_cast<GLenum>(0x81B0);
  const GLenum T2F_IUI_V2F_EXT = static_cast<GLenum>(0x81B1);
  const GLenum T2F_IUI_V3F_EXT = static_cast<GLenum>(0x81B2);
  const GLenum T2F_IUI_N3F_V2F_EXT = static_cast<GLenum>(0x81B3);
  const GLenum T2F_IUI_N3F_V3F_EXT = static_cast<GLenum>(0x81B4);

  //Definitions for GL_EXT_compiled_vertex_array
  const GLenum ARRAY_ELEMENT_LOCK_FIRST_EXT = static_cast<GLenum>(0x81A8);
  const GLenum ARRAY_ELEMENT_LOCK_COUNT_EXT = static_cast<GLenum>(0x81A9);
  typedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
  typedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLLOCKARRAYSEXTPROC LockArraysEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNLOCKARRAYSEXTPROC UnlockArraysEXT;

  //Definitions for GL_EXT_cull_vertex
  const GLenum CULL_VERTEX_EXT = static_cast<GLenum>(0x81AA);
  const GLenum CULL_VERTEX_EYE_POSITION_EXT = static_cast<GLenum>(0x81AB);
  const GLenum CULL_VERTEX_OBJECT_POSITION_EXT = static_cast<GLenum>(0x81AC);
  typedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
  typedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLCULLPARAMETERDVEXTPROC CullParameterdvEXT;
  extern VTK_RENDERING_EXPORT PFNGLCULLPARAMETERFVEXTPROC CullParameterfvEXT;

  //Definitions for GL_SGIX_ycrcb
  const GLenum YCRCB_422_SGIX = static_cast<GLenum>(0x81BB);
  const GLenum YCRCB_444_SGIX = static_cast<GLenum>(0x81BC);

  //Definitions for GL_SGIX_fragment_lighting
  const GLenum FRAGMENT_LIGHTING_SGIX = static_cast<GLenum>(0x8400);
  const GLenum FRAGMENT_COLOR_MATERIAL_SGIX = static_cast<GLenum>(0x8401);
  const GLenum FRAGMENT_COLOR_MATERIAL_FACE_SGIX = static_cast<GLenum>(0x8402);
  const GLenum FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = static_cast<GLenum>(0x8403);
  const GLenum MAX_FRAGMENT_LIGHTS_SGIX = static_cast<GLenum>(0x8404);
  const GLenum MAX_ACTIVE_LIGHTS_SGIX = static_cast<GLenum>(0x8405);
  const GLenum CURRENT_RASTER_NORMAL_SGIX = static_cast<GLenum>(0x8406);
  const GLenum LIGHT_ENV_MODE_SGIX = static_cast<GLenum>(0x8407);
  const GLenum FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = static_cast<GLenum>(0x8408);
  const GLenum FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = static_cast<GLenum>(0x8409);
  const GLenum FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = static_cast<GLenum>(0x840A);
  const GLenum FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = static_cast<GLenum>(0x840B);
  const GLenum FRAGMENT_LIGHT0_SGIX = static_cast<GLenum>(0x840C);
  const GLenum FRAGMENT_LIGHT1_SGIX = static_cast<GLenum>(0x840D);
  const GLenum FRAGMENT_LIGHT2_SGIX = static_cast<GLenum>(0x840E);
  const GLenum FRAGMENT_LIGHT3_SGIX = static_cast<GLenum>(0x840F);
  const GLenum FRAGMENT_LIGHT4_SGIX = static_cast<GLenum>(0x8410);
  const GLenum FRAGMENT_LIGHT5_SGIX = static_cast<GLenum>(0x8411);
  const GLenum FRAGMENT_LIGHT6_SGIX = static_cast<GLenum>(0x8412);
  const GLenum FRAGMENT_LIGHT7_SGIX = static_cast<GLenum>(0x8413);
  typedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC FragmentColorMaterialSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC FragmentLightfSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC FragmentLightfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC FragmentLightiSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC FragmentLightivSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC FragmentLightModelfSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC FragmentLightModelfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC FragmentLightModeliSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC FragmentLightModelivSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC FragmentMaterialfSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC FragmentMaterialfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC FragmentMaterialiSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC FragmentMaterialivSGIX;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC GetFragmentLightfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC GetFragmentLightivSGIX;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC GetFragmentMaterialfvSGIX;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC GetFragmentMaterialivSGIX;
  extern VTK_RENDERING_EXPORT PFNGLLIGHTENVISGIXPROC LightEnviSGIX;

  //Definitions for GL_IBM_rasterpos_clip
  const GLenum RASTER_POSITION_UNCLIPPED_IBM = static_cast<GLenum>(0x19262);

  //Definitions for GL_HP_texture_lighting
  const GLenum TEXTURE_LIGHTING_MODE_HP = static_cast<GLenum>(0x8167);
  const GLenum TEXTURE_POST_SPECULAR_HP = static_cast<GLenum>(0x8168);
  const GLenum TEXTURE_PRE_SPECULAR_HP = static_cast<GLenum>(0x8169);

  //Definitions for GL_EXT_draw_range_elements
  const GLenum MAX_ELEMENTS_VERTICES_EXT = static_cast<GLenum>(0x80E8);
  const GLenum MAX_ELEMENTS_INDICES_EXT = static_cast<GLenum>(0x80E9);
  typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
  extern VTK_RENDERING_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC DrawRangeElementsEXT;

  //Definitions for GL_WIN_phong_shading
  const GLenum PHONG_WIN = static_cast<GLenum>(0x80EA);
  const GLenum PHONG_HINT_WIN = static_cast<GLenum>(0x80EB);

  //Definitions for GL_WIN_specular_fog
  const GLenum FOG_SPECULAR_TEXTURE_WIN = static_cast<GLenum>(0x80EC);

  //Definitions for GL_EXT_light_texture
  const GLenum FRAGMENT_MATERIAL_EXT = static_cast<GLenum>(0x8349);
  const GLenum FRAGMENT_NORMAL_EXT = static_cast<GLenum>(0x834A);
  const GLenum FRAGMENT_COLOR_EXT = static_cast<GLenum>(0x834C);
  const GLenum ATTENUATION_EXT = static_cast<GLenum>(0x834D);
  const GLenum SHADOW_ATTENUATION_EXT = static_cast<GLenum>(0x834E);
  const GLenum TEXTURE_APPLICATION_MODE_EXT = static_cast<GLenum>(0x834F);
  const GLenum TEXTURE_LIGHT_EXT = static_cast<GLenum>(0x8350);
  const GLenum TEXTURE_MATERIAL_FACE_EXT = static_cast<GLenum>(0x8351);
  const GLenum TEXTURE_MATERIAL_PARAMETER_EXT = static_cast<GLenum>(0x8352);
  typedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
  typedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
  typedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLAPPLYTEXTUREEXTPROC ApplyTextureEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTURELIGHTEXTPROC TextureLightEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREMATERIALEXTPROC TextureMaterialEXT;

  //Definitions for GL_SGIX_blend_alpha_minmax
  const GLenum ALPHA_MIN_SGIX = static_cast<GLenum>(0x8320);
  const GLenum ALPHA_MAX_SGIX = static_cast<GLenum>(0x8321);

  //Definitions for GL_SGIX_impact_pixel_texture
  const GLenum PIXEL_TEX_GEN_Q_CEILING_SGIX = static_cast<GLenum>(0x8184);
  const GLenum PIXEL_TEX_GEN_Q_ROUND_SGIX = static_cast<GLenum>(0x8185);
  const GLenum PIXEL_TEX_GEN_Q_FLOOR_SGIX = static_cast<GLenum>(0x8186);
  const GLenum PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = static_cast<GLenum>(0x8187);
  const GLenum PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = static_cast<GLenum>(0x8188);
  const GLenum PIXEL_TEX_GEN_ALPHA_LS_SGIX = static_cast<GLenum>(0x8189);
  const GLenum PIXEL_TEX_GEN_ALPHA_MS_SGIX = static_cast<GLenum>(0x818A);

  //Definitions for GL_EXT_bgra
  const GLenum BGR_EXT = static_cast<GLenum>(0x80E0);
  const GLenum BGRA_EXT = static_cast<GLenum>(0x80E1);

  //Definitions for GL_SGIX_async
  const GLenum ASYNC_MARKER_SGIX = static_cast<GLenum>(0x8329);
  typedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
  typedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);
  typedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);
  typedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
  typedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
  typedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
  extern VTK_RENDERING_EXPORT PFNGLASYNCMARKERSGIXPROC AsyncMarkerSGIX;
  extern VTK_RENDERING_EXPORT PFNGLFINISHASYNCSGIXPROC FinishAsyncSGIX;
  extern VTK_RENDERING_EXPORT PFNGLPOLLASYNCSGIXPROC PollAsyncSGIX;
  extern VTK_RENDERING_EXPORT PFNGLGENASYNCMARKERSSGIXPROC GenAsyncMarkersSGIX;
  extern VTK_RENDERING_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC DeleteAsyncMarkersSGIX;
  extern VTK_RENDERING_EXPORT PFNGLISASYNCMARKERSGIXPROC IsAsyncMarkerSGIX;

  //Definitions for GL_SGIX_async_pixel
  const GLenum ASYNC_TEX_IMAGE_SGIX = static_cast<GLenum>(0x835C);
  const GLenum ASYNC_DRAW_PIXELS_SGIX = static_cast<GLenum>(0x835D);
  const GLenum ASYNC_READ_PIXELS_SGIX = static_cast<GLenum>(0x835E);
  const GLenum MAX_ASYNC_TEX_IMAGE_SGIX = static_cast<GLenum>(0x835F);
  const GLenum MAX_ASYNC_DRAW_PIXELS_SGIX = static_cast<GLenum>(0x8360);
  const GLenum MAX_ASYNC_READ_PIXELS_SGIX = static_cast<GLenum>(0x8361);

  //Definitions for GL_SGIX_async_histogram
  const GLenum ASYNC_HISTOGRAM_SGIX = static_cast<GLenum>(0x832C);
  const GLenum MAX_ASYNC_HISTOGRAM_SGIX = static_cast<GLenum>(0x832D);

  //Definitions for GL_INTEL_texture_scissor

  //Definitions for GL_INTEL_parallel_arrays
  const GLenum PARALLEL_ARRAYS_INTEL = static_cast<GLenum>(0x83F4);
  const GLenum VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = static_cast<GLenum>(0x83F5);
  const GLenum NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = static_cast<GLenum>(0x83F6);
  const GLenum COLOR_ARRAY_PARALLEL_POINTERS_INTEL = static_cast<GLenum>(0x83F7);
  const GLenum TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = static_cast<GLenum>(0x83F8);
  typedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
  typedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);
  typedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
  typedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXPOINTERVINTELPROC VertexPointervINTEL;
  extern VTK_RENDERING_EXPORT PFNGLNORMALPOINTERVINTELPROC NormalPointervINTEL;
  extern VTK_RENDERING_EXPORT PFNGLCOLORPOINTERVINTELPROC ColorPointervINTEL;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDPOINTERVINTELPROC TexCoordPointervINTEL;

  //Definitions for GL_HP_occlusion_test
  const GLenum OCCLUSION_TEST_HP = static_cast<GLenum>(0x8165);
  const GLenum OCCLUSION_TEST_RESULT_HP = static_cast<GLenum>(0x8166);

  //Definitions for GL_EXT_pixel_transform
  const GLenum PIXEL_TRANSFORM_2D_EXT = static_cast<GLenum>(0x8330);
  const GLenum PIXEL_MAG_FILTER_EXT = static_cast<GLenum>(0x8331);
  const GLenum PIXEL_MIN_FILTER_EXT = static_cast<GLenum>(0x8332);
  const GLenum PIXEL_CUBIC_WEIGHT_EXT = static_cast<GLenum>(0x8333);
  const GLenum CUBIC_EXT = static_cast<GLenum>(0x8334);
  const GLenum AVERAGE_EXT = static_cast<GLenum>(0x8335);
  const GLenum PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = static_cast<GLenum>(0x8336);
  const GLenum MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = static_cast<GLenum>(0x8337);
  const GLenum PIXEL_TRANSFORM_2D_MATRIX_EXT = static_cast<GLenum>(0x8338);
  typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC PixelTransformParameteriEXT;
  extern VTK_RENDERING_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC PixelTransformParameterfEXT;
  extern VTK_RENDERING_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC PixelTransformParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC PixelTransformParameterfvEXT;

  //Definitions for GL_EXT_pixel_transform_color_table

  //Definitions for GL_EXT_shared_texture_palette
  const GLenum SHARED_TEXTURE_PALETTE_EXT = static_cast<GLenum>(0x81FB);

  //Definitions for GL_EXT_separate_specular_color
  const GLenum LIGHT_MODEL_COLOR_CONTROL_EXT = static_cast<GLenum>(0x81F8);
  const GLenum SINGLE_COLOR_EXT = static_cast<GLenum>(0x81F9);
  const GLenum SEPARATE_SPECULAR_COLOR_EXT = static_cast<GLenum>(0x81FA);

  //Definitions for GL_EXT_secondary_color
  const GLenum COLOR_SUM_EXT = static_cast<GLenum>(0x8458);
  const GLenum CURRENT_SECONDARY_COLOR_EXT = static_cast<GLenum>(0x8459);
  const GLenum SECONDARY_COLOR_ARRAY_SIZE_EXT = static_cast<GLenum>(0x845A);
  const GLenum SECONDARY_COLOR_ARRAY_TYPE_EXT = static_cast<GLenum>(0x845B);
  const GLenum SECONDARY_COLOR_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x845C);
  const GLenum SECONDARY_COLOR_ARRAY_POINTER_EXT = static_cast<GLenum>(0x845D);
  const GLenum SECONDARY_COLOR_ARRAY_EXT = static_cast<GLenum>(0x845E);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
  typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC SecondaryColor3bEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC SecondaryColor3bvEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC SecondaryColor3dEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC SecondaryColor3dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC SecondaryColor3fEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC SecondaryColor3iEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC SecondaryColor3ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC SecondaryColor3sEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC SecondaryColor3svEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC SecondaryColor3ubEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC SecondaryColor3ubvEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC SecondaryColor3uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC SecondaryColor3uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC SecondaryColor3usEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC SecondaryColor3usvEXT;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC SecondaryColorPointerEXT;

  //Definitions for GL_EXT_texture_perturb_normal
  const GLenum PERTURB_EXT = static_cast<GLenum>(0x85AE);
  const GLenum TEXTURE_NORMAL_EXT = static_cast<GLenum>(0x85AF);
  typedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLTEXTURENORMALEXTPROC TextureNormalEXT;

  //Definitions for GL_EXT_multi_draw_arrays
  typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
  typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  extern VTK_RENDERING_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC MultiDrawArraysEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTIDRAWELEMENTSEXTPROC MultiDrawElementsEXT;

  //Definitions for GL_EXT_fog_coord
  const GLenum FOG_COORDINATE_SOURCE_EXT = static_cast<GLenum>(0x8450);
  const GLenum FOG_COORDINATE_EXT = static_cast<GLenum>(0x8451);
  const GLenum FRAGMENT_DEPTH_EXT = static_cast<GLenum>(0x8452);
  const GLenum CURRENT_FOG_COORDINATE_EXT = static_cast<GLenum>(0x8453);
  const GLenum FOG_COORDINATE_ARRAY_TYPE_EXT = static_cast<GLenum>(0x8454);
  const GLenum FOG_COORDINATE_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x8455);
  const GLenum FOG_COORDINATE_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8456);
  const GLenum FOG_COORDINATE_ARRAY_EXT = static_cast<GLenum>(0x8457);
  typedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
  typedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
  typedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
  typedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
  typedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDFEXTPROC FogCoordfEXT;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDDEXTPROC FogCoorddEXT;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDDVEXTPROC FogCoorddvEXT;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDPOINTEREXTPROC FogCoordPointerEXT;

  //Definitions for GL_REND_screen_coordinates
  const GLenum SCREEN_COORDINATES_REND = static_cast<GLenum>(0x8490);
  const GLenum INVERTED_SCREEN_W_REND = static_cast<GLenum>(0x8491);

  //Definitions for GL_EXT_coordinate_frame
  const GLenum TANGENT_ARRAY_EXT = static_cast<GLenum>(0x8439);
  const GLenum BINORMAL_ARRAY_EXT = static_cast<GLenum>(0x843A);
  const GLenum CURRENT_TANGENT_EXT = static_cast<GLenum>(0x843B);
  const GLenum CURRENT_BINORMAL_EXT = static_cast<GLenum>(0x843C);
  const GLenum TANGENT_ARRAY_TYPE_EXT = static_cast<GLenum>(0x843E);
  const GLenum TANGENT_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x843F);
  const GLenum BINORMAL_ARRAY_TYPE_EXT = static_cast<GLenum>(0x8440);
  const GLenum BINORMAL_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x8441);
  const GLenum TANGENT_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8442);
  const GLenum BINORMAL_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8443);
  const GLenum MAP1_TANGENT_EXT = static_cast<GLenum>(0x8444);
  const GLenum MAP2_TANGENT_EXT = static_cast<GLenum>(0x8445);
  const GLenum MAP1_BINORMAL_EXT = static_cast<GLenum>(0x8446);
  const GLenum MAP2_BINORMAL_EXT = static_cast<GLenum>(0x8447);
  typedef void (APIENTRYP PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);
  typedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);
  typedef void (APIENTRYP PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);
  typedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);
  typedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);
  typedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);
  typedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);
  typedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);
  typedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);
  typedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);
  typedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);
  typedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);
  typedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3BEXTPROC Tangent3bEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3BVEXTPROC Tangent3bvEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3DEXTPROC Tangent3dEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3DVEXTPROC Tangent3dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3FEXTPROC Tangent3fEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3FVEXTPROC Tangent3fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3IEXTPROC Tangent3iEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3IVEXTPROC Tangent3ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3SEXTPROC Tangent3sEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENT3SVEXTPROC Tangent3svEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3BEXTPROC Binormal3bEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3BVEXTPROC Binormal3bvEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3DEXTPROC Binormal3dEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3DVEXTPROC Binormal3dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3FEXTPROC Binormal3fEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3FVEXTPROC Binormal3fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3IEXTPROC Binormal3iEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3IVEXTPROC Binormal3ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3SEXTPROC Binormal3sEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMAL3SVEXTPROC Binormal3svEXT;
  extern VTK_RENDERING_EXPORT PFNGLTANGENTPOINTEREXTPROC TangentPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINORMALPOINTEREXTPROC BinormalPointerEXT;

  //Definitions for GL_EXT_texture_env_combine
  const GLenum COMBINE_EXT = static_cast<GLenum>(0x8570);
  const GLenum COMBINE_RGB_EXT = static_cast<GLenum>(0x8571);
  const GLenum COMBINE_ALPHA_EXT = static_cast<GLenum>(0x8572);
  const GLenum RGB_SCALE_EXT = static_cast<GLenum>(0x8573);
  const GLenum ADD_SIGNED_EXT = static_cast<GLenum>(0x8574);
  const GLenum INTERPOLATE_EXT = static_cast<GLenum>(0x8575);
  const GLenum CONSTANT_EXT = static_cast<GLenum>(0x8576);
  const GLenum PRIMARY_COLOR_EXT = static_cast<GLenum>(0x8577);
  const GLenum PREVIOUS_EXT = static_cast<GLenum>(0x8578);
  const GLenum SOURCE0_RGB_EXT = static_cast<GLenum>(0x8580);
  const GLenum SOURCE1_RGB_EXT = static_cast<GLenum>(0x8581);
  const GLenum SOURCE2_RGB_EXT = static_cast<GLenum>(0x8582);
  const GLenum SOURCE0_ALPHA_EXT = static_cast<GLenum>(0x8588);
  const GLenum SOURCE1_ALPHA_EXT = static_cast<GLenum>(0x8589);
  const GLenum SOURCE2_ALPHA_EXT = static_cast<GLenum>(0x858A);
  const GLenum OPERAND0_RGB_EXT = static_cast<GLenum>(0x8590);
  const GLenum OPERAND1_RGB_EXT = static_cast<GLenum>(0x8591);
  const GLenum OPERAND2_RGB_EXT = static_cast<GLenum>(0x8592);
  const GLenum OPERAND0_ALPHA_EXT = static_cast<GLenum>(0x8598);
  const GLenum OPERAND1_ALPHA_EXT = static_cast<GLenum>(0x8599);
  const GLenum OPERAND2_ALPHA_EXT = static_cast<GLenum>(0x859A);

  //Definitions for GL_APPLE_specular_vector
  const GLenum LIGHT_MODEL_SPECULAR_VECTOR_APPLE = static_cast<GLenum>(0x85B0);

  //Definitions for GL_APPLE_transform_hint
  const GLenum TRANSFORM_HINT_APPLE = static_cast<GLenum>(0x85B1);

  //Definitions for GL_SGIX_fog_scale
  const GLenum FOG_SCALE_SGIX = static_cast<GLenum>(0x81FC);
  const GLenum FOG_SCALE_VALUE_SGIX = static_cast<GLenum>(0x81FD);

  //Definitions for GL_SUNX_constant_data
  const GLenum UNPACK_CONSTANT_DATA_SUNX = static_cast<GLenum>(0x81D5);
  const GLenum TEXTURE_CONSTANT_DATA_SUNX = static_cast<GLenum>(0x81D6);
  typedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLFINISHTEXTURESUNXPROC FinishTextureSUNX;

  //Definitions for GL_SUN_global_alpha
  const GLenum GLOBAL_ALPHA_SUN = static_cast<GLenum>(0x81D9);
  const GLenum GLOBAL_ALPHA_FACTOR_SUN = static_cast<GLenum>(0x81DA);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
  typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC GlobalAlphaFactorbSUN;
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC GlobalAlphaFactorsSUN;
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC GlobalAlphaFactoriSUN;
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC GlobalAlphaFactorfSUN;
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC GlobalAlphaFactordSUN;
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC GlobalAlphaFactorubSUN;
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC GlobalAlphaFactorusSUN;
  extern VTK_RENDERING_EXPORT PFNGLGLOBALALPHAFACTORUISUNPROC GlobalAlphaFactoruiSUN;

  //Definitions for GL_SUN_triangle_list
  const GLenum RESTART_SUN = static_cast<GLenum>(0x0001);
  const GLenum REPLACE_MIDDLE_SUN = static_cast<GLenum>(0x0002);
  const GLenum REPLACE_OLDEST_SUN = static_cast<GLenum>(0x0003);
  const GLenum TRIANGLE_LIST_SUN = static_cast<GLenum>(0x81D7);
  const GLenum REPLACEMENT_CODE_SUN = static_cast<GLenum>(0x81D8);
  const GLenum REPLACEMENT_CODE_ARRAY_SUN = static_cast<GLenum>(0x85C0);
  const GLenum REPLACEMENT_CODE_ARRAY_TYPE_SUN = static_cast<GLenum>(0x85C1);
  const GLenum REPLACEMENT_CODE_ARRAY_STRIDE_SUN = static_cast<GLenum>(0x85C2);
  const GLenum REPLACEMENT_CODE_ARRAY_POINTER_SUN = static_cast<GLenum>(0x85C3);
  const GLenum R1UI_V3F_SUN = static_cast<GLenum>(0x85C4);
  const GLenum R1UI_C4UB_V3F_SUN = static_cast<GLenum>(0x85C5);
  const GLenum R1UI_C3F_V3F_SUN = static_cast<GLenum>(0x85C6);
  const GLenum R1UI_N3F_V3F_SUN = static_cast<GLenum>(0x85C7);
  const GLenum R1UI_C4F_N3F_V3F_SUN = static_cast<GLenum>(0x85C8);
  const GLenum R1UI_T2F_V3F_SUN = static_cast<GLenum>(0x85C9);
  const GLenum R1UI_T2F_N3F_V3F_SUN = static_cast<GLenum>(0x85CA);
  const GLenum R1UI_T2F_C4F_N3F_V3F_SUN = static_cast<GLenum>(0x85CB);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUISUNPROC ReplacementCodeuiSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC ReplacementCodeusSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC ReplacementCodeubSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC ReplacementCodeuivSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC ReplacementCodeusvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC ReplacementCodeubvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEPOINTERSUNPROC ReplacementCodePointerSUN;

  //Definitions for GL_SUN_vertex
  typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
  typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);
  typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);
  typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
  typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
  typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
  typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
  typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC Color4ubVertex2fSUN;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC Color4ubVertex2fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC Color4ubVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC Color4ubVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC Color3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC Color3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC Normal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC Normal3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC Color4fNormal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC Color4fNormal3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC TexCoord2fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC TexCoord2fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC TexCoord4fVertex4fSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC TexCoord4fVertex4fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC TexCoord2fColor4ubVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC TexCoord2fColor4ubVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC TexCoord2fColor3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC TexCoord2fColor3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC TexCoord2fNormal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC TexCoord2fNormal3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC TexCoord2fColor4fNormal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC TexCoord2fColor4fNormal3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC TexCoord4fColor4fNormal3fVertex4fSUN;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC TexCoord4fColor4fNormal3fVertex4fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC ReplacementCodeuiVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC ReplacementCodeuiVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC ReplacementCodeuiColor4ubVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC ReplacementCodeuiColor4ubVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC ReplacementCodeuiColor3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC ReplacementCodeuiColor3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC ReplacementCodeuiNormal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC ReplacementCodeuiNormal3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC ReplacementCodeuiColor4fNormal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC ReplacementCodeuiColor4fNormal3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC ReplacementCodeuiTexCoord2fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC ReplacementCodeuiTexCoord2fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
  extern VTK_RENDERING_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;

  //Definitions for GL_EXT_blend_func_separate
  const GLenum BLEND_DST_RGB_EXT = static_cast<GLenum>(0x80C8);
  const GLenum BLEND_SRC_RGB_EXT = static_cast<GLenum>(0x80C9);
  const GLenum BLEND_DST_ALPHA_EXT = static_cast<GLenum>(0x80CA);
  const GLenum BLEND_SRC_ALPHA_EXT = static_cast<GLenum>(0x80CB);
  typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  extern VTK_RENDERING_EXPORT PFNGLBLENDFUNCSEPARATEEXTPROC BlendFuncSeparateEXT;

  //Definitions for GL_INGR_color_clamp
  const GLenum RED_MIN_CLAMP_INGR = static_cast<GLenum>(0x8560);
  const GLenum GREEN_MIN_CLAMP_INGR = static_cast<GLenum>(0x8561);
  const GLenum BLUE_MIN_CLAMP_INGR = static_cast<GLenum>(0x8562);
  const GLenum ALPHA_MIN_CLAMP_INGR = static_cast<GLenum>(0x8563);
  const GLenum RED_MAX_CLAMP_INGR = static_cast<GLenum>(0x8564);
  const GLenum GREEN_MAX_CLAMP_INGR = static_cast<GLenum>(0x8565);
  const GLenum BLUE_MAX_CLAMP_INGR = static_cast<GLenum>(0x8566);
  const GLenum ALPHA_MAX_CLAMP_INGR = static_cast<GLenum>(0x8567);

  //Definitions for GL_INGR_interlace_read
  const GLenum INTERLACE_READ_INGR = static_cast<GLenum>(0x8568);

  //Definitions for GL_EXT_stencil_wrap
  const GLenum INCR_WRAP_EXT = static_cast<GLenum>(0x8507);
  const GLenum DECR_WRAP_EXT = static_cast<GLenum>(0x8508);

  //Definitions for GL_EXT_422_pixels
  const GLenum _422_EXT = static_cast<GLenum>(0x80CC);
  const GLenum _422_REV_EXT = static_cast<GLenum>(0x80CD);
  const GLenum _422_AVERAGE_EXT = static_cast<GLenum>(0x80CE);
  const GLenum _422_REV_AVERAGE_EXT = static_cast<GLenum>(0x80CF);

  //Definitions for GL_NV_texgen_reflection
  const GLenum NORMAL_MAP_NV = static_cast<GLenum>(0x8511);
  const GLenum REFLECTION_MAP_NV = static_cast<GLenum>(0x8512);

  //Definitions for GL_EXT_texture_cube_map
  const GLenum NORMAL_MAP_EXT = static_cast<GLenum>(0x8511);
  const GLenum REFLECTION_MAP_EXT = static_cast<GLenum>(0x8512);
  const GLenum TEXTURE_CUBE_MAP_EXT = static_cast<GLenum>(0x8513);
  const GLenum TEXTURE_BINDING_CUBE_MAP_EXT = static_cast<GLenum>(0x8514);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_X_EXT = static_cast<GLenum>(0x8515);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = static_cast<GLenum>(0x8516);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = static_cast<GLenum>(0x8517);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = static_cast<GLenum>(0x8518);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = static_cast<GLenum>(0x8519);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = static_cast<GLenum>(0x851A);
  const GLenum PROXY_TEXTURE_CUBE_MAP_EXT = static_cast<GLenum>(0x851B);
  const GLenum MAX_CUBE_MAP_TEXTURE_SIZE_EXT = static_cast<GLenum>(0x851C);

  //Definitions for GL_SUN_convolution_border_modes
  const GLenum WRAP_BORDER_SUN = static_cast<GLenum>(0x81D4);

  //Definitions for GL_EXT_texture_env_add

  //Definitions for GL_EXT_texture_lod_bias
  const GLenum MAX_TEXTURE_LOD_BIAS_EXT = static_cast<GLenum>(0x84FD);
  const GLenum TEXTURE_FILTER_CONTROL_EXT = static_cast<GLenum>(0x8500);
  const GLenum TEXTURE_LOD_BIAS_EXT = static_cast<GLenum>(0x8501);

  //Definitions for GL_EXT_texture_filter_anisotropic
  const GLenum TEXTURE_MAX_ANISOTROPY_EXT = static_cast<GLenum>(0x84FE);
  const GLenum MAX_TEXTURE_MAX_ANISOTROPY_EXT = static_cast<GLenum>(0x84FF);

  //Definitions for GL_EXT_vertex_weighting
  const GLenum MODELVIEW0_STACK_DEPTH_EXT = static_cast<GLenum>(GL_MODELVIEW_STACK_DEPTH);
  const GLenum MODELVIEW1_STACK_DEPTH_EXT = static_cast<GLenum>(0x8502);
  const GLenum MODELVIEW0_MATRIX_EXT = static_cast<GLenum>(GL_MODELVIEW_MATRIX);
  const GLenum MODELVIEW1_MATRIX_EXT = static_cast<GLenum>(0x8506);
  const GLenum VERTEX_WEIGHTING_EXT = static_cast<GLenum>(0x8509);
  const GLenum MODELVIEW0_EXT = static_cast<GLenum>(GL_MODELVIEW);
  const GLenum MODELVIEW1_EXT = static_cast<GLenum>(0x850A);
  const GLenum CURRENT_VERTEX_WEIGHT_EXT = static_cast<GLenum>(0x850B);
  const GLenum VERTEX_WEIGHT_ARRAY_EXT = static_cast<GLenum>(0x850C);
  const GLenum VERTEX_WEIGHT_ARRAY_SIZE_EXT = static_cast<GLenum>(0x850D);
  const GLenum VERTEX_WEIGHT_ARRAY_TYPE_EXT = static_cast<GLenum>(0x850E);
  const GLenum VERTEX_WEIGHT_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x850F);
  const GLenum VERTEX_WEIGHT_ARRAY_POINTER_EXT = static_cast<GLenum>(0x8510);
  typedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
  typedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
  typedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXWEIGHTFEXTPROC VertexWeightfEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC VertexWeightfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC VertexWeightPointerEXT;

  //Definitions for GL_NV_light_max_exponent
  const GLenum MAX_SHININESS_NV = static_cast<GLenum>(0x8504);
  const GLenum MAX_SPOT_EXPONENT_NV = static_cast<GLenum>(0x8505);

  //Definitions for GL_NV_vertex_array_range
  const GLenum VERTEX_ARRAY_RANGE_NV = static_cast<GLenum>(0x851D);
  const GLenum VERTEX_ARRAY_RANGE_LENGTH_NV = static_cast<GLenum>(0x851E);
  const GLenum VERTEX_ARRAY_RANGE_VALID_NV = static_cast<GLenum>(0x851F);
  const GLenum MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = static_cast<GLenum>(0x8520);
  const GLenum VERTEX_ARRAY_RANGE_POINTER_NV = static_cast<GLenum>(0x8521);
  typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
  typedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);
  extern VTK_RENDERING_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC FlushVertexArrayRangeNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXARRAYRANGENVPROC VertexArrayRangeNV;

  //Definitions for GL_NV_register_combiners
  const GLenum REGISTER_COMBINERS_NV = static_cast<GLenum>(0x8522);
  const GLenum VARIABLE_A_NV = static_cast<GLenum>(0x8523);
  const GLenum VARIABLE_B_NV = static_cast<GLenum>(0x8524);
  const GLenum VARIABLE_C_NV = static_cast<GLenum>(0x8525);
  const GLenum VARIABLE_D_NV = static_cast<GLenum>(0x8526);
  const GLenum VARIABLE_E_NV = static_cast<GLenum>(0x8527);
  const GLenum VARIABLE_F_NV = static_cast<GLenum>(0x8528);
  const GLenum VARIABLE_G_NV = static_cast<GLenum>(0x8529);
  const GLenum CONSTANT_COLOR0_NV = static_cast<GLenum>(0x852A);
  const GLenum CONSTANT_COLOR1_NV = static_cast<GLenum>(0x852B);
  const GLenum PRIMARY_COLOR_NV = static_cast<GLenum>(0x852C);
  const GLenum SECONDARY_COLOR_NV = static_cast<GLenum>(0x852D);
  const GLenum SPARE0_NV = static_cast<GLenum>(0x852E);
  const GLenum SPARE1_NV = static_cast<GLenum>(0x852F);
  const GLenum DISCARD_NV = static_cast<GLenum>(0x8530);
  const GLenum E_TIMES_F_NV = static_cast<GLenum>(0x8531);
  const GLenum SPARE0_PLUS_SECONDARY_COLOR_NV = static_cast<GLenum>(0x8532);
  const GLenum UNSIGNED_IDENTITY_NV = static_cast<GLenum>(0x8536);
  const GLenum UNSIGNED_INVERT_NV = static_cast<GLenum>(0x8537);
  const GLenum EXPAND_NORMAL_NV = static_cast<GLenum>(0x8538);
  const GLenum EXPAND_NEGATE_NV = static_cast<GLenum>(0x8539);
  const GLenum HALF_BIAS_NORMAL_NV = static_cast<GLenum>(0x853A);
  const GLenum HALF_BIAS_NEGATE_NV = static_cast<GLenum>(0x853B);
  const GLenum SIGNED_IDENTITY_NV = static_cast<GLenum>(0x853C);
  const GLenum SIGNED_NEGATE_NV = static_cast<GLenum>(0x853D);
  const GLenum SCALE_BY_TWO_NV = static_cast<GLenum>(0x853E);
  const GLenum SCALE_BY_FOUR_NV = static_cast<GLenum>(0x853F);
  const GLenum SCALE_BY_ONE_HALF_NV = static_cast<GLenum>(0x8540);
  const GLenum BIAS_BY_NEGATIVE_ONE_HALF_NV = static_cast<GLenum>(0x8541);
  const GLenum COMBINER_INPUT_NV = static_cast<GLenum>(0x8542);
  const GLenum COMBINER_MAPPING_NV = static_cast<GLenum>(0x8543);
  const GLenum COMBINER_COMPONENT_USAGE_NV = static_cast<GLenum>(0x8544);
  const GLenum COMBINER_AB_DOT_PRODUCT_NV = static_cast<GLenum>(0x8545);
  const GLenum COMBINER_CD_DOT_PRODUCT_NV = static_cast<GLenum>(0x8546);
  const GLenum COMBINER_MUX_SUM_NV = static_cast<GLenum>(0x8547);
  const GLenum COMBINER_SCALE_NV = static_cast<GLenum>(0x8548);
  const GLenum COMBINER_BIAS_NV = static_cast<GLenum>(0x8549);
  const GLenum COMBINER_AB_OUTPUT_NV = static_cast<GLenum>(0x854A);
  const GLenum COMBINER_CD_OUTPUT_NV = static_cast<GLenum>(0x854B);
  const GLenum COMBINER_SUM_OUTPUT_NV = static_cast<GLenum>(0x854C);
  const GLenum MAX_GENERAL_COMBINERS_NV = static_cast<GLenum>(0x854D);
  const GLenum NUM_GENERAL_COMBINERS_NV = static_cast<GLenum>(0x854E);
  const GLenum COLOR_SUM_CLAMP_NV = static_cast<GLenum>(0x854F);
  const GLenum COMBINER0_NV = static_cast<GLenum>(0x8550);
  const GLenum COMBINER1_NV = static_cast<GLenum>(0x8551);
  const GLenum COMBINER2_NV = static_cast<GLenum>(0x8552);
  const GLenum COMBINER3_NV = static_cast<GLenum>(0x8553);
  const GLenum COMBINER4_NV = static_cast<GLenum>(0x8554);
  const GLenum COMBINER5_NV = static_cast<GLenum>(0x8555);
  const GLenum COMBINER6_NV = static_cast<GLenum>(0x8556);
  const GLenum COMBINER7_NV = static_cast<GLenum>(0x8557);
  typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
  typedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
  typedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
  typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC CombinerParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLCOMBINERPARAMETERFNVPROC CombinerParameterfNV;
  extern VTK_RENDERING_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC CombinerParameterivNV;
  extern VTK_RENDERING_EXPORT PFNGLCOMBINERPARAMETERINVPROC CombinerParameteriNV;
  extern VTK_RENDERING_EXPORT PFNGLCOMBINERINPUTNVPROC CombinerInputNV;
  extern VTK_RENDERING_EXPORT PFNGLCOMBINEROUTPUTNVPROC CombinerOutputNV;
  extern VTK_RENDERING_EXPORT PFNGLFINALCOMBINERINPUTNVPROC FinalCombinerInputNV;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC GetCombinerInputParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC GetCombinerInputParameterivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC GetCombinerOutputParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC GetCombinerOutputParameterivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC GetFinalCombinerInputParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC GetFinalCombinerInputParameterivNV;

  //Definitions for GL_NV_fog_distance
  const GLenum FOG_DISTANCE_MODE_NV = static_cast<GLenum>(0x855A);
  const GLenum EYE_RADIAL_NV = static_cast<GLenum>(0x855B);
  const GLenum EYE_PLANE_ABSOLUTE_NV = static_cast<GLenum>(0x855C);

  //Definitions for GL_NV_texgen_emboss
  const GLenum EMBOSS_LIGHT_NV = static_cast<GLenum>(0x855D);
  const GLenum EMBOSS_CONSTANT_NV = static_cast<GLenum>(0x855E);
  const GLenum EMBOSS_MAP_NV = static_cast<GLenum>(0x855F);

  //Definitions for GL_NV_blend_square

  //Definitions for GL_NV_texture_env_combine4
  const GLenum COMBINE4_NV = static_cast<GLenum>(0x8503);
  const GLenum SOURCE3_RGB_NV = static_cast<GLenum>(0x8583);
  const GLenum SOURCE3_ALPHA_NV = static_cast<GLenum>(0x858B);
  const GLenum OPERAND3_RGB_NV = static_cast<GLenum>(0x8593);
  const GLenum OPERAND3_ALPHA_NV = static_cast<GLenum>(0x859B);

  //Definitions for GL_MESA_resize_buffers
  typedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLRESIZEBUFFERSMESAPROC ResizeBuffersMESA;

  //Definitions for GL_MESA_window_pos
  typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
  typedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
  typedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
  typedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);
  typedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
  typedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2DMESAPROC WindowPos2dMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2DVMESAPROC WindowPos2dvMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2FMESAPROC WindowPos2fMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2FVMESAPROC WindowPos2fvMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2IMESAPROC WindowPos2iMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2IVMESAPROC WindowPos2ivMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2SMESAPROC WindowPos2sMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS2SVMESAPROC WindowPos2svMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3DMESAPROC WindowPos3dMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3DVMESAPROC WindowPos3dvMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3FMESAPROC WindowPos3fMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3FVMESAPROC WindowPos3fvMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3IMESAPROC WindowPos3iMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3IVMESAPROC WindowPos3ivMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3SMESAPROC WindowPos3sMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS3SVMESAPROC WindowPos3svMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4DMESAPROC WindowPos4dMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4DVMESAPROC WindowPos4dvMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4FMESAPROC WindowPos4fMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4FVMESAPROC WindowPos4fvMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4IMESAPROC WindowPos4iMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4IVMESAPROC WindowPos4ivMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4SMESAPROC WindowPos4sMESA;
  extern VTK_RENDERING_EXPORT PFNGLWINDOWPOS4SVMESAPROC WindowPos4svMESA;

  //Definitions for GL_EXT_texture_compression_s3tc
  const GLenum COMPRESSED_RGB_S3TC_DXT1_EXT = static_cast<GLenum>(0x83F0);
  const GLenum COMPRESSED_RGBA_S3TC_DXT1_EXT = static_cast<GLenum>(0x83F1);
  const GLenum COMPRESSED_RGBA_S3TC_DXT3_EXT = static_cast<GLenum>(0x83F2);
  const GLenum COMPRESSED_RGBA_S3TC_DXT5_EXT = static_cast<GLenum>(0x83F3);

  //Definitions for GL_IBM_cull_vertex
  const GLenum CULL_VERTEX_IBM = static_cast<GLenum>(103050);

  //Definitions for GL_IBM_multimode_draw_arrays
  typedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
  typedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);
  extern VTK_RENDERING_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC MultiModeDrawArraysIBM;
  extern VTK_RENDERING_EXPORT PFNGLMULTIMODEDRAWELEMENTSIBMPROC MultiModeDrawElementsIBM;

  //Definitions for GL_IBM_vertex_array_lists
  const GLenum VERTEX_ARRAY_LIST_IBM = static_cast<GLenum>(103070);
  const GLenum NORMAL_ARRAY_LIST_IBM = static_cast<GLenum>(103071);
  const GLenum COLOR_ARRAY_LIST_IBM = static_cast<GLenum>(103072);
  const GLenum INDEX_ARRAY_LIST_IBM = static_cast<GLenum>(103073);
  const GLenum TEXTURE_COORD_ARRAY_LIST_IBM = static_cast<GLenum>(103074);
  const GLenum EDGE_FLAG_ARRAY_LIST_IBM = static_cast<GLenum>(103075);
  const GLenum FOG_COORDINATE_ARRAY_LIST_IBM = static_cast<GLenum>(103076);
  const GLenum SECONDARY_COLOR_ARRAY_LIST_IBM = static_cast<GLenum>(103077);
  const GLenum VERTEX_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103080);
  const GLenum NORMAL_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103081);
  const GLenum COLOR_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103082);
  const GLenum INDEX_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103083);
  const GLenum TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103084);
  const GLenum EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103085);
  const GLenum FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103086);
  const GLenum SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = static_cast<GLenum>(103087);
  typedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
  typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
  typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);
  typedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
  typedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
  typedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
  typedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
  typedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
  extern VTK_RENDERING_EXPORT PFNGLCOLORPOINTERLISTIBMPROC ColorPointerListIBM;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC SecondaryColorPointerListIBM;
  extern VTK_RENDERING_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC EdgeFlagPointerListIBM;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC FogCoordPointerListIBM;
  extern VTK_RENDERING_EXPORT PFNGLINDEXPOINTERLISTIBMPROC IndexPointerListIBM;
  extern VTK_RENDERING_EXPORT PFNGLNORMALPOINTERLISTIBMPROC NormalPointerListIBM;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC TexCoordPointerListIBM;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXPOINTERLISTIBMPROC VertexPointerListIBM;

  //Definitions for GL_SGIX_subsample
  const GLenum PACK_SUBSAMPLE_RATE_SGIX = static_cast<GLenum>(0x85A0);
  const GLenum UNPACK_SUBSAMPLE_RATE_SGIX = static_cast<GLenum>(0x85A1);
  const GLenum PIXEL_SUBSAMPLE_4444_SGIX = static_cast<GLenum>(0x85A2);
  const GLenum PIXEL_SUBSAMPLE_2424_SGIX = static_cast<GLenum>(0x85A3);
  const GLenum PIXEL_SUBSAMPLE_4242_SGIX = static_cast<GLenum>(0x85A4);

  //Definitions for GL_SGIX_ycrcb_subsample

  //Definitions for GL_SGIX_ycrcba
  const GLenum YCRCB_SGIX = static_cast<GLenum>(0x8318);
  const GLenum YCRCBA_SGIX = static_cast<GLenum>(0x8319);

  //Definitions for GL_SGI_depth_pass_instrument
  const GLenum DEPTH_PASS_INSTRUMENT_SGIX = static_cast<GLenum>(0x8310);
  const GLenum DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = static_cast<GLenum>(0x8311);
  const GLenum DEPTH_PASS_INSTRUMENT_MAX_SGIX = static_cast<GLenum>(0x8312);

  //Definitions for GL_3DFX_texture_compression_FXT1
  const GLenum COMPRESSED_RGB_FXT1_3DFX = static_cast<GLenum>(0x86B0);
  const GLenum COMPRESSED_RGBA_FXT1_3DFX = static_cast<GLenum>(0x86B1);

  //Definitions for GL_3DFX_multisample
  const GLenum MULTISAMPLE_3DFX = static_cast<GLenum>(0x86B2);
  const GLenum SAMPLE_BUFFERS_3DFX = static_cast<GLenum>(0x86B3);
  const GLenum SAMPLES_3DFX = static_cast<GLenum>(0x86B4);
  const GLenum MULTISAMPLE_BIT_3DFX = static_cast<GLenum>(0x20000000);

  //Definitions for GL_3DFX_tbuffer
  typedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
  extern VTK_RENDERING_EXPORT PFNGLTBUFFERMASK3DFXPROC TbufferMask3DFX;

  //Definitions for GL_EXT_multisample
  const GLenum MULTISAMPLE_EXT = static_cast<GLenum>(0x809D);
  const GLenum SAMPLE_ALPHA_TO_MASK_EXT = static_cast<GLenum>(0x809E);
  const GLenum SAMPLE_ALPHA_TO_ONE_EXT = static_cast<GLenum>(0x809F);
  const GLenum SAMPLE_MASK_EXT = static_cast<GLenum>(0x80A0);
  const GLenum _1PASS_EXT = static_cast<GLenum>(0x80A1);
  const GLenum _2PASS_0_EXT = static_cast<GLenum>(0x80A2);
  const GLenum _2PASS_1_EXT = static_cast<GLenum>(0x80A3);
  const GLenum _4PASS_0_EXT = static_cast<GLenum>(0x80A4);
  const GLenum _4PASS_1_EXT = static_cast<GLenum>(0x80A5);
  const GLenum _4PASS_2_EXT = static_cast<GLenum>(0x80A6);
  const GLenum _4PASS_3_EXT = static_cast<GLenum>(0x80A7);
  const GLenum SAMPLE_BUFFERS_EXT = static_cast<GLenum>(0x80A8);
  const GLenum SAMPLES_EXT = static_cast<GLenum>(0x80A9);
  const GLenum SAMPLE_MASK_VALUE_EXT = static_cast<GLenum>(0x80AA);
  const GLenum SAMPLE_MASK_INVERT_EXT = static_cast<GLenum>(0x80AB);
  const GLenum SAMPLE_PATTERN_EXT = static_cast<GLenum>(0x80AC);
  const GLenum MULTISAMPLE_BIT_EXT = static_cast<GLenum>(0x20000000);
  typedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
  typedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
  extern VTK_RENDERING_EXPORT PFNGLSAMPLEMASKEXTPROC SampleMaskEXT;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLEPATTERNEXTPROC SamplePatternEXT;

  //Definitions for GL_SGIX_vertex_preclip
  const GLenum VERTEX_PRECLIP_SGIX = static_cast<GLenum>(0x83EE);
  const GLenum VERTEX_PRECLIP_HINT_SGIX = static_cast<GLenum>(0x83EF);

  //Definitions for GL_SGIX_convolution_accuracy
  const GLenum CONVOLUTION_HINT_SGIX = static_cast<GLenum>(0x8316);

  //Definitions for GL_SGIX_resample
  const GLenum PACK_RESAMPLE_SGIX = static_cast<GLenum>(0x842C);
  const GLenum UNPACK_RESAMPLE_SGIX = static_cast<GLenum>(0x842D);
  const GLenum RESAMPLE_REPLICATE_SGIX = static_cast<GLenum>(0x842E);
  const GLenum RESAMPLE_ZERO_FILL_SGIX = static_cast<GLenum>(0x842F);
  const GLenum RESAMPLE_DECIMATE_SGIX = static_cast<GLenum>(0x8430);

  //Definitions for GL_SGIS_point_line_texgen
  const GLenum EYE_DISTANCE_TO_POINT_SGIS = static_cast<GLenum>(0x81F0);
  const GLenum OBJECT_DISTANCE_TO_POINT_SGIS = static_cast<GLenum>(0x81F1);
  const GLenum EYE_DISTANCE_TO_LINE_SGIS = static_cast<GLenum>(0x81F2);
  const GLenum OBJECT_DISTANCE_TO_LINE_SGIS = static_cast<GLenum>(0x81F3);
  const GLenum EYE_POINT_SGIS = static_cast<GLenum>(0x81F4);
  const GLenum OBJECT_POINT_SGIS = static_cast<GLenum>(0x81F5);
  const GLenum EYE_LINE_SGIS = static_cast<GLenum>(0x81F6);
  const GLenum OBJECT_LINE_SGIS = static_cast<GLenum>(0x81F7);

  //Definitions for GL_SGIS_texture_color_mask
  const GLenum TEXTURE_COLOR_WRITEMASK_SGIS = static_cast<GLenum>(0x81EF);
  typedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  extern VTK_RENDERING_EXPORT PFNGLTEXTURECOLORMASKSGISPROC TextureColorMaskSGIS;

  //Definitions for GL_EXT_texture_env_dot3
  const GLenum DOT3_RGB_EXT = static_cast<GLenum>(0x8740);
  const GLenum DOT3_RGBA_EXT = static_cast<GLenum>(0x8741);

  //Definitions for GL_ATI_texture_mirror_once
  const GLenum MIRROR_CLAMP_ATI = static_cast<GLenum>(0x8742);
  const GLenum MIRROR_CLAMP_TO_EDGE_ATI = static_cast<GLenum>(0x8743);

  //Definitions for GL_NV_fence
  const GLenum ALL_COMPLETED_NV = static_cast<GLenum>(0x84F2);
  const GLenum FENCE_STATUS_NV = static_cast<GLenum>(0x84F3);
  const GLenum FENCE_CONDITION_NV = static_cast<GLenum>(0x84F4);
  typedef void (APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  typedef void (APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  typedef GLboolean (APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  typedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  typedef void (APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  typedef void (APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  extern VTK_RENDERING_EXPORT PFNGLDELETEFENCESNVPROC DeleteFencesNV;
  extern VTK_RENDERING_EXPORT PFNGLGENFENCESNVPROC GenFencesNV;
  extern VTK_RENDERING_EXPORT PFNGLISFENCENVPROC IsFenceNV;
  extern VTK_RENDERING_EXPORT PFNGLTESTFENCENVPROC TestFenceNV;
  extern VTK_RENDERING_EXPORT PFNGLGETFENCEIVNVPROC GetFenceivNV;
  extern VTK_RENDERING_EXPORT PFNGLFINISHFENCENVPROC FinishFenceNV;
  extern VTK_RENDERING_EXPORT PFNGLSETFENCENVPROC SetFenceNV;

  //Definitions for GL_IBM_texture_mirrored_repeat
  const GLenum MIRRORED_REPEAT_IBM = static_cast<GLenum>(0x8370);

  //Definitions for GL_NV_evaluators
  const GLenum EVAL_2D_NV = static_cast<GLenum>(0x86C0);
  const GLenum EVAL_TRIANGULAR_2D_NV = static_cast<GLenum>(0x86C1);
  const GLenum MAP_TESSELLATION_NV = static_cast<GLenum>(0x86C2);
  const GLenum MAP_ATTRIB_U_ORDER_NV = static_cast<GLenum>(0x86C3);
  const GLenum MAP_ATTRIB_V_ORDER_NV = static_cast<GLenum>(0x86C4);
  const GLenum EVAL_FRACTIONAL_TESSELLATION_NV = static_cast<GLenum>(0x86C5);
  const GLenum EVAL_VERTEX_ATTRIB0_NV = static_cast<GLenum>(0x86C6);
  const GLenum EVAL_VERTEX_ATTRIB1_NV = static_cast<GLenum>(0x86C7);
  const GLenum EVAL_VERTEX_ATTRIB2_NV = static_cast<GLenum>(0x86C8);
  const GLenum EVAL_VERTEX_ATTRIB3_NV = static_cast<GLenum>(0x86C9);
  const GLenum EVAL_VERTEX_ATTRIB4_NV = static_cast<GLenum>(0x86CA);
  const GLenum EVAL_VERTEX_ATTRIB5_NV = static_cast<GLenum>(0x86CB);
  const GLenum EVAL_VERTEX_ATTRIB6_NV = static_cast<GLenum>(0x86CC);
  const GLenum EVAL_VERTEX_ATTRIB7_NV = static_cast<GLenum>(0x86CD);
  const GLenum EVAL_VERTEX_ATTRIB8_NV = static_cast<GLenum>(0x86CE);
  const GLenum EVAL_VERTEX_ATTRIB9_NV = static_cast<GLenum>(0x86CF);
  const GLenum EVAL_VERTEX_ATTRIB10_NV = static_cast<GLenum>(0x86D0);
  const GLenum EVAL_VERTEX_ATTRIB11_NV = static_cast<GLenum>(0x86D1);
  const GLenum EVAL_VERTEX_ATTRIB12_NV = static_cast<GLenum>(0x86D2);
  const GLenum EVAL_VERTEX_ATTRIB13_NV = static_cast<GLenum>(0x86D3);
  const GLenum EVAL_VERTEX_ATTRIB14_NV = static_cast<GLenum>(0x86D4);
  const GLenum EVAL_VERTEX_ATTRIB15_NV = static_cast<GLenum>(0x86D5);
  const GLenum MAX_MAP_TESSELLATION_NV = static_cast<GLenum>(0x86D6);
  const GLenum MAX_RATIONAL_EVAL_ORDER_NV = static_cast<GLenum>(0x86D7);
  typedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
  typedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
  typedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLMAPCONTROLPOINTSNVPROC MapControlPointsNV;
  extern VTK_RENDERING_EXPORT PFNGLMAPPARAMETERIVNVPROC MapParameterivNV;
  extern VTK_RENDERING_EXPORT PFNGLMAPPARAMETERFVNVPROC MapParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC GetMapControlPointsNV;
  extern VTK_RENDERING_EXPORT PFNGLGETMAPPARAMETERIVNVPROC GetMapParameterivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETMAPPARAMETERFVNVPROC GetMapParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC GetMapAttribParameterivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC GetMapAttribParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLEVALMAPSNVPROC EvalMapsNV;

  //Definitions for GL_NV_packed_depth_stencil
  const GLenum DEPTH_STENCIL_NV = static_cast<GLenum>(0x84F9);
  const GLenum UNSIGNED_INT_24_8_NV = static_cast<GLenum>(0x84FA);

  //Definitions for GL_NV_register_combiners2
  const GLenum PER_STAGE_CONSTANTS_NV = static_cast<GLenum>(0x8535);
  typedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC CombinerStageParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC GetCombinerStageParameterfvNV;

  //Definitions for GL_NV_texture_compression_vtc

  //Definitions for GL_NV_texture_rectangle
  const GLenum TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x84F5);
  const GLenum TEXTURE_BINDING_RECTANGLE_NV = static_cast<GLenum>(0x84F6);
  const GLenum PROXY_TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x84F7);
  const GLenum MAX_RECTANGLE_TEXTURE_SIZE_NV = static_cast<GLenum>(0x84F8);

  //Definitions for GL_NV_texture_shader
  const GLenum OFFSET_TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x864C);
  const GLenum OFFSET_TEXTURE_RECTANGLE_SCALE_NV = static_cast<GLenum>(0x864D);
  const GLenum DOT_PRODUCT_TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x864E);
  const GLenum RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = static_cast<GLenum>(0x86D9);
  const GLenum UNSIGNED_INT_S8_S8_8_8_NV = static_cast<GLenum>(0x86DA);
  const GLenum UNSIGNED_INT_8_8_S8_S8_REV_NV = static_cast<GLenum>(0x86DB);
  const GLenum DSDT_MAG_INTENSITY_NV = static_cast<GLenum>(0x86DC);
  const GLenum SHADER_CONSISTENT_NV = static_cast<GLenum>(0x86DD);
  const GLenum TEXTURE_SHADER_NV = static_cast<GLenum>(0x86DE);
  const GLenum SHADER_OPERATION_NV = static_cast<GLenum>(0x86DF);
  const GLenum CULL_MODES_NV = static_cast<GLenum>(0x86E0);
  const GLenum OFFSET_TEXTURE_MATRIX_NV = static_cast<GLenum>(0x86E1);
  const GLenum OFFSET_TEXTURE_SCALE_NV = static_cast<GLenum>(0x86E2);
  const GLenum OFFSET_TEXTURE_BIAS_NV = static_cast<GLenum>(0x86E3);
  const GLenum OFFSET_TEXTURE_2D_MATRIX_NV = static_cast<GLenum>(0x86E1);
  const GLenum OFFSET_TEXTURE_2D_SCALE_NV = static_cast<GLenum>(0x86E2);
  const GLenum OFFSET_TEXTURE_2D_BIAS_NV = static_cast<GLenum>(0x86E3);
  const GLenum PREVIOUS_TEXTURE_INPUT_NV = static_cast<GLenum>(0x86E4);
  const GLenum CONST_EYE_NV = static_cast<GLenum>(0x86E5);
  const GLenum PASS_THROUGH_NV = static_cast<GLenum>(0x86E6);
  const GLenum CULL_FRAGMENT_NV = static_cast<GLenum>(0x86E7);
  const GLenum OFFSET_TEXTURE_2D_NV = static_cast<GLenum>(0x86E8);
  const GLenum DEPENDENT_AR_TEXTURE_2D_NV = static_cast<GLenum>(0x86E9);
  const GLenum DEPENDENT_GB_TEXTURE_2D_NV = static_cast<GLenum>(0x86EA);
  const GLenum DOT_PRODUCT_NV = static_cast<GLenum>(0x86EC);
  const GLenum DOT_PRODUCT_DEPTH_REPLACE_NV = static_cast<GLenum>(0x86ED);
  const GLenum DOT_PRODUCT_TEXTURE_2D_NV = static_cast<GLenum>(0x86EE);
  const GLenum DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = static_cast<GLenum>(0x86F0);
  const GLenum DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = static_cast<GLenum>(0x86F1);
  const GLenum DOT_PRODUCT_REFLECT_CUBE_MAP_NV = static_cast<GLenum>(0x86F2);
  const GLenum DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = static_cast<GLenum>(0x86F3);
  const GLenum HILO_NV = static_cast<GLenum>(0x86F4);
  const GLenum DSDT_NV = static_cast<GLenum>(0x86F5);
  const GLenum DSDT_MAG_NV = static_cast<GLenum>(0x86F6);
  const GLenum DSDT_MAG_VIB_NV = static_cast<GLenum>(0x86F7);
  const GLenum HILO16_NV = static_cast<GLenum>(0x86F8);
  const GLenum SIGNED_HILO_NV = static_cast<GLenum>(0x86F9);
  const GLenum SIGNED_HILO16_NV = static_cast<GLenum>(0x86FA);
  const GLenum SIGNED_RGBA_NV = static_cast<GLenum>(0x86FB);
  const GLenum SIGNED_RGBA8_NV = static_cast<GLenum>(0x86FC);
  const GLenum SIGNED_RGB_NV = static_cast<GLenum>(0x86FE);
  const GLenum SIGNED_RGB8_NV = static_cast<GLenum>(0x86FF);
  const GLenum SIGNED_LUMINANCE_NV = static_cast<GLenum>(0x8701);
  const GLenum SIGNED_LUMINANCE8_NV = static_cast<GLenum>(0x8702);
  const GLenum SIGNED_LUMINANCE_ALPHA_NV = static_cast<GLenum>(0x8703);
  const GLenum SIGNED_LUMINANCE8_ALPHA8_NV = static_cast<GLenum>(0x8704);
  const GLenum SIGNED_ALPHA_NV = static_cast<GLenum>(0x8705);
  const GLenum SIGNED_ALPHA8_NV = static_cast<GLenum>(0x8706);
  const GLenum SIGNED_INTENSITY_NV = static_cast<GLenum>(0x8707);
  const GLenum SIGNED_INTENSITY8_NV = static_cast<GLenum>(0x8708);
  const GLenum DSDT8_NV = static_cast<GLenum>(0x8709);
  const GLenum DSDT8_MAG8_NV = static_cast<GLenum>(0x870A);
  const GLenum DSDT8_MAG8_INTENSITY8_NV = static_cast<GLenum>(0x870B);
  const GLenum SIGNED_RGB_UNSIGNED_ALPHA_NV = static_cast<GLenum>(0x870C);
  const GLenum SIGNED_RGB8_UNSIGNED_ALPHA8_NV = static_cast<GLenum>(0x870D);
  const GLenum HI_SCALE_NV = static_cast<GLenum>(0x870E);
  const GLenum LO_SCALE_NV = static_cast<GLenum>(0x870F);
  const GLenum DS_SCALE_NV = static_cast<GLenum>(0x8710);
  const GLenum DT_SCALE_NV = static_cast<GLenum>(0x8711);
  const GLenum MAGNITUDE_SCALE_NV = static_cast<GLenum>(0x8712);
  const GLenum VIBRANCE_SCALE_NV = static_cast<GLenum>(0x8713);
  const GLenum HI_BIAS_NV = static_cast<GLenum>(0x8714);
  const GLenum LO_BIAS_NV = static_cast<GLenum>(0x8715);
  const GLenum DS_BIAS_NV = static_cast<GLenum>(0x8716);
  const GLenum DT_BIAS_NV = static_cast<GLenum>(0x8717);
  const GLenum MAGNITUDE_BIAS_NV = static_cast<GLenum>(0x8718);
  const GLenum VIBRANCE_BIAS_NV = static_cast<GLenum>(0x8719);
  const GLenum TEXTURE_BORDER_VALUES_NV = static_cast<GLenum>(0x871A);
  const GLenum TEXTURE_HI_SIZE_NV = static_cast<GLenum>(0x871B);
  const GLenum TEXTURE_LO_SIZE_NV = static_cast<GLenum>(0x871C);
  const GLenum TEXTURE_DS_SIZE_NV = static_cast<GLenum>(0x871D);
  const GLenum TEXTURE_DT_SIZE_NV = static_cast<GLenum>(0x871E);
  const GLenum TEXTURE_MAG_SIZE_NV = static_cast<GLenum>(0x871F);

  //Definitions for GL_NV_texture_shader2
  const GLenum DOT_PRODUCT_TEXTURE_3D_NV = static_cast<GLenum>(0x86EF);

  //Definitions for GL_NV_vertex_array_range2
  const GLenum VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = static_cast<GLenum>(0x8533);

  //Definitions for GL_NV_vertex_program
  const GLenum VERTEX_PROGRAM_NV = static_cast<GLenum>(0x8620);
  const GLenum VERTEX_STATE_PROGRAM_NV = static_cast<GLenum>(0x8621);
  const GLenum ATTRIB_ARRAY_SIZE_NV = static_cast<GLenum>(0x8623);
  const GLenum ATTRIB_ARRAY_STRIDE_NV = static_cast<GLenum>(0x8624);
  const GLenum ATTRIB_ARRAY_TYPE_NV = static_cast<GLenum>(0x8625);
  const GLenum CURRENT_ATTRIB_NV = static_cast<GLenum>(0x8626);
  const GLenum PROGRAM_LENGTH_NV = static_cast<GLenum>(0x8627);
  const GLenum PROGRAM_STRING_NV = static_cast<GLenum>(0x8628);
  const GLenum MODELVIEW_PROJECTION_NV = static_cast<GLenum>(0x8629);
  const GLenum IDENTITY_NV = static_cast<GLenum>(0x862A);
  const GLenum INVERSE_NV = static_cast<GLenum>(0x862B);
  const GLenum TRANSPOSE_NV = static_cast<GLenum>(0x862C);
  const GLenum INVERSE_TRANSPOSE_NV = static_cast<GLenum>(0x862D);
  const GLenum MAX_TRACK_MATRIX_STACK_DEPTH_NV = static_cast<GLenum>(0x862E);
  const GLenum MAX_TRACK_MATRICES_NV = static_cast<GLenum>(0x862F);
  const GLenum MATRIX0_NV = static_cast<GLenum>(0x8630);
  const GLenum MATRIX1_NV = static_cast<GLenum>(0x8631);
  const GLenum MATRIX2_NV = static_cast<GLenum>(0x8632);
  const GLenum MATRIX3_NV = static_cast<GLenum>(0x8633);
  const GLenum MATRIX4_NV = static_cast<GLenum>(0x8634);
  const GLenum MATRIX5_NV = static_cast<GLenum>(0x8635);
  const GLenum MATRIX6_NV = static_cast<GLenum>(0x8636);
  const GLenum MATRIX7_NV = static_cast<GLenum>(0x8637);
  const GLenum CURRENT_MATRIX_STACK_DEPTH_NV = static_cast<GLenum>(0x8640);
  const GLenum CURRENT_MATRIX_NV = static_cast<GLenum>(0x8641);
  const GLenum VERTEX_PROGRAM_POINT_SIZE_NV = static_cast<GLenum>(0x8642);
  const GLenum VERTEX_PROGRAM_TWO_SIDE_NV = static_cast<GLenum>(0x8643);
  const GLenum PROGRAM_PARAMETER_NV = static_cast<GLenum>(0x8644);
  const GLenum ATTRIB_ARRAY_POINTER_NV = static_cast<GLenum>(0x8645);
  const GLenum PROGRAM_TARGET_NV = static_cast<GLenum>(0x8646);
  const GLenum PROGRAM_RESIDENT_NV = static_cast<GLenum>(0x8647);
  const GLenum TRACK_MATRIX_NV = static_cast<GLenum>(0x8648);
  const GLenum TRACK_MATRIX_TRANSFORM_NV = static_cast<GLenum>(0x8649);
  const GLenum VERTEX_PROGRAM_BINDING_NV = static_cast<GLenum>(0x864A);
  const GLenum PROGRAM_ERROR_POSITION_NV = static_cast<GLenum>(0x864B);
  const GLenum VERTEX_ATTRIB_ARRAY0_NV = static_cast<GLenum>(0x8650);
  const GLenum VERTEX_ATTRIB_ARRAY1_NV = static_cast<GLenum>(0x8651);
  const GLenum VERTEX_ATTRIB_ARRAY2_NV = static_cast<GLenum>(0x8652);
  const GLenum VERTEX_ATTRIB_ARRAY3_NV = static_cast<GLenum>(0x8653);
  const GLenum VERTEX_ATTRIB_ARRAY4_NV = static_cast<GLenum>(0x8654);
  const GLenum VERTEX_ATTRIB_ARRAY5_NV = static_cast<GLenum>(0x8655);
  const GLenum VERTEX_ATTRIB_ARRAY6_NV = static_cast<GLenum>(0x8656);
  const GLenum VERTEX_ATTRIB_ARRAY7_NV = static_cast<GLenum>(0x8657);
  const GLenum VERTEX_ATTRIB_ARRAY8_NV = static_cast<GLenum>(0x8658);
  const GLenum VERTEX_ATTRIB_ARRAY9_NV = static_cast<GLenum>(0x8659);
  const GLenum VERTEX_ATTRIB_ARRAY10_NV = static_cast<GLenum>(0x865A);
  const GLenum VERTEX_ATTRIB_ARRAY11_NV = static_cast<GLenum>(0x865B);
  const GLenum VERTEX_ATTRIB_ARRAY12_NV = static_cast<GLenum>(0x865C);
  const GLenum VERTEX_ATTRIB_ARRAY13_NV = static_cast<GLenum>(0x865D);
  const GLenum VERTEX_ATTRIB_ARRAY14_NV = static_cast<GLenum>(0x865E);
  const GLenum VERTEX_ATTRIB_ARRAY15_NV = static_cast<GLenum>(0x865F);
  const GLenum MAP1_VERTEX_ATTRIB0_4_NV = static_cast<GLenum>(0x8660);
  const GLenum MAP1_VERTEX_ATTRIB1_4_NV = static_cast<GLenum>(0x8661);
  const GLenum MAP1_VERTEX_ATTRIB2_4_NV = static_cast<GLenum>(0x8662);
  const GLenum MAP1_VERTEX_ATTRIB3_4_NV = static_cast<GLenum>(0x8663);
  const GLenum MAP1_VERTEX_ATTRIB4_4_NV = static_cast<GLenum>(0x8664);
  const GLenum MAP1_VERTEX_ATTRIB5_4_NV = static_cast<GLenum>(0x8665);
  const GLenum MAP1_VERTEX_ATTRIB6_4_NV = static_cast<GLenum>(0x8666);
  const GLenum MAP1_VERTEX_ATTRIB7_4_NV = static_cast<GLenum>(0x8667);
  const GLenum MAP1_VERTEX_ATTRIB8_4_NV = static_cast<GLenum>(0x8668);
  const GLenum MAP1_VERTEX_ATTRIB9_4_NV = static_cast<GLenum>(0x8669);
  const GLenum MAP1_VERTEX_ATTRIB10_4_NV = static_cast<GLenum>(0x866A);
  const GLenum MAP1_VERTEX_ATTRIB11_4_NV = static_cast<GLenum>(0x866B);
  const GLenum MAP1_VERTEX_ATTRIB12_4_NV = static_cast<GLenum>(0x866C);
  const GLenum MAP1_VERTEX_ATTRIB13_4_NV = static_cast<GLenum>(0x866D);
  const GLenum MAP1_VERTEX_ATTRIB14_4_NV = static_cast<GLenum>(0x866E);
  const GLenum MAP1_VERTEX_ATTRIB15_4_NV = static_cast<GLenum>(0x866F);
  const GLenum MAP2_VERTEX_ATTRIB0_4_NV = static_cast<GLenum>(0x8670);
  const GLenum MAP2_VERTEX_ATTRIB1_4_NV = static_cast<GLenum>(0x8671);
  const GLenum MAP2_VERTEX_ATTRIB2_4_NV = static_cast<GLenum>(0x8672);
  const GLenum MAP2_VERTEX_ATTRIB3_4_NV = static_cast<GLenum>(0x8673);
  const GLenum MAP2_VERTEX_ATTRIB4_4_NV = static_cast<GLenum>(0x8674);
  const GLenum MAP2_VERTEX_ATTRIB5_4_NV = static_cast<GLenum>(0x8675);
  const GLenum MAP2_VERTEX_ATTRIB6_4_NV = static_cast<GLenum>(0x8676);
  const GLenum MAP2_VERTEX_ATTRIB7_4_NV = static_cast<GLenum>(0x8677);
  const GLenum MAP2_VERTEX_ATTRIB8_4_NV = static_cast<GLenum>(0x8678);
  const GLenum MAP2_VERTEX_ATTRIB9_4_NV = static_cast<GLenum>(0x8679);
  const GLenum MAP2_VERTEX_ATTRIB10_4_NV = static_cast<GLenum>(0x867A);
  const GLenum MAP2_VERTEX_ATTRIB11_4_NV = static_cast<GLenum>(0x867B);
  const GLenum MAP2_VERTEX_ATTRIB12_4_NV = static_cast<GLenum>(0x867C);
  const GLenum MAP2_VERTEX_ATTRIB13_4_NV = static_cast<GLenum>(0x867D);
  const GLenum MAP2_VERTEX_ATTRIB14_4_NV = static_cast<GLenum>(0x867E);
  const GLenum MAP2_VERTEX_ATTRIB15_4_NV = static_cast<GLenum>(0x867F);
  typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
  typedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
  typedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
  typedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
  typedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
  typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
  typedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
  typedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint count, const GLdouble *v);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint count, const GLfloat *v);
  typedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
  typedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
  extern VTK_RENDERING_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC AreProgramsResidentNV;
  extern VTK_RENDERING_EXPORT PFNGLBINDPROGRAMNVPROC BindProgramNV;
  extern VTK_RENDERING_EXPORT PFNGLDELETEPROGRAMSNVPROC DeleteProgramsNV;
  extern VTK_RENDERING_EXPORT PFNGLEXECUTEPROGRAMNVPROC ExecuteProgramNV;
  extern VTK_RENDERING_EXPORT PFNGLGENPROGRAMSNVPROC GenProgramsNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC GetProgramParameterdvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC GetProgramParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMIVNVPROC GetProgramivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMSTRINGNVPROC GetProgramStringNV;
  extern VTK_RENDERING_EXPORT PFNGLGETTRACKMATRIXIVNVPROC GetTrackMatrixivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC GetVertexAttribdvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC GetVertexAttribfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC GetVertexAttribivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC GetVertexAttribPointervNV;
  extern VTK_RENDERING_EXPORT PFNGLISPROGRAMNVPROC IsProgramNV;
  extern VTK_RENDERING_EXPORT PFNGLLOADPROGRAMNVPROC LoadProgramNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC ProgramParameter4dNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC ProgramParameter4dvNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC ProgramParameter4fNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC ProgramParameter4fvNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC ProgramParameters4dvNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC ProgramParameters4fvNV;
  extern VTK_RENDERING_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC RequestResidentProgramsNV;
  extern VTK_RENDERING_EXPORT PFNGLTRACKMATRIXNVPROC TrackMatrixNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC VertexAttribPointerNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1DNVPROC VertexAttrib1dNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1FNVPROC VertexAttrib1fNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1SNVPROC VertexAttrib1sNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2DNVPROC VertexAttrib2dNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2FNVPROC VertexAttrib2fNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2SNVPROC VertexAttrib2sNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3DNVPROC VertexAttrib3dNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3FNVPROC VertexAttrib3fNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3SNVPROC VertexAttrib3sNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4DNVPROC VertexAttrib4dNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4FNVPROC VertexAttrib4fNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4SNVPROC VertexAttrib4sNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4UBNVPROC VertexAttrib4ubNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV;

  //Definitions for GL_SGIX_texture_coordinate_clamp
  const GLenum TEXTURE_MAX_CLAMP_S_SGIX = static_cast<GLenum>(0x8369);
  const GLenum TEXTURE_MAX_CLAMP_T_SGIX = static_cast<GLenum>(0x836A);
  const GLenum TEXTURE_MAX_CLAMP_R_SGIX = static_cast<GLenum>(0x836B);

  //Definitions for GL_SGIX_scalebias_hint
  const GLenum SCALEBIAS_HINT_SGIX = static_cast<GLenum>(0x8322);

  //Definitions for GL_OML_interlace
  const GLenum INTERLACE_OML = static_cast<GLenum>(0x8980);
  const GLenum INTERLACE_READ_OML = static_cast<GLenum>(0x8981);

  //Definitions for GL_OML_subsample
  const GLenum FORMAT_SUBSAMPLE_24_24_OML = static_cast<GLenum>(0x8982);
  const GLenum FORMAT_SUBSAMPLE_244_244_OML = static_cast<GLenum>(0x8983);

  //Definitions for GL_OML_resample
  const GLenum PACK_RESAMPLE_OML = static_cast<GLenum>(0x8984);
  const GLenum UNPACK_RESAMPLE_OML = static_cast<GLenum>(0x8985);
  const GLenum RESAMPLE_REPLICATE_OML = static_cast<GLenum>(0x8986);
  const GLenum RESAMPLE_ZERO_FILL_OML = static_cast<GLenum>(0x8987);
  const GLenum RESAMPLE_AVERAGE_OML = static_cast<GLenum>(0x8988);
  const GLenum RESAMPLE_DECIMATE_OML = static_cast<GLenum>(0x8989);

  //Definitions for GL_NV_copy_depth_to_color
  const GLenum DEPTH_STENCIL_TO_RGBA_NV = static_cast<GLenum>(0x886E);
  const GLenum DEPTH_STENCIL_TO_BGRA_NV = static_cast<GLenum>(0x886F);

  //Definitions for GL_ATI_envmap_bumpmap
  const GLenum BUMP_ROT_MATRIX_ATI = static_cast<GLenum>(0x8775);
  const GLenum BUMP_ROT_MATRIX_SIZE_ATI = static_cast<GLenum>(0x8776);
  const GLenum BUMP_NUM_TEX_UNITS_ATI = static_cast<GLenum>(0x8777);
  const GLenum BUMP_TEX_UNITS_ATI = static_cast<GLenum>(0x8778);
  const GLenum DUDV_ATI = static_cast<GLenum>(0x8779);
  const GLenum DU8DV8_ATI = static_cast<GLenum>(0x877A);
  const GLenum BUMP_ENVMAP_ATI = static_cast<GLenum>(0x877B);
  const GLenum BUMP_TARGET_ATI = static_cast<GLenum>(0x877C);
  typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);
  typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);
  typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
  typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
  extern VTK_RENDERING_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC TexBumpParameterivATI;
  extern VTK_RENDERING_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC TexBumpParameterfvATI;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC GetTexBumpParameterivATI;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXBUMPPARAMETERFVATIPROC GetTexBumpParameterfvATI;

  //Definitions for GL_ATI_fragment_shader
  const GLenum FRAGMENT_SHADER_ATI = static_cast<GLenum>(0x8920);
  const GLenum REG_0_ATI = static_cast<GLenum>(0x8921);
  const GLenum REG_1_ATI = static_cast<GLenum>(0x8922);
  const GLenum REG_2_ATI = static_cast<GLenum>(0x8923);
  const GLenum REG_3_ATI = static_cast<GLenum>(0x8924);
  const GLenum REG_4_ATI = static_cast<GLenum>(0x8925);
  const GLenum REG_5_ATI = static_cast<GLenum>(0x8926);
  const GLenum REG_6_ATI = static_cast<GLenum>(0x8927);
  const GLenum REG_7_ATI = static_cast<GLenum>(0x8928);
  const GLenum REG_8_ATI = static_cast<GLenum>(0x8929);
  const GLenum REG_9_ATI = static_cast<GLenum>(0x892A);
  const GLenum REG_10_ATI = static_cast<GLenum>(0x892B);
  const GLenum REG_11_ATI = static_cast<GLenum>(0x892C);
  const GLenum REG_12_ATI = static_cast<GLenum>(0x892D);
  const GLenum REG_13_ATI = static_cast<GLenum>(0x892E);
  const GLenum REG_14_ATI = static_cast<GLenum>(0x892F);
  const GLenum REG_15_ATI = static_cast<GLenum>(0x8930);
  const GLenum REG_16_ATI = static_cast<GLenum>(0x8931);
  const GLenum REG_17_ATI = static_cast<GLenum>(0x8932);
  const GLenum REG_18_ATI = static_cast<GLenum>(0x8933);
  const GLenum REG_19_ATI = static_cast<GLenum>(0x8934);
  const GLenum REG_20_ATI = static_cast<GLenum>(0x8935);
  const GLenum REG_21_ATI = static_cast<GLenum>(0x8936);
  const GLenum REG_22_ATI = static_cast<GLenum>(0x8937);
  const GLenum REG_23_ATI = static_cast<GLenum>(0x8938);
  const GLenum REG_24_ATI = static_cast<GLenum>(0x8939);
  const GLenum REG_25_ATI = static_cast<GLenum>(0x893A);
  const GLenum REG_26_ATI = static_cast<GLenum>(0x893B);
  const GLenum REG_27_ATI = static_cast<GLenum>(0x893C);
  const GLenum REG_28_ATI = static_cast<GLenum>(0x893D);
  const GLenum REG_29_ATI = static_cast<GLenum>(0x893E);
  const GLenum REG_30_ATI = static_cast<GLenum>(0x893F);
  const GLenum REG_31_ATI = static_cast<GLenum>(0x8940);
  const GLenum CON_0_ATI = static_cast<GLenum>(0x8941);
  const GLenum CON_1_ATI = static_cast<GLenum>(0x8942);
  const GLenum CON_2_ATI = static_cast<GLenum>(0x8943);
  const GLenum CON_3_ATI = static_cast<GLenum>(0x8944);
  const GLenum CON_4_ATI = static_cast<GLenum>(0x8945);
  const GLenum CON_5_ATI = static_cast<GLenum>(0x8946);
  const GLenum CON_6_ATI = static_cast<GLenum>(0x8947);
  const GLenum CON_7_ATI = static_cast<GLenum>(0x8948);
  const GLenum CON_8_ATI = static_cast<GLenum>(0x8949);
  const GLenum CON_9_ATI = static_cast<GLenum>(0x894A);
  const GLenum CON_10_ATI = static_cast<GLenum>(0x894B);
  const GLenum CON_11_ATI = static_cast<GLenum>(0x894C);
  const GLenum CON_12_ATI = static_cast<GLenum>(0x894D);
  const GLenum CON_13_ATI = static_cast<GLenum>(0x894E);
  const GLenum CON_14_ATI = static_cast<GLenum>(0x894F);
  const GLenum CON_15_ATI = static_cast<GLenum>(0x8950);
  const GLenum CON_16_ATI = static_cast<GLenum>(0x8951);
  const GLenum CON_17_ATI = static_cast<GLenum>(0x8952);
  const GLenum CON_18_ATI = static_cast<GLenum>(0x8953);
  const GLenum CON_19_ATI = static_cast<GLenum>(0x8954);
  const GLenum CON_20_ATI = static_cast<GLenum>(0x8955);
  const GLenum CON_21_ATI = static_cast<GLenum>(0x8956);
  const GLenum CON_22_ATI = static_cast<GLenum>(0x8957);
  const GLenum CON_23_ATI = static_cast<GLenum>(0x8958);
  const GLenum CON_24_ATI = static_cast<GLenum>(0x8959);
  const GLenum CON_25_ATI = static_cast<GLenum>(0x895A);
  const GLenum CON_26_ATI = static_cast<GLenum>(0x895B);
  const GLenum CON_27_ATI = static_cast<GLenum>(0x895C);
  const GLenum CON_28_ATI = static_cast<GLenum>(0x895D);
  const GLenum CON_29_ATI = static_cast<GLenum>(0x895E);
  const GLenum CON_30_ATI = static_cast<GLenum>(0x895F);
  const GLenum CON_31_ATI = static_cast<GLenum>(0x8960);
  const GLenum MOV_ATI = static_cast<GLenum>(0x8961);
  const GLenum ADD_ATI = static_cast<GLenum>(0x8963);
  const GLenum MUL_ATI = static_cast<GLenum>(0x8964);
  const GLenum SUB_ATI = static_cast<GLenum>(0x8965);
  const GLenum DOT3_ATI = static_cast<GLenum>(0x8966);
  const GLenum DOT4_ATI = static_cast<GLenum>(0x8967);
  const GLenum MAD_ATI = static_cast<GLenum>(0x8968);
  const GLenum LERP_ATI = static_cast<GLenum>(0x8969);
  const GLenum CND_ATI = static_cast<GLenum>(0x896A);
  const GLenum CND0_ATI = static_cast<GLenum>(0x896B);
  const GLenum DOT2_ADD_ATI = static_cast<GLenum>(0x896C);
  const GLenum SECONDARY_INTERPOLATOR_ATI = static_cast<GLenum>(0x896D);
  const GLenum NUM_FRAGMENT_REGISTERS_ATI = static_cast<GLenum>(0x896E);
  const GLenum NUM_FRAGMENT_CONSTANTS_ATI = static_cast<GLenum>(0x896F);
  const GLenum NUM_PASSES_ATI = static_cast<GLenum>(0x8970);
  const GLenum NUM_INSTRUCTIONS_PER_PASS_ATI = static_cast<GLenum>(0x8971);
  const GLenum NUM_INSTRUCTIONS_TOTAL_ATI = static_cast<GLenum>(0x8972);
  const GLenum NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = static_cast<GLenum>(0x8973);
  const GLenum NUM_LOOPBACK_COMPONENTS_ATI = static_cast<GLenum>(0x8974);
  const GLenum COLOR_ALPHA_PAIRING_ATI = static_cast<GLenum>(0x8975);
  const GLenum SWIZZLE_STR_ATI = static_cast<GLenum>(0x8976);
  const GLenum SWIZZLE_STQ_ATI = static_cast<GLenum>(0x8977);
  const GLenum SWIZZLE_STR_DR_ATI = static_cast<GLenum>(0x8978);
  const GLenum SWIZZLE_STQ_DQ_ATI = static_cast<GLenum>(0x8979);
  const GLenum SWIZZLE_STRQ_ATI = static_cast<GLenum>(0x897A);
  const GLenum SWIZZLE_STRQ_DQ_ATI = static_cast<GLenum>(0x897B);
  const GLenum RED_BIT_ATI = static_cast<GLenum>(0x00000001);
  const GLenum GREEN_BIT_ATI = static_cast<GLenum>(0x00000002);
  const GLenum BLUE_BIT_ATI = static_cast<GLenum>(0x00000004);
  const GLenum _2X_BIT_ATI = static_cast<GLenum>(0x00000001);
  const GLenum _4X_BIT_ATI = static_cast<GLenum>(0x00000002);
  const GLenum _8X_BIT_ATI = static_cast<GLenum>(0x00000004);
  const GLenum HALF_BIT_ATI = static_cast<GLenum>(0x00000008);
  const GLenum QUARTER_BIT_ATI = static_cast<GLenum>(0x00000010);
  const GLenum EIGHTH_BIT_ATI = static_cast<GLenum>(0x00000020);
  const GLenum SATURATE_BIT_ATI = static_cast<GLenum>(0x00000040);
  const GLenum COMP_BIT_ATI = static_cast<GLenum>(0x00000002);
  const GLenum NEGATE_BIT_ATI = static_cast<GLenum>(0x00000004);
  const GLenum BIAS_BIT_ATI = static_cast<GLenum>(0x00000008);
  typedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
  typedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
  typedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC) (void);
  typedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
  typedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
  typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
  typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
  typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
  typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
  typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
  typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
  typedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);
  extern VTK_RENDERING_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC GenFragmentShadersATI;
  extern VTK_RENDERING_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC BindFragmentShaderATI;
  extern VTK_RENDERING_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC DeleteFragmentShaderATI;
  extern VTK_RENDERING_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC BeginFragmentShaderATI;
  extern VTK_RENDERING_EXPORT PFNGLENDFRAGMENTSHADERATIPROC EndFragmentShaderATI;
  extern VTK_RENDERING_EXPORT PFNGLPASSTEXCOORDATIPROC PassTexCoordATI;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLEMAPATIPROC SampleMapATI;
  extern VTK_RENDERING_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC ColorFragmentOp1ATI;
  extern VTK_RENDERING_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC ColorFragmentOp2ATI;
  extern VTK_RENDERING_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC ColorFragmentOp3ATI;
  extern VTK_RENDERING_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC AlphaFragmentOp1ATI;
  extern VTK_RENDERING_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC AlphaFragmentOp2ATI;
  extern VTK_RENDERING_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC AlphaFragmentOp3ATI;
  extern VTK_RENDERING_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC SetFragmentShaderConstantATI;

  //Definitions for GL_ATI_pn_triangles
  const GLenum PN_TRIANGLES_ATI = static_cast<GLenum>(0x87F0);
  const GLenum MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = static_cast<GLenum>(0x87F1);
  const GLenum PN_TRIANGLES_POINT_MODE_ATI = static_cast<GLenum>(0x87F2);
  const GLenum PN_TRIANGLES_NORMAL_MODE_ATI = static_cast<GLenum>(0x87F3);
  const GLenum PN_TRIANGLES_TESSELATION_LEVEL_ATI = static_cast<GLenum>(0x87F4);
  const GLenum PN_TRIANGLES_POINT_MODE_LINEAR_ATI = static_cast<GLenum>(0x87F5);
  const GLenum PN_TRIANGLES_POINT_MODE_CUBIC_ATI = static_cast<GLenum>(0x87F6);
  const GLenum PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = static_cast<GLenum>(0x87F7);
  const GLenum PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = static_cast<GLenum>(0x87F8);
  typedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
  extern VTK_RENDERING_EXPORT PFNGLPNTRIANGLESIATIPROC PNTrianglesiATI;
  extern VTK_RENDERING_EXPORT PFNGLPNTRIANGLESFATIPROC PNTrianglesfATI;

  //Definitions for GL_ATI_vertex_array_object
  const GLenum STATIC_ATI = static_cast<GLenum>(0x8760);
  const GLenum DYNAMIC_ATI = static_cast<GLenum>(0x8761);
  const GLenum PRESERVE_ATI = static_cast<GLenum>(0x8762);
  const GLenum DISCARD_ATI = static_cast<GLenum>(0x8763);
  const GLenum OBJECT_BUFFER_SIZE_ATI = static_cast<GLenum>(0x8764);
  const GLenum OBJECT_BUFFER_USAGE_ATI = static_cast<GLenum>(0x8765);
  const GLenum ARRAY_OBJECT_BUFFER_ATI = static_cast<GLenum>(0x8766);
  const GLenum ARRAY_OBJECT_OFFSET_ATI = static_cast<GLenum>(0x8767);
  typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
  typedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
  typedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
  typedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);
  typedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
  typedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
  typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLNEWOBJECTBUFFERATIPROC NewObjectBufferATI;
  extern VTK_RENDERING_EXPORT PFNGLISOBJECTBUFFERATIPROC IsObjectBufferATI;
  extern VTK_RENDERING_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC UpdateObjectBufferATI;
  extern VTK_RENDERING_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC GetObjectBufferfvATI;
  extern VTK_RENDERING_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC GetObjectBufferivATI;
  extern VTK_RENDERING_EXPORT PFNGLFREEOBJECTBUFFERATIPROC FreeObjectBufferATI;
  extern VTK_RENDERING_EXPORT PFNGLARRAYOBJECTATIPROC ArrayObjectATI;
  extern VTK_RENDERING_EXPORT PFNGLGETARRAYOBJECTFVATIPROC GetArrayObjectfvATI;
  extern VTK_RENDERING_EXPORT PFNGLGETARRAYOBJECTIVATIPROC GetArrayObjectivATI;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC VariantArrayObjectATI;
  extern VTK_RENDERING_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC GetVariantArrayObjectfvATI;
  extern VTK_RENDERING_EXPORT PFNGLGETVARIANTARRAYOBJECTIVATIPROC GetVariantArrayObjectivATI;

  //Definitions for GL_EXT_vertex_shader
  const GLenum VERTEX_SHADER_EXT = static_cast<GLenum>(0x8780);
  const GLenum VERTEX_SHADER_BINDING_EXT = static_cast<GLenum>(0x8781);
  const GLenum OP_INDEX_EXT = static_cast<GLenum>(0x8782);
  const GLenum OP_NEGATE_EXT = static_cast<GLenum>(0x8783);
  const GLenum OP_DOT3_EXT = static_cast<GLenum>(0x8784);
  const GLenum OP_DOT4_EXT = static_cast<GLenum>(0x8785);
  const GLenum OP_MUL_EXT = static_cast<GLenum>(0x8786);
  const GLenum OP_ADD_EXT = static_cast<GLenum>(0x8787);
  const GLenum OP_MADD_EXT = static_cast<GLenum>(0x8788);
  const GLenum OP_FRAC_EXT = static_cast<GLenum>(0x8789);
  const GLenum OP_MAX_EXT = static_cast<GLenum>(0x878A);
  const GLenum OP_MIN_EXT = static_cast<GLenum>(0x878B);
  const GLenum OP_SET_GE_EXT = static_cast<GLenum>(0x878C);
  const GLenum OP_SET_LT_EXT = static_cast<GLenum>(0x878D);
  const GLenum OP_CLAMP_EXT = static_cast<GLenum>(0x878E);
  const GLenum OP_FLOOR_EXT = static_cast<GLenum>(0x878F);
  const GLenum OP_ROUND_EXT = static_cast<GLenum>(0x8790);
  const GLenum OP_EXP_BASE_2_EXT = static_cast<GLenum>(0x8791);
  const GLenum OP_LOG_BASE_2_EXT = static_cast<GLenum>(0x8792);
  const GLenum OP_POWER_EXT = static_cast<GLenum>(0x8793);
  const GLenum OP_RECIP_EXT = static_cast<GLenum>(0x8794);
  const GLenum OP_RECIP_SQRT_EXT = static_cast<GLenum>(0x8795);
  const GLenum OP_SUB_EXT = static_cast<GLenum>(0x8796);
  const GLenum OP_CROSS_PRODUCT_EXT = static_cast<GLenum>(0x8797);
  const GLenum OP_MULTIPLY_MATRIX_EXT = static_cast<GLenum>(0x8798);
  const GLenum OP_MOV_EXT = static_cast<GLenum>(0x8799);
  const GLenum OUTPUT_VERTEX_EXT = static_cast<GLenum>(0x879A);
  const GLenum OUTPUT_COLOR0_EXT = static_cast<GLenum>(0x879B);
  const GLenum OUTPUT_COLOR1_EXT = static_cast<GLenum>(0x879C);
  const GLenum OUTPUT_TEXTURE_COORD0_EXT = static_cast<GLenum>(0x879D);
  const GLenum OUTPUT_TEXTURE_COORD1_EXT = static_cast<GLenum>(0x879E);
  const GLenum OUTPUT_TEXTURE_COORD2_EXT = static_cast<GLenum>(0x879F);
  const GLenum OUTPUT_TEXTURE_COORD3_EXT = static_cast<GLenum>(0x87A0);
  const GLenum OUTPUT_TEXTURE_COORD4_EXT = static_cast<GLenum>(0x87A1);
  const GLenum OUTPUT_TEXTURE_COORD5_EXT = static_cast<GLenum>(0x87A2);
  const GLenum OUTPUT_TEXTURE_COORD6_EXT = static_cast<GLenum>(0x87A3);
  const GLenum OUTPUT_TEXTURE_COORD7_EXT = static_cast<GLenum>(0x87A4);
  const GLenum OUTPUT_TEXTURE_COORD8_EXT = static_cast<GLenum>(0x87A5);
  const GLenum OUTPUT_TEXTURE_COORD9_EXT = static_cast<GLenum>(0x87A6);
  const GLenum OUTPUT_TEXTURE_COORD10_EXT = static_cast<GLenum>(0x87A7);
  const GLenum OUTPUT_TEXTURE_COORD11_EXT = static_cast<GLenum>(0x87A8);
  const GLenum OUTPUT_TEXTURE_COORD12_EXT = static_cast<GLenum>(0x87A9);
  const GLenum OUTPUT_TEXTURE_COORD13_EXT = static_cast<GLenum>(0x87AA);
  const GLenum OUTPUT_TEXTURE_COORD14_EXT = static_cast<GLenum>(0x87AB);
  const GLenum OUTPUT_TEXTURE_COORD15_EXT = static_cast<GLenum>(0x87AC);
  const GLenum OUTPUT_TEXTURE_COORD16_EXT = static_cast<GLenum>(0x87AD);
  const GLenum OUTPUT_TEXTURE_COORD17_EXT = static_cast<GLenum>(0x87AE);
  const GLenum OUTPUT_TEXTURE_COORD18_EXT = static_cast<GLenum>(0x87AF);
  const GLenum OUTPUT_TEXTURE_COORD19_EXT = static_cast<GLenum>(0x87B0);
  const GLenum OUTPUT_TEXTURE_COORD20_EXT = static_cast<GLenum>(0x87B1);
  const GLenum OUTPUT_TEXTURE_COORD21_EXT = static_cast<GLenum>(0x87B2);
  const GLenum OUTPUT_TEXTURE_COORD22_EXT = static_cast<GLenum>(0x87B3);
  const GLenum OUTPUT_TEXTURE_COORD23_EXT = static_cast<GLenum>(0x87B4);
  const GLenum OUTPUT_TEXTURE_COORD24_EXT = static_cast<GLenum>(0x87B5);
  const GLenum OUTPUT_TEXTURE_COORD25_EXT = static_cast<GLenum>(0x87B6);
  const GLenum OUTPUT_TEXTURE_COORD26_EXT = static_cast<GLenum>(0x87B7);
  const GLenum OUTPUT_TEXTURE_COORD27_EXT = static_cast<GLenum>(0x87B8);
  const GLenum OUTPUT_TEXTURE_COORD28_EXT = static_cast<GLenum>(0x87B9);
  const GLenum OUTPUT_TEXTURE_COORD29_EXT = static_cast<GLenum>(0x87BA);
  const GLenum OUTPUT_TEXTURE_COORD30_EXT = static_cast<GLenum>(0x87BB);
  const GLenum OUTPUT_TEXTURE_COORD31_EXT = static_cast<GLenum>(0x87BC);
  const GLenum OUTPUT_FOG_EXT = static_cast<GLenum>(0x87BD);
  const GLenum SCALAR_EXT = static_cast<GLenum>(0x87BE);
  const GLenum VECTOR_EXT = static_cast<GLenum>(0x87BF);
  const GLenum MATRIX_EXT = static_cast<GLenum>(0x87C0);
  const GLenum VARIANT_EXT = static_cast<GLenum>(0x87C1);
  const GLenum INVARIANT_EXT = static_cast<GLenum>(0x87C2);
  const GLenum LOCAL_CONSTANT_EXT = static_cast<GLenum>(0x87C3);
  const GLenum LOCAL_EXT = static_cast<GLenum>(0x87C4);
  const GLenum MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = static_cast<GLenum>(0x87C5);
  const GLenum MAX_VERTEX_SHADER_VARIANTS_EXT = static_cast<GLenum>(0x87C6);
  const GLenum MAX_VERTEX_SHADER_INVARIANTS_EXT = static_cast<GLenum>(0x87C7);
  const GLenum MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = static_cast<GLenum>(0x87C8);
  const GLenum MAX_VERTEX_SHADER_LOCALS_EXT = static_cast<GLenum>(0x87C9);
  const GLenum MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = static_cast<GLenum>(0x87CA);
  const GLenum MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = static_cast<GLenum>(0x87CB);
  const GLenum MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = static_cast<GLenum>(0x87CC);
  const GLenum MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = static_cast<GLenum>(0x87CD);
  const GLenum MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = static_cast<GLenum>(0x87CE);
  const GLenum VERTEX_SHADER_INSTRUCTIONS_EXT = static_cast<GLenum>(0x87CF);
  const GLenum VERTEX_SHADER_VARIANTS_EXT = static_cast<GLenum>(0x87D0);
  const GLenum VERTEX_SHADER_INVARIANTS_EXT = static_cast<GLenum>(0x87D1);
  const GLenum VERTEX_SHADER_LOCAL_CONSTANTS_EXT = static_cast<GLenum>(0x87D2);
  const GLenum VERTEX_SHADER_LOCALS_EXT = static_cast<GLenum>(0x87D3);
  const GLenum VERTEX_SHADER_OPTIMIZED_EXT = static_cast<GLenum>(0x87D4);
  const GLenum X_EXT = static_cast<GLenum>(0x87D5);
  const GLenum Y_EXT = static_cast<GLenum>(0x87D6);
  const GLenum Z_EXT = static_cast<GLenum>(0x87D7);
  const GLenum W_EXT = static_cast<GLenum>(0x87D8);
  const GLenum NEGATIVE_X_EXT = static_cast<GLenum>(0x87D9);
  const GLenum NEGATIVE_Y_EXT = static_cast<GLenum>(0x87DA);
  const GLenum NEGATIVE_Z_EXT = static_cast<GLenum>(0x87DB);
  const GLenum NEGATIVE_W_EXT = static_cast<GLenum>(0x87DC);
  const GLenum ZERO_EXT = static_cast<GLenum>(0x87DD);
  const GLenum ONE_EXT = static_cast<GLenum>(0x87DE);
  const GLenum NEGATIVE_ONE_EXT = static_cast<GLenum>(0x87DF);
  const GLenum NORMALIZED_RANGE_EXT = static_cast<GLenum>(0x87E0);
  const GLenum FULL_RANGE_EXT = static_cast<GLenum>(0x87E1);
  const GLenum CURRENT_VERTEX_EXT = static_cast<GLenum>(0x87E2);
  const GLenum MVP_MATRIX_EXT = static_cast<GLenum>(0x87E3);
  const GLenum VARIANT_VALUE_EXT = static_cast<GLenum>(0x87E4);
  const GLenum VARIANT_DATATYPE_EXT = static_cast<GLenum>(0x87E5);
  const GLenum VARIANT_ARRAY_STRIDE_EXT = static_cast<GLenum>(0x87E6);
  const GLenum VARIANT_ARRAY_TYPE_EXT = static_cast<GLenum>(0x87E7);
  const GLenum VARIANT_ARRAY_EXT = static_cast<GLenum>(0x87E8);
  const GLenum VARIANT_ARRAY_POINTER_EXT = static_cast<GLenum>(0x87E9);
  const GLenum INVARIANT_VALUE_EXT = static_cast<GLenum>(0x87EA);
  const GLenum INVARIANT_DATATYPE_EXT = static_cast<GLenum>(0x87EB);
  const GLenum LOCAL_CONSTANT_VALUE_EXT = static_cast<GLenum>(0x87EC);
  const GLenum LOCAL_CONSTANT_DATATYPE_EXT = static_cast<GLenum>(0x87ED);
  typedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC) (void);
  typedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC) (void);
  typedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
  typedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
  typedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
  typedef void (APIENTRYP PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
  typedef void (APIENTRYP PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
  typedef void (APIENTRYP PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
  typedef void (APIENTRYP PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
  typedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
  typedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
  typedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
  typedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
  typedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
  typedef void (APIENTRYP PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);
  typedef void (APIENTRYP PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);
  typedef void (APIENTRYP PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);
  typedef void (APIENTRYP PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);
  typedef void (APIENTRYP PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);
  typedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);
  typedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);
  typedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);
  typedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);
  typedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
  typedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
  typedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
  typedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
  typedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
  typedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC) (GLenum value);
  typedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
  typedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
  typedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
  typedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
  typedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);
  typedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
  typedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
  typedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
  typedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
  typedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
  typedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
  extern VTK_RENDERING_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC BeginVertexShaderEXT;
  extern VTK_RENDERING_EXPORT PFNGLENDVERTEXSHADEREXTPROC EndVertexShaderEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDVERTEXSHADEREXTPROC BindVertexShaderEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENVERTEXSHADERSEXTPROC GenVertexShadersEXT;
  extern VTK_RENDERING_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC DeleteVertexShaderEXT;
  extern VTK_RENDERING_EXPORT PFNGLSHADEROP1EXTPROC ShaderOp1EXT;
  extern VTK_RENDERING_EXPORT PFNGLSHADEROP2EXTPROC ShaderOp2EXT;
  extern VTK_RENDERING_EXPORT PFNGLSHADEROP3EXTPROC ShaderOp3EXT;
  extern VTK_RENDERING_EXPORT PFNGLSWIZZLEEXTPROC SwizzleEXT;
  extern VTK_RENDERING_EXPORT PFNGLWRITEMASKEXTPROC WriteMaskEXT;
  extern VTK_RENDERING_EXPORT PFNGLINSERTCOMPONENTEXTPROC InsertComponentEXT;
  extern VTK_RENDERING_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC ExtractComponentEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENSYMBOLSEXTPROC GenSymbolsEXT;
  extern VTK_RENDERING_EXPORT PFNGLSETINVARIANTEXTPROC SetInvariantEXT;
  extern VTK_RENDERING_EXPORT PFNGLSETLOCALCONSTANTEXTPROC SetLocalConstantEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTBVEXTPROC VariantbvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTSVEXTPROC VariantsvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTIVEXTPROC VariantivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTFVEXTPROC VariantfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTDVEXTPROC VariantdvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTUBVEXTPROC VariantubvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTUSVEXTPROC VariantusvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTUIVEXTPROC VariantuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVARIANTPOINTEREXTPROC VariantPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC EnableVariantClientStateEXT;
  extern VTK_RENDERING_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC DisableVariantClientStateEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC BindLightParameterEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC BindMaterialParameterEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC BindTexGenParameterEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC BindTextureUnitParameterEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDPARAMETEREXTPROC BindParameterEXT;
  extern VTK_RENDERING_EXPORT PFNGLISVARIANTENABLEDEXTPROC IsVariantEnabledEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC GetVariantBooleanvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC GetVariantIntegervEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETVARIANTFLOATVEXTPROC GetVariantFloatvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC GetVariantPointervEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC GetInvariantBooleanvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC GetInvariantIntegervEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC GetInvariantFloatvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC GetLocalConstantBooleanvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC GetLocalConstantIntegervEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETLOCALCONSTANTFLOATVEXTPROC GetLocalConstantFloatvEXT;

  //Definitions for GL_ATI_vertex_streams
  const GLenum MAX_VERTEX_STREAMS_ATI = static_cast<GLenum>(0x876B);
  const GLenum VERTEX_STREAM0_ATI = static_cast<GLenum>(0x876C);
  const GLenum VERTEX_STREAM1_ATI = static_cast<GLenum>(0x876D);
  const GLenum VERTEX_STREAM2_ATI = static_cast<GLenum>(0x876E);
  const GLenum VERTEX_STREAM3_ATI = static_cast<GLenum>(0x876F);
  const GLenum VERTEX_STREAM4_ATI = static_cast<GLenum>(0x8770);
  const GLenum VERTEX_STREAM5_ATI = static_cast<GLenum>(0x8771);
  const GLenum VERTEX_STREAM6_ATI = static_cast<GLenum>(0x8772);
  const GLenum VERTEX_STREAM7_ATI = static_cast<GLenum>(0x8773);
  const GLenum VERTEX_SOURCE_ATI = static_cast<GLenum>(0x8774);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
  typedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
  typedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
  typedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1SATIPROC VertexStream1sATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1SVATIPROC VertexStream1svATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1IATIPROC VertexStream1iATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1IVATIPROC VertexStream1ivATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1FATIPROC VertexStream1fATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1FVATIPROC VertexStream1fvATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1DATIPROC VertexStream1dATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM1DVATIPROC VertexStream1dvATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2SATIPROC VertexStream2sATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2SVATIPROC VertexStream2svATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2IATIPROC VertexStream2iATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2IVATIPROC VertexStream2ivATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2FATIPROC VertexStream2fATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2FVATIPROC VertexStream2fvATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2DATIPROC VertexStream2dATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM2DVATIPROC VertexStream2dvATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3SATIPROC VertexStream3sATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3SVATIPROC VertexStream3svATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3IATIPROC VertexStream3iATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3IVATIPROC VertexStream3ivATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3FATIPROC VertexStream3fATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3FVATIPROC VertexStream3fvATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3DATIPROC VertexStream3dATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM3DVATIPROC VertexStream3dvATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4SATIPROC VertexStream4sATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4SVATIPROC VertexStream4svATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4IATIPROC VertexStream4iATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4IVATIPROC VertexStream4ivATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4FATIPROC VertexStream4fATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4FVATIPROC VertexStream4fvATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4DATIPROC VertexStream4dATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXSTREAM4DVATIPROC VertexStream4dvATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3BATIPROC NormalStream3bATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3BVATIPROC NormalStream3bvATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3SATIPROC NormalStream3sATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3SVATIPROC NormalStream3svATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3IATIPROC NormalStream3iATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3IVATIPROC NormalStream3ivATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3FATIPROC NormalStream3fATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3FVATIPROC NormalStream3fvATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3DATIPROC NormalStream3dATI;
  extern VTK_RENDERING_EXPORT PFNGLNORMALSTREAM3DVATIPROC NormalStream3dvATI;
  extern VTK_RENDERING_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC ClientActiveVertexStreamATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXBLENDENVIATIPROC VertexBlendEnviATI;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXBLENDENVFATIPROC VertexBlendEnvfATI;

  //Definitions for GL_ATI_element_array
  const GLenum ELEMENT_ARRAY_ATI = static_cast<GLenum>(0x8768);
  const GLenum ELEMENT_ARRAY_TYPE_ATI = static_cast<GLenum>(0x8769);
  const GLenum ELEMENT_ARRAY_POINTER_ATI = static_cast<GLenum>(0x876A);
  typedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
  typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
  extern VTK_RENDERING_EXPORT PFNGLELEMENTPOINTERATIPROC ElementPointerATI;
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTARRAYATIPROC DrawElementArrayATI;
  extern VTK_RENDERING_EXPORT PFNGLDRAWRANGEELEMENTARRAYATIPROC DrawRangeElementArrayATI;

  //Definitions for GL_SUN_mesh_array
  const GLenum QUAD_MESH_SUN = static_cast<GLenum>(0x8614);
  const GLenum TRIANGLE_MESH_SUN = static_cast<GLenum>(0x8615);
  typedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);
  extern VTK_RENDERING_EXPORT PFNGLDRAWMESHARRAYSSUNPROC DrawMeshArraysSUN;

  //Definitions for GL_SUN_slice_accum
  const GLenum SLICE_ACCUM_SUN = static_cast<GLenum>(0x85CC);

  //Definitions for GL_NV_multisample_filter_hint
  const GLenum MULTISAMPLE_FILTER_HINT_NV = static_cast<GLenum>(0x8534);

  //Definitions for GL_NV_depth_clamp
  const GLenum DEPTH_CLAMP_NV = static_cast<GLenum>(0x864F);

  //Definitions for GL_NV_occlusion_query
  const GLenum PIXEL_COUNTER_BITS_NV = static_cast<GLenum>(0x8864);
  const GLenum CURRENT_OCCLUSION_QUERY_ID_NV = static_cast<GLenum>(0x8865);
  const GLenum PIXEL_COUNT_NV = static_cast<GLenum>(0x8866);
  const GLenum PIXEL_COUNT_AVAILABLE_NV = static_cast<GLenum>(0x8867);
  typedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
  typedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
  typedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC) (void);
  typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
  extern VTK_RENDERING_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC GenOcclusionQueriesNV;
  extern VTK_RENDERING_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC DeleteOcclusionQueriesNV;
  extern VTK_RENDERING_EXPORT PFNGLISOCCLUSIONQUERYNVPROC IsOcclusionQueryNV;
  extern VTK_RENDERING_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC BeginOcclusionQueryNV;
  extern VTK_RENDERING_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC EndOcclusionQueryNV;
  extern VTK_RENDERING_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC GetOcclusionQueryivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETOCCLUSIONQUERYUIVNVPROC GetOcclusionQueryuivNV;

  //Definitions for GL_NV_point_sprite
  const GLenum POINT_SPRITE_NV = static_cast<GLenum>(0x8861);
  const GLenum COORD_REPLACE_NV = static_cast<GLenum>(0x8862);
  const GLenum POINT_SPRITE_R_MODE_NV = static_cast<GLenum>(0x8863);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERINVPROC PointParameteriNV;
  extern VTK_RENDERING_EXPORT PFNGLPOINTPARAMETERIVNVPROC PointParameterivNV;

  //Definitions for GL_NV_texture_shader3
  const GLenum OFFSET_PROJECTIVE_TEXTURE_2D_NV = static_cast<GLenum>(0x8850);
  const GLenum OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = static_cast<GLenum>(0x8851);
  const GLenum OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x8852);
  const GLenum OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = static_cast<GLenum>(0x8853);
  const GLenum OFFSET_HILO_TEXTURE_2D_NV = static_cast<GLenum>(0x8854);
  const GLenum OFFSET_HILO_TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x8855);
  const GLenum OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = static_cast<GLenum>(0x8856);
  const GLenum OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x8857);
  const GLenum DEPENDENT_HILO_TEXTURE_2D_NV = static_cast<GLenum>(0x8858);
  const GLenum DEPENDENT_RGB_TEXTURE_3D_NV = static_cast<GLenum>(0x8859);
  const GLenum DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = static_cast<GLenum>(0x885A);
  const GLenum DOT_PRODUCT_PASS_THROUGH_NV = static_cast<GLenum>(0x885B);
  const GLenum DOT_PRODUCT_TEXTURE_1D_NV = static_cast<GLenum>(0x885C);
  const GLenum DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = static_cast<GLenum>(0x885D);
  const GLenum HILO8_NV = static_cast<GLenum>(0x885E);
  const GLenum SIGNED_HILO8_NV = static_cast<GLenum>(0x885F);
  const GLenum FORCE_BLUE_TO_ONE_NV = static_cast<GLenum>(0x8860);

  //Definitions for GL_NV_vertex_program1_1

  //Definitions for GL_EXT_shadow_funcs

  //Definitions for GL_EXT_stencil_two_side
  const GLenum STENCIL_TEST_TWO_SIDE_EXT = static_cast<GLenum>(0x8910);
  const GLenum ACTIVE_STENCIL_FACE_EXT = static_cast<GLenum>(0x8911);
  typedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
  extern VTK_RENDERING_EXPORT PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT;

  //Definitions for GL_ATI_text_fragment_shader
  const GLenum TEXT_FRAGMENT_SHADER_ATI = static_cast<GLenum>(0x8200);

  //Definitions for GL_APPLE_client_storage
  const GLenum UNPACK_CLIENT_STORAGE_APPLE = static_cast<GLenum>(0x85B2);

  //Definitions for GL_APPLE_element_array
  const GLenum ELEMENT_ARRAY_APPLE = static_cast<GLenum>(0x8768);
  const GLenum ELEMENT_ARRAY_TYPE_APPLE = static_cast<GLenum>(0x8769);
  const GLenum ELEMENT_ARRAY_POINTER_APPLE = static_cast<GLenum>(0x876A);
  typedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
  typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
  typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  typedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
  extern VTK_RENDERING_EXPORT PFNGLELEMENTPOINTERAPPLEPROC ElementPointerAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC DrawElementArrayAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC DrawRangeElementArrayAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC MultiDrawElementArrayAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC MultiDrawRangeElementArrayAPPLE;

  //Definitions for GL_APPLE_fence
  const GLenum DRAW_PIXELS_APPLE = static_cast<GLenum>(0x8A0A);
  const GLenum FENCE_APPLE = static_cast<GLenum>(0x8A0B);
  typedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences);
  typedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences);
  typedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC) (GLuint fence);
  typedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC) (GLuint fence);
  typedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
  typedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
  typedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
  typedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
  extern VTK_RENDERING_EXPORT PFNGLGENFENCESAPPLEPROC GenFencesAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLDELETEFENCESAPPLEPROC DeleteFencesAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLSETFENCEAPPLEPROC SetFenceAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLISFENCEAPPLEPROC IsFenceAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLTESTFENCEAPPLEPROC TestFenceAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLFINISHFENCEAPPLEPROC FinishFenceAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLTESTOBJECTAPPLEPROC TestObjectAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLFINISHOBJECTAPPLEPROC FinishObjectAPPLE;

  //Definitions for GL_APPLE_vertex_array_object
  const GLenum VERTEX_ARRAY_BINDING_APPLE = static_cast<GLenum>(0x85B5);
  typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
  typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
  typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);
  typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
  extern VTK_RENDERING_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC BindVertexArrayAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC DeleteVertexArraysAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC GenVertexArraysAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLISVERTEXARRAYAPPLEPROC IsVertexArrayAPPLE;

  //Definitions for GL_APPLE_vertex_array_range
  const GLenum VERTEX_ARRAY_RANGE_APPLE = static_cast<GLenum>(0x851D);
  const GLenum VERTEX_ARRAY_RANGE_LENGTH_APPLE = static_cast<GLenum>(0x851E);
  const GLenum VERTEX_ARRAY_STORAGE_HINT_APPLE = static_cast<GLenum>(0x851F);
  const GLenum VERTEX_ARRAY_RANGE_POINTER_APPLE = static_cast<GLenum>(0x8521);
  const GLenum STORAGE_CACHED_APPLE = static_cast<GLenum>(0x85BE);
  const GLenum STORAGE_SHARED_APPLE = static_cast<GLenum>(0x85BF);
  typedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
  typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
  typedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC VertexArrayRangeAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC FlushVertexArrayRangeAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC VertexArrayParameteriAPPLE;

  //Definitions for GL_APPLE_ycbcr_422
  const GLenum YCBCR_422_APPLE = static_cast<GLenum>(0x85B9);
  const GLenum UNSIGNED_SHORT_8_8_APPLE = static_cast<GLenum>(0x85BA);
  const GLenum UNSIGNED_SHORT_8_8_REV_APPLE = static_cast<GLenum>(0x85BB);

  //Definitions for GL_S3_s3tc
  const GLenum RGB_S3TC = static_cast<GLenum>(0x83A0);
  const GLenum RGB4_S3TC = static_cast<GLenum>(0x83A1);
  const GLenum RGBA_S3TC = static_cast<GLenum>(0x83A2);
  const GLenum RGBA4_S3TC = static_cast<GLenum>(0x83A3);

  //Definitions for GL_ATI_draw_buffers
  const GLenum MAX_DRAW_BUFFERS_ATI = static_cast<GLenum>(0x8824);
  const GLenum DRAW_BUFFER0_ATI = static_cast<GLenum>(0x8825);
  const GLenum DRAW_BUFFER1_ATI = static_cast<GLenum>(0x8826);
  const GLenum DRAW_BUFFER2_ATI = static_cast<GLenum>(0x8827);
  const GLenum DRAW_BUFFER3_ATI = static_cast<GLenum>(0x8828);
  const GLenum DRAW_BUFFER4_ATI = static_cast<GLenum>(0x8829);
  const GLenum DRAW_BUFFER5_ATI = static_cast<GLenum>(0x882A);
  const GLenum DRAW_BUFFER6_ATI = static_cast<GLenum>(0x882B);
  const GLenum DRAW_BUFFER7_ATI = static_cast<GLenum>(0x882C);
  const GLenum DRAW_BUFFER8_ATI = static_cast<GLenum>(0x882D);
  const GLenum DRAW_BUFFER9_ATI = static_cast<GLenum>(0x882E);
  const GLenum DRAW_BUFFER10_ATI = static_cast<GLenum>(0x882F);
  const GLenum DRAW_BUFFER11_ATI = static_cast<GLenum>(0x8830);
  const GLenum DRAW_BUFFER12_ATI = static_cast<GLenum>(0x8831);
  const GLenum DRAW_BUFFER13_ATI = static_cast<GLenum>(0x8832);
  const GLenum DRAW_BUFFER14_ATI = static_cast<GLenum>(0x8833);
  const GLenum DRAW_BUFFER15_ATI = static_cast<GLenum>(0x8834);
  typedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);
  extern VTK_RENDERING_EXPORT PFNGLDRAWBUFFERSATIPROC DrawBuffersATI;

  //Definitions for GL_ATI_pixel_format_float
  const GLenum TYPE_RGBA_FLOAT_ATI = static_cast<GLenum>(0x8820);
  const GLenum COLOR_CLEAR_UNCLAMPED_VALUE_ATI = static_cast<GLenum>(0x8835);

  //Definitions for GL_ATI_texture_env_combine3
  const GLenum MODULATE_ADD_ATI = static_cast<GLenum>(0x8744);
  const GLenum MODULATE_SIGNED_ADD_ATI = static_cast<GLenum>(0x8745);
  const GLenum MODULATE_SUBTRACT_ATI = static_cast<GLenum>(0x8746);

  //Definitions for GL_ATI_texture_float
  const GLenum RGBA_FLOAT32_ATI = static_cast<GLenum>(0x8814);
  const GLenum RGB_FLOAT32_ATI = static_cast<GLenum>(0x8815);
  const GLenum ALPHA_FLOAT32_ATI = static_cast<GLenum>(0x8816);
  const GLenum INTENSITY_FLOAT32_ATI = static_cast<GLenum>(0x8817);
  const GLenum LUMINANCE_FLOAT32_ATI = static_cast<GLenum>(0x8818);
  const GLenum LUMINANCE_ALPHA_FLOAT32_ATI = static_cast<GLenum>(0x8819);
  const GLenum RGBA_FLOAT16_ATI = static_cast<GLenum>(0x881A);
  const GLenum RGB_FLOAT16_ATI = static_cast<GLenum>(0x881B);
  const GLenum ALPHA_FLOAT16_ATI = static_cast<GLenum>(0x881C);
  const GLenum INTENSITY_FLOAT16_ATI = static_cast<GLenum>(0x881D);
  const GLenum LUMINANCE_FLOAT16_ATI = static_cast<GLenum>(0x881E);
  const GLenum LUMINANCE_ALPHA_FLOAT16_ATI = static_cast<GLenum>(0x881F);

  //Definitions for GL_NV_float_buffer
  const GLenum FLOAT_R_NV = static_cast<GLenum>(0x8880);
  const GLenum FLOAT_RG_NV = static_cast<GLenum>(0x8881);
  const GLenum FLOAT_RGB_NV = static_cast<GLenum>(0x8882);
  const GLenum FLOAT_RGBA_NV = static_cast<GLenum>(0x8883);
  const GLenum FLOAT_R16_NV = static_cast<GLenum>(0x8884);
  const GLenum FLOAT_R32_NV = static_cast<GLenum>(0x8885);
  const GLenum FLOAT_RG16_NV = static_cast<GLenum>(0x8886);
  const GLenum FLOAT_RG32_NV = static_cast<GLenum>(0x8887);
  const GLenum FLOAT_RGB16_NV = static_cast<GLenum>(0x8888);
  const GLenum FLOAT_RGB32_NV = static_cast<GLenum>(0x8889);
  const GLenum FLOAT_RGBA16_NV = static_cast<GLenum>(0x888A);
  const GLenum FLOAT_RGBA32_NV = static_cast<GLenum>(0x888B);
  const GLenum TEXTURE_FLOAT_COMPONENTS_NV = static_cast<GLenum>(0x888C);
  const GLenum FLOAT_CLEAR_COLOR_VALUE_NV = static_cast<GLenum>(0x888D);
  const GLenum FLOAT_RGBA_MODE_NV = static_cast<GLenum>(0x888E);

  //Definitions for GL_NV_fragment_program
  const GLenum MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = static_cast<GLenum>(0x8868);
  const GLenum FRAGMENT_PROGRAM_NV = static_cast<GLenum>(0x8870);
  const GLenum MAX_TEXTURE_COORDS_NV = static_cast<GLenum>(0x8871);
  const GLenum MAX_TEXTURE_IMAGE_UNITS_NV = static_cast<GLenum>(0x8872);
  const GLenum FRAGMENT_PROGRAM_BINDING_NV = static_cast<GLenum>(0x8873);
  const GLenum PROGRAM_ERROR_STRING_NV = static_cast<GLenum>(0x8874);
  typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
  typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
  typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC ProgramNamedParameter4fNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC ProgramNamedParameter4dNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC ProgramNamedParameter4fvNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC ProgramNamedParameter4dvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC GetProgramNamedParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC GetProgramNamedParameterdvNV;

  //Definitions for GL_NV_half_float
  const GLenum HALF_FLOAT_NV = static_cast<GLenum>(0x140B);
  typedef unsigned short GLhalfNV;
  typedef void (APIENTRYP PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);
  typedef void (APIENTRYP PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);
  typedef void (APIENTRYP PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
  typedef void (APIENTRYP PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
  typedef void (APIENTRYP PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
  typedef void (APIENTRYP PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
  typedef void (APIENTRYP PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC) (GLhalfNV s);
  typedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);
  typedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);
  typedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
  typedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
  typedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLFOGCOORDHNVPROC) (GLhalfNV fog);
  typedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
  typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight);
  typedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
  extern VTK_RENDERING_EXPORT PFNGLVERTEX2HNVPROC Vertex2hNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEX2HVNVPROC Vertex2hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEX3HNVPROC Vertex3hNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEX3HVNVPROC Vertex3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEX4HNVPROC Vertex4hNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEX4HVNVPROC Vertex4hvNV;
  extern VTK_RENDERING_EXPORT PFNGLNORMAL3HNVPROC Normal3hNV;
  extern VTK_RENDERING_EXPORT PFNGLNORMAL3HVNVPROC Normal3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR3HNVPROC Color3hNV;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR3HVNVPROC Color3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4HNVPROC Color4hNV;
  extern VTK_RENDERING_EXPORT PFNGLCOLOR4HVNVPROC Color4hvNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD1HNVPROC TexCoord1hNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD1HVNVPROC TexCoord1hvNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2HNVPROC TexCoord2hNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD2HVNVPROC TexCoord2hvNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD3HNVPROC TexCoord3hNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD3HVNVPROC TexCoord3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD4HNVPROC TexCoord4hNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORD4HVNVPROC TexCoord4hvNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1HNVPROC MultiTexCoord1hNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD1HVNVPROC MultiTexCoord1hvNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2HNVPROC MultiTexCoord2hNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD2HVNVPROC MultiTexCoord2hvNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3HNVPROC MultiTexCoord3hNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD3HVNVPROC MultiTexCoord3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4HNVPROC MultiTexCoord4hNV;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORD4HVNVPROC MultiTexCoord4hvNV;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDHNVPROC FogCoordhNV;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDHVNVPROC FogCoordhvNV;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3HNVPROC SecondaryColor3hNV;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC SecondaryColor3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXWEIGHTHNVPROC VertexWeighthNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXWEIGHTHVNVPROC VertexWeighthvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1HNVPROC VertexAttrib1hNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB1HVNVPROC VertexAttrib1hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2HNVPROC VertexAttrib2hNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB2HVNVPROC VertexAttrib2hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3HNVPROC VertexAttrib3hNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB3HVNVPROC VertexAttrib3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4HNVPROC VertexAttrib4hNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIB4HVNVPROC VertexAttrib4hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC VertexAttribs1hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC VertexAttribs2hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC VertexAttribs3hvNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBS4HVNVPROC VertexAttribs4hvNV;

  //Definitions for GL_NV_pixel_data_range
  const GLenum WRITE_PIXEL_DATA_RANGE_NV = static_cast<GLenum>(0x8878);
  const GLenum READ_PIXEL_DATA_RANGE_NV = static_cast<GLenum>(0x8879);
  const GLenum WRITE_PIXEL_DATA_RANGE_LENGTH_NV = static_cast<GLenum>(0x887A);
  const GLenum READ_PIXEL_DATA_RANGE_LENGTH_NV = static_cast<GLenum>(0x887B);
  const GLenum WRITE_PIXEL_DATA_RANGE_POINTER_NV = static_cast<GLenum>(0x887C);
  const GLenum READ_PIXEL_DATA_RANGE_POINTER_NV = static_cast<GLenum>(0x887D);
  typedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, GLvoid *pointer);
  typedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
  extern VTK_RENDERING_EXPORT PFNGLPIXELDATARANGENVPROC PixelDataRangeNV;
  extern VTK_RENDERING_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC FlushPixelDataRangeNV;

  //Definitions for GL_NV_primitive_restart
  const GLenum PRIMITIVE_RESTART_NV = static_cast<GLenum>(0x8558);
  const GLenum PRIMITIVE_RESTART_INDEX_NV = static_cast<GLenum>(0x8559);
  typedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC) (void);
  typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
  extern VTK_RENDERING_EXPORT PFNGLPRIMITIVERESTARTNVPROC PrimitiveRestartNV;
  extern VTK_RENDERING_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC PrimitiveRestartIndexNV;

  //Definitions for GL_NV_texture_expand_normal
  const GLenum TEXTURE_UNSIGNED_REMAP_MODE_NV = static_cast<GLenum>(0x888F);

  //Definitions for GL_NV_vertex_program2

  //Definitions for GL_ATI_map_object_buffer
  typedef GLvoid* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
  typedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
  extern VTK_RENDERING_EXPORT PFNGLMAPOBJECTBUFFERATIPROC MapObjectBufferATI;
  extern VTK_RENDERING_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC UnmapObjectBufferATI;

  //Definitions for GL_ATI_separate_stencil
  const GLenum STENCIL_BACK_FUNC_ATI = static_cast<GLenum>(0x8800);
  const GLenum STENCIL_BACK_FAIL_ATI = static_cast<GLenum>(0x8801);
  const GLenum STENCIL_BACK_PASS_DEPTH_FAIL_ATI = static_cast<GLenum>(0x8802);
  const GLenum STENCIL_BACK_PASS_DEPTH_PASS_ATI = static_cast<GLenum>(0x8803);
  typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
  extern VTK_RENDERING_EXPORT PFNGLSTENCILOPSEPARATEATIPROC StencilOpSeparateATI;
  extern VTK_RENDERING_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC StencilFuncSeparateATI;

  //Definitions for GL_ATI_vertex_attrib_array_object
  typedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC VertexAttribArrayObjectATI;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC GetVertexAttribArrayObjectfvATI;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC GetVertexAttribArrayObjectivATI;

  //Definitions for GL_OES_read_format
  const GLenum IMPLEMENTATION_COLOR_READ_TYPE_OES = static_cast<GLenum>(0x8B9A);
  const GLenum IMPLEMENTATION_COLOR_READ_FORMAT_OES = static_cast<GLenum>(0x8B9B);

  //Definitions for GL_EXT_depth_bounds_test
  const GLenum DEPTH_BOUNDS_TEST_EXT = static_cast<GLenum>(0x8890);
  const GLenum DEPTH_BOUNDS_EXT = static_cast<GLenum>(0x8891);
  typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
  extern VTK_RENDERING_EXPORT PFNGLDEPTHBOUNDSEXTPROC DepthBoundsEXT;

  //Definitions for GL_EXT_texture_mirror_clamp
  const GLenum MIRROR_CLAMP_EXT = static_cast<GLenum>(0x8742);
  const GLenum MIRROR_CLAMP_TO_EDGE_EXT = static_cast<GLenum>(0x8743);
  const GLenum MIRROR_CLAMP_TO_BORDER_EXT = static_cast<GLenum>(0x8912);

  //Definitions for GL_EXT_blend_equation_separate
  const GLenum BLEND_EQUATION_RGB_EXT = static_cast<GLenum>(0x8009);
  const GLenum BLEND_EQUATION_ALPHA_EXT = static_cast<GLenum>(0x883D);
  typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONSEPARATEEXTPROC BlendEquationSeparateEXT;

  //Definitions for GL_MESA_pack_invert
  const GLenum PACK_INVERT_MESA = static_cast<GLenum>(0x8758);

  //Definitions for GL_MESA_ycbcr_texture
  const GLenum UNSIGNED_SHORT_8_8_MESA = static_cast<GLenum>(0x85BA);
  const GLenum UNSIGNED_SHORT_8_8_REV_MESA = static_cast<GLenum>(0x85BB);
  const GLenum YCBCR_MESA = static_cast<GLenum>(0x8757);

  //Definitions for GL_EXT_pixel_buffer_object
  const GLenum PIXEL_PACK_BUFFER_EXT = static_cast<GLenum>(0x88EB);
  const GLenum PIXEL_UNPACK_BUFFER_EXT = static_cast<GLenum>(0x88EC);
  const GLenum PIXEL_PACK_BUFFER_BINDING_EXT = static_cast<GLenum>(0x88ED);
  const GLenum PIXEL_UNPACK_BUFFER_BINDING_EXT = static_cast<GLenum>(0x88EF);

  //Definitions for GL_NV_fragment_program_option

  //Definitions for GL_NV_fragment_program2
  const GLenum MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = static_cast<GLenum>(0x88F4);
  const GLenum MAX_PROGRAM_CALL_DEPTH_NV = static_cast<GLenum>(0x88F5);
  const GLenum MAX_PROGRAM_IF_DEPTH_NV = static_cast<GLenum>(0x88F6);
  const GLenum MAX_PROGRAM_LOOP_DEPTH_NV = static_cast<GLenum>(0x88F7);
  const GLenum MAX_PROGRAM_LOOP_COUNT_NV = static_cast<GLenum>(0x88F8);

  //Definitions for GL_NV_vertex_program2_option

  //Definitions for GL_NV_vertex_program3

  //Definitions for GL_EXT_framebuffer_object
  const GLenum INVALID_FRAMEBUFFER_OPERATION_EXT = static_cast<GLenum>(0x0506);
  const GLenum MAX_RENDERBUFFER_SIZE_EXT = static_cast<GLenum>(0x84E8);
  const GLenum FRAMEBUFFER_BINDING_EXT = static_cast<GLenum>(0x8CA6);
  const GLenum RENDERBUFFER_BINDING_EXT = static_cast<GLenum>(0x8CA7);
  const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = static_cast<GLenum>(0x8CD0);
  const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = static_cast<GLenum>(0x8CD1);
  const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = static_cast<GLenum>(0x8CD2);
  const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = static_cast<GLenum>(0x8CD3);
  const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = static_cast<GLenum>(0x8CD4);
  const GLenum FRAMEBUFFER_COMPLETE_EXT = static_cast<GLenum>(0x8CD5);
  const GLenum FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = static_cast<GLenum>(0x8CD6);
  const GLenum FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = static_cast<GLenum>(0x8CD7);
  const GLenum FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = static_cast<GLenum>(0x8CD9);
  const GLenum FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = static_cast<GLenum>(0x8CDA);
  const GLenum FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = static_cast<GLenum>(0x8CDB);
  const GLenum FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = static_cast<GLenum>(0x8CDC);
  const GLenum FRAMEBUFFER_UNSUPPORTED_EXT = static_cast<GLenum>(0x8CDD);
  const GLenum MAX_COLOR_ATTACHMENTS_EXT = static_cast<GLenum>(0x8CDF);
  const GLenum COLOR_ATTACHMENT0_EXT = static_cast<GLenum>(0x8CE0);
  const GLenum COLOR_ATTACHMENT1_EXT = static_cast<GLenum>(0x8CE1);
  const GLenum COLOR_ATTACHMENT2_EXT = static_cast<GLenum>(0x8CE2);
  const GLenum COLOR_ATTACHMENT3_EXT = static_cast<GLenum>(0x8CE3);
  const GLenum COLOR_ATTACHMENT4_EXT = static_cast<GLenum>(0x8CE4);
  const GLenum COLOR_ATTACHMENT5_EXT = static_cast<GLenum>(0x8CE5);
  const GLenum COLOR_ATTACHMENT6_EXT = static_cast<GLenum>(0x8CE6);
  const GLenum COLOR_ATTACHMENT7_EXT = static_cast<GLenum>(0x8CE7);
  const GLenum COLOR_ATTACHMENT8_EXT = static_cast<GLenum>(0x8CE8);
  const GLenum COLOR_ATTACHMENT9_EXT = static_cast<GLenum>(0x8CE9);
  const GLenum COLOR_ATTACHMENT10_EXT = static_cast<GLenum>(0x8CEA);
  const GLenum COLOR_ATTACHMENT11_EXT = static_cast<GLenum>(0x8CEB);
  const GLenum COLOR_ATTACHMENT12_EXT = static_cast<GLenum>(0x8CEC);
  const GLenum COLOR_ATTACHMENT13_EXT = static_cast<GLenum>(0x8CED);
  const GLenum COLOR_ATTACHMENT14_EXT = static_cast<GLenum>(0x8CEE);
  const GLenum COLOR_ATTACHMENT15_EXT = static_cast<GLenum>(0x8CEF);
  const GLenum DEPTH_ATTACHMENT_EXT = static_cast<GLenum>(0x8D00);
  const GLenum STENCIL_ATTACHMENT_EXT = static_cast<GLenum>(0x8D20);
  const GLenum FRAMEBUFFER_EXT = static_cast<GLenum>(0x8D40);
  const GLenum RENDERBUFFER_EXT = static_cast<GLenum>(0x8D41);
  const GLenum RENDERBUFFER_WIDTH_EXT = static_cast<GLenum>(0x8D42);
  const GLenum RENDERBUFFER_HEIGHT_EXT = static_cast<GLenum>(0x8D43);
  const GLenum RENDERBUFFER_INTERNAL_FORMAT_EXT = static_cast<GLenum>(0x8D44);
  const GLenum STENCIL_INDEX1_EXT = static_cast<GLenum>(0x8D46);
  const GLenum STENCIL_INDEX4_EXT = static_cast<GLenum>(0x8D47);
  const GLenum STENCIL_INDEX8_EXT = static_cast<GLenum>(0x8D48);
  const GLenum STENCIL_INDEX16_EXT = static_cast<GLenum>(0x8D49);
  const GLenum RENDERBUFFER_RED_SIZE_EXT = static_cast<GLenum>(0x8D50);
  const GLenum RENDERBUFFER_GREEN_SIZE_EXT = static_cast<GLenum>(0x8D51);
  const GLenum RENDERBUFFER_BLUE_SIZE_EXT = static_cast<GLenum>(0x8D52);
  const GLenum RENDERBUFFER_ALPHA_SIZE_EXT = static_cast<GLenum>(0x8D53);
  const GLenum RENDERBUFFER_DEPTH_SIZE_EXT = static_cast<GLenum>(0x8D54);
  const GLenum RENDERBUFFER_STENCIL_SIZE_EXT = static_cast<GLenum>(0x8D55);
  typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
  typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
  typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
  typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
  typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
  typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
  typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
  extern VTK_RENDERING_EXPORT PFNGLISRENDERBUFFEREXTPROC IsRenderbufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDRENDERBUFFEREXTPROC BindRenderbufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC DeleteRenderbuffersEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENRENDERBUFFERSEXTPROC GenRenderbuffersEXT;
  extern VTK_RENDERING_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC RenderbufferStorageEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC GetRenderbufferParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLISFRAMEBUFFEREXTPROC IsFramebufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC BindFramebufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC DeleteFramebuffersEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC GenFramebuffersEXT;
  extern VTK_RENDERING_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC CheckFramebufferStatusEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC FramebufferTexture1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC FramebufferTexture2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC FramebufferTexture3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC FramebufferRenderbufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GetFramebufferAttachmentParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENERATEMIPMAPEXTPROC GenerateMipmapEXT;

  //Definitions for GL_GREMEDY_string_marker
  typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string);
  extern VTK_RENDERING_EXPORT PFNGLSTRINGMARKERGREMEDYPROC StringMarkerGREMEDY;

  //Definitions for GL_EXT_packed_depth_stencil
  const GLenum DEPTH_STENCIL_EXT = static_cast<GLenum>(0x84F9);
  const GLenum UNSIGNED_INT_24_8_EXT = static_cast<GLenum>(0x84FA);
  const GLenum DEPTH24_STENCIL8_EXT = static_cast<GLenum>(0x88F0);
  const GLenum TEXTURE_STENCIL_SIZE_EXT = static_cast<GLenum>(0x88F1);

  //Definitions for GL_EXT_stencil_clear_tag
  const GLenum STENCIL_TAG_BITS_EXT = static_cast<GLenum>(0x88F2);
  const GLenum STENCIL_CLEAR_TAG_VALUE_EXT = static_cast<GLenum>(0x88F3);
  typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag);
  extern VTK_RENDERING_EXPORT PFNGLSTENCILCLEARTAGEXTPROC StencilClearTagEXT;

  //Definitions for GL_EXT_texture_sRGB
  const GLenum SRGB_EXT = static_cast<GLenum>(0x8C40);
  const GLenum SRGB8_EXT = static_cast<GLenum>(0x8C41);
  const GLenum SRGB_ALPHA_EXT = static_cast<GLenum>(0x8C42);
  const GLenum SRGB8_ALPHA8_EXT = static_cast<GLenum>(0x8C43);
  const GLenum SLUMINANCE_ALPHA_EXT = static_cast<GLenum>(0x8C44);
  const GLenum SLUMINANCE8_ALPHA8_EXT = static_cast<GLenum>(0x8C45);
  const GLenum SLUMINANCE_EXT = static_cast<GLenum>(0x8C46);
  const GLenum SLUMINANCE8_EXT = static_cast<GLenum>(0x8C47);
  const GLenum COMPRESSED_SRGB_EXT = static_cast<GLenum>(0x8C48);
  const GLenum COMPRESSED_SRGB_ALPHA_EXT = static_cast<GLenum>(0x8C49);
  const GLenum COMPRESSED_SLUMINANCE_EXT = static_cast<GLenum>(0x8C4A);
  const GLenum COMPRESSED_SLUMINANCE_ALPHA_EXT = static_cast<GLenum>(0x8C4B);
  const GLenum COMPRESSED_SRGB_S3TC_DXT1_EXT = static_cast<GLenum>(0x8C4C);
  const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = static_cast<GLenum>(0x8C4D);
  const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = static_cast<GLenum>(0x8C4E);
  const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = static_cast<GLenum>(0x8C4F);

  //Definitions for GL_EXT_framebuffer_blit
  const GLenum READ_FRAMEBUFFER_EXT = static_cast<GLenum>(0x8CA8);
  const GLenum DRAW_FRAMEBUFFER_EXT = static_cast<GLenum>(0x8CA9);
  const GLenum DRAW_FRAMEBUFFER_BINDING_EXT = static_cast<GLenum>(0x8CA6);
  const GLenum READ_FRAMEBUFFER_BINDING_EXT = static_cast<GLenum>(0x8CAA);
  typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  extern VTK_RENDERING_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC BlitFramebufferEXT;

  //Definitions for GL_EXT_framebuffer_multisample
  const GLenum RENDERBUFFER_SAMPLES_EXT = static_cast<GLenum>(0x8CAB);
  const GLenum FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = static_cast<GLenum>(0x8D56);
  const GLenum MAX_SAMPLES_EXT = static_cast<GLenum>(0x8D57);
  typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  extern VTK_RENDERING_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC RenderbufferStorageMultisampleEXT;

  //Definitions for GL_MESAX_texture_stack
  const GLenum TEXTURE_1D_STACK_MESAX = static_cast<GLenum>(0x8759);
  const GLenum TEXTURE_2D_STACK_MESAX = static_cast<GLenum>(0x875A);
  const GLenum PROXY_TEXTURE_1D_STACK_MESAX = static_cast<GLenum>(0x875B);
  const GLenum PROXY_TEXTURE_2D_STACK_MESAX = static_cast<GLenum>(0x875C);
  const GLenum TEXTURE_1D_STACK_BINDING_MESAX = static_cast<GLenum>(0x875D);
  const GLenum TEXTURE_2D_STACK_BINDING_MESAX = static_cast<GLenum>(0x875E);

  //Definitions for GL_EXT_timer_query
  const GLenum TIME_ELAPSED_EXT = static_cast<GLenum>(0x88BF);
  typedef int64_t GLint64EXT;
  typedef uint64_t GLuint64EXT;
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params);
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params);
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC GetQueryObjecti64vEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC GetQueryObjectui64vEXT;

  //Definitions for GL_EXT_gpu_program_parameters
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC ProgramEnvParameters4fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC ProgramLocalParameters4fvEXT;

  //Definitions for GL_APPLE_flush_buffer_range
  const GLenum BUFFER_SERIALIZED_MODIFY_APPLE = static_cast<GLenum>(0x8A12);
  const GLenum BUFFER_FLUSHING_UNMAP_APPLE = static_cast<GLenum>(0x8A13);
  typedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);
  extern VTK_RENDERING_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC BufferParameteriAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC FlushMappedBufferRangeAPPLE;

  //Definitions for GL_NV_gpu_program4
  const GLenum MIN_PROGRAM_TEXEL_OFFSET_NV = static_cast<GLenum>(0x8904);
  const GLenum MAX_PROGRAM_TEXEL_OFFSET_NV = static_cast<GLenum>(0x8905);
  const GLenum PROGRAM_ATTRIB_COMPONENTS_NV = static_cast<GLenum>(0x8906);
  const GLenum PROGRAM_RESULT_COMPONENTS_NV = static_cast<GLenum>(0x8907);
  const GLenum MAX_PROGRAM_ATTRIB_COMPONENTS_NV = static_cast<GLenum>(0x8908);
  const GLenum MAX_PROGRAM_RESULT_COMPONENTS_NV = static_cast<GLenum>(0x8909);
  const GLenum MAX_PROGRAM_GENERIC_ATTRIBS_NV = static_cast<GLenum>(0x8DA5);
  const GLenum MAX_PROGRAM_GENERIC_RESULTS_NV = static_cast<GLenum>(0x8DA6);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
  typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
  typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC ProgramLocalParameterI4iNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC ProgramLocalParameterI4ivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC ProgramLocalParametersI4ivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC ProgramLocalParameterI4uiNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC ProgramLocalParameterI4uivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC ProgramLocalParametersI4uivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC ProgramEnvParameterI4iNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC ProgramEnvParameterI4ivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC ProgramEnvParametersI4ivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC ProgramEnvParameterI4uiNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC ProgramEnvParameterI4uivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC ProgramEnvParametersI4uivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC GetProgramLocalParameterIivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC GetProgramLocalParameterIuivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMENVPARAMETERIIVNVPROC GetProgramEnvParameterIivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC GetProgramEnvParameterIuivNV;

  //Definitions for GL_NV_geometry_program4
  const GLenum LINES_ADJACENCY_EXT = static_cast<GLenum>(0x000A);
  const GLenum LINE_STRIP_ADJACENCY_EXT = static_cast<GLenum>(0x000B);
  const GLenum TRIANGLES_ADJACENCY_EXT = static_cast<GLenum>(0x000C);
  const GLenum TRIANGLE_STRIP_ADJACENCY_EXT = static_cast<GLenum>(0x000D);
  const GLenum GEOMETRY_PROGRAM_NV = static_cast<GLenum>(0x8C26);
  const GLenum MAX_PROGRAM_OUTPUT_VERTICES_NV = static_cast<GLenum>(0x8C27);
  const GLenum MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = static_cast<GLenum>(0x8C28);
  const GLenum GEOMETRY_VERTICES_OUT_EXT = static_cast<GLenum>(0x8DDA);
  const GLenum GEOMETRY_INPUT_TYPE_EXT = static_cast<GLenum>(0x8DDB);
  const GLenum GEOMETRY_OUTPUT_TYPE_EXT = static_cast<GLenum>(0x8DDC);
  const GLenum MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = static_cast<GLenum>(0x8C29);
  const GLenum FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = static_cast<GLenum>(0x8DA7);
  const GLenum FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = static_cast<GLenum>(0x8DA8);
  const GLenum FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = static_cast<GLenum>(0x8DA9);
  const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = static_cast<GLenum>(0x8CD4);
  const GLenum PROGRAM_POINT_SIZE_EXT = static_cast<GLenum>(0x8642);
  typedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC ProgramVertexLimitNV;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC FramebufferTextureEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC FramebufferTextureLayerEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC FramebufferTextureFaceEXT;

  //Definitions for GL_EXT_geometry_shader4
  const GLenum GEOMETRY_SHADER_EXT = static_cast<GLenum>(0x8DD9);
  const GLenum MAX_GEOMETRY_VARYING_COMPONENTS_EXT = static_cast<GLenum>(0x8DDD);
  const GLenum MAX_VERTEX_VARYING_COMPONENTS_EXT = static_cast<GLenum>(0x8DDE);
  const GLenum MAX_VARYING_COMPONENTS_EXT = static_cast<GLenum>(0x8B4B);
  const GLenum MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = static_cast<GLenum>(0x8DDF);
  const GLenum MAX_GEOMETRY_OUTPUT_VERTICES_EXT = static_cast<GLenum>(0x8DE0);
  const GLenum MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = static_cast<GLenum>(0x8DE1);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC ProgramParameteriEXT;

  //Definitions for GL_NV_vertex_program4
  const GLenum VERTEX_ATTRIB_ARRAY_INTEGER_NV = static_cast<GLenum>(0x88FD);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params);
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC VertexAttribI1iEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC VertexAttribI2iEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC VertexAttribI3iEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC VertexAttribI4iEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC VertexAttribI1uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC VertexAttribI2uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC VertexAttribI3uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC VertexAttribI4uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC VertexAttribI1ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC VertexAttribI2ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC VertexAttribI3ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC VertexAttribI4ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC VertexAttribI1uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC VertexAttribI2uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC VertexAttribI3uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC VertexAttribI4uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC VertexAttribI4bvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC VertexAttribI4svEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC VertexAttribI4ubvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC VertexAttribI4usvEXT;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC VertexAttribIPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC GetVertexAttribIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC GetVertexAttribIuivEXT;

  //Definitions for GL_EXT_gpu_shader4
  const GLenum SAMPLER_1D_ARRAY_EXT = static_cast<GLenum>(0x8DC0);
  const GLenum SAMPLER_2D_ARRAY_EXT = static_cast<GLenum>(0x8DC1);
  const GLenum SAMPLER_BUFFER_EXT = static_cast<GLenum>(0x8DC2);
  const GLenum SAMPLER_1D_ARRAY_SHADOW_EXT = static_cast<GLenum>(0x8DC3);
  const GLenum SAMPLER_2D_ARRAY_SHADOW_EXT = static_cast<GLenum>(0x8DC4);
  const GLenum SAMPLER_CUBE_SHADOW_EXT = static_cast<GLenum>(0x8DC5);
  const GLenum UNSIGNED_INT_VEC2_EXT = static_cast<GLenum>(0x8DC6);
  const GLenum UNSIGNED_INT_VEC3_EXT = static_cast<GLenum>(0x8DC7);
  const GLenum UNSIGNED_INT_VEC4_EXT = static_cast<GLenum>(0x8DC8);
  const GLenum INT_SAMPLER_1D_EXT = static_cast<GLenum>(0x8DC9);
  const GLenum INT_SAMPLER_2D_EXT = static_cast<GLenum>(0x8DCA);
  const GLenum INT_SAMPLER_3D_EXT = static_cast<GLenum>(0x8DCB);
  const GLenum INT_SAMPLER_CUBE_EXT = static_cast<GLenum>(0x8DCC);
  const GLenum INT_SAMPLER_2D_RECT_EXT = static_cast<GLenum>(0x8DCD);
  const GLenum INT_SAMPLER_1D_ARRAY_EXT = static_cast<GLenum>(0x8DCE);
  const GLenum INT_SAMPLER_2D_ARRAY_EXT = static_cast<GLenum>(0x8DCF);
  const GLenum INT_SAMPLER_BUFFER_EXT = static_cast<GLenum>(0x8DD0);
  const GLenum UNSIGNED_INT_SAMPLER_1D_EXT = static_cast<GLenum>(0x8DD1);
  const GLenum UNSIGNED_INT_SAMPLER_2D_EXT = static_cast<GLenum>(0x8DD2);
  const GLenum UNSIGNED_INT_SAMPLER_3D_EXT = static_cast<GLenum>(0x8DD3);
  const GLenum UNSIGNED_INT_SAMPLER_CUBE_EXT = static_cast<GLenum>(0x8DD4);
  const GLenum UNSIGNED_INT_SAMPLER_2D_RECT_EXT = static_cast<GLenum>(0x8DD5);
  const GLenum UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = static_cast<GLenum>(0x8DD6);
  const GLenum UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = static_cast<GLenum>(0x8DD7);
  const GLenum UNSIGNED_INT_SAMPLER_BUFFER_EXT = static_cast<GLenum>(0x8DD8);
  typedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params);
  typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);
  typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name);
  typedef void (APIENTRYP PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0);
  typedef void (APIENTRYP PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1);
  typedef void (APIENTRYP PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
  typedef void (APIENTRYP PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  typedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMUIVEXTPROC GetUniformuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC BindFragDataLocationEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC GetFragDataLocationEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1UIEXTPROC Uniform1uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2UIEXTPROC Uniform2uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3UIEXTPROC Uniform3uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4UIEXTPROC Uniform4uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM1UIVEXTPROC Uniform1uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM2UIVEXTPROC Uniform2uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM3UIVEXTPROC Uniform3uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORM4UIVEXTPROC Uniform4uivEXT;

  //Definitions for GL_EXT_draw_instanced
  typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
  typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  extern VTK_RENDERING_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC DrawArraysInstancedEXT;
  extern VTK_RENDERING_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC DrawElementsInstancedEXT;

  //Definitions for GL_EXT_packed_float
  const GLenum R11F_G11F_B10F_EXT = static_cast<GLenum>(0x8C3A);
  const GLenum UNSIGNED_INT_10F_11F_11F_REV_EXT = static_cast<GLenum>(0x8C3B);
  const GLenum RGBA_SIGNED_COMPONENTS_EXT = static_cast<GLenum>(0x8C3C);

  //Definitions for GL_EXT_texture_array
  const GLenum TEXTURE_1D_ARRAY_EXT = static_cast<GLenum>(0x8C18);
  const GLenum PROXY_TEXTURE_1D_ARRAY_EXT = static_cast<GLenum>(0x8C19);
  const GLenum TEXTURE_2D_ARRAY_EXT = static_cast<GLenum>(0x8C1A);
  const GLenum PROXY_TEXTURE_2D_ARRAY_EXT = static_cast<GLenum>(0x8C1B);
  const GLenum TEXTURE_BINDING_1D_ARRAY_EXT = static_cast<GLenum>(0x8C1C);
  const GLenum TEXTURE_BINDING_2D_ARRAY_EXT = static_cast<GLenum>(0x8C1D);
  const GLenum MAX_ARRAY_TEXTURE_LAYERS_EXT = static_cast<GLenum>(0x88FF);
  const GLenum COMPARE_REF_DEPTH_TO_TEXTURE_EXT = static_cast<GLenum>(0x884E);

  //Definitions for GL_EXT_texture_buffer_object
  const GLenum TEXTURE_BUFFER_EXT = static_cast<GLenum>(0x8C2A);
  const GLenum MAX_TEXTURE_BUFFER_SIZE_EXT = static_cast<GLenum>(0x8C2B);
  const GLenum TEXTURE_BINDING_BUFFER_EXT = static_cast<GLenum>(0x8C2C);
  const GLenum TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = static_cast<GLenum>(0x8C2D);
  const GLenum TEXTURE_BUFFER_FORMAT_EXT = static_cast<GLenum>(0x8C2E);
  typedef void (APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);
  extern VTK_RENDERING_EXPORT PFNGLTEXBUFFEREXTPROC TexBufferEXT;

  //Definitions for GL_EXT_texture_compression_latc
  const GLenum COMPRESSED_LUMINANCE_LATC1_EXT = static_cast<GLenum>(0x8C70);
  const GLenum COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = static_cast<GLenum>(0x8C71);
  const GLenum COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = static_cast<GLenum>(0x8C72);
  const GLenum COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = static_cast<GLenum>(0x8C73);

  //Definitions for GL_EXT_texture_compression_rgtc
  const GLenum COMPRESSED_RED_RGTC1_EXT = static_cast<GLenum>(0x8DBB);
  const GLenum COMPRESSED_SIGNED_RED_RGTC1_EXT = static_cast<GLenum>(0x8DBC);
  const GLenum COMPRESSED_RED_GREEN_RGTC2_EXT = static_cast<GLenum>(0x8DBD);
  const GLenum COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = static_cast<GLenum>(0x8DBE);

  //Definitions for GL_EXT_texture_shared_exponent
  const GLenum RGB9_E5_EXT = static_cast<GLenum>(0x8C3D);
  const GLenum UNSIGNED_INT_5_9_9_9_REV_EXT = static_cast<GLenum>(0x8C3E);
  const GLenum TEXTURE_SHARED_SIZE_EXT = static_cast<GLenum>(0x8C3F);

  //Definitions for GL_NV_depth_buffer_float
  const GLenum DEPTH_COMPONENT32F_NV = static_cast<GLenum>(0x8DAB);
  const GLenum DEPTH32F_STENCIL8_NV = static_cast<GLenum>(0x8DAC);
  const GLenum FLOAT_32_UNSIGNED_INT_24_8_REV_NV = static_cast<GLenum>(0x8DAD);
  const GLenum DEPTH_BUFFER_FLOAT_MODE_NV = static_cast<GLenum>(0x8DAF);
  typedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);
  typedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);
  typedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);
  extern VTK_RENDERING_EXPORT PFNGLDEPTHRANGEDNVPROC DepthRangedNV;
  extern VTK_RENDERING_EXPORT PFNGLCLEARDEPTHDNVPROC ClearDepthdNV;
  extern VTK_RENDERING_EXPORT PFNGLDEPTHBOUNDSDNVPROC DepthBoundsdNV;

  //Definitions for GL_NV_fragment_program4

  //Definitions for GL_NV_framebuffer_multisample_coverage
  const GLenum RENDERBUFFER_COVERAGE_SAMPLES_NV = static_cast<GLenum>(0x8CAB);
  const GLenum RENDERBUFFER_COLOR_SAMPLES_NV = static_cast<GLenum>(0x8E10);
  const GLenum MAX_MULTISAMPLE_COVERAGE_MODES_NV = static_cast<GLenum>(0x8E11);
  const GLenum MULTISAMPLE_COVERAGE_MODES_NV = static_cast<GLenum>(0x8E12);
  typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
  extern VTK_RENDERING_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC RenderbufferStorageMultisampleCoverageNV;

  //Definitions for GL_EXT_framebuffer_sRGB
  const GLenum FRAMEBUFFER_SRGB_EXT = static_cast<GLenum>(0x8DB9);
  const GLenum FRAMEBUFFER_SRGB_CAPABLE_EXT = static_cast<GLenum>(0x8DBA);

  //Definitions for GL_NV_geometry_shader4

  //Definitions for GL_NV_parameter_buffer_object
  const GLenum MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = static_cast<GLenum>(0x8DA0);
  const GLenum MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = static_cast<GLenum>(0x8DA1);
  const GLenum VERTEX_PROGRAM_PARAMETER_BUFFER_NV = static_cast<GLenum>(0x8DA2);
  const GLenum GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = static_cast<GLenum>(0x8DA3);
  const GLenum FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = static_cast<GLenum>(0x8DA4);
  typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);
  typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);
  typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC ProgramBufferParametersfvNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC ProgramBufferParametersIivNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC ProgramBufferParametersIuivNV;

  //Definitions for GL_EXT_draw_buffers2
  typedef void (APIENTRYP PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  typedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data);
  typedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data);
  typedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
  typedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
  typedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index);
  extern VTK_RENDERING_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC ColorMaskIndexedEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC GetBooleanIndexedvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC GetIntegerIndexedvEXT;
  extern VTK_RENDERING_EXPORT PFNGLENABLEINDEXEDEXTPROC EnableIndexedEXT;
  extern VTK_RENDERING_EXPORT PFNGLDISABLEINDEXEDEXTPROC DisableIndexedEXT;
  extern VTK_RENDERING_EXPORT PFNGLISENABLEDINDEXEDEXTPROC IsEnabledIndexedEXT;

  //Definitions for GL_NV_transform_feedback
  const GLenum BACK_PRIMARY_COLOR_NV = static_cast<GLenum>(0x8C77);
  const GLenum BACK_SECONDARY_COLOR_NV = static_cast<GLenum>(0x8C78);
  const GLenum TEXTURE_COORD_NV = static_cast<GLenum>(0x8C79);
  const GLenum CLIP_DISTANCE_NV = static_cast<GLenum>(0x8C7A);
  const GLenum VERTEX_ID_NV = static_cast<GLenum>(0x8C7B);
  const GLenum PRIMITIVE_ID_NV = static_cast<GLenum>(0x8C7C);
  const GLenum GENERIC_ATTRIB_NV = static_cast<GLenum>(0x8C7D);
  const GLenum TRANSFORM_FEEDBACK_ATTRIBS_NV = static_cast<GLenum>(0x8C7E);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_MODE_NV = static_cast<GLenum>(0x8C7F);
  const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = static_cast<GLenum>(0x8C80);
  const GLenum ACTIVE_VARYINGS_NV = static_cast<GLenum>(0x8C81);
  const GLenum ACTIVE_VARYING_MAX_LENGTH_NV = static_cast<GLenum>(0x8C82);
  const GLenum TRANSFORM_FEEDBACK_VARYINGS_NV = static_cast<GLenum>(0x8C83);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_START_NV = static_cast<GLenum>(0x8C84);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = static_cast<GLenum>(0x8C85);
  const GLenum TRANSFORM_FEEDBACK_RECORD_NV = static_cast<GLenum>(0x8C86);
  const GLenum PRIMITIVES_GENERATED_NV = static_cast<GLenum>(0x8C87);
  const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = static_cast<GLenum>(0x8C88);
  const GLenum RASTERIZER_DISCARD_NV = static_cast<GLenum>(0x8C89);
  const GLenum MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = static_cast<GLenum>(0x8C8A);
  const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = static_cast<GLenum>(0x8C8B);
  const GLenum INTERLEAVED_ATTRIBS_NV = static_cast<GLenum>(0x8C8C);
  const GLenum SEPARATE_ATTRIBS_NV = static_cast<GLenum>(0x8C8D);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_NV = static_cast<GLenum>(0x8C8E);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = static_cast<GLenum>(0x8C8F);
  typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);
  typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);
  typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);
  typedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
  typedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);
  typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
  typedef void (APIENTRYP PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name);
  typedef GLint (APIENTRYP PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name);
  typedef void (APIENTRYP PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location);
  extern VTK_RENDERING_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC BeginTransformFeedbackNV;
  extern VTK_RENDERING_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC EndTransformFeedbackNV;
  extern VTK_RENDERING_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC TransformFeedbackAttribsNV;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERRANGENVPROC BindBufferRangeNV;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFEROFFSETNVPROC BindBufferOffsetNV;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERBASENVPROC BindBufferBaseNV;
  extern VTK_RENDERING_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC TransformFeedbackVaryingsNV;
  extern VTK_RENDERING_EXPORT PFNGLACTIVEVARYINGNVPROC ActiveVaryingNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVARYINGLOCATIONNVPROC GetVaryingLocationNV;
  extern VTK_RENDERING_EXPORT PFNGLGETACTIVEVARYINGNVPROC GetActiveVaryingNV;
  extern VTK_RENDERING_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC GetTransformFeedbackVaryingNV;

  //Definitions for GL_EXT_bindable_uniform
  const GLenum MAX_VERTEX_BINDABLE_UNIFORMS_EXT = static_cast<GLenum>(0x8DE2);
  const GLenum MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = static_cast<GLenum>(0x8DE3);
  const GLenum MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = static_cast<GLenum>(0x8DE4);
  const GLenum MAX_BINDABLE_UNIFORM_SIZE_EXT = static_cast<GLenum>(0x8DED);
  const GLenum UNIFORM_BUFFER_EXT = static_cast<GLenum>(0x8DEE);
  const GLenum UNIFORM_BUFFER_BINDING_EXT = static_cast<GLenum>(0x8DEF);
  typedef void (APIENTRYP PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer);
  typedef GLint (APIENTRYP PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location);
  typedef GLintptr (APIENTRYP PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location);
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMBUFFEREXTPROC UniformBufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC GetUniformBufferSizeEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC GetUniformOffsetEXT;

  //Definitions for GL_EXT_texture_integer
  const GLenum RGBA32UI_EXT = static_cast<GLenum>(0x8D70);
  const GLenum RGB32UI_EXT = static_cast<GLenum>(0x8D71);
  const GLenum ALPHA32UI_EXT = static_cast<GLenum>(0x8D72);
  const GLenum INTENSITY32UI_EXT = static_cast<GLenum>(0x8D73);
  const GLenum LUMINANCE32UI_EXT = static_cast<GLenum>(0x8D74);
  const GLenum LUMINANCE_ALPHA32UI_EXT = static_cast<GLenum>(0x8D75);
  const GLenum RGBA16UI_EXT = static_cast<GLenum>(0x8D76);
  const GLenum RGB16UI_EXT = static_cast<GLenum>(0x8D77);
  const GLenum ALPHA16UI_EXT = static_cast<GLenum>(0x8D78);
  const GLenum INTENSITY16UI_EXT = static_cast<GLenum>(0x8D79);
  const GLenum LUMINANCE16UI_EXT = static_cast<GLenum>(0x8D7A);
  const GLenum LUMINANCE_ALPHA16UI_EXT = static_cast<GLenum>(0x8D7B);
  const GLenum RGBA8UI_EXT = static_cast<GLenum>(0x8D7C);
  const GLenum RGB8UI_EXT = static_cast<GLenum>(0x8D7D);
  const GLenum ALPHA8UI_EXT = static_cast<GLenum>(0x8D7E);
  const GLenum INTENSITY8UI_EXT = static_cast<GLenum>(0x8D7F);
  const GLenum LUMINANCE8UI_EXT = static_cast<GLenum>(0x8D80);
  const GLenum LUMINANCE_ALPHA8UI_EXT = static_cast<GLenum>(0x8D81);
  const GLenum RGBA32I_EXT = static_cast<GLenum>(0x8D82);
  const GLenum RGB32I_EXT = static_cast<GLenum>(0x8D83);
  const GLenum ALPHA32I_EXT = static_cast<GLenum>(0x8D84);
  const GLenum INTENSITY32I_EXT = static_cast<GLenum>(0x8D85);
  const GLenum LUMINANCE32I_EXT = static_cast<GLenum>(0x8D86);
  const GLenum LUMINANCE_ALPHA32I_EXT = static_cast<GLenum>(0x8D87);
  const GLenum RGBA16I_EXT = static_cast<GLenum>(0x8D88);
  const GLenum RGB16I_EXT = static_cast<GLenum>(0x8D89);
  const GLenum ALPHA16I_EXT = static_cast<GLenum>(0x8D8A);
  const GLenum INTENSITY16I_EXT = static_cast<GLenum>(0x8D8B);
  const GLenum LUMINANCE16I_EXT = static_cast<GLenum>(0x8D8C);
  const GLenum LUMINANCE_ALPHA16I_EXT = static_cast<GLenum>(0x8D8D);
  const GLenum RGBA8I_EXT = static_cast<GLenum>(0x8D8E);
  const GLenum RGB8I_EXT = static_cast<GLenum>(0x8D8F);
  const GLenum ALPHA8I_EXT = static_cast<GLenum>(0x8D90);
  const GLenum INTENSITY8I_EXT = static_cast<GLenum>(0x8D91);
  const GLenum LUMINANCE8I_EXT = static_cast<GLenum>(0x8D92);
  const GLenum LUMINANCE_ALPHA8I_EXT = static_cast<GLenum>(0x8D93);
  const GLenum RED_INTEGER_EXT = static_cast<GLenum>(0x8D94);
  const GLenum GREEN_INTEGER_EXT = static_cast<GLenum>(0x8D95);
  const GLenum BLUE_INTEGER_EXT = static_cast<GLenum>(0x8D96);
  const GLenum ALPHA_INTEGER_EXT = static_cast<GLenum>(0x8D97);
  const GLenum RGB_INTEGER_EXT = static_cast<GLenum>(0x8D98);
  const GLenum RGBA_INTEGER_EXT = static_cast<GLenum>(0x8D99);
  const GLenum BGR_INTEGER_EXT = static_cast<GLenum>(0x8D9A);
  const GLenum BGRA_INTEGER_EXT = static_cast<GLenum>(0x8D9B);
  const GLenum LUMINANCE_INTEGER_EXT = static_cast<GLenum>(0x8D9C);
  const GLenum LUMINANCE_ALPHA_INTEGER_EXT = static_cast<GLenum>(0x8D9D);
  const GLenum RGBA_INTEGER_MODE_EXT = static_cast<GLenum>(0x8D9E);
  typedef void (APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);
  typedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha);
  typedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
  extern VTK_RENDERING_EXPORT PFNGLTEXPARAMETERIIVEXTPROC TexParameterIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC TexParameterIuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC GetTexParameterIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC GetTexParameterIuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLCLEARCOLORIIEXTPROC ClearColorIiEXT;
  extern VTK_RENDERING_EXPORT PFNGLCLEARCOLORIUIEXTPROC ClearColorIuiEXT;

  //Definitions for GL_GREMEDY_frame_terminator
  typedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC FrameTerminatorGREMEDY;

  //Definitions for GL_NV_conditional_render
  const GLenum QUERY_WAIT_NV = static_cast<GLenum>(0x8E13);
  const GLenum QUERY_NO_WAIT_NV = static_cast<GLenum>(0x8E14);
  const GLenum QUERY_BY_REGION_WAIT_NV = static_cast<GLenum>(0x8E15);
  const GLenum QUERY_BY_REGION_NO_WAIT_NV = static_cast<GLenum>(0x8E16);
  typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
  typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC BeginConditionalRenderNV;
  extern VTK_RENDERING_EXPORT PFNGLENDCONDITIONALRENDERNVPROC EndConditionalRenderNV;

  //Definitions for GL_NV_present_video
  const GLenum FRAME_NV = static_cast<GLenum>(0x8E26);
  const GLenum FIELDS_NV = static_cast<GLenum>(0x8E27);
  const GLenum CURRENT_TIME_NV = static_cast<GLenum>(0x8E28);
  const GLenum NUM_FILL_STREAMS_NV = static_cast<GLenum>(0x8E29);
  const GLenum PRESENT_TIME_NV = static_cast<GLenum>(0x8E2A);
  const GLenum PRESENT_DURATION_NV = static_cast<GLenum>(0x8E2B);
  typedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
  typedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
  typedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params);
  typedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params);
  typedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params);
  extern VTK_RENDERING_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC PresentFrameKeyedNV;
  extern VTK_RENDERING_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC PresentFrameDualFillNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOIVNVPROC GetVideoivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOUIVNVPROC GetVideouivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOI64VNVPROC GetVideoi64vNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOUI64VNVPROC GetVideoui64vNV;

  //Definitions for GL_EXT_transform_feedback
  const GLenum TRANSFORM_FEEDBACK_BUFFER_EXT = static_cast<GLenum>(0x8C8E);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_START_EXT = static_cast<GLenum>(0x8C84);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = static_cast<GLenum>(0x8C85);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = static_cast<GLenum>(0x8C8F);
  const GLenum INTERLEAVED_ATTRIBS_EXT = static_cast<GLenum>(0x8C8C);
  const GLenum SEPARATE_ATTRIBS_EXT = static_cast<GLenum>(0x8C8D);
  const GLenum PRIMITIVES_GENERATED_EXT = static_cast<GLenum>(0x8C87);
  const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = static_cast<GLenum>(0x8C88);
  const GLenum RASTERIZER_DISCARD_EXT = static_cast<GLenum>(0x8C89);
  const GLenum MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = static_cast<GLenum>(0x8C8A);
  const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = static_cast<GLenum>(0x8C8B);
  const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = static_cast<GLenum>(0x8C80);
  const GLenum TRANSFORM_FEEDBACK_VARYINGS_EXT = static_cast<GLenum>(0x8C83);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = static_cast<GLenum>(0x8C7F);
  const GLenum TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = static_cast<GLenum>(0x8C76);
  typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);
  typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);
  typedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
  typedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);
  typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
  typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  extern VTK_RENDERING_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC BeginTransformFeedbackEXT;
  extern VTK_RENDERING_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC EndTransformFeedbackEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERRANGEEXTPROC BindBufferRangeEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC BindBufferOffsetEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDBUFFERBASEEXTPROC BindBufferBaseEXT;
  extern VTK_RENDERING_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC TransformFeedbackVaryingsEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC GetTransformFeedbackVaryingEXT;

  //Definitions for GL_EXT_direct_state_access
  const GLenum PROGRAM_MATRIX_EXT = static_cast<GLenum>(0x8E2D);
  const GLenum TRANSPOSE_PROGRAM_MATRIX_EXT = static_cast<GLenum>(0x8E2E);
  const GLenum PROGRAM_MATRIX_STACK_DEPTH_EXT = static_cast<GLenum>(0x8E2F);
  typedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
  typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
  typedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);
  typedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);
  typedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);
  typedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);
  typedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);
  typedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
  typedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
  typedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
  typedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);
  typedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);
  typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
  typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
  typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
  typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
  typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
  typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
  typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
  typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);
  typedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
  typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
  typedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
  typedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
  typedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
  typedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);
  typedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data);
  typedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data);
  typedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* *data);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid *img);
  typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
  typedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params);
  typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params);
  typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params);
  typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
  typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params);
  typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params);
  typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
  typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params);
  typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
  typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
  typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
  typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);
  typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* *params);
  typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
  typedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
  typedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
  typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params);
  typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);
  typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);
  typedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);
  typedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
  typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
  typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
  typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
  typedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);
  typedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);
  extern VTK_RENDERING_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC ClientAttribDefaultEXT;
  extern VTK_RENDERING_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC PushClientAttribDefaultEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXLOADFEXTPROC MatrixLoadfEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXLOADDEXTPROC MatrixLoaddEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXMULTFEXTPROC MatrixMultfEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXMULTDEXTPROC MatrixMultdEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC MatrixLoadIdentityEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXROTATEFEXTPROC MatrixRotatefEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXROTATEDEXTPROC MatrixRotatedEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXSCALEFEXTPROC MatrixScalefEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXSCALEDEXTPROC MatrixScaledEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC MatrixTranslatefEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC MatrixTranslatedEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXFRUSTUMEXTPROC MatrixFrustumEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXORTHOEXTPROC MatrixOrthoEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXPOPEXTPROC MatrixPopEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXPUSHEXTPROC MatrixPushEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC MatrixLoadTransposefEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC MatrixLoadTransposedEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC MatrixMultTransposefEXT;
  extern VTK_RENDERING_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC MatrixMultTransposedEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC TextureParameterfEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC TextureParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC TextureParameteriEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC TextureParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC TextureImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC TextureImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC TextureSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC TextureSubImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC CopyTextureImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC CopyTextureImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC CopyTextureSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC CopyTextureSubImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC GetTextureImageEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC GetTextureParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC GetTextureParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC GetTextureLevelParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC GetTextureLevelParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC TextureImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC TextureSubImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC CopyTextureSubImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC MultiTexParameterfEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC MultiTexParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC MultiTexParameteriEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC MultiTexParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC MultiTexImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC MultiTexImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC MultiTexSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC MultiTexSubImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC CopyMultiTexImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC CopyMultiTexImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC CopyMultiTexSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC CopyMultiTexSubImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC GetMultiTexImageEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC GetMultiTexParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC GetMultiTexParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC GetMultiTexLevelParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC GetMultiTexLevelParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC MultiTexImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC MultiTexSubImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC CopyMultiTexSubImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLBINDMULTITEXTUREEXTPROC BindMultiTextureEXT;
  extern VTK_RENDERING_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC EnableClientStateIndexedEXT;
  extern VTK_RENDERING_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC DisableClientStateIndexedEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC MultiTexCoordPointerEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXENVFEXTPROC MultiTexEnvfEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXENVFVEXTPROC MultiTexEnvfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXENVIEXTPROC MultiTexEnviEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXENVIVEXTPROC MultiTexEnvivEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXGENDEXTPROC MultiTexGendEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXGENDVEXTPROC MultiTexGendvEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXGENFEXTPROC MultiTexGenfEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXGENFVEXTPROC MultiTexGenfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXGENIEXTPROC MultiTexGeniEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXGENIVEXTPROC MultiTexGenivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXENVFVEXTPROC GetMultiTexEnvfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXENVIVEXTPROC GetMultiTexEnvivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXGENDVEXTPROC GetMultiTexGendvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXGENFVEXTPROC GetMultiTexGenfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXGENIVEXTPROC GetMultiTexGenivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC GetFloatIndexedvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC GetDoubleIndexedvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC GetPointerIndexedvEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC CompressedTextureImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC CompressedTextureImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC CompressedTextureImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC CompressedTextureSubImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC CompressedTextureSubImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC CompressedTextureSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC GetCompressedTextureImageEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC CompressedMultiTexImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC CompressedMultiTexImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC CompressedMultiTexImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC CompressedMultiTexSubImage3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC CompressedMultiTexSubImage2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC CompressedMultiTexSubImage1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC GetCompressedMultiTexImageEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC NamedProgramStringEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC NamedProgramLocalParameter4dEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC NamedProgramLocalParameter4dvEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC NamedProgramLocalParameter4fEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC NamedProgramLocalParameter4fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC GetNamedProgramLocalParameterdvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC GetNamedProgramLocalParameterfvEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC GetNamedProgramivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC GetNamedProgramStringEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC NamedProgramLocalParameters4fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC NamedProgramLocalParameterI4iEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC NamedProgramLocalParameterI4ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC NamedProgramLocalParametersI4ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC NamedProgramLocalParameterI4uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC NamedProgramLocalParameterI4uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC NamedProgramLocalParametersI4uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC GetNamedProgramLocalParameterIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC GetNamedProgramLocalParameterIuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC TextureParameterIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC TextureParameterIuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC GetTextureParameterIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC GetTextureParameterIuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC MultiTexParameterIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC MultiTexParameterIuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC GetMultiTexParameterIivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC GetMultiTexParameterIuivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC ProgramUniform1fEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC ProgramUniform2fEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC ProgramUniform3fEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC ProgramUniform4fEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC ProgramUniform1iEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC ProgramUniform2iEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC ProgramUniform3iEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC ProgramUniform4iEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC ProgramUniform1fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC ProgramUniform2fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC ProgramUniform3fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC ProgramUniform4fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC ProgramUniform1ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC ProgramUniform2ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC ProgramUniform3ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC ProgramUniform4ivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC ProgramUniformMatrix2fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC ProgramUniformMatrix3fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC ProgramUniformMatrix4fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC ProgramUniformMatrix2x3fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC ProgramUniformMatrix3x2fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC ProgramUniformMatrix2x4fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC ProgramUniformMatrix4x2fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC ProgramUniformMatrix3x4fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC ProgramUniformMatrix4x3fvEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC ProgramUniform1uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC ProgramUniform2uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC ProgramUniform3uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC ProgramUniform4uiEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC ProgramUniform1uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC ProgramUniform2uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC ProgramUniform3uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC ProgramUniform4uivEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC NamedBufferDataEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC NamedBufferSubDataEXT;
  extern VTK_RENDERING_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC MapNamedBufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC UnmapNamedBufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC GetNamedBufferParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC GetNamedBufferPointervEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC GetNamedBufferSubDataEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREBUFFEREXTPROC TextureBufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXBUFFEREXTPROC MultiTexBufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC NamedRenderbufferStorageEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC GetNamedRenderbufferParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC CheckNamedFramebufferStatusEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC NamedFramebufferTexture1DEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC NamedFramebufferTexture2DEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC NamedFramebufferTexture3DEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC NamedFramebufferRenderbufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GetNamedFramebufferAttachmentParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC GenerateTextureMipmapEXT;
  extern VTK_RENDERING_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC GenerateMultiTexMipmapEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC FramebufferDrawBufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC FramebufferDrawBuffersEXT;
  extern VTK_RENDERING_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC FramebufferReadBufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC GetFramebufferParameterivEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC NamedRenderbufferStorageMultisampleEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC NamedRenderbufferStorageMultisampleCoverageEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC NamedFramebufferTextureEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC NamedFramebufferTextureLayerEXT;
  extern VTK_RENDERING_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC NamedFramebufferTextureFaceEXT;
  extern VTK_RENDERING_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC TextureRenderbufferEXT;
  extern VTK_RENDERING_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC MultiTexRenderbufferEXT;

  //Definitions for GL_EXT_vertex_array_bgra

  //Definitions for GL_EXT_texture_swizzle
  const GLenum TEXTURE_SWIZZLE_R_EXT = static_cast<GLenum>(0x8E42);
  const GLenum TEXTURE_SWIZZLE_G_EXT = static_cast<GLenum>(0x8E43);
  const GLenum TEXTURE_SWIZZLE_B_EXT = static_cast<GLenum>(0x8E44);
  const GLenum TEXTURE_SWIZZLE_A_EXT = static_cast<GLenum>(0x8E45);
  const GLenum TEXTURE_SWIZZLE_RGBA_EXT = static_cast<GLenum>(0x8E46);

  //Definitions for GL_NV_explicit_multisample
  const GLenum SAMPLE_POSITION_NV = static_cast<GLenum>(0x8E50);
  const GLenum SAMPLE_MASK_NV = static_cast<GLenum>(0x8E51);
  const GLenum SAMPLE_MASK_VALUE_NV = static_cast<GLenum>(0x8E52);
  const GLenum TEXTURE_BINDING_RENDERBUFFER_NV = static_cast<GLenum>(0x8E53);
  const GLenum TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = static_cast<GLenum>(0x8E54);
  const GLenum TEXTURE_RENDERBUFFER_NV = static_cast<GLenum>(0x8E55);
  const GLenum SAMPLER_RENDERBUFFER_NV = static_cast<GLenum>(0x8E56);
  const GLenum INT_SAMPLER_RENDERBUFFER_NV = static_cast<GLenum>(0x8E57);
  const GLenum UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = static_cast<GLenum>(0x8E58);
  const GLenum MAX_SAMPLE_MASK_WORDS_NV = static_cast<GLenum>(0x8E59);
  typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *val);
  typedef void (APIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask);
  typedef void (APIENTRYP PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);
  extern VTK_RENDERING_EXPORT PFNGLGETMULTISAMPLEFVNVPROC GetMultisamplefvNV;
  extern VTK_RENDERING_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC SampleMaskIndexedNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXRENDERBUFFERNVPROC TexRenderbufferNV;

  //Definitions for GL_NV_transform_feedback2
  const GLenum TRANSFORM_FEEDBACK_NV = static_cast<GLenum>(0x8E22);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = static_cast<GLenum>(0x8E23);
  const GLenum TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = static_cast<GLenum>(0x8E24);
  const GLenum TRANSFORM_FEEDBACK_BINDING_NV = static_cast<GLenum>(0x8E25);
  typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id);
  typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint *ids);
  typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint *ids);
  typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id);
  typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void);
  typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void);
  typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id);
  extern VTK_RENDERING_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC BindTransformFeedbackNV;
  extern VTK_RENDERING_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC DeleteTransformFeedbacksNV;
  extern VTK_RENDERING_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC GenTransformFeedbacksNV;
  extern VTK_RENDERING_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC IsTransformFeedbackNV;
  extern VTK_RENDERING_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC PauseTransformFeedbackNV;
  extern VTK_RENDERING_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC ResumeTransformFeedbackNV;
  extern VTK_RENDERING_EXPORT PFNGLDRAWTRANSFORMFEEDBACKNVPROC DrawTransformFeedbackNV;

  //Definitions for GL_ATI_meminfo
  const GLenum VBO_FREE_MEMORY_ATI = static_cast<GLenum>(0x87FB);
  const GLenum TEXTURE_FREE_MEMORY_ATI = static_cast<GLenum>(0x87FC);
  const GLenum RENDERBUFFER_FREE_MEMORY_ATI = static_cast<GLenum>(0x87FD);

  //Definitions for GL_AMD_performance_monitor
  const GLenum COUNTER_TYPE_AMD = static_cast<GLenum>(0x8BC0);
  const GLenum COUNTER_RANGE_AMD = static_cast<GLenum>(0x8BC1);
  const GLenum UNSIGNED_INT64_AMD = static_cast<GLenum>(0x8BC2);
  const GLenum PERCENTAGE_AMD = static_cast<GLenum>(0x8BC3);
  const GLenum PERFMON_RESULT_AVAILABLE_AMD = static_cast<GLenum>(0x8BC4);
  const GLenum PERFMON_RESULT_SIZE_AMD = static_cast<GLenum>(0x8BC5);
  const GLenum PERFMON_RESULT_AMD = static_cast<GLenum>(0x8BC6);
  typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
  typedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  typedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  typedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
  typedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  typedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  extern VTK_RENDERING_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC GetPerfMonitorGroupsAMD;
  extern VTK_RENDERING_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC GetPerfMonitorCountersAMD;
  extern VTK_RENDERING_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC GetPerfMonitorGroupStringAMD;
  extern VTK_RENDERING_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC GetPerfMonitorCounterStringAMD;
  extern VTK_RENDERING_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC GetPerfMonitorCounterInfoAMD;
  extern VTK_RENDERING_EXPORT PFNGLGENPERFMONITORSAMDPROC GenPerfMonitorsAMD;
  extern VTK_RENDERING_EXPORT PFNGLDELETEPERFMONITORSAMDPROC DeletePerfMonitorsAMD;
  extern VTK_RENDERING_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC SelectPerfMonitorCountersAMD;
  extern VTK_RENDERING_EXPORT PFNGLBEGINPERFMONITORAMDPROC BeginPerfMonitorAMD;
  extern VTK_RENDERING_EXPORT PFNGLENDPERFMONITORAMDPROC EndPerfMonitorAMD;
  extern VTK_RENDERING_EXPORT PFNGLGETPERFMONITORCOUNTERDATAAMDPROC GetPerfMonitorCounterDataAMD;

  //Definitions for GL_AMD_texture_texture4

  //Definitions for GL_AMD_vertex_shader_tesselator
  const GLenum SAMPLER_BUFFER_AMD = static_cast<GLenum>(0x9001);
  const GLenum INT_SAMPLER_BUFFER_AMD = static_cast<GLenum>(0x9002);
  const GLenum UNSIGNED_INT_SAMPLER_BUFFER_AMD = static_cast<GLenum>(0x9003);
  const GLenum TESSELLATION_MODE_AMD = static_cast<GLenum>(0x9004);
  const GLenum TESSELLATION_FACTOR_AMD = static_cast<GLenum>(0x9005);
  const GLenum DISCRETE_AMD = static_cast<GLenum>(0x9006);
  const GLenum CONTINUOUS_AMD = static_cast<GLenum>(0x9007);
  typedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);
  typedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLTESSELLATIONFACTORAMDPROC TessellationFactorAMD;
  extern VTK_RENDERING_EXPORT PFNGLTESSELLATIONMODEAMDPROC TessellationModeAMD;

  //Definitions for GL_EXT_provoking_vertex
  const GLenum QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = static_cast<GLenum>(0x8E4C);
  const GLenum FIRST_VERTEX_CONVENTION_EXT = static_cast<GLenum>(0x8E4D);
  const GLenum LAST_VERTEX_CONVENTION_EXT = static_cast<GLenum>(0x8E4E);
  const GLenum PROVOKING_VERTEX_EXT = static_cast<GLenum>(0x8E4F);
  typedef void (APIENTRYP PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode);
  extern VTK_RENDERING_EXPORT PFNGLPROVOKINGVERTEXEXTPROC ProvokingVertexEXT;

  //Definitions for GL_EXT_texture_snorm
  const GLenum ALPHA_SNORM = static_cast<GLenum>(0x9010);
  const GLenum LUMINANCE_SNORM = static_cast<GLenum>(0x9011);
  const GLenum LUMINANCE_ALPHA_SNORM = static_cast<GLenum>(0x9012);
  const GLenum INTENSITY_SNORM = static_cast<GLenum>(0x9013);
  const GLenum ALPHA8_SNORM = static_cast<GLenum>(0x9014);
  const GLenum LUMINANCE8_SNORM = static_cast<GLenum>(0x9015);
  const GLenum LUMINANCE8_ALPHA8_SNORM = static_cast<GLenum>(0x9016);
  const GLenum INTENSITY8_SNORM = static_cast<GLenum>(0x9017);
  const GLenum ALPHA16_SNORM = static_cast<GLenum>(0x9018);
  const GLenum LUMINANCE16_SNORM = static_cast<GLenum>(0x9019);
  const GLenum LUMINANCE16_ALPHA16_SNORM = static_cast<GLenum>(0x901A);
  const GLenum INTENSITY16_SNORM = static_cast<GLenum>(0x901B);

  //Definitions for GL_AMD_draw_buffers_blend
  typedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);
  typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  typedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode);
  typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  extern VTK_RENDERING_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC BlendFuncIndexedAMD;
  extern VTK_RENDERING_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC BlendFuncSeparateIndexedAMD;
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC BlendEquationIndexedAMD;
  extern VTK_RENDERING_EXPORT PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC BlendEquationSeparateIndexedAMD;

  //Definitions for GL_APPLE_texture_range
  const GLenum TEXTURE_RANGE_LENGTH_APPLE = static_cast<GLenum>(0x85B7);
  const GLenum TEXTURE_RANGE_POINTER_APPLE = static_cast<GLenum>(0x85B8);
  const GLenum TEXTURE_STORAGE_HINT_APPLE = static_cast<GLenum>(0x85BC);
  const GLenum STORAGE_PRIVATE_APPLE = static_cast<GLenum>(0x85BD);
  typedef void (APIENTRYP PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid* *params);
  extern VTK_RENDERING_EXPORT PFNGLTEXTURERANGEAPPLEPROC TextureRangeAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC GetTexParameterPointervAPPLE;

  //Definitions for GL_APPLE_float_pixels
  const GLenum HALF_APPLE = static_cast<GLenum>(0x140B);
  const GLenum RGBA_FLOAT32_APPLE = static_cast<GLenum>(0x8814);
  const GLenum RGB_FLOAT32_APPLE = static_cast<GLenum>(0x8815);
  const GLenum ALPHA_FLOAT32_APPLE = static_cast<GLenum>(0x8816);
  const GLenum INTENSITY_FLOAT32_APPLE = static_cast<GLenum>(0x8817);
  const GLenum LUMINANCE_FLOAT32_APPLE = static_cast<GLenum>(0x8818);
  const GLenum LUMINANCE_ALPHA_FLOAT32_APPLE = static_cast<GLenum>(0x8819);
  const GLenum RGBA_FLOAT16_APPLE = static_cast<GLenum>(0x881A);
  const GLenum RGB_FLOAT16_APPLE = static_cast<GLenum>(0x881B);
  const GLenum ALPHA_FLOAT16_APPLE = static_cast<GLenum>(0x881C);
  const GLenum INTENSITY_FLOAT16_APPLE = static_cast<GLenum>(0x881D);
  const GLenum LUMINANCE_FLOAT16_APPLE = static_cast<GLenum>(0x881E);
  const GLenum LUMINANCE_ALPHA_FLOAT16_APPLE = static_cast<GLenum>(0x881F);
  const GLenum COLOR_FLOAT_APPLE = static_cast<GLenum>(0x8A0F);

  //Definitions for GL_APPLE_vertex_program_evaluators
  const GLenum VERTEX_ATTRIB_MAP1_APPLE = static_cast<GLenum>(0x8A00);
  const GLenum VERTEX_ATTRIB_MAP2_APPLE = static_cast<GLenum>(0x8A01);
  const GLenum VERTEX_ATTRIB_MAP1_SIZE_APPLE = static_cast<GLenum>(0x8A02);
  const GLenum VERTEX_ATTRIB_MAP1_COEFF_APPLE = static_cast<GLenum>(0x8A03);
  const GLenum VERTEX_ATTRIB_MAP1_ORDER_APPLE = static_cast<GLenum>(0x8A04);
  const GLenum VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = static_cast<GLenum>(0x8A05);
  const GLenum VERTEX_ATTRIB_MAP2_SIZE_APPLE = static_cast<GLenum>(0x8A06);
  const GLenum VERTEX_ATTRIB_MAP2_COEFF_APPLE = static_cast<GLenum>(0x8A07);
  const GLenum VERTEX_ATTRIB_MAP2_ORDER_APPLE = static_cast<GLenum>(0x8A08);
  const GLenum VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = static_cast<GLenum>(0x8A09);
  typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
  typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
  typedef GLboolean (APIENTRYP PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname);
  typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
  typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
  typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
  typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
  extern VTK_RENDERING_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC EnableVertexAttribAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC DisableVertexAttribAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC IsVertexAttribEnabledAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC MapVertexAttrib1dAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC MapVertexAttrib1fAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC MapVertexAttrib2dAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLMAPVERTEXATTRIB2FAPPLEPROC MapVertexAttrib2fAPPLE;

  //Definitions for GL_APPLE_aux_depth_stencil
  const GLenum AUX_DEPTH_STENCIL_APPLE = static_cast<GLenum>(0x8A14);

  //Definitions for GL_APPLE_object_purgeable
  const GLenum BUFFER_OBJECT_APPLE = static_cast<GLenum>(0x85B3);
  const GLenum RELEASED_APPLE = static_cast<GLenum>(0x8A19);
  const GLenum VOLATILE_APPLE = static_cast<GLenum>(0x8A1A);
  const GLenum RETAINED_APPLE = static_cast<GLenum>(0x8A1B);
  const GLenum UNDEFINED_APPLE = static_cast<GLenum>(0x8A1C);
  const GLenum PURGEABLE_APPLE = static_cast<GLenum>(0x8A1D);
  typedef GLenum (APIENTRYP PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
  typedef GLenum (APIENTRYP PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
  typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint *params);
  extern VTK_RENDERING_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC ObjectPurgeableAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC ObjectUnpurgeableAPPLE;
  extern VTK_RENDERING_EXPORT PFNGLGETOBJECTPARAMETERIVAPPLEPROC GetObjectParameterivAPPLE;

  //Definitions for GL_APPLE_row_bytes
  const GLenum PACK_ROW_BYTES_APPLE = static_cast<GLenum>(0x8A15);
  const GLenum UNPACK_ROW_BYTES_APPLE = static_cast<GLenum>(0x8A16);

  //Definitions for GL_APPLE_rgb_422
  const GLenum RGB_422_APPLE = static_cast<GLenum>(0x8A1F);

  //Definitions for GL_NV_video_capture
  const GLenum VIDEO_BUFFER_NV = static_cast<GLenum>(0x9020);
  const GLenum VIDEO_BUFFER_BINDING_NV = static_cast<GLenum>(0x9021);
  const GLenum FIELD_UPPER_NV = static_cast<GLenum>(0x9022);
  const GLenum FIELD_LOWER_NV = static_cast<GLenum>(0x9023);
  const GLenum NUM_VIDEO_CAPTURE_STREAMS_NV = static_cast<GLenum>(0x9024);
  const GLenum NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = static_cast<GLenum>(0x9025);
  const GLenum VIDEO_CAPTURE_TO_422_SUPPORTED_NV = static_cast<GLenum>(0x9026);
  const GLenum LAST_VIDEO_CAPTURE_STATUS_NV = static_cast<GLenum>(0x9027);
  const GLenum VIDEO_BUFFER_PITCH_NV = static_cast<GLenum>(0x9028);
  const GLenum VIDEO_COLOR_CONVERSION_MATRIX_NV = static_cast<GLenum>(0x9029);
  const GLenum VIDEO_COLOR_CONVERSION_MAX_NV = static_cast<GLenum>(0x902A);
  const GLenum VIDEO_COLOR_CONVERSION_MIN_NV = static_cast<GLenum>(0x902B);
  const GLenum VIDEO_COLOR_CONVERSION_OFFSET_NV = static_cast<GLenum>(0x902C);
  const GLenum VIDEO_BUFFER_INTERNAL_FORMAT_NV = static_cast<GLenum>(0x902D);
  const GLenum PARTIAL_SUCCESS_NV = static_cast<GLenum>(0x902E);
  const GLenum SUCCESS_NV = static_cast<GLenum>(0x902F);
  const GLenum FAILURE_NV = static_cast<GLenum>(0x9030);
  const GLenum YCBYCR8_422_NV = static_cast<GLenum>(0x9031);
  const GLenum YCBAYCR8A_4224_NV = static_cast<GLenum>(0x9032);
  const GLenum Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = static_cast<GLenum>(0x9033);
  const GLenum Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = static_cast<GLenum>(0x9034);
  const GLenum Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = static_cast<GLenum>(0x9035);
  const GLenum Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = static_cast<GLenum>(0x9036);
  const GLenum Z4Y12Z4CB12Z4CR12_444_NV = static_cast<GLenum>(0x9037);
  const GLenum VIDEO_CAPTURE_FRAME_WIDTH_NV = static_cast<GLenum>(0x9038);
  const GLenum VIDEO_CAPTURE_FRAME_HEIGHT_NV = static_cast<GLenum>(0x9039);
  const GLenum VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = static_cast<GLenum>(0x903A);
  const GLenum VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = static_cast<GLenum>(0x903B);
  const GLenum VIDEO_CAPTURE_SURFACE_ORIGIN_NV = static_cast<GLenum>(0x903C);
  typedef void (APIENTRYP PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
  typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
  typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
  typedef void (APIENTRYP PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
  typedef void (APIENTRYP PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);
  typedef GLenum (APIENTRYP PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);
  typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);
  typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);
  typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);
  extern VTK_RENDERING_EXPORT PFNGLBEGINVIDEOCAPTURENVPROC BeginVideoCaptureNV;
  extern VTK_RENDERING_EXPORT PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC BindVideoCaptureStreamBufferNV;
  extern VTK_RENDERING_EXPORT PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC BindVideoCaptureStreamTextureNV;
  extern VTK_RENDERING_EXPORT PFNGLENDVIDEOCAPTURENVPROC EndVideoCaptureNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOCAPTUREIVNVPROC GetVideoCaptureivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOCAPTURESTREAMIVNVPROC GetVideoCaptureStreamivNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOCAPTURESTREAMFVNVPROC GetVideoCaptureStreamfvNV;
  extern VTK_RENDERING_EXPORT PFNGLGETVIDEOCAPTURESTREAMDVNVPROC GetVideoCaptureStreamdvNV;
  extern VTK_RENDERING_EXPORT PFNGLVIDEOCAPTURENVPROC VideoCaptureNV;
  extern VTK_RENDERING_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC VideoCaptureStreamParameterivNV;
  extern VTK_RENDERING_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC VideoCaptureStreamParameterfvNV;
  extern VTK_RENDERING_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC VideoCaptureStreamParameterdvNV;

  //Definitions for GL_NV_copy_image
  typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
  extern VTK_RENDERING_EXPORT PFNGLCOPYIMAGESUBDATANVPROC CopyImageSubDataNV;

  //Definitions for GL_EXT_separate_shader_objects
  const GLenum ACTIVE_PROGRAM_EXT = static_cast<GLenum>(0x8B8D);
  typedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);
  typedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);
  typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar *string);
  extern VTK_RENDERING_EXPORT PFNGLUSESHADERPROGRAMEXTPROC UseShaderProgramEXT;
  extern VTK_RENDERING_EXPORT PFNGLACTIVEPROGRAMEXTPROC ActiveProgramEXT;
  extern VTK_RENDERING_EXPORT PFNGLCREATESHADERPROGRAMEXTPROC CreateShaderProgramEXT;

  //Definitions for GL_NV_parameter_buffer_object2

  //Definitions for GL_NV_shader_buffer_load
  const GLenum BUFFER_GPU_ADDRESS_NV = static_cast<GLenum>(0x8F1D);
  const GLenum GPU_ADDRESS_NV = static_cast<GLenum>(0x8F34);
  const GLenum MAX_SHADER_BUFFER_ADDRESS_NV = static_cast<GLenum>(0x8F35);
  typedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);
  typedef void (APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target);
  typedef GLboolean (APIENTRYP PFNGLISBUFFERRESIDENTNVPROC) (GLenum target);
  typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);
  typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer);
  typedef GLboolean (APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer);
  typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT *params);
  typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT *params);
  typedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result);
  typedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);
  typedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  extern VTK_RENDERING_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC MakeBufferResidentNV;
  extern VTK_RENDERING_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC MakeBufferNonResidentNV;
  extern VTK_RENDERING_EXPORT PFNGLISBUFFERRESIDENTNVPROC IsBufferResidentNV;
  extern VTK_RENDERING_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC MakeNamedBufferResidentNV;
  extern VTK_RENDERING_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC MakeNamedBufferNonResidentNV;
  extern VTK_RENDERING_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC IsNamedBufferResidentNV;
  extern VTK_RENDERING_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC GetBufferParameterui64vNV;
  extern VTK_RENDERING_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC GetNamedBufferParameterui64vNV;
  extern VTK_RENDERING_EXPORT PFNGLGETINTEGERUI64VNVPROC GetIntegerui64vNV;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMUI64NVPROC Uniformui64NV;
  extern VTK_RENDERING_EXPORT PFNGLUNIFORMUI64VNVPROC Uniformui64vNV;
  extern VTK_RENDERING_EXPORT PFNGLGETUNIFORMUI64VNVPROC GetUniformui64vNV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC ProgramUniformui64NV;
  extern VTK_RENDERING_EXPORT PFNGLPROGRAMUNIFORMUI64VNVPROC ProgramUniformui64vNV;

  //Definitions for GL_NV_vertex_buffer_unified_memory
  const GLenum VERTEX_ATTRIB_ARRAY_UNIFIED_NV = static_cast<GLenum>(0x8F1E);
  const GLenum ELEMENT_ARRAY_UNIFIED_NV = static_cast<GLenum>(0x8F1F);
  const GLenum VERTEX_ATTRIB_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F20);
  const GLenum VERTEX_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F21);
  const GLenum NORMAL_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F22);
  const GLenum COLOR_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F23);
  const GLenum INDEX_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F24);
  const GLenum TEXTURE_COORD_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F25);
  const GLenum EDGE_FLAG_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F26);
  const GLenum SECONDARY_COLOR_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F27);
  const GLenum FOG_COORD_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F28);
  const GLenum ELEMENT_ARRAY_ADDRESS_NV = static_cast<GLenum>(0x8F29);
  const GLenum VERTEX_ATTRIB_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F2A);
  const GLenum VERTEX_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F2B);
  const GLenum NORMAL_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F2C);
  const GLenum COLOR_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F2D);
  const GLenum INDEX_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F2E);
  const GLenum TEXTURE_COORD_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F2F);
  const GLenum EDGE_FLAG_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F30);
  const GLenum SECONDARY_COLOR_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F31);
  const GLenum FOG_COORD_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F32);
  const GLenum ELEMENT_ARRAY_LENGTH_NV = static_cast<GLenum>(0x8F33);
  typedef void (APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
  typedef void (APIENTRYP PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride);
  typedef void (APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
  typedef void (APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT *result);
  extern VTK_RENDERING_EXPORT PFNGLBUFFERADDRESSRANGENVPROC BufferAddressRangeNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXFORMATNVPROC VertexFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLNORMALFORMATNVPROC NormalFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLCOLORFORMATNVPROC ColorFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLINDEXFORMATNVPROC IndexFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLTEXCOORDFORMATNVPROC TexCoordFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLEDGEFLAGFORMATNVPROC EdgeFlagFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC SecondaryColorFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLFOGCOORDFORMATNVPROC FogCoordFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC VertexAttribFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC VertexAttribIFormatNV;
  extern VTK_RENDERING_EXPORT PFNGLGETINTEGERUI64I_VNVPROC GetIntegerui64i_vNV;

  //Definitions for GL_NV_texture_barrier
  typedef void (APIENTRYP PFNGLTEXTUREBARRIERNVPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLTEXTUREBARRIERNVPROC TextureBarrierNV;

  //Definitions for GL_AMD_shader_stencil_export

  //Definitions for GL_AMD_seamless_cubemap_per_texture

  //Definitions for GL_SGIX_texture_select

  //Definitions for GL_INGR_blend_func_separate
  typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  extern VTK_RENDERING_EXPORT PFNGLBLENDFUNCSEPARATEINGRPROC BlendFuncSeparateINGR;

  //Definitions for GL_SGIX_depth_pass_instrument

  //Definitions for GL_SGIX_igloo_interface
  typedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
  extern VTK_RENDERING_EXPORT PFNGLIGLOOINTERFACESGIXPROC IglooInterfaceSGIX;

  // Method to load functions for a particular extension.
  int LoadExtension(const char *name, vtkOpenGLExtensionManager *manager);

  // Strings containing special version extensions.
  const char *GLVersionExtensionsString();

  const char *GLXVersionExtensionsString();
}
#ifdef VTK_USE_X
namespace vtkglX {
  //Miscellaneous definitions.
  typedef XID GLXContextID;
  typedef XID GLXPbuffer;
  typedef XID GLXWindow;
  typedef XID GLXFBConfigID;
  typedef struct __GLXFBConfigRec *GLXFBConfig;
  typedef vtkTypeInt32 int32_t;
  typedef vtkTypeInt64 int64_t;

  //Definitions for GLX_ARB_get_proc_address
  typedef void (*__GLXextFuncPtr)(void);
  typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
  extern VTK_RENDERING_EXPORT PFNGLXGETPROCADDRESSARBPROC GetProcAddressARB;

  //Definitions for GLX_VERSION_1_3
  const GLenum WINDOW_BIT = static_cast<GLenum>(0x00000001);
  const GLenum PIXMAP_BIT = static_cast<GLenum>(0x00000002);
  const GLenum PBUFFER_BIT = static_cast<GLenum>(0x00000004);
  const GLenum RGBA_BIT = static_cast<GLenum>(0x00000001);
  const GLenum COLOR_INDEX_BIT = static_cast<GLenum>(0x00000002);
  const GLenum PBUFFER_CLOBBER_MASK = static_cast<GLenum>(0x08000000);
  const GLenum FRONT_LEFT_BUFFER_BIT = static_cast<GLenum>(0x00000001);
  const GLenum FRONT_RIGHT_BUFFER_BIT = static_cast<GLenum>(0x00000002);
  const GLenum BACK_LEFT_BUFFER_BIT = static_cast<GLenum>(0x00000004);
  const GLenum BACK_RIGHT_BUFFER_BIT = static_cast<GLenum>(0x00000008);
  const GLenum AUX_BUFFERS_BIT = static_cast<GLenum>(0x00000010);
  const GLenum DEPTH_BUFFER_BIT = static_cast<GLenum>(0x00000020);
  const GLenum STENCIL_BUFFER_BIT = static_cast<GLenum>(0x00000040);
  const GLenum ACCUM_BUFFER_BIT = static_cast<GLenum>(0x00000080);
  const GLenum CONFIG_CAVEAT = static_cast<GLenum>(0x20);
  const GLenum X_VISUAL_TYPE = static_cast<GLenum>(0x22);
  const GLenum TRANSPARENT_TYPE = static_cast<GLenum>(0x23);
  const GLenum TRANSPARENT_INDEX_VALUE = static_cast<GLenum>(0x24);
  const GLenum TRANSPARENT_RED_VALUE = static_cast<GLenum>(0x25);
  const GLenum TRANSPARENT_GREEN_VALUE = static_cast<GLenum>(0x26);
  const GLenum TRANSPARENT_BLUE_VALUE = static_cast<GLenum>(0x27);
  const GLenum TRANSPARENT_ALPHA_VALUE = static_cast<GLenum>(0x28);
  const GLenum DONT_CARE = static_cast<GLenum>(0xFFFFFFFF);
  const GLenum NONE = static_cast<GLenum>(0x8000);
  const GLenum SLOW_CONFIG = static_cast<GLenum>(0x8001);
  const GLenum TRUE_COLOR = static_cast<GLenum>(0x8002);
  const GLenum DIRECT_COLOR = static_cast<GLenum>(0x8003);
  const GLenum PSEUDO_COLOR = static_cast<GLenum>(0x8004);
  const GLenum STATIC_COLOR = static_cast<GLenum>(0x8005);
  const GLenum GRAY_SCALE = static_cast<GLenum>(0x8006);
  const GLenum STATIC_GRAY = static_cast<GLenum>(0x8007);
  const GLenum TRANSPARENT_RGB = static_cast<GLenum>(0x8008);
  const GLenum TRANSPARENT_INDEX = static_cast<GLenum>(0x8009);
  const GLenum VISUAL_ID = static_cast<GLenum>(0x800B);
  const GLenum SCREEN = static_cast<GLenum>(0x800C);
  const GLenum NON_CONFORMANT_CONFIG = static_cast<GLenum>(0x800D);
  const GLenum DRAWABLE_TYPE = static_cast<GLenum>(0x8010);
  const GLenum RENDER_TYPE = static_cast<GLenum>(0x8011);
  const GLenum X_RENDERABLE = static_cast<GLenum>(0x8012);
  const GLenum FBCONFIG_ID = static_cast<GLenum>(0x8013);
  const GLenum RGBA_TYPE = static_cast<GLenum>(0x8014);
  const GLenum COLOR_INDEX_TYPE = static_cast<GLenum>(0x8015);
  const GLenum MAX_PBUFFER_WIDTH = static_cast<GLenum>(0x8016);
  const GLenum MAX_PBUFFER_HEIGHT = static_cast<GLenum>(0x8017);
  const GLenum MAX_PBUFFER_PIXELS = static_cast<GLenum>(0x8018);
  const GLenum PRESERVED_CONTENTS = static_cast<GLenum>(0x801B);
  const GLenum LARGEST_PBUFFER = static_cast<GLenum>(0x801C);
  const GLenum WIDTH = static_cast<GLenum>(0x801D);
  const GLenum HEIGHT = static_cast<GLenum>(0x801E);
  const GLenum EVENT_MASK = static_cast<GLenum>(0x801F);
  const GLenum DAMAGED = static_cast<GLenum>(0x8020);
  const GLenum SAVED = static_cast<GLenum>(0x8021);
  const GLenum WINDOW = static_cast<GLenum>(0x8022);
  const GLenum PBUFFER = static_cast<GLenum>(0x8023);
  const GLenum PBUFFER_HEIGHT = static_cast<GLenum>(0x8040);
  const GLenum PBUFFER_WIDTH = static_cast<GLenum>(0x8041);
  typedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
  typedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
  typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
  typedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
  typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
  typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
  typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
  typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
  typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
  typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
  typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
  typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
  typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
  typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
  typedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
  typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
  typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
  typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
  extern VTK_RENDERING_EXPORT PFNGLXGETFBCONFIGSPROC GetFBConfigs;
  extern VTK_RENDERING_EXPORT PFNGLXCHOOSEFBCONFIGPROC ChooseFBConfig;
  extern VTK_RENDERING_EXPORT PFNGLXGETFBCONFIGATTRIBPROC GetFBConfigAttrib;
  extern VTK_RENDERING_EXPORT PFNGLXGETVISUALFROMFBCONFIGPROC GetVisualFromFBConfig;
  extern VTK_RENDERING_EXPORT PFNGLXCREATEWINDOWPROC CreateWindow;
  extern VTK_RENDERING_EXPORT PFNGLXDESTROYWINDOWPROC DestroyWindow;
  extern VTK_RENDERING_EXPORT PFNGLXCREATEPIXMAPPROC CreatePixmap;
  extern VTK_RENDERING_EXPORT PFNGLXDESTROYPIXMAPPROC DestroyPixmap;
  extern VTK_RENDERING_EXPORT PFNGLXCREATEPBUFFERPROC CreatePbuffer;
  extern VTK_RENDERING_EXPORT PFNGLXDESTROYPBUFFERPROC DestroyPbuffer;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYDRAWABLEPROC QueryDrawable;
  extern VTK_RENDERING_EXPORT PFNGLXCREATENEWCONTEXTPROC CreateNewContext;
  extern VTK_RENDERING_EXPORT PFNGLXMAKECONTEXTCURRENTPROC MakeContextCurrent;
  extern VTK_RENDERING_EXPORT PFNGLXGETCURRENTREADDRAWABLEPROC GetCurrentReadDrawable;
  extern VTK_RENDERING_EXPORT PFNGLXGETCURRENTDISPLAYPROC GetCurrentDisplay;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYCONTEXTPROC QueryContext;
  extern VTK_RENDERING_EXPORT PFNGLXSELECTEVENTPROC SelectEvent;
  extern VTK_RENDERING_EXPORT PFNGLXGETSELECTEDEVENTPROC GetSelectedEvent;

  //Definitions for GLX_VERSION_1_4
  const GLenum SAMPLE_BUFFERS = static_cast<GLenum>(100000);
  const GLenum SAMPLES = static_cast<GLenum>(100001);
  typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
  extern VTK_RENDERING_EXPORT PFNGLXGETPROCADDRESSPROC GetProcAddress;

  //Definitions for GLX_ARB_multisample
  const GLenum SAMPLE_BUFFERS_ARB = static_cast<GLenum>(100000);
  const GLenum SAMPLES_ARB = static_cast<GLenum>(100001);

  //Definitions for GLX_ARB_fbconfig_float
  const GLenum RGBA_FLOAT_TYPE_ARB = static_cast<GLenum>(0x20B9);
  const GLenum RGBA_FLOAT_BIT_ARB = static_cast<GLenum>(0x00000004);

  //Definitions for GLX_ARB_create_context
  const GLenum CONTEXT_DEBUG_BIT_ARB = static_cast<GLenum>(0x00000001);
  const GLenum CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = static_cast<GLenum>(0x00000002);
  const GLenum CONTEXT_MAJOR_VERSION_ARB = static_cast<GLenum>(0x2091);
  const GLenum CONTEXT_MINOR_VERSION_ARB = static_cast<GLenum>(0x2092);
  const GLenum CONTEXT_FLAGS_ARB = static_cast<GLenum>(0x2094);
  typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
  extern VTK_RENDERING_EXPORT PFNGLXCREATECONTEXTATTRIBSARBPROC CreateContextAttribsARB;

  //Definitions for GLX_ARB_create_context_profile
  const GLenum CONTEXT_CORE_PROFILE_BIT_ARB = static_cast<GLenum>(0x00000001);
  const GLenum CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = static_cast<GLenum>(0x00000002);
  const GLenum CONTEXT_PROFILE_MASK_ARB = static_cast<GLenum>(0x9126);

  //Definitions for GLX_SGIS_multisample
  const GLenum SAMPLE_BUFFERS_SGIS = static_cast<GLenum>(100000);
  const GLenum SAMPLES_SGIS = static_cast<GLenum>(100001);

  //Definitions for GLX_EXT_visual_info
  const GLenum X_VISUAL_TYPE_EXT = static_cast<GLenum>(0x22);
  const GLenum TRANSPARENT_TYPE_EXT = static_cast<GLenum>(0x23);
  const GLenum TRANSPARENT_INDEX_VALUE_EXT = static_cast<GLenum>(0x24);
  const GLenum TRANSPARENT_RED_VALUE_EXT = static_cast<GLenum>(0x25);
  const GLenum TRANSPARENT_GREEN_VALUE_EXT = static_cast<GLenum>(0x26);
  const GLenum TRANSPARENT_BLUE_VALUE_EXT = static_cast<GLenum>(0x27);
  const GLenum TRANSPARENT_ALPHA_VALUE_EXT = static_cast<GLenum>(0x28);
  const GLenum NONE_EXT = static_cast<GLenum>(0x8000);
  const GLenum TRUE_COLOR_EXT = static_cast<GLenum>(0x8002);
  const GLenum DIRECT_COLOR_EXT = static_cast<GLenum>(0x8003);
  const GLenum PSEUDO_COLOR_EXT = static_cast<GLenum>(0x8004);
  const GLenum STATIC_COLOR_EXT = static_cast<GLenum>(0x8005);
  const GLenum GRAY_SCALE_EXT = static_cast<GLenum>(0x8006);
  const GLenum STATIC_GRAY_EXT = static_cast<GLenum>(0x8007);
  const GLenum TRANSPARENT_RGB_EXT = static_cast<GLenum>(0x8008);
  const GLenum TRANSPARENT_INDEX_EXT = static_cast<GLenum>(0x8009);

  //Definitions for GLX_SGI_swap_control
  typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
  extern VTK_RENDERING_EXPORT PFNGLXSWAPINTERVALSGIPROC SwapIntervalSGI;

  //Definitions for GLX_SGI_video_sync
  typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count);
  typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count);
  extern VTK_RENDERING_EXPORT PFNGLXGETVIDEOSYNCSGIPROC GetVideoSyncSGI;
  extern VTK_RENDERING_EXPORT PFNGLXWAITVIDEOSYNCSGIPROC WaitVideoSyncSGI;

  //Definitions for GLX_SGI_make_current_read
  typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
  typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
  extern VTK_RENDERING_EXPORT PFNGLXMAKECURRENTREADSGIPROC MakeCurrentReadSGI;
  extern VTK_RENDERING_EXPORT PFNGLXGETCURRENTREADDRAWABLESGIPROC GetCurrentReadDrawableSGI;

  //Definitions for GLX_EXT_visual_rating
  const GLenum VISUAL_CAVEAT_EXT = static_cast<GLenum>(0x20);
  const GLenum SLOW_VISUAL_EXT = static_cast<GLenum>(0x8001);
  const GLenum NON_CONFORMANT_VISUAL_EXT = static_cast<GLenum>(0x800D);

  //Definitions for GLX_EXT_import_context
  const GLenum SHARE_CONTEXT_EXT = static_cast<GLenum>(0x800A);
  const GLenum VISUAL_ID_EXT = static_cast<GLenum>(0x800B);
  const GLenum SCREEN_EXT = static_cast<GLenum>(0x800C);
  typedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
  typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
  typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
  typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
  typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
  extern VTK_RENDERING_EXPORT PFNGLXGETCURRENTDISPLAYEXTPROC GetCurrentDisplayEXT;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYCONTEXTINFOEXTPROC QueryContextInfoEXT;
  extern VTK_RENDERING_EXPORT PFNGLXGETCONTEXTIDEXTPROC GetContextIDEXT;
  extern VTK_RENDERING_EXPORT PFNGLXIMPORTCONTEXTEXTPROC ImportContextEXT;
  extern VTK_RENDERING_EXPORT PFNGLXFREECONTEXTEXTPROC FreeContextEXT;

  //Definitions for GLX_SGIX_fbconfig
  const GLenum WINDOW_BIT_SGIX = static_cast<GLenum>(0x00000001);
  const GLenum PIXMAP_BIT_SGIX = static_cast<GLenum>(0x00000002);
  const GLenum RGBA_BIT_SGIX = static_cast<GLenum>(0x00000001);
  const GLenum COLOR_INDEX_BIT_SGIX = static_cast<GLenum>(0x00000002);
  const GLenum DRAWABLE_TYPE_SGIX = static_cast<GLenum>(0x8010);
  const GLenum RENDER_TYPE_SGIX = static_cast<GLenum>(0x8011);
  const GLenum X_RENDERABLE_SGIX = static_cast<GLenum>(0x8012);
  const GLenum FBCONFIG_ID_SGIX = static_cast<GLenum>(0x8013);
  const GLenum RGBA_TYPE_SGIX = static_cast<GLenum>(0x8014);
  const GLenum COLOR_INDEX_TYPE_SGIX = static_cast<GLenum>(0x8015);
  typedef XID GLXFBConfigIDSGIX;
  typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
  typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
  typedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements);
  typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
  typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
  typedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config);
  typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis);
  extern VTK_RENDERING_EXPORT PFNGLXGETFBCONFIGATTRIBSGIXPROC GetFBConfigAttribSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXCHOOSEFBCONFIGSGIXPROC ChooseFBConfigSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC CreateGLXPixmapWithConfigSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC CreateContextWithConfigSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXGETVISUALFROMFBCONFIGSGIXPROC GetVisualFromFBConfigSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXGETFBCONFIGFROMVISUALSGIXPROC GetFBConfigFromVisualSGIX;

  //Definitions for GLX_SGIX_pbuffer
  const GLenum PBUFFER_BIT_SGIX = static_cast<GLenum>(0x00000004);
  const GLenum BUFFER_CLOBBER_MASK_SGIX = static_cast<GLenum>(0x08000000);
  const GLenum FRONT_LEFT_BUFFER_BIT_SGIX = static_cast<GLenum>(0x00000001);
  const GLenum FRONT_RIGHT_BUFFER_BIT_SGIX = static_cast<GLenum>(0x00000002);
  const GLenum BACK_LEFT_BUFFER_BIT_SGIX = static_cast<GLenum>(0x00000004);
  const GLenum BACK_RIGHT_BUFFER_BIT_SGIX = static_cast<GLenum>(0x00000008);
  const GLenum AUX_BUFFERS_BIT_SGIX = static_cast<GLenum>(0x00000010);
  const GLenum DEPTH_BUFFER_BIT_SGIX = static_cast<GLenum>(0x00000020);
  const GLenum STENCIL_BUFFER_BIT_SGIX = static_cast<GLenum>(0x00000040);
  const GLenum ACCUM_BUFFER_BIT_SGIX = static_cast<GLenum>(0x00000080);
  const GLenum SAMPLE_BUFFERS_BIT_SGIX = static_cast<GLenum>(0x00000100);
  const GLenum MAX_PBUFFER_WIDTH_SGIX = static_cast<GLenum>(0x8016);
  const GLenum MAX_PBUFFER_HEIGHT_SGIX = static_cast<GLenum>(0x8017);
  const GLenum MAX_PBUFFER_PIXELS_SGIX = static_cast<GLenum>(0x8018);
  const GLenum OPTIMAL_PBUFFER_WIDTH_SGIX = static_cast<GLenum>(0x8019);
  const GLenum OPTIMAL_PBUFFER_HEIGHT_SGIX = static_cast<GLenum>(0x801A);
  const GLenum PRESERVED_CONTENTS_SGIX = static_cast<GLenum>(0x801B);
  const GLenum LARGEST_PBUFFER_SGIX = static_cast<GLenum>(0x801C);
  const GLenum WIDTH_SGIX = static_cast<GLenum>(0x801D);
  const GLenum HEIGHT_SGIX = static_cast<GLenum>(0x801E);
  const GLenum EVENT_MASK_SGIX = static_cast<GLenum>(0x801F);
  const GLenum DAMAGED_SGIX = static_cast<GLenum>(0x8020);
  const GLenum SAVED_SGIX = static_cast<GLenum>(0x8021);
  const GLenum WINDOW_SGIX = static_cast<GLenum>(0x8022);
  const GLenum PBUFFER_SGIX = static_cast<GLenum>(0x8023);
  typedef XID GLXPbufferSGIX;
  typedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
  typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf);
  typedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
  typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask);
  typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask);
  extern VTK_RENDERING_EXPORT PFNGLXCREATEGLXPBUFFERSGIXPROC CreateGLXPbufferSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXDESTROYGLXPBUFFERSGIXPROC DestroyGLXPbufferSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYGLXPBUFFERSGIXPROC QueryGLXPbufferSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXSELECTEVENTSGIXPROC SelectEventSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXGETSELECTEDEVENTSGIXPROC GetSelectedEventSGIX;

  //Definitions for GLX_SGI_cushion
  typedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion);
  extern VTK_RENDERING_EXPORT PFNGLXCUSHIONSGIPROC CushionSGI;

  //Definitions for GLX_SGIX_video_resize
  const GLenum SYNC_FRAME_SGIX = static_cast<GLenum>(0x00000000);
  const GLenum SYNC_SWAP_SGIX = static_cast<GLenum>(0x00000001);
  typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window);
  typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h);
  typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
  typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
  typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype);
  extern VTK_RENDERING_EXPORT PFNGLXBINDCHANNELTOWINDOWSGIXPROC BindChannelToWindowSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXCHANNELRECTSGIXPROC ChannelRectSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYCHANNELRECTSGIXPROC QueryChannelRectSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYCHANNELDELTASSGIXPROC QueryChannelDeltasSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXCHANNELRECTSYNCSGIXPROC ChannelRectSyncSGIX;

  //Definitions for GLX_SGIX_swap_group
  typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
  extern VTK_RENDERING_EXPORT PFNGLXJOINSWAPGROUPSGIXPROC JoinSwapGroupSGIX;

  //Definitions for GLX_SGIX_swap_barrier
  typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
  typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
  extern VTK_RENDERING_EXPORT PFNGLXBINDSWAPBARRIERSGIXPROC BindSwapBarrierSGIX;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC QueryMaxSwapBarriersSGIX;

  //Definitions for GLX_SGIS_blended_overlay
  const GLenum BLENDED_RGBA_SGIS = static_cast<GLenum>(0x8025);

  //Definitions for GLX_SGIS_shared_multisample
  const GLenum MULTISAMPLE_SUB_RECT_WIDTH_SGIS = static_cast<GLenum>(0x8026);
  const GLenum MULTISAMPLE_SUB_RECT_HEIGHT_SGIS = static_cast<GLenum>(0x8027);

  //Definitions for GLX_SUN_get_transparent_index
  typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
  extern VTK_RENDERING_EXPORT PFNGLXGETTRANSPARENTINDEXSUNPROC GetTransparentIndexSUN;

  //Definitions for GLX_3DFX_multisample
  const GLenum SAMPLE_BUFFERS_3DFX = static_cast<GLenum>(0x8050);
  const GLenum SAMPLES_3DFX = static_cast<GLenum>(0x8051);

  //Definitions for GLX_MESA_copy_sub_buffer
  typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
  extern VTK_RENDERING_EXPORT PFNGLXCOPYSUBBUFFERMESAPROC CopySubBufferMESA;

  //Definitions for GLX_MESA_pixmap_colormap
  typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
  extern VTK_RENDERING_EXPORT PFNGLXCREATEGLXPIXMAPMESAPROC CreateGLXPixmapMESA;

  //Definitions for GLX_MESA_release_buffers
  typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
  extern VTK_RENDERING_EXPORT PFNGLXRELEASEBUFFERSMESAPROC ReleaseBuffersMESA;

  //Definitions for GLX_MESA_set_3dfx_mode
  const GLenum _3DFX_WINDOW_MODE_MESA = static_cast<GLenum>(0x1);
  const GLenum _3DFX_FULLSCREEN_MODE_MESA = static_cast<GLenum>(0x2);
  typedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode);
  extern VTK_RENDERING_EXPORT PFNGLXSET3DFXMODEMESAPROC Set3DfxModeMESA;

  //Definitions for GLX_SGIX_visual_select_group
  const GLenum VISUAL_SELECT_GROUP_SGIX = static_cast<GLenum>(0x8028);

  //Definitions for GLX_OML_swap_method
  const GLenum SWAP_METHOD_OML = static_cast<GLenum>(0x8060);
  const GLenum SWAP_EXCHANGE_OML = static_cast<GLenum>(0x8061);
  const GLenum SWAP_COPY_OML = static_cast<GLenum>(0x8062);
  const GLenum SWAP_UNDEFINED_OML = static_cast<GLenum>(0x8063);

  //Definitions for GLX_OML_sync_control
  typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
  typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
  typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
  typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
  typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
  extern VTK_RENDERING_EXPORT PFNGLXGETSYNCVALUESOMLPROC GetSyncValuesOML;
  extern VTK_RENDERING_EXPORT PFNGLXGETMSCRATEOMLPROC GetMscRateOML;
  extern VTK_RENDERING_EXPORT PFNGLXSWAPBUFFERSMSCOMLPROC SwapBuffersMscOML;
  extern VTK_RENDERING_EXPORT PFNGLXWAITFORMSCOMLPROC WaitForMscOML;
  extern VTK_RENDERING_EXPORT PFNGLXWAITFORSBCOMLPROC WaitForSbcOML;

  //Definitions for GLX_NV_float_buffer
  const GLenum FLOAT_COMPONENTS_NV = static_cast<GLenum>(0x20B0);

  //Definitions for GLX_MESA_agp_offset
  typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer);
  extern VTK_RENDERING_EXPORT PFNGLXGETAGPOFFSETMESAPROC GetAGPOffsetMESA;

  //Definitions for GLX_EXT_fbconfig_packed_float
  const GLenum RGBA_UNSIGNED_FLOAT_TYPE_EXT = static_cast<GLenum>(0x20B1);
  const GLenum RGBA_UNSIGNED_FLOAT_BIT_EXT = static_cast<GLenum>(0x00000008);

  //Definitions for GLX_EXT_framebuffer_sRGB
  const GLenum FRAMEBUFFER_SRGB_CAPABLE_EXT = static_cast<GLenum>(0x20B2);

  //Definitions for GLX_EXT_texture_from_pixmap
  const GLenum TEXTURE_1D_BIT_EXT = static_cast<GLenum>(0x00000001);
  const GLenum TEXTURE_2D_BIT_EXT = static_cast<GLenum>(0x00000002);
  const GLenum TEXTURE_RECTANGLE_BIT_EXT = static_cast<GLenum>(0x00000004);
  const GLenum BIND_TO_TEXTURE_RGB_EXT = static_cast<GLenum>(0x20D0);
  const GLenum BIND_TO_TEXTURE_RGBA_EXT = static_cast<GLenum>(0x20D1);
  const GLenum BIND_TO_MIPMAP_TEXTURE_EXT = static_cast<GLenum>(0x20D2);
  const GLenum BIND_TO_TEXTURE_TARGETS_EXT = static_cast<GLenum>(0x20D3);
  const GLenum Y_INVERTED_EXT = static_cast<GLenum>(0x20D4);
  const GLenum TEXTURE_FORMAT_EXT = static_cast<GLenum>(0x20D5);
  const GLenum TEXTURE_TARGET_EXT = static_cast<GLenum>(0x20D6);
  const GLenum MIPMAP_TEXTURE_EXT = static_cast<GLenum>(0x20D7);
  const GLenum TEXTURE_FORMAT_NONE_EXT = static_cast<GLenum>(0x20D8);
  const GLenum TEXTURE_FORMAT_RGB_EXT = static_cast<GLenum>(0x20D9);
  const GLenum TEXTURE_FORMAT_RGBA_EXT = static_cast<GLenum>(0x20DA);
  const GLenum TEXTURE_1D_EXT = static_cast<GLenum>(0x20DB);
  const GLenum TEXTURE_2D_EXT = static_cast<GLenum>(0x20DC);
  const GLenum TEXTURE_RECTANGLE_EXT = static_cast<GLenum>(0x20DD);
  const GLenum FRONT_LEFT_EXT = static_cast<GLenum>(0x20DE);
  const GLenum FRONT_RIGHT_EXT = static_cast<GLenum>(0x20DF);
  const GLenum BACK_LEFT_EXT = static_cast<GLenum>(0x20E0);
  const GLenum BACK_RIGHT_EXT = static_cast<GLenum>(0x20E1);
  const GLenum FRONT_EXT = static_cast<GLenum>(0x20DE);
  const GLenum BACK_EXT = static_cast<GLenum>(0x20E0);
  const GLenum AUX0_EXT = static_cast<GLenum>(0x20E2);
  const GLenum AUX1_EXT = static_cast<GLenum>(0x20E3);
  const GLenum AUX2_EXT = static_cast<GLenum>(0x20E4);
  const GLenum AUX3_EXT = static_cast<GLenum>(0x20E5);
  const GLenum AUX4_EXT = static_cast<GLenum>(0x20E6);
  const GLenum AUX5_EXT = static_cast<GLenum>(0x20E7);
  const GLenum AUX6_EXT = static_cast<GLenum>(0x20E8);
  const GLenum AUX7_EXT = static_cast<GLenum>(0x20E9);
  const GLenum AUX8_EXT = static_cast<GLenum>(0x20EA);
  const GLenum AUX9_EXT = static_cast<GLenum>(0x20EB);
  typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
  typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
  extern VTK_RENDERING_EXPORT PFNGLXBINDTEXIMAGEEXTPROC BindTexImageEXT;
  extern VTK_RENDERING_EXPORT PFNGLXRELEASETEXIMAGEEXTPROC ReleaseTexImageEXT;

  //Definitions for GLX_NV_present_video
  const GLenum NUM_VIDEO_SLOTS_NV = static_cast<GLenum>(0x20F0);
  typedef unsigned int * ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
  typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
  extern VTK_RENDERING_EXPORT PFNGLXENUMERATEVIDEODEVICESNVPROC EnumerateVideoDevicesNV;
  extern VTK_RENDERING_EXPORT PFNGLXBINDVIDEODEVICENVPROC BindVideoDeviceNV;

  //Definitions for GLX_NV_video_out
  const GLenum VIDEO_OUT_COLOR_NV = static_cast<GLenum>(0x20C3);
  const GLenum VIDEO_OUT_ALPHA_NV = static_cast<GLenum>(0x20C4);
  const GLenum VIDEO_OUT_DEPTH_NV = static_cast<GLenum>(0x20C5);
  const GLenum VIDEO_OUT_COLOR_AND_ALPHA_NV = static_cast<GLenum>(0x20C6);
  const GLenum VIDEO_OUT_COLOR_AND_DEPTH_NV = static_cast<GLenum>(0x20C7);
  const GLenum VIDEO_OUT_FRAME_NV = static_cast<GLenum>(0x20C8);
  const GLenum VIDEO_OUT_FIELD_1_NV = static_cast<GLenum>(0x20C9);
  const GLenum VIDEO_OUT_FIELD_2_NV = static_cast<GLenum>(0x20CA);
  const GLenum VIDEO_OUT_STACKED_FIELDS_1_2_NV = static_cast<GLenum>(0x20CB);
  const GLenum VIDEO_OUT_STACKED_FIELDS_2_1_NV = static_cast<GLenum>(0x20CC);

  //Definitions for GLX_NV_swap_group
  typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group);
  typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier);
  typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
  typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
  typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count);
  typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen);
  extern VTK_RENDERING_EXPORT PFNGLXJOINSWAPGROUPNVPROC JoinSwapGroupNV;
  extern VTK_RENDERING_EXPORT PFNGLXBINDSWAPBARRIERNVPROC BindSwapBarrierNV;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYSWAPGROUPNVPROC QuerySwapGroupNV;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYMAXSWAPGROUPSNVPROC QueryMaxSwapGroupsNV;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYFRAMECOUNTNVPROC QueryFrameCountNV;
  extern VTK_RENDERING_EXPORT PFNGLXRESETFRAMECOUNTNVPROC ResetFrameCountNV;

  //Definitions for GLX_NV_video_capture
  const GLenum DEVICE_ID_NV = static_cast<GLenum>(0x20CD);
  const GLenum UNIQUE_ID_NV = static_cast<GLenum>(0x20CE);
  const GLenum NUM_VIDEO_CAPTURE_SLOTS_NV = static_cast<GLenum>(0x20CF);
  typedef XID GLXVideoCaptureDeviceNV;
  typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
  typedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements);
  typedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
  typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
  typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
  extern VTK_RENDERING_EXPORT PFNGLXBINDVIDEOCAPTUREDEVICENVPROC BindVideoCaptureDeviceNV;
  extern VTK_RENDERING_EXPORT PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC EnumerateVideoCaptureDevicesNV;
  extern VTK_RENDERING_EXPORT PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC LockVideoCaptureDeviceNV;
  extern VTK_RENDERING_EXPORT PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC QueryVideoCaptureDeviceNV;
  extern VTK_RENDERING_EXPORT PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC ReleaseVideoCaptureDeviceNV;

  //Definitions for GLX_EXT_swap_control
  const GLenum SWAP_INTERVAL_EXT = static_cast<GLenum>(0x20F1);
  const GLenum MAX_SWAP_INTERVAL_EXT = static_cast<GLenum>(0x20F2);
  typedef int ( * PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval);
  extern VTK_RENDERING_EXPORT PFNGLXSWAPINTERVALEXTPROC SwapIntervalEXT;

  //Definitions for GLX_NV_copy_image
  typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
  extern VTK_RENDERING_EXPORT PFNGLXCOPYIMAGESUBDATANVPROC CopyImageSubDataNV;

  //Definitions for GLX_INTEL_swap_event
  const GLenum BUFFER_SWAP_COMPLETE_INTEL_MASK = static_cast<GLenum>(0x04000000);
  const GLenum EXCHANGE_COMPLETE_INTEL = static_cast<GLenum>(0x8180);
  const GLenum COPY_COMPLETE_INTEL = static_cast<GLenum>(0x8181);
  const GLenum FLIP_COMPLETE_INTEL = static_cast<GLenum>(0x8182);

  //Definitions for GLX_NV_video_output
  typedef unsigned int GLXVideoDeviceNV;
  typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
  typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
  typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
  typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf);
  typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
  typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
  extern VTK_RENDERING_EXPORT PFNGLXGETVIDEODEVICENVPROC GetVideoDeviceNV;
  extern VTK_RENDERING_EXPORT PFNGLXRELEASEVIDEODEVICENVPROC ReleaseVideoDeviceNV;
  extern VTK_RENDERING_EXPORT PFNGLXBINDVIDEOIMAGENVPROC BindVideoImageNV;
  extern VTK_RENDERING_EXPORT PFNGLXRELEASEVIDEOIMAGENVPROC ReleaseVideoImageNV;
  extern VTK_RENDERING_EXPORT PFNGLXSENDPBUFFERTOVIDEONVPROC SendPbufferToVideoNV;
  extern VTK_RENDERING_EXPORT PFNGLXGETVIDEOINFONVPROC GetVideoInfoNV;
}
#endif
#ifdef WIN32
namespace vtkwgl {

  //Definitions for WGL_ARB_buffer_region
  const GLenum FRONT_COLOR_BUFFER_BIT_ARB = static_cast<GLenum>(0x00000001);
  const GLenum BACK_COLOR_BUFFER_BIT_ARB = static_cast<GLenum>(0x00000002);
  const GLenum DEPTH_BUFFER_BIT_ARB = static_cast<GLenum>(0x00000004);
  const GLenum STENCIL_BUFFER_BIT_ARB = static_cast<GLenum>(0x00000008);
  typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
  typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
  typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
  typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
  extern VTK_RENDERING_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC CreateBufferRegionARB;
  extern VTK_RENDERING_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC DeleteBufferRegionARB;
  extern VTK_RENDERING_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC SaveBufferRegionARB;
  extern VTK_RENDERING_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC RestoreBufferRegionARB;

  //Definitions for WGL_ARB_multisample
  const GLenum SAMPLE_BUFFERS_ARB = static_cast<GLenum>(0x2041);
  const GLenum SAMPLES_ARB = static_cast<GLenum>(0x2042);

  //Definitions for WGL_ARB_extensions_string
  typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
  extern VTK_RENDERING_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC GetExtensionsStringARB;

  //Definitions for WGL_ARB_pixel_format
  const GLenum NUMBER_PIXEL_FORMATS_ARB = static_cast<GLenum>(0x2000);
  const GLenum DRAW_TO_WINDOW_ARB = static_cast<GLenum>(0x2001);
  const GLenum DRAW_TO_BITMAP_ARB = static_cast<GLenum>(0x2002);
  const GLenum ACCELERATION_ARB = static_cast<GLenum>(0x2003);
  const GLenum NEED_PALETTE_ARB = static_cast<GLenum>(0x2004);
  const GLenum NEED_SYSTEM_PALETTE_ARB = static_cast<GLenum>(0x2005);
  const GLenum SWAP_LAYER_BUFFERS_ARB = static_cast<GLenum>(0x2006);
  const GLenum SWAP_METHOD_ARB = static_cast<GLenum>(0x2007);
  const GLenum NUMBER_OVERLAYS_ARB = static_cast<GLenum>(0x2008);
  const GLenum NUMBER_UNDERLAYS_ARB = static_cast<GLenum>(0x2009);
  const GLenum TRANSPARENT_ARB = static_cast<GLenum>(0x200A);
  const GLenum TRANSPARENT_RED_VALUE_ARB = static_cast<GLenum>(0x2037);
  const GLenum TRANSPARENT_GREEN_VALUE_ARB = static_cast<GLenum>(0x2038);
  const GLenum TRANSPARENT_BLUE_VALUE_ARB = static_cast<GLenum>(0x2039);
  const GLenum TRANSPARENT_ALPHA_VALUE_ARB = static_cast<GLenum>(0x203A);
  const GLenum TRANSPARENT_INDEX_VALUE_ARB = static_cast<GLenum>(0x203B);
  const GLenum SHARE_DEPTH_ARB = static_cast<GLenum>(0x200C);
  const GLenum SHARE_STENCIL_ARB = static_cast<GLenum>(0x200D);
  const GLenum SHARE_ACCUM_ARB = static_cast<GLenum>(0x200E);
  const GLenum SUPPORT_GDI_ARB = static_cast<GLenum>(0x200F);
  const GLenum SUPPORT_OPENGL_ARB = static_cast<GLenum>(0x2010);
  const GLenum DOUBLE_BUFFER_ARB = static_cast<GLenum>(0x2011);
  const GLenum STEREO_ARB = static_cast<GLenum>(0x2012);
  const GLenum PIXEL_TYPE_ARB = static_cast<GLenum>(0x2013);
  const GLenum COLOR_BITS_ARB = static_cast<GLenum>(0x2014);
  const GLenum RED_BITS_ARB = static_cast<GLenum>(0x2015);
  const GLenum RED_SHIFT_ARB = static_cast<GLenum>(0x2016);
  const GLenum GREEN_BITS_ARB = static_cast<GLenum>(0x2017);
  const GLenum GREEN_SHIFT_ARB = static_cast<GLenum>(0x2018);
  const GLenum BLUE_BITS_ARB = static_cast<GLenum>(0x2019);
  const GLenum BLUE_SHIFT_ARB = static_cast<GLenum>(0x201A);
  const GLenum ALPHA_BITS_ARB = static_cast<GLenum>(0x201B);
  const GLenum ALPHA_SHIFT_ARB = static_cast<GLenum>(0x201C);
  const GLenum ACCUM_BITS_ARB = static_cast<GLenum>(0x201D);
  const GLenum ACCUM_RED_BITS_ARB = static_cast<GLenum>(0x201E);
  const GLenum ACCUM_GREEN_BITS_ARB = static_cast<GLenum>(0x201F);
  const GLenum ACCUM_BLUE_BITS_ARB = static_cast<GLenum>(0x2020);
  const GLenum ACCUM_ALPHA_BITS_ARB = static_cast<GLenum>(0x2021);
  const GLenum DEPTH_BITS_ARB = static_cast<GLenum>(0x2022);
  const GLenum STENCIL_BITS_ARB = static_cast<GLenum>(0x2023);
  const GLenum AUX_BUFFERS_ARB = static_cast<GLenum>(0x2024);
  const GLenum NO_ACCELERATION_ARB = static_cast<GLenum>(0x2025);
  const GLenum GENERIC_ACCELERATION_ARB = static_cast<GLenum>(0x2026);
  const GLenum FULL_ACCELERATION_ARB = static_cast<GLenum>(0x2027);
  const GLenum SWAP_EXCHANGE_ARB = static_cast<GLenum>(0x2028);
  const GLenum SWAP_COPY_ARB = static_cast<GLenum>(0x2029);
  const GLenum SWAP_UNDEFINED_ARB = static_cast<GLenum>(0x202A);
  const GLenum TYPE_RGBA_ARB = static_cast<GLenum>(0x202B);
  const GLenum TYPE_COLORINDEX_ARB = static_cast<GLenum>(0x202C);
  typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
  typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
  typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
  extern VTK_RENDERING_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC GetPixelFormatAttribivARB;
  extern VTK_RENDERING_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC GetPixelFormatAttribfvARB;
  extern VTK_RENDERING_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC ChoosePixelFormatARB;

  //Definitions for WGL_ARB_make_current_read
  typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
  typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
  extern VTK_RENDERING_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC MakeContextCurrentARB;
  extern VTK_RENDERING_EXPORT PFNWGLGETCURRENTREADDCARBPROC GetCurrentReadDCARB;

  //Definitions for WGL_ARB_pbuffer
  const GLenum DRAW_TO_PBUFFER_ARB = static_cast<GLenum>(0x202D);
  const GLenum MAX_PBUFFER_PIXELS_ARB = static_cast<GLenum>(0x202E);
  const GLenum MAX_PBUFFER_WIDTH_ARB = static_cast<GLenum>(0x202F);
  const GLenum MAX_PBUFFER_HEIGHT_ARB = static_cast<GLenum>(0x2030);
  const GLenum PBUFFER_LARGEST_ARB = static_cast<GLenum>(0x2033);
  const GLenum PBUFFER_WIDTH_ARB = static_cast<GLenum>(0x2034);
  const GLenum PBUFFER_HEIGHT_ARB = static_cast<GLenum>(0x2035);
  const GLenum PBUFFER_LOST_ARB = static_cast<GLenum>(0x2036);
  DECLARE_HANDLE(HPBUFFERARB);
  typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
  typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
  typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
  typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
  typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
  extern VTK_RENDERING_EXPORT PFNWGLCREATEPBUFFERARBPROC CreatePbufferARB;
  extern VTK_RENDERING_EXPORT PFNWGLGETPBUFFERDCARBPROC GetPbufferDCARB;
  extern VTK_RENDERING_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC ReleasePbufferDCARB;
  extern VTK_RENDERING_EXPORT PFNWGLDESTROYPBUFFERARBPROC DestroyPbufferARB;
  extern VTK_RENDERING_EXPORT PFNWGLQUERYPBUFFERARBPROC QueryPbufferARB;

  //Definitions for WGL_ARB_render_texture
  const GLenum BIND_TO_TEXTURE_RGB_ARB = static_cast<GLenum>(0x2070);
  const GLenum BIND_TO_TEXTURE_RGBA_ARB = static_cast<GLenum>(0x2071);
  const GLenum TEXTURE_FORMAT_ARB = static_cast<GLenum>(0x2072);
  const GLenum TEXTURE_TARGET_ARB = static_cast<GLenum>(0x2073);
  const GLenum MIPMAP_TEXTURE_ARB = static_cast<GLenum>(0x2074);
  const GLenum TEXTURE_RGB_ARB = static_cast<GLenum>(0x2075);
  const GLenum TEXTURE_RGBA_ARB = static_cast<GLenum>(0x2076);
  const GLenum NO_TEXTURE_ARB = static_cast<GLenum>(0x2077);
  const GLenum TEXTURE_CUBE_MAP_ARB = static_cast<GLenum>(0x2078);
  const GLenum TEXTURE_1D_ARB = static_cast<GLenum>(0x2079);
  const GLenum TEXTURE_2D_ARB = static_cast<GLenum>(0x207A);
  const GLenum MIPMAP_LEVEL_ARB = static_cast<GLenum>(0x207B);
  const GLenum CUBE_MAP_FACE_ARB = static_cast<GLenum>(0x207C);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_X_ARB = static_cast<GLenum>(0x207D);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = static_cast<GLenum>(0x207E);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = static_cast<GLenum>(0x207F);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = static_cast<GLenum>(0x2080);
  const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = static_cast<GLenum>(0x2081);
  const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = static_cast<GLenum>(0x2082);
  const GLenum FRONT_LEFT_ARB = static_cast<GLenum>(0x2083);
  const GLenum FRONT_RIGHT_ARB = static_cast<GLenum>(0x2084);
  const GLenum BACK_LEFT_ARB = static_cast<GLenum>(0x2085);
  const GLenum BACK_RIGHT_ARB = static_cast<GLenum>(0x2086);
  const GLenum AUX0_ARB = static_cast<GLenum>(0x2087);
  const GLenum AUX1_ARB = static_cast<GLenum>(0x2088);
  const GLenum AUX2_ARB = static_cast<GLenum>(0x2089);
  const GLenum AUX3_ARB = static_cast<GLenum>(0x208A);
  const GLenum AUX4_ARB = static_cast<GLenum>(0x208B);
  const GLenum AUX5_ARB = static_cast<GLenum>(0x208C);
  const GLenum AUX6_ARB = static_cast<GLenum>(0x208D);
  const GLenum AUX7_ARB = static_cast<GLenum>(0x208E);
  const GLenum AUX8_ARB = static_cast<GLenum>(0x208F);
  const GLenum AUX9_ARB = static_cast<GLenum>(0x2090);
  typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
  typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
  typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
  extern VTK_RENDERING_EXPORT PFNWGLBINDTEXIMAGEARBPROC BindTexImageARB;
  extern VTK_RENDERING_EXPORT PFNWGLRELEASETEXIMAGEARBPROC ReleaseTexImageARB;
  extern VTK_RENDERING_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC SetPbufferAttribARB;

  //Definitions for WGL_ARB_pixel_format_float
  const GLenum TYPE_RGBA_FLOAT_ARB = static_cast<GLenum>(0x21A0);

  //Definitions for WGL_ARB_create_context
  const GLenum CONTEXT_DEBUG_BIT_ARB = static_cast<GLenum>(0x0001);
  const GLenum CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = static_cast<GLenum>(0x0002);
  const GLenum CONTEXT_MAJOR_VERSION_ARB = static_cast<GLenum>(0x2091);
  const GLenum CONTEXT_MINOR_VERSION_ARB = static_cast<GLenum>(0x2092);
  const GLenum CONTEXT_LAYER_PLANE_ARB = static_cast<GLenum>(0x2093);
  const GLenum CONTEXT_FLAGS_ARB = static_cast<GLenum>(0x2094);
  typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList);
  extern VTK_RENDERING_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC CreateContextAttribsARB;

  //Definitions for WGL_EXT_make_current_read
  typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
  typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
  extern VTK_RENDERING_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC MakeContextCurrentEXT;
  extern VTK_RENDERING_EXPORT PFNWGLGETCURRENTREADDCEXTPROC GetCurrentReadDCEXT;

  //Definitions for WGL_EXT_pixel_format
  const GLenum NUMBER_PIXEL_FORMATS_EXT = static_cast<GLenum>(0x2000);
  const GLenum DRAW_TO_WINDOW_EXT = static_cast<GLenum>(0x2001);
  const GLenum DRAW_TO_BITMAP_EXT = static_cast<GLenum>(0x2002);
  const GLenum ACCELERATION_EXT = static_cast<GLenum>(0x2003);
  const GLenum NEED_PALETTE_EXT = static_cast<GLenum>(0x2004);
  const GLenum NEED_SYSTEM_PALETTE_EXT = static_cast<GLenum>(0x2005);
  const GLenum SWAP_LAYER_BUFFERS_EXT = static_cast<GLenum>(0x2006);
  const GLenum SWAP_METHOD_EXT = static_cast<GLenum>(0x2007);
  const GLenum NUMBER_OVERLAYS_EXT = static_cast<GLenum>(0x2008);
  const GLenum NUMBER_UNDERLAYS_EXT = static_cast<GLenum>(0x2009);
  const GLenum TRANSPARENT_EXT = static_cast<GLenum>(0x200A);
  const GLenum TRANSPARENT_VALUE_EXT = static_cast<GLenum>(0x200B);
  const GLenum SHARE_DEPTH_EXT = static_cast<GLenum>(0x200C);
  const GLenum SHARE_STENCIL_EXT = static_cast<GLenum>(0x200D);
  const GLenum SHARE_ACCUM_EXT = static_cast<GLenum>(0x200E);
  const GLenum SUPPORT_GDI_EXT = static_cast<GLenum>(0x200F);
  const GLenum SUPPORT_OPENGL_EXT = static_cast<GLenum>(0x2010);
  const GLenum DOUBLE_BUFFER_EXT = static_cast<GLenum>(0x2011);
  const GLenum STEREO_EXT = static_cast<GLenum>(0x2012);
  const GLenum PIXEL_TYPE_EXT = static_cast<GLenum>(0x2013);
  const GLenum COLOR_BITS_EXT = static_cast<GLenum>(0x2014);
  const GLenum RED_BITS_EXT = static_cast<GLenum>(0x2015);
  const GLenum RED_SHIFT_EXT = static_cast<GLenum>(0x2016);
  const GLenum GREEN_BITS_EXT = static_cast<GLenum>(0x2017);
  const GLenum GREEN_SHIFT_EXT = static_cast<GLenum>(0x2018);
  const GLenum BLUE_BITS_EXT = static_cast<GLenum>(0x2019);
  const GLenum BLUE_SHIFT_EXT = static_cast<GLenum>(0x201A);
  const GLenum ALPHA_BITS_EXT = static_cast<GLenum>(0x201B);
  const GLenum ALPHA_SHIFT_EXT = static_cast<GLenum>(0x201C);
  const GLenum ACCUM_BITS_EXT = static_cast<GLenum>(0x201D);
  const GLenum ACCUM_RED_BITS_EXT = static_cast<GLenum>(0x201E);
  const GLenum ACCUM_GREEN_BITS_EXT = static_cast<GLenum>(0x201F);
  const GLenum ACCUM_BLUE_BITS_EXT = static_cast<GLenum>(0x2020);
  const GLenum ACCUM_ALPHA_BITS_EXT = static_cast<GLenum>(0x2021);
  const GLenum DEPTH_BITS_EXT = static_cast<GLenum>(0x2022);
  const GLenum STENCIL_BITS_EXT = static_cast<GLenum>(0x2023);
  const GLenum AUX_BUFFERS_EXT = static_cast<GLenum>(0x2024);
  const GLenum NO_ACCELERATION_EXT = static_cast<GLenum>(0x2025);
  const GLenum GENERIC_ACCELERATION_EXT = static_cast<GLenum>(0x2026);
  const GLenum FULL_ACCELERATION_EXT = static_cast<GLenum>(0x2027);
  const GLenum SWAP_EXCHANGE_EXT = static_cast<GLenum>(0x2028);
  const GLenum SWAP_COPY_EXT = static_cast<GLenum>(0x2029);
  const GLenum SWAP_UNDEFINED_EXT = static_cast<GLenum>(0x202A);
  const GLenum TYPE_RGBA_EXT = static_cast<GLenum>(0x202B);
  const GLenum TYPE_COLORINDEX_EXT = static_cast<GLenum>(0x202C);
  typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
  typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
  typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
  extern VTK_RENDERING_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC GetPixelFormatAttribivEXT;
  extern VTK_RENDERING_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC GetPixelFormatAttribfvEXT;
  extern VTK_RENDERING_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC ChoosePixelFormatEXT;

  //Definitions for WGL_EXT_pbuffer
  const GLenum DRAW_TO_PBUFFER_EXT = static_cast<GLenum>(0x202D);
  const GLenum MAX_PBUFFER_PIXELS_EXT = static_cast<GLenum>(0x202E);
  const GLenum MAX_PBUFFER_WIDTH_EXT = static_cast<GLenum>(0x202F);
  const GLenum MAX_PBUFFER_HEIGHT_EXT = static_cast<GLenum>(0x2030);
  const GLenum OPTIMAL_PBUFFER_WIDTH_EXT = static_cast<GLenum>(0x2031);
  const GLenum OPTIMAL_PBUFFER_HEIGHT_EXT = static_cast<GLenum>(0x2032);
  const GLenum PBUFFER_LARGEST_EXT = static_cast<GLenum>(0x2033);
  const GLenum PBUFFER_WIDTH_EXT = static_cast<GLenum>(0x2034);
  const GLenum PBUFFER_HEIGHT_EXT = static_cast<GLenum>(0x2035);
  DECLARE_HANDLE(HPBUFFEREXT);
  typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
  typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
  typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
  typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
  typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
  extern VTK_RENDERING_EXPORT PFNWGLCREATEPBUFFEREXTPROC CreatePbufferEXT;
  extern VTK_RENDERING_EXPORT PFNWGLGETPBUFFERDCEXTPROC GetPbufferDCEXT;
  extern VTK_RENDERING_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC ReleasePbufferDCEXT;
  extern VTK_RENDERING_EXPORT PFNWGLDESTROYPBUFFEREXTPROC DestroyPbufferEXT;
  extern VTK_RENDERING_EXPORT PFNWGLQUERYPBUFFEREXTPROC QueryPbufferEXT;

  //Definitions for WGL_EXT_depth_float
  const GLenum DEPTH_FLOAT_EXT = static_cast<GLenum>(0x2040);

  //Definitions for WGL_3DFX_multisample
  const GLenum SAMPLE_BUFFERS_3DFX = static_cast<GLenum>(0x2060);
  const GLenum SAMPLES_3DFX = static_cast<GLenum>(0x2061);

  //Definitions for WGL_EXT_multisample
  const GLenum SAMPLE_BUFFERS_EXT = static_cast<GLenum>(0x2041);
  const GLenum SAMPLES_EXT = static_cast<GLenum>(0x2042);

  //Definitions for WGL_I3D_digital_video_control
  const GLenum DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = static_cast<GLenum>(0x2050);
  const GLenum DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = static_cast<GLenum>(0x2051);
  const GLenum DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = static_cast<GLenum>(0x2052);
  const GLenum DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = static_cast<GLenum>(0x2053);
  typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
  typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
  extern VTK_RENDERING_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC GetDigitalVideoParametersI3D;
  extern VTK_RENDERING_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC SetDigitalVideoParametersI3D;

  //Definitions for WGL_I3D_gamma
  const GLenum GAMMA_TABLE_SIZE_I3D = static_cast<GLenum>(0x204E);
  const GLenum GAMMA_EXCLUDE_DESKTOP_I3D = static_cast<GLenum>(0x204F);
  typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
  typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
  typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
  typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
  extern VTK_RENDERING_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC GetGammaTableParametersI3D;
  extern VTK_RENDERING_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC SetGammaTableParametersI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGETGAMMATABLEI3DPROC GetGammaTableI3D;
  extern VTK_RENDERING_EXPORT PFNWGLSETGAMMATABLEI3DPROC SetGammaTableI3D;

  //Definitions for WGL_I3D_genlock
  const GLenum GENLOCK_SOURCE_MULTIVIEW_I3D = static_cast<GLenum>(0x2044);
  const GLenum GENLOCK_SOURCE_EXTENAL_SYNC_I3D = static_cast<GLenum>(0x2045);
  const GLenum GENLOCK_SOURCE_EXTENAL_FIELD_I3D = static_cast<GLenum>(0x2046);
  const GLenum GENLOCK_SOURCE_EXTENAL_TTL_I3D = static_cast<GLenum>(0x2047);
  const GLenum GENLOCK_SOURCE_DIGITAL_SYNC_I3D = static_cast<GLenum>(0x2048);
  const GLenum GENLOCK_SOURCE_DIGITAL_FIELD_I3D = static_cast<GLenum>(0x2049);
  const GLenum GENLOCK_SOURCE_EDGE_FALLING_I3D = static_cast<GLenum>(0x204A);
  const GLenum GENLOCK_SOURCE_EDGE_RISING_I3D = static_cast<GLenum>(0x204B);
  const GLenum GENLOCK_SOURCE_EDGE_BOTH_I3D = static_cast<GLenum>(0x204C);
  typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
  typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
  typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
  typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
  typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
  typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
  typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
  typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
  typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
  typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
  typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
  typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
  extern VTK_RENDERING_EXPORT PFNWGLENABLEGENLOCKI3DPROC EnableGenlockI3D;
  extern VTK_RENDERING_EXPORT PFNWGLDISABLEGENLOCKI3DPROC DisableGenlockI3D;
  extern VTK_RENDERING_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC IsEnabledGenlockI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGENLOCKSOURCEI3DPROC GenlockSourceI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC GetGenlockSourceI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC GenlockSourceEdgeI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC GetGenlockSourceEdgeI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC GenlockSampleRateI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC GetGenlockSampleRateI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC GenlockSourceDelayI3D;
  extern VTK_RENDERING_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC GetGenlockSourceDelayI3D;
  extern VTK_RENDERING_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC QueryGenlockMaxSourceDelayI3D;

  //Definitions for WGL_I3D_image_buffer
  const GLenum IMAGE_BUFFER_MIN_ACCESS_I3D = static_cast<GLenum>(0x00000001);
  const GLenum IMAGE_BUFFER_LOCK_I3D = static_cast<GLenum>(0x00000002);
  typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
  typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
  typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
  typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
  extern VTK_RENDERING_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC CreateImageBufferI3D;
  extern VTK_RENDERING_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC DestroyImageBufferI3D;
  extern VTK_RENDERING_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC AssociateImageBufferEventsI3D;
  extern VTK_RENDERING_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC ReleaseImageBufferEventsI3D;

  //Definitions for WGL_I3D_swap_frame_lock
  typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
  typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
  typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
  typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
  extern VTK_RENDERING_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC EnableFrameLockI3D;
  extern VTK_RENDERING_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC DisableFrameLockI3D;
  extern VTK_RENDERING_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC IsEnabledFrameLockI3D;
  extern VTK_RENDERING_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC QueryFrameLockMasterI3D;

  //Definitions for WGL_NV_render_depth_texture
  const GLenum BIND_TO_TEXTURE_DEPTH_NV = static_cast<GLenum>(0x20A3);
  const GLenum BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = static_cast<GLenum>(0x20A4);
  const GLenum DEPTH_TEXTURE_FORMAT_NV = static_cast<GLenum>(0x20A5);
  const GLenum TEXTURE_DEPTH_COMPONENT_NV = static_cast<GLenum>(0x20A6);
  const GLenum DEPTH_COMPONENT_NV = static_cast<GLenum>(0x20A7);

  //Definitions for WGL_NV_render_texture_rectangle
  const GLenum BIND_TO_TEXTURE_RECTANGLE_RGB_NV = static_cast<GLenum>(0x20A0);
  const GLenum BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = static_cast<GLenum>(0x20A1);
  const GLenum TEXTURE_RECTANGLE_NV = static_cast<GLenum>(0x20A2);

  //Definitions for WGL_ATI_pixel_format_float
  const GLenum TYPE_RGBA_FLOAT_ATI = static_cast<GLenum>(0x21A0);

  //Definitions for WGL_NV_float_buffer
  const GLenum FLOAT_COMPONENTS_NV = static_cast<GLenum>(0x20B0);
  const GLenum BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = static_cast<GLenum>(0x20B1);
  const GLenum BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = static_cast<GLenum>(0x20B2);
  const GLenum BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = static_cast<GLenum>(0x20B3);
  const GLenum BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = static_cast<GLenum>(0x20B4);
  const GLenum TEXTURE_FLOAT_R_NV = static_cast<GLenum>(0x20B5);
  const GLenum TEXTURE_FLOAT_RG_NV = static_cast<GLenum>(0x20B6);
  const GLenum TEXTURE_FLOAT_RGB_NV = static_cast<GLenum>(0x20B7);
  const GLenum TEXTURE_FLOAT_RGBA_NV = static_cast<GLenum>(0x20B8);

  //Definitions for WGL_3DL_stereo_control
  const GLenum STEREO_EMITTER_ENABLE_3DL = static_cast<GLenum>(0x2055);
  const GLenum STEREO_EMITTER_DISABLE_3DL = static_cast<GLenum>(0x2056);
  const GLenum STEREO_POLARITY_NORMAL_3DL = static_cast<GLenum>(0x2057);
  const GLenum STEREO_POLARITY_INVERT_3DL = static_cast<GLenum>(0x2058);

  //Definitions for WGL_EXT_pixel_format_packed_float
  const GLenum TYPE_RGBA_UNSIGNED_FLOAT_EXT = static_cast<GLenum>(0x20A8);

  //Definitions for WGL_EXT_framebuffer_sRGB
  const GLenum FRAMEBUFFER_SRGB_CAPABLE_EXT = static_cast<GLenum>(0x20A9);

  //Definitions for WGL_NV_present_video
  const GLenum NUM_VIDEO_SLOTS_NV = static_cast<GLenum>(0x20F0);
  DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);

  //Definitions for WGL_NV_video_out
  const GLenum BIND_TO_VIDEO_RGB_NV = static_cast<GLenum>(0x20C0);
  const GLenum BIND_TO_VIDEO_RGBA_NV = static_cast<GLenum>(0x20C1);
  const GLenum BIND_TO_VIDEO_RGB_AND_DEPTH_NV = static_cast<GLenum>(0x20C2);
  const GLenum VIDEO_OUT_COLOR_NV = static_cast<GLenum>(0x20C3);
  const GLenum VIDEO_OUT_ALPHA_NV = static_cast<GLenum>(0x20C4);
  const GLenum VIDEO_OUT_DEPTH_NV = static_cast<GLenum>(0x20C5);
  const GLenum VIDEO_OUT_COLOR_AND_ALPHA_NV = static_cast<GLenum>(0x20C6);
  const GLenum VIDEO_OUT_COLOR_AND_DEPTH_NV = static_cast<GLenum>(0x20C7);
  const GLenum VIDEO_OUT_FRAME = static_cast<GLenum>(0x20C8);
  const GLenum VIDEO_OUT_FIELD_1 = static_cast<GLenum>(0x20C9);
  const GLenum VIDEO_OUT_FIELD_2 = static_cast<GLenum>(0x20CA);
  const GLenum VIDEO_OUT_STACKED_FIELDS_1_2 = static_cast<GLenum>(0x20CB);
  const GLenum VIDEO_OUT_STACKED_FIELDS_2_1 = static_cast<GLenum>(0x20CC);
  DECLARE_HANDLE(HPVIDEODEV);

  //Definitions for WGL_NV_swap_group

  //Definitions for WGL_EXT_display_color_table
  typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
  typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
  typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
  typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
  extern VTK_RENDERING_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC CreateDisplayColorTableEXT;
  extern VTK_RENDERING_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC LoadDisplayColorTableEXT;
  extern VTK_RENDERING_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC BindDisplayColorTableEXT;
  extern VTK_RENDERING_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC DestroyDisplayColorTableEXT;

  //Definitions for WGL_EXT_extensions_string
  typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
  extern VTK_RENDERING_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC GetExtensionsStringEXT;

  //Definitions for WGL_EXT_swap_control
  typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
  typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
  extern VTK_RENDERING_EXPORT PFNWGLSWAPINTERVALEXTPROC SwapIntervalEXT;
  extern VTK_RENDERING_EXPORT PFNWGLGETSWAPINTERVALEXTPROC GetSwapIntervalEXT;

  //Definitions for WGL_NV_vertex_array_range
  typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
  typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
  extern VTK_RENDERING_EXPORT PFNWGLALLOCATEMEMORYNVPROC AllocateMemoryNV;
  extern VTK_RENDERING_EXPORT PFNWGLFREEMEMORYNVPROC FreeMemoryNV;

  //Definitions for WGL_OML_sync_control
  typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
  typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
  typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
  typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
  typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
  typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
  extern VTK_RENDERING_EXPORT PFNWGLGETSYNCVALUESOMLPROC GetSyncValuesOML;
  extern VTK_RENDERING_EXPORT PFNWGLGETMSCRATEOMLPROC GetMscRateOML;
  extern VTK_RENDERING_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC SwapBuffersMscOML;
  extern VTK_RENDERING_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC SwapLayerBuffersMscOML;
  extern VTK_RENDERING_EXPORT PFNWGLWAITFORMSCOMLPROC WaitForMscOML;
  extern VTK_RENDERING_EXPORT PFNWGLWAITFORSBCOMLPROC WaitForSbcOML;

  //Definitions for WGL_I3D_swap_frame_usage
  typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
  typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
  typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
  typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
  extern VTK_RENDERING_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC GetFrameUsageI3D;
  extern VTK_RENDERING_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC BeginFrameTrackingI3D;
  extern VTK_RENDERING_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC EndFrameTrackingI3D;
  extern VTK_RENDERING_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC QueryFrameTrackingI3D;
}
#endif

#ifdef VTKGL_APIENTRY_DEFINED
#undef APIENTRY
#endif

#ifdef VTKGL_APIENTRYP_DEFINED
#undef APIENTRYP
#endif

#endif //_vtkgl_h
