// -*- c++ -*-

//DO NOT EDIT!
//This file was created with /build/vtk6/src/build/bin/vtkParseOGLExt
//from /build/vtk6/src/build/Rendering/OpenGL /build/vtk6/src/VTK-6.3.0/Utilities/ParseOGLExt/headers/glext.h /build/vtk6/src/VTK-6.3.0/Utilities/ParseOGLExt/headers/glxext.h /build/vtk6/src/VTK-6.3.0/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 "vtkRenderingOpenGLConfigure.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 GPU_VENDOR_AMD
#undef GPU_VENDOR_AMD
#endif
#ifdef GPU_RENDERER_STRING_AMD
#undef GPU_RENDERER_STRING_AMD
#endif
#ifdef GPU_OPENGL_VERSION_STRING_AMD
#undef GPU_OPENGL_VERSION_STRING_AMD
#endif
#ifdef GPU_FASTEST_TARGET_GPUS_AMD
#undef GPU_FASTEST_TARGET_GPUS_AMD
#endif
#ifdef GPU_RAM_AMD
#undef GPU_RAM_AMD
#endif
#ifdef GPU_CLOCK_AMD
#undef GPU_CLOCK_AMD
#endif
#ifdef GPU_NUM_PIPES_AMD
#undef GPU_NUM_PIPES_AMD
#endif
#ifdef GPU_NUM_SIMD_AMD
#undef GPU_NUM_SIMD_AMD
#endif
#ifdef GPU_NUM_RB_AMD
#undef GPU_NUM_RB_AMD
#endif
#ifdef GPU_NUM_SPI_AMD
#undef GPU_NUM_SPI_AMD
#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 CONTEXT_ROBUST_ACCESS_BIT_ARB
#undef CONTEXT_ROBUST_ACCESS_BIT_ARB
#endif
#ifdef LOSE_CONTEXT_ON_RESET_ARB
#undef LOSE_CONTEXT_ON_RESET_ARB
#endif
#ifdef CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
#undef CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
#endif
#ifdef NO_RESET_NOTIFICATION_ARB
#undef NO_RESET_NOTIFICATION_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 FRAMEBUFFER_SRGB_CAPABLE_ARB
#undef FRAMEBUFFER_SRGB_CAPABLE_ARB
#endif
#ifdef SAMPLE_BUFFERS_ARB
#undef SAMPLE_BUFFERS_ARB
#endif
#ifdef SAMPLES_ARB
#undef SAMPLES_ARB
#endif
#ifdef CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB
#undef CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB
#endif
#ifdef CONTEXT_ES2_PROFILE_BIT_EXT
#undef CONTEXT_ES2_PROFILE_BIT_EXT
#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 COVERAGE_SAMPLES_NV
#undef COVERAGE_SAMPLES_NV
#endif
#ifdef COLOR_SAMPLES_NV
#undef COLOR_SAMPLES_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 MAX_DEBUG_LOGGED_MESSAGES_AMD
#undef MAX_DEBUG_LOGGED_MESSAGES_AMD
#endif
#ifdef DEBUG_LOGGED_MESSAGES_AMD
#undef DEBUG_LOGGED_MESSAGES_AMD
#endif
#ifdef DEBUG_SEVERITY_HIGH_AMD
#undef DEBUG_SEVERITY_HIGH_AMD
#endif
#ifdef DEBUG_SEVERITY_MEDIUM_AMD
#undef DEBUG_SEVERITY_MEDIUM_AMD
#endif
#ifdef DEBUG_SEVERITY_LOW_AMD
#undef DEBUG_SEVERITY_LOW_AMD
#endif
#ifdef DEBUG_CATEGORY_API_ERROR_AMD
#undef DEBUG_CATEGORY_API_ERROR_AMD
#endif
#ifdef DEBUG_CATEGORY_WINDOW_SYSTEM_AMD
#undef DEBUG_CATEGORY_WINDOW_SYSTEM_AMD
#endif
#ifdef DEBUG_CATEGORY_DEPRECATION_AMD
#undef DEBUG_CATEGORY_DEPRECATION_AMD
#endif
#ifdef DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD
#undef DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD
#endif
#ifdef DEBUG_CATEGORY_PERFORMANCE_AMD
#undef DEBUG_CATEGORY_PERFORMANCE_AMD
#endif
#ifdef DEBUG_CATEGORY_SHADER_COMPILER_AMD
#undef DEBUG_CATEGORY_SHADER_COMPILER_AMD
#endif
#ifdef DEBUG_CATEGORY_APPLICATION_AMD
#undef DEBUG_CATEGORY_APPLICATION_AMD
#endif
#ifdef DEBUG_CATEGORY_OTHER_AMD
#undef DEBUG_CATEGORY_OTHER_AMD
#endif
#ifdef DATA_BUFFER_AMD
#undef DATA_BUFFER_AMD
#endif
#ifdef PERFORMANCE_MONITOR_AMD
#undef PERFORMANCE_MONITOR_AMD
#endif
#ifdef QUERY_OBJECT_AMD
#undef QUERY_OBJECT_AMD
#endif
#ifdef VERTEX_ARRAY_OBJECT_AMD
#undef VERTEX_ARRAY_OBJECT_AMD
#endif
#ifdef SAMPLER_OBJECT_AMD
#undef SAMPLER_OBJECT_AMD
#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_CLIENT_APPLE
#undef STORAGE_CLIENT_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 FIXED
#undef FIXED
#endif
#ifdef IMPLEMENTATION_COLOR_READ_TYPE
#undef IMPLEMENTATION_COLOR_READ_TYPE
#endif
#ifdef IMPLEMENTATION_COLOR_READ_FORMAT
#undef IMPLEMENTATION_COLOR_READ_FORMAT
#endif
#ifdef LOW_FLOAT
#undef LOW_FLOAT
#endif
#ifdef MEDIUM_FLOAT
#undef MEDIUM_FLOAT
#endif
#ifdef HIGH_FLOAT
#undef HIGH_FLOAT
#endif
#ifdef LOW_INT
#undef LOW_INT
#endif
#ifdef MEDIUM_INT
#undef MEDIUM_INT
#endif
#ifdef HIGH_INT
#undef HIGH_INT
#endif
#ifdef SHADER_COMPILER
#undef SHADER_COMPILER
#endif
#ifdef NUM_SHADER_BINARY_FORMATS
#undef NUM_SHADER_BINARY_FORMATS
#endif
#ifdef MAX_VERTEX_UNIFORM_VECTORS
#undef MAX_VERTEX_UNIFORM_VECTORS
#endif
#ifdef MAX_VARYING_VECTORS
#undef MAX_VARYING_VECTORS
#endif
#ifdef MAX_FRAGMENT_UNIFORM_VECTORS
#undef MAX_FRAGMENT_UNIFORM_VECTORS
#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 SYNC_CL_EVENT_ARB
#undef SYNC_CL_EVENT_ARB
#endif
#ifdef SYNC_CL_EVENT_COMPLETE_ARB
#undef SYNC_CL_EVENT_COMPLETE_ARB
#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 DEBUG_OUTPUT_SYNCHRONOUS_ARB
#undef DEBUG_OUTPUT_SYNCHRONOUS_ARB
#endif
#ifdef DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB
#undef DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB
#endif
#ifdef DEBUG_CALLBACK_FUNCTION_ARB
#undef DEBUG_CALLBACK_FUNCTION_ARB
#endif
#ifdef DEBUG_CALLBACK_USER_PARAM_ARB
#undef DEBUG_CALLBACK_USER_PARAM_ARB
#endif
#ifdef DEBUG_SOURCE_API_ARB
#undef DEBUG_SOURCE_API_ARB
#endif
#ifdef DEBUG_SOURCE_WINDOW_SYSTEM_ARB
#undef DEBUG_SOURCE_WINDOW_SYSTEM_ARB
#endif
#ifdef DEBUG_SOURCE_SHADER_COMPILER_ARB
#undef DEBUG_SOURCE_SHADER_COMPILER_ARB
#endif
#ifdef DEBUG_SOURCE_THIRD_PARTY_ARB
#undef DEBUG_SOURCE_THIRD_PARTY_ARB
#endif
#ifdef DEBUG_SOURCE_APPLICATION_ARB
#undef DEBUG_SOURCE_APPLICATION_ARB
#endif
#ifdef DEBUG_SOURCE_OTHER_ARB
#undef DEBUG_SOURCE_OTHER_ARB
#endif
#ifdef DEBUG_TYPE_ERROR_ARB
#undef DEBUG_TYPE_ERROR_ARB
#endif
#ifdef DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB
#undef DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB
#endif
#ifdef DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB
#undef DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB
#endif
#ifdef DEBUG_TYPE_PORTABILITY_ARB
#undef DEBUG_TYPE_PORTABILITY_ARB
#endif
#ifdef DEBUG_TYPE_PERFORMANCE_ARB
#undef DEBUG_TYPE_PERFORMANCE_ARB
#endif
#ifdef DEBUG_TYPE_OTHER_ARB
#undef DEBUG_TYPE_OTHER_ARB
#endif
#ifdef MAX_DEBUG_MESSAGE_LENGTH_ARB
#undef MAX_DEBUG_MESSAGE_LENGTH_ARB
#endif
#ifdef MAX_DEBUG_LOGGED_MESSAGES_ARB
#undef MAX_DEBUG_LOGGED_MESSAGES_ARB
#endif
#ifdef DEBUG_LOGGED_MESSAGES_ARB
#undef DEBUG_LOGGED_MESSAGES_ARB
#endif
#ifdef DEBUG_SEVERITY_HIGH_ARB
#undef DEBUG_SEVERITY_HIGH_ARB
#endif
#ifdef DEBUG_SEVERITY_MEDIUM_ARB
#undef DEBUG_SEVERITY_MEDIUM_ARB
#endif
#ifdef DEBUG_SEVERITY_LOW_ARB
#undef DEBUG_SEVERITY_LOW_ARB
#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 PROGRAM_BINARY_RETRIEVABLE_HINT
#undef PROGRAM_BINARY_RETRIEVABLE_HINT
#endif
#ifdef PROGRAM_BINARY_LENGTH
#undef PROGRAM_BINARY_LENGTH
#endif
#ifdef NUM_PROGRAM_BINARY_FORMATS
#undef NUM_PROGRAM_BINARY_FORMATS
#endif
#ifdef PROGRAM_BINARY_FORMATS
#undef PROGRAM_BINARY_FORMATS
#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 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 CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
#undef CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
#endif
#ifdef LOSE_CONTEXT_ON_RESET_ARB
#undef LOSE_CONTEXT_ON_RESET_ARB
#endif
#ifdef GUILTY_CONTEXT_RESET_ARB
#undef GUILTY_CONTEXT_RESET_ARB
#endif
#ifdef INNOCENT_CONTEXT_RESET_ARB
#undef INNOCENT_CONTEXT_RESET_ARB
#endif
#ifdef UNKNOWN_CONTEXT_RESET_ARB
#undef UNKNOWN_CONTEXT_RESET_ARB
#endif
#ifdef RESET_NOTIFICATION_STRATEGY_ARB
#undef RESET_NOTIFICATION_STRATEGY_ARB
#endif
#ifdef NO_RESET_NOTIFICATION_ARB
#undef NO_RESET_NOTIFICATION_ARB
#endif
#ifdef SAMPLE_SHADING_ARB
#undef SAMPLE_SHADING_ARB
#endif
#ifdef MIN_SAMPLE_SHADING_VALUE_ARB
#undef MIN_SAMPLE_SHADING_VALUE_ARB
#endif
#ifdef SAMPLER_BINDING
#undef SAMPLER_BINDING
#endif
#ifdef TEXTURE_CUBE_MAP_SEAMLESS
#undef TEXTURE_CUBE_MAP_SEAMLESS
#endif
#ifdef VERTEX_SHADER_BIT
#undef VERTEX_SHADER_BIT
#endif
#ifdef FRAGMENT_SHADER_BIT
#undef FRAGMENT_SHADER_BIT
#endif
#ifdef GEOMETRY_SHADER_BIT
#undef GEOMETRY_SHADER_BIT
#endif
#ifdef TESS_CONTROL_SHADER_BIT
#undef TESS_CONTROL_SHADER_BIT
#endif
#ifdef TESS_EVALUATION_SHADER_BIT
#undef TESS_EVALUATION_SHADER_BIT
#endif
#ifdef ALL_SHADER_BITS
#undef ALL_SHADER_BITS
#endif
#ifdef PROGRAM_SEPARABLE
#undef PROGRAM_SEPARABLE
#endif
#ifdef ACTIVE_PROGRAM
#undef ACTIVE_PROGRAM
#endif
#ifdef PROGRAM_PIPELINE_BINDING
#undef PROGRAM_PIPELINE_BINDING
#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_ARB
#undef TEXTURE_CUBE_MAP_ARRAY_ARB
#endif
#ifdef TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB
#undef TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB
#endif
#ifdef PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB
#undef PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB
#endif
#ifdef SAMPLER_CUBE_MAP_ARRAY_ARB
#undef SAMPLER_CUBE_MAP_ARRAY_ARB
#endif
#ifdef SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB
#undef SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB
#endif
#ifdef INT_SAMPLER_CUBE_MAP_ARRAY_ARB
#undef INT_SAMPLER_CUBE_MAP_ARRAY_ARB
#endif
#ifdef UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB
#undef UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB
#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 MAX_VERTEX_STREAMS
#undef MAX_VERTEX_STREAMS
#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_VIEWPORTS
#undef MAX_VIEWPORTS
#endif
#ifdef VIEWPORT_SUBPIXEL_BITS
#undef VIEWPORT_SUBPIXEL_BITS
#endif
#ifdef VIEWPORT_BOUNDS_RANGE
#undef VIEWPORT_BOUNDS_RANGE
#endif
#ifdef LAYER_PROVOKING_VERTEX
#undef LAYER_PROVOKING_VERTEX
#endif
#ifdef VIEWPORT_INDEX_PROVOKING_VERTEX
#undef VIEWPORT_INDEX_PROVOKING_VERTEX
#endif
#ifdef UNDEFINED_VERTEX
#undef UNDEFINED_VERTEX
#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 MAX_IMAGE_UNITS_EXT
#undef MAX_IMAGE_UNITS_EXT
#endif
#ifdef MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT
#undef MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT
#endif
#ifdef IMAGE_BINDING_NAME_EXT
#undef IMAGE_BINDING_NAME_EXT
#endif
#ifdef IMAGE_BINDING_LEVEL_EXT
#undef IMAGE_BINDING_LEVEL_EXT
#endif
#ifdef IMAGE_BINDING_LAYERED_EXT
#undef IMAGE_BINDING_LAYERED_EXT
#endif
#ifdef IMAGE_BINDING_LAYER_EXT
#undef IMAGE_BINDING_LAYER_EXT
#endif
#ifdef IMAGE_BINDING_ACCESS_EXT
#undef IMAGE_BINDING_ACCESS_EXT
#endif
#ifdef IMAGE_1D_EXT
#undef IMAGE_1D_EXT
#endif
#ifdef IMAGE_2D_EXT
#undef IMAGE_2D_EXT
#endif
#ifdef IMAGE_3D_EXT
#undef IMAGE_3D_EXT
#endif
#ifdef IMAGE_2D_RECT_EXT
#undef IMAGE_2D_RECT_EXT
#endif
#ifdef IMAGE_CUBE_EXT
#undef IMAGE_CUBE_EXT
#endif
#ifdef IMAGE_BUFFER_EXT
#undef IMAGE_BUFFER_EXT
#endif
#ifdef IMAGE_1D_ARRAY_EXT
#undef IMAGE_1D_ARRAY_EXT
#endif
#ifdef IMAGE_2D_ARRAY_EXT
#undef IMAGE_2D_ARRAY_EXT
#endif
#ifdef IMAGE_CUBE_MAP_ARRAY_EXT
#undef IMAGE_CUBE_MAP_ARRAY_EXT
#endif
#ifdef IMAGE_2D_MULTISAMPLE_EXT
#undef IMAGE_2D_MULTISAMPLE_EXT
#endif
#ifdef IMAGE_2D_MULTISAMPLE_ARRAY_EXT
#undef IMAGE_2D_MULTISAMPLE_ARRAY_EXT
#endif
#ifdef INT_IMAGE_1D_EXT
#undef INT_IMAGE_1D_EXT
#endif
#ifdef INT_IMAGE_2D_EXT
#undef INT_IMAGE_2D_EXT
#endif
#ifdef INT_IMAGE_3D_EXT
#undef INT_IMAGE_3D_EXT
#endif
#ifdef INT_IMAGE_2D_RECT_EXT
#undef INT_IMAGE_2D_RECT_EXT
#endif
#ifdef INT_IMAGE_CUBE_EXT
#undef INT_IMAGE_CUBE_EXT
#endif
#ifdef INT_IMAGE_BUFFER_EXT
#undef INT_IMAGE_BUFFER_EXT
#endif
#ifdef INT_IMAGE_1D_ARRAY_EXT
#undef INT_IMAGE_1D_ARRAY_EXT
#endif
#ifdef INT_IMAGE_2D_ARRAY_EXT
#undef INT_IMAGE_2D_ARRAY_EXT
#endif
#ifdef INT_IMAGE_CUBE_MAP_ARRAY_EXT
#undef INT_IMAGE_CUBE_MAP_ARRAY_EXT
#endif
#ifdef INT_IMAGE_2D_MULTISAMPLE_EXT
#undef INT_IMAGE_2D_MULTISAMPLE_EXT
#endif
#ifdef INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT
#undef INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_1D_EXT
#undef UNSIGNED_INT_IMAGE_1D_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_2D_EXT
#undef UNSIGNED_INT_IMAGE_2D_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_3D_EXT
#undef UNSIGNED_INT_IMAGE_3D_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_2D_RECT_EXT
#undef UNSIGNED_INT_IMAGE_2D_RECT_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_CUBE_EXT
#undef UNSIGNED_INT_IMAGE_CUBE_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_BUFFER_EXT
#undef UNSIGNED_INT_IMAGE_BUFFER_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_1D_ARRAY_EXT
#undef UNSIGNED_INT_IMAGE_1D_ARRAY_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_2D_ARRAY_EXT
#undef UNSIGNED_INT_IMAGE_2D_ARRAY_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT
#undef UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT
#undef UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT
#endif
#ifdef UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT
#undef UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT
#endif
#ifdef MAX_IMAGE_SAMPLES_EXT
#undef MAX_IMAGE_SAMPLES_EXT
#endif
#ifdef IMAGE_BINDING_FORMAT_EXT
#undef IMAGE_BINDING_FORMAT_EXT
#endif
#ifdef VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT
#undef VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT
#endif
#ifdef ELEMENT_ARRAY_BARRIER_BIT_EXT
#undef ELEMENT_ARRAY_BARRIER_BIT_EXT
#endif
#ifdef UNIFORM_BARRIER_BIT_EXT
#undef UNIFORM_BARRIER_BIT_EXT
#endif
#ifdef TEXTURE_FETCH_BARRIER_BIT_EXT
#undef TEXTURE_FETCH_BARRIER_BIT_EXT
#endif
#ifdef SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT
#undef SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT
#endif
#ifdef COMMAND_BARRIER_BIT_EXT
#undef COMMAND_BARRIER_BIT_EXT
#endif
#ifdef PIXEL_BUFFER_BARRIER_BIT_EXT
#undef PIXEL_BUFFER_BARRIER_BIT_EXT
#endif
#ifdef TEXTURE_UPDATE_BARRIER_BIT_EXT
#undef TEXTURE_UPDATE_BARRIER_BIT_EXT
#endif
#ifdef BUFFER_UPDATE_BARRIER_BIT_EXT
#undef BUFFER_UPDATE_BARRIER_BIT_EXT
#endif
#ifdef FRAMEBUFFER_BARRIER_BIT_EXT
#undef FRAMEBUFFER_BARRIER_BIT_EXT
#endif
#ifdef TRANSFORM_FEEDBACK_BARRIER_BIT_EXT
#undef TRANSFORM_FEEDBACK_BARRIER_BIT_EXT
#endif
#ifdef ATOMIC_COUNTER_BARRIER_BIT_EXT
#undef ATOMIC_COUNTER_BARRIER_BIT_EXT
#endif
#ifdef ALL_BARRIER_BITS_EXT
#undef ALL_BARRIER_BITS_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 DOUBLE_VEC2_EXT
#undef DOUBLE_VEC2_EXT
#endif
#ifdef DOUBLE_VEC3_EXT
#undef DOUBLE_VEC3_EXT
#endif
#ifdef DOUBLE_VEC4_EXT
#undef DOUBLE_VEC4_EXT
#endif
#ifdef DOUBLE_MAT2_EXT
#undef DOUBLE_MAT2_EXT
#endif
#ifdef DOUBLE_MAT3_EXT
#undef DOUBLE_MAT3_EXT
#endif
#ifdef DOUBLE_MAT4_EXT
#undef DOUBLE_MAT4_EXT
#endif
#ifdef DOUBLE_MAT2x3_EXT
#undef DOUBLE_MAT2x3_EXT
#endif
#ifdef DOUBLE_MAT2x4_EXT
#undef DOUBLE_MAT2x4_EXT
#endif
#ifdef DOUBLE_MAT3x2_EXT
#undef DOUBLE_MAT3x2_EXT
#endif
#ifdef DOUBLE_MAT3x4_EXT
#undef DOUBLE_MAT3x4_EXT
#endif
#ifdef DOUBLE_MAT4x2_EXT
#undef DOUBLE_MAT4x2_EXT
#endif
#ifdef DOUBLE_MAT4x3_EXT
#undef DOUBLE_MAT4x3_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 MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV
#undef MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV
#endif
#ifdef MIN_FRAGMENT_INTERPOLATION_OFFSET_NV
#undef MIN_FRAGMENT_INTERPOLATION_OFFSET_NV
#endif
#ifdef MAX_FRAGMENT_INTERPOLATION_OFFSET_NV
#undef MAX_FRAGMENT_INTERPOLATION_OFFSET_NV
#endif
#ifdef FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV
#undef FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV
#endif
#ifdef MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV
#undef MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV
#endif
#ifdef MAX_PROGRAM_SUBROUTINE_NUM_NV
#undef MAX_PROGRAM_SUBROUTINE_NUM_NV
#endif
#ifdef INT64_NV
#undef INT64_NV
#endif
#ifdef UNSIGNED_INT64_NV
#undef UNSIGNED_INT64_NV
#endif
#ifdef INT8_NV
#undef INT8_NV
#endif
#ifdef INT8_VEC2_NV
#undef INT8_VEC2_NV
#endif
#ifdef INT8_VEC3_NV
#undef INT8_VEC3_NV
#endif
#ifdef INT8_VEC4_NV
#undef INT8_VEC4_NV
#endif
#ifdef INT16_NV
#undef INT16_NV
#endif
#ifdef INT16_VEC2_NV
#undef INT16_VEC2_NV
#endif
#ifdef INT16_VEC3_NV
#undef INT16_VEC3_NV
#endif
#ifdef INT16_VEC4_NV
#undef INT16_VEC4_NV
#endif
#ifdef INT64_VEC2_NV
#undef INT64_VEC2_NV
#endif
#ifdef INT64_VEC3_NV
#undef INT64_VEC3_NV
#endif
#ifdef INT64_VEC4_NV
#undef INT64_VEC4_NV
#endif
#ifdef UNSIGNED_INT8_NV
#undef UNSIGNED_INT8_NV
#endif
#ifdef UNSIGNED_INT8_VEC2_NV
#undef UNSIGNED_INT8_VEC2_NV
#endif
#ifdef UNSIGNED_INT8_VEC3_NV
#undef UNSIGNED_INT8_VEC3_NV
#endif
#ifdef UNSIGNED_INT8_VEC4_NV
#undef UNSIGNED_INT8_VEC4_NV
#endif
#ifdef UNSIGNED_INT16_NV
#undef UNSIGNED_INT16_NV
#endif
#ifdef UNSIGNED_INT16_VEC2_NV
#undef UNSIGNED_INT16_VEC2_NV
#endif
#ifdef UNSIGNED_INT16_VEC3_NV
#undef UNSIGNED_INT16_VEC3_NV
#endif
#ifdef UNSIGNED_INT16_VEC4_NV
#undef UNSIGNED_INT16_VEC4_NV
#endif
#ifdef UNSIGNED_INT64_VEC2_NV
#undef UNSIGNED_INT64_VEC2_NV
#endif
#ifdef UNSIGNED_INT64_VEC3_NV
#undef UNSIGNED_INT64_VEC3_NV
#endif
#ifdef UNSIGNED_INT64_VEC4_NV
#undef UNSIGNED_INT64_VEC4_NV
#endif
#ifdef FLOAT16_NV
#undef FLOAT16_NV
#endif
#ifdef FLOAT16_VEC2_NV
#undef FLOAT16_VEC2_NV
#endif
#ifdef FLOAT16_VEC3_NV
#undef FLOAT16_VEC3_NV
#endif
#ifdef FLOAT16_VEC4_NV
#undef FLOAT16_VEC4_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 COVERAGE_SAMPLES_NV
#undef COVERAGE_SAMPLES_NV
#endif
#ifdef COLOR_SAMPLES_NV
#undef COLOR_SAMPLES_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 SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV
#undef SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV
#endif
#ifdef MAX_PROGRAM_PATCH_ATTRIBS_NV
#undef MAX_PROGRAM_PATCH_ATTRIBS_NV
#endif
#ifdef TESS_CONTROL_PROGRAM_NV
#undef TESS_CONTROL_PROGRAM_NV
#endif
#ifdef TESS_EVALUATION_PROGRAM_NV
#undef TESS_EVALUATION_PROGRAM_NV
#endif
#ifdef TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV
#undef TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV
#endif
#ifdef TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV
#undef TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_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 LAYER_NV
#undef LAYER_NV
#endif
#ifdef NEXT_BUFFER_NV
#undef NEXT_BUFFER_NV
#endif
#ifdef SKIP_COMPONENTS4_NV
#undef SKIP_COMPONENTS4_NV
#endif
#ifdef SKIP_COMPONENTS3_NV
#undef SKIP_COMPONENTS3_NV
#endif
#ifdef SKIP_COMPONENTS2_NV
#undef SKIP_COMPONENTS2_NV
#endif
#ifdef SKIP_COMPONENTS1_NV
#undef SKIP_COMPONENTS1_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 SURFACE_STATE_NV
#undef SURFACE_STATE_NV
#endif
#ifdef SURFACE_REGISTERED_NV
#undef SURFACE_REGISTERED_NV
#endif
#ifdef SURFACE_MAPPED_NV
#undef SURFACE_MAPPED_NV
#endif
#ifdef WRITE_DISCARD_NV
#undef WRITE_DISCARD_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 DRAW_INDIRECT_UNIFIED_NV
#undef DRAW_INDIRECT_UNIFIED_NV
#endif
#ifdef DRAW_INDIRECT_ADDRESS_NV
#undef DRAW_INDIRECT_ADDRESS_NV
#endif
#ifdef DRAW_INDIRECT_LENGTH_NV
#undef DRAW_INDIRECT_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 VERTEX_ATTRIB_ARRAY_DIVISOR
#undef VERTEX_ATTRIB_ARRAY_DIVISOR
#endif
#ifdef SAMPLE_SHADING
#undef SAMPLE_SHADING
#endif
#ifdef MIN_SAMPLE_SHADING_VALUE
#undef MIN_SAMPLE_SHADING_VALUE
#endif
#ifdef MIN_PROGRAM_TEXTURE_GATHER_OFFSET
#undef MIN_PROGRAM_TEXTURE_GATHER_OFFSET
#endif
#ifdef MAX_PROGRAM_TEXTURE_GATHER_OFFSET
#undef MAX_PROGRAM_TEXTURE_GATHER_OFFSET
#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 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 VTKRENDERINGOPENGL_EXPORT PFNGLBLENDCOLORPROC BlendColor;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDEQUATIONPROC BlendEquation;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWRANGEELEMENTSPROC DrawRangeElements;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXIMAGE3DPROC TexImage3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXSUBIMAGE3DPROC TexSubImage3D;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLORTABLEPROC ColorTable;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC ColorTableParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC ColorTableParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYCOLORTABLEPROC CopyColorTable;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOLORTABLEPROC GetColorTable;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC GetColorTableParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC GetColorTableParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORSUBTABLEPROC ColorSubTable;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYCOLORSUBTABLEPROC CopyColorSubTable;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONFILTER1DPROC ConvolutionFilter1D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONFILTER2DPROC ConvolutionFilter2D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC ConvolutionParameterf;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC ConvolutionParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC ConvolutionParameteri;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC ConvolutionParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC CopyConvolutionFilter1D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC CopyConvolutionFilter2D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCONVOLUTIONFILTERPROC GetConvolutionFilter;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC GetConvolutionParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC GetConvolutionParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSEPARABLEFILTERPROC GetSeparableFilter;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSEPARABLEFILTER2DPROC SeparableFilter2D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETHISTOGRAMPROC GetHistogram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC GetHistogramParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC GetHistogramParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMINMAXPROC GetMinmax;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMINMAXPARAMETERFVPROC GetMinmaxParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMINMAXPARAMETERIVPROC GetMinmaxParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLHISTOGRAMPROC Histogram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMINMAXPROC Minmax;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRESETHISTOGRAMPROC ResetHistogram;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLACTIVETEXTUREPROC ActiveTexture;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLECOVERAGEPROC SampleCoverage;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCLIENTACTIVETEXTUREPROC ClientActiveTexture;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1DPROC MultiTexCoord1d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1DVPROC MultiTexCoord1dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1FPROC MultiTexCoord1f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1FVPROC MultiTexCoord1fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1IPROC MultiTexCoord1i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1IVPROC MultiTexCoord1iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1SPROC MultiTexCoord1s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1SVPROC MultiTexCoord1sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2DPROC MultiTexCoord2d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2DVPROC MultiTexCoord2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2FPROC MultiTexCoord2f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2FVPROC MultiTexCoord2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2IPROC MultiTexCoord2i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2IVPROC MultiTexCoord2iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2SPROC MultiTexCoord2s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2SVPROC MultiTexCoord2sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3DPROC MultiTexCoord3d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3DVPROC MultiTexCoord3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3FPROC MultiTexCoord3f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3FVPROC MultiTexCoord3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3IPROC MultiTexCoord3i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3IVPROC MultiTexCoord3iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3SPROC MultiTexCoord3s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3SVPROC MultiTexCoord3sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4DPROC MultiTexCoord4d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4DVPROC MultiTexCoord4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4FPROC MultiTexCoord4f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4FVPROC MultiTexCoord4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4IPROC MultiTexCoord4i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4IVPROC MultiTexCoord4iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4SPROC MultiTexCoord4s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4SVPROC MultiTexCoord4sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC LoadTransposeMatrixf;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC LoadTransposeMatrixd;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC MultTransposeMatrixf;
  extern VTKRENDERINGOPENGL_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, const GLint *first, const 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 VTKRENDERINGOPENGL_EXPORT PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTIDRAWARRAYSPROC MultiDrawArrays;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTIDRAWELEMENTSPROC MultiDrawElements;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPOINTPARAMETERFPROC PointParameterf;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPOINTPARAMETERFVPROC PointParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPOINTPARAMETERIPROC PointParameteri;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDFPROC FogCoordf;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDFVPROC FogCoordfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDDPROC FogCoordd;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDDVPROC FogCoorddv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDPOINTERPROC FogCoordPointer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3BPROC SecondaryColor3b;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3DPROC SecondaryColor3d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3FPROC SecondaryColor3f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3FVPROC SecondaryColor3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3IPROC SecondaryColor3i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3SPROC SecondaryColor3s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UBPROC SecondaryColor3ub;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UIPROC SecondaryColor3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3USPROC SecondaryColor3us;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2DPROC WindowPos2d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2DVPROC WindowPos2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2FPROC WindowPos2f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2FVPROC WindowPos2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2IPROC WindowPos2i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2IVPROC WindowPos2iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2SPROC WindowPos2s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2SVPROC WindowPos2sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3DPROC WindowPos3d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3DVPROC WindowPos3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3FPROC WindowPos3f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3FVPROC WindowPos3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3IPROC WindowPos3i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3IVPROC WindowPos3iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3SPROC WindowPos3s;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGENQUERIESPROC GenQueries;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEQUERIESPROC DeleteQueries;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISQUERYPROC IsQuery;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINQUERYPROC BeginQuery;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDQUERYPROC EndQuery;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYIVPROC GetQueryiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERPROC BindBuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEBUFFERSPROC DeleteBuffers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENBUFFERSPROC GenBuffers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISBUFFERPROC IsBuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBUFFERDATAPROC BufferData;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBUFFERSUBDATAPROC BufferSubData;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBUFFERSUBDATAPROC GetBufferSubData;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPBUFFERPROC MapBuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNMAPBUFFERPROC UnmapBuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBUFFERPARAMETERIVPROC GetBufferParameteriv;
  extern VTKRENDERINGOPENGL_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 face, GLenum func, 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 VTKRENDERINGOPENGL_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWBUFFERSPROC DrawBuffers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSTENCILOPSEPARATEPROC StencilOpSeparate;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSTENCILFUNCSEPARATEPROC StencilFuncSeparate;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSTENCILMASKSEPARATEPROC StencilMaskSeparate;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLATTACHSHADERPROC AttachShader;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDATTRIBLOCATIONPROC BindAttribLocation;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPILESHADERPROC CompileShader;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCREATEPROGRAMPROC CreateProgram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCREATESHADERPROC CreateShader;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEPROGRAMPROC DeleteProgram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETESHADERPROC DeleteShader;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDETACHSHADERPROC DetachShader;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC DisableVertexAttribArray;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC EnableVertexAttribArray;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEATTRIBPROC GetActiveAttrib;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEUNIFORMPROC GetActiveUniform;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETATTACHEDSHADERSPROC GetAttachedShaders;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETATTRIBLOCATIONPROC GetAttribLocation;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMIVPROC GetProgramiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMINFOLOGPROC GetProgramInfoLog;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSHADERIVPROC GetShaderiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSHADERINFOLOGPROC GetShaderInfoLog;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSHADERSOURCEPROC GetShaderSource;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMLOCATIONPROC GetUniformLocation;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMFVPROC GetUniformfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMIVPROC GetUniformiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBDVPROC GetVertexAttribdv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBFVPROC GetVertexAttribfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBIVPROC GetVertexAttribiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC GetVertexAttribPointerv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISPROGRAMPROC IsProgram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISSHADERPROC IsShader;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLINKPROGRAMPROC LinkProgram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSHADERSOURCEPROC ShaderSource;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUSEPROGRAMPROC UseProgram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1FPROC Uniform1f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2FPROC Uniform2f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3FPROC Uniform3f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4FPROC Uniform4f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1IPROC Uniform1i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2IPROC Uniform2i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3IPROC Uniform3i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4IPROC Uniform4i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1FVPROC Uniform1fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2FVPROC Uniform2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3FVPROC Uniform3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4FVPROC Uniform4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1IVPROC Uniform1iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2IVPROC Uniform2iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3IVPROC Uniform3iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4IVPROC Uniform4iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX2FVPROC UniformMatrix2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX3FVPROC UniformMatrix3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX4FVPROC UniformMatrix4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVALIDATEPROGRAMPROC ValidateProgram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1DPROC VertexAttrib1d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1FPROC VertexAttrib1f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1FVPROC VertexAttrib1fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1SPROC VertexAttrib1s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2DPROC VertexAttrib2d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2FPROC VertexAttrib2f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2FVPROC VertexAttrib2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2SPROC VertexAttrib2s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3DPROC VertexAttrib3d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3FPROC VertexAttrib3f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3FVPROC VertexAttrib3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3SPROC VertexAttrib3s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUBPROC VertexAttrib4Nub;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4DPROC VertexAttrib4d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4FPROC VertexAttrib4f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4FVPROC VertexAttrib4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4SPROC VertexAttrib4s;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC UniformMatrix2x3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC UniformMatrix3x2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC UniformMatrix2x4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC UniformMatrix4x2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC UniformMatrix3x4fv;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLORMASKIPROC ColorMaski;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBOOLEANI_VPROC GetBooleani_v;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINTEGERI_VPROC GetIntegeri_v;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENABLEIPROC Enablei;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDISABLEIPROC Disablei;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISENABLEDIPROC IsEnabledi;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC BeginTransformFeedback;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC EndTransformFeedback;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERRANGEPROC BindBufferRange;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERBASEPROC BindBufferBase;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC TransformFeedbackVaryings;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC GetTransformFeedbackVarying;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLAMPCOLORPROC ClampColor;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINCONDITIONALRENDERPROC BeginConditionalRender;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDCONDITIONALRENDERPROC EndConditionalRender;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC VertexAttribIPointer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBIIVPROC GetVertexAttribIiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC GetVertexAttribIuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1IPROC VertexAttribI1i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2IPROC VertexAttribI2i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3IPROC VertexAttribI3i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4IPROC VertexAttribI4i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1UIPROC VertexAttribI1ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2UIPROC VertexAttribI2ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3UIPROC VertexAttribI3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4UIPROC VertexAttribI4ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1IVPROC VertexAttribI1iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2IVPROC VertexAttribI2iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3IVPROC VertexAttribI3iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4IVPROC VertexAttribI4iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1UIVPROC VertexAttribI1uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2UIVPROC VertexAttribI2uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3UIVPROC VertexAttribI3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4UIVPROC VertexAttribI4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4BVPROC VertexAttribI4bv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4SVPROC VertexAttribI4sv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4UBVPROC VertexAttribI4ubv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4USVPROC VertexAttribI4usv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMUIVPROC GetUniformuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDFRAGDATALOCATIONPROC BindFragDataLocation;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAGDATALOCATIONPROC GetFragDataLocation;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1UIPROC Uniform1ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2UIPROC Uniform2ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3UIPROC Uniform3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4UIPROC Uniform4ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1UIVPROC Uniform1uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2UIVPROC Uniform2uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3UIVPROC Uniform3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4UIVPROC Uniform4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXPARAMETERIIVPROC TexParameterIiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXPARAMETERIUIVPROC TexParameterIuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXPARAMETERIIVPROC GetTexParameterIiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXPARAMETERIUIVPROC GetTexParameterIuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARBUFFERIVPROC ClearBufferiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARBUFFERUIVPROC ClearBufferuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARBUFFERFVPROC ClearBufferfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARBUFFERFIPROC ClearBufferfi;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC DrawArraysInstanced;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC DrawElementsInstanced;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXBUFFERPROC TexBuffer;
  extern VTKRENDERINGOPENGL_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 PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINTEGER64I_VPROC GetInteger64i_v;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC GetBufferParameteri64v;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC FramebufferTexture;

  //Definitions for GL_VERSION_3_3
  const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR = static_cast<GLenum>(0x88FE);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBDIVISORPROC VertexAttribDivisor;

  //Definitions for GL_VERSION_4_0
  const GLenum SAMPLE_SHADING = static_cast<GLenum>(0x8C36);
  const GLenum MIN_SAMPLE_SHADING_VALUE = static_cast<GLenum>(0x8C37);
  const GLenum MIN_PROGRAM_TEXTURE_GATHER_OFFSET = static_cast<GLenum>(0x8E5E);
  const GLenum MAX_PROGRAM_TEXTURE_GATHER_OFFSET = static_cast<GLenum>(0x8E5F);
  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);
  typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLclampf value);
  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 VTKRENDERINGOPENGL_EXPORT PFNGLMINSAMPLESHADINGPROC MinSampleShading;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDEQUATIONIPROC BlendEquationi;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC BlendEquationSeparatei;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDFUNCIPROC BlendFunci;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDFUNCSEPARATEIPROC BlendFuncSeparatei;

  //Definitions for GL_VERSION_4_1

  //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 VTKRENDERINGOPENGL_EXPORT PFNGLACTIVETEXTUREARBPROC ActiveTextureARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC ClientActiveTextureARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1DARBPROC MultiTexCoord1dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1DVARBPROC MultiTexCoord1dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1FARBPROC MultiTexCoord1fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1FVARBPROC MultiTexCoord1fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1IARBPROC MultiTexCoord1iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1IVARBPROC MultiTexCoord1ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1SARBPROC MultiTexCoord1sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1SVARBPROC MultiTexCoord1svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2DARBPROC MultiTexCoord2dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2DVARBPROC MultiTexCoord2dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2FARBPROC MultiTexCoord2fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2FVARBPROC MultiTexCoord2fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2IARBPROC MultiTexCoord2iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2IVARBPROC MultiTexCoord2ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2SARBPROC MultiTexCoord2sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2SVARBPROC MultiTexCoord2svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3DARBPROC MultiTexCoord3dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3DVARBPROC MultiTexCoord3dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3FARBPROC MultiTexCoord3fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3FVARBPROC MultiTexCoord3fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3IARBPROC MultiTexCoord3iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3IVARBPROC MultiTexCoord3ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3SARBPROC MultiTexCoord3sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3SVARBPROC MultiTexCoord3svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4DARBPROC MultiTexCoord4dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4DVARBPROC MultiTexCoord4dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4FARBPROC MultiTexCoord4fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4FVARBPROC MultiTexCoord4fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4IARBPROC MultiTexCoord4iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4IVARBPROC MultiTexCoord4ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4SARBPROC MultiTexCoord4sARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC LoadTransposeMatrixfARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC LoadTransposeMatrixdARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC MultTransposeMatrixfARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC CompressedTexImage3DARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC CompressedTexImage2DARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC CompressedTexImage1DARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC CompressedTexSubImage3DARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC CompressedTexSubImage2DARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC CompressedTexSubImage1DARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPOINTPARAMETERFARBPROC PointParameterfARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTBVARBPROC WeightbvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTSVARBPROC WeightsvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTIVARBPROC WeightivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTFVARBPROC WeightfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTDVARBPROC WeightdvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTUBVARBPROC WeightubvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTUSVARBPROC WeightusvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTUIVARBPROC WeightuivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWEIGHTPOINTERARBPROC WeightPointerARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC CurrentPaletteMatrixARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXINDEXUBVARBPROC MatrixIndexubvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXINDEXUSVARBPROC MatrixIndexusvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXINDEXUIVARBPROC MatrixIndexuivARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2DARBPROC WindowPos2dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2DVARBPROC WindowPos2dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2FARBPROC WindowPos2fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2FVARBPROC WindowPos2fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2IARBPROC WindowPos2iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2IVARBPROC WindowPos2ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2SARBPROC WindowPos2sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2SVARBPROC WindowPos2svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3DARBPROC WindowPos3dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3DVARBPROC WindowPos3dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3FARBPROC WindowPos3fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3FVARBPROC WindowPos3fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3IARBPROC WindowPos3iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3IVARBPROC WindowPos3ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3SARBPROC WindowPos3sARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1DARBPROC VertexAttrib1dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1DVARBPROC VertexAttrib1dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1FARBPROC VertexAttrib1fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1SARBPROC VertexAttrib1sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1SVARBPROC VertexAttrib1svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2DARBPROC VertexAttrib2dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2DVARBPROC VertexAttrib2dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2FARBPROC VertexAttrib2fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2SARBPROC VertexAttrib2sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2SVARBPROC VertexAttrib2svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3DARBPROC VertexAttrib3dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3DVARBPROC VertexAttrib3dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3FARBPROC VertexAttrib3fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3SARBPROC VertexAttrib3sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3SVARBPROC VertexAttrib3svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC VertexAttrib4NbvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC VertexAttrib4NivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC VertexAttrib4NsvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC VertexAttrib4NubARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC VertexAttrib4NubvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC VertexAttrib4NuivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC VertexAttrib4NusvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4BVARBPROC VertexAttrib4bvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4DARBPROC VertexAttrib4dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4DVARBPROC VertexAttrib4dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4FARBPROC VertexAttrib4fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4IVARBPROC VertexAttrib4ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4SARBPROC VertexAttrib4sARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4SVARBPROC VertexAttrib4svARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC VertexAttrib4ubvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC VertexAttrib4uivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4USVARBPROC VertexAttrib4usvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC VertexAttribPointerARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC EnableVertexAttribArrayARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC DisableVertexAttribArrayARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMSTRINGARBPROC ProgramStringARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDPROGRAMARBPROC BindProgramARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENPROGRAMSARBPROC GenProgramsARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC ProgramEnvParameter4dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC ProgramEnvParameter4fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC ProgramLocalParameter4dARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC ProgramLocalParameter4fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMIVARBPROC GetProgramivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMSTRINGARBPROC GetProgramStringARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC GetVertexAttribdvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC GetVertexAttribfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC GetVertexAttribivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC GetVertexAttribPointervARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERARBPROC BindBufferARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEBUFFERSARBPROC DeleteBuffersARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENBUFFERSARBPROC GenBuffersARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISBUFFERARBPROC IsBufferARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBUFFERDATAARBPROC BufferDataARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBUFFERSUBDATAARBPROC BufferSubDataARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBUFFERSUBDATAARBPROC GetBufferSubDataARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPBUFFERARBPROC MapBufferARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNMAPBUFFERARBPROC UnmapBufferARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC GetBufferParameterivARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGENQUERIESARBPROC GenQueriesARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEQUERIESARBPROC DeleteQueriesARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISQUERYARBPROC IsQueryARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINQUERYARBPROC BeginQueryARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDQUERYARBPROC EndQueryARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYIVARBPROC GetQueryivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYOBJECTIVARBPROC GetQueryObjectivARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDELETEOBJECTARBPROC DeleteObjectARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETHANDLEARBPROC GetHandleARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDETACHOBJECTARBPROC DetachObjectARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCREATESHADEROBJECTARBPROC CreateShaderObjectARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSHADERSOURCEARBPROC ShaderSourceARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPILESHADERARBPROC CompileShaderARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC CreateProgramObjectARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLATTACHOBJECTARBPROC AttachObjectARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLINKPROGRAMARBPROC LinkProgramARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC UseProgramObjectARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVALIDATEPROGRAMARBPROC ValidateProgramARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1FARBPROC Uniform1fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2FARBPROC Uniform2fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3FARBPROC Uniform3fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4FARBPROC Uniform4fARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1IARBPROC Uniform1iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2IARBPROC Uniform2iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3IARBPROC Uniform3iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4IARBPROC Uniform4iARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1FVARBPROC Uniform1fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2FVARBPROC Uniform2fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3FVARBPROC Uniform3fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4FVARBPROC Uniform4fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1IVARBPROC Uniform1ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2IVARBPROC Uniform2ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3IVARBPROC Uniform3ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4IVARBPROC Uniform4ivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC UniformMatrix2fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC UniformMatrix3fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC UniformMatrix4fvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC GetObjectParameterfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC GetObjectParameterivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINFOLOGARBPROC GetInfoLogARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC GetAttachedObjectsARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC GetUniformLocationARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEUNIFORMARBPROC GetActiveUniformARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMFVARBPROC GetUniformfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMIVARBPROC GetUniformivARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC BindAttribLocationARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEATTRIBARBPROC GetActiveAttribARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC DrawArraysInstancedARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLISRENDERBUFFERPROC IsRenderbuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDRENDERBUFFERPROC BindRenderbuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENRENDERBUFFERSPROC GenRenderbuffers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISFRAMEBUFFERPROC IsFramebuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDFRAMEBUFFERPROC BindFramebuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENFRAMEBUFFERSPROC GenFramebuffers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC GetFramebufferAttachmentParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENERATEMIPMAPPROC GenerateMipmap;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETERIARBPROC ProgramParameteriARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC FramebufferTextureARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC FramebufferTextureLayerARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLMAPBUFFERRANGEPROC MapBufferRange;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBINDVERTEXARRAYPROC BindVertexArray;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEVERTEXARRAYSPROC DeleteVertexArrays;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENVERTEXARRAYSPROC GenVertexArrays;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMINDICESPROC GetUniformIndices;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC GetActiveUniformsiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC GetActiveUniformName;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC GetUniformBlockIndex;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC GetActiveUniformBlockiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC GetActiveUniformBlockName;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC DrawElementsBaseVertex;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC DrawRangeElementsBaseVertex;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC DrawElementsInstancedBaseVertex;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 int64_t GLint64;
  typedef uint64_t GLuint64;
  typedef struct __GLsync *GLsync;
  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 VTKRENDERINGOPENGL_EXPORT PFNGLFENCESYNCPROC FenceSync;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISSYNCPROC IsSync;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETESYNCPROC DeleteSync;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLIENTWAITSYNCPROC ClientWaitSync;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWAITSYNCPROC WaitSync;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINTEGER64VPROC GetInteger64v;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC TexImage2DMultisample;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC TexImage3DMultisample;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTISAMPLEFVPROC GetMultisamplefv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLEMASKIPROC SampleMaski;

  //Definitions for GL_ARB_vertex_array_bgra

  //Definitions for GL_ARB_draw_buffers_blend
  typedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);
  typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
  typedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);
  typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDEQUATIONIARBPROC BlendEquationiARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDEQUATIONSEPARATEIARBPROC BlendEquationSeparateiARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDFUNCIARBPROC BlendFunciARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDFUNCSEPARATEIARBPROC BlendFuncSeparateiARB;

  //Definitions for GL_ARB_sample_shading
  const GLenum SAMPLE_SHADING_ARB = static_cast<GLenum>(0x8C36);
  const GLenum MIN_SAMPLE_SHADING_VALUE_ARB = static_cast<GLenum>(0x8C37);
  typedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMINSAMPLESHADINGARBPROC MinSampleShadingARB;

  //Definitions for GL_ARB_texture_cube_map_array
  const GLenum TEXTURE_CUBE_MAP_ARRAY_ARB = static_cast<GLenum>(0x9009);
  const GLenum TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = static_cast<GLenum>(0x900A);
  const GLenum PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = static_cast<GLenum>(0x900B);
  const GLenum SAMPLER_CUBE_MAP_ARRAY_ARB = static_cast<GLenum>(0x900C);
  const GLenum SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = static_cast<GLenum>(0x900D);
  const GLenum INT_SAMPLER_CUBE_MAP_ARRAY_ARB = static_cast<GLenum>(0x900E);
  const GLenum UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 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 VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDSTRINGARBPROC NamedStringARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETENAMEDSTRINGARBPROC DeleteNamedStringARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC CompileShaderIncludeARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISNAMEDSTRINGARBPROC IsNamedStringARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDSTRINGARBPROC GetNamedStringARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC BindFragDataLocationIndexed;
  extern VTKRENDERINGOPENGL_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) (GLuint 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 PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENSAMPLERSPROC GenSamplers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETESAMPLERSPROC DeleteSamplers;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISSAMPLERPROC IsSampler;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDSAMPLERPROC BindSampler;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLERPARAMETERIPROC SamplerParameteri;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLERPARAMETERIVPROC SamplerParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLERPARAMETERFPROC SamplerParameterf;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLERPARAMETERFVPROC SamplerParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLERPARAMETERIIVPROC SamplerParameterIiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC SamplerParameterIuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC GetSamplerParameteriv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC GetSamplerParameterIiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC GetSamplerParameterfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSAMPLERPARAMETERIUIVPROC GetSamplerParameterIuiv;

  //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 VTKRENDERINGOPENGL_EXPORT PFNGLQUERYCOUNTERPROC QueryCounter;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYOBJECTI64VPROC GetQueryObjecti64v;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXP2UIPROC VertexP2ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXP2UIVPROC VertexP2uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXP3UIPROC VertexP3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXP3UIVPROC VertexP3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXP4UIPROC VertexP4ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXP4UIVPROC VertexP4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP1UIPROC TexCoordP1ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP1UIVPROC TexCoordP1uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP2UIPROC TexCoordP2ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP2UIVPROC TexCoordP2uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP3UIPROC TexCoordP3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP3UIVPROC TexCoordP3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP4UIPROC TexCoordP4ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDP4UIVPROC TexCoordP4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP1UIPROC MultiTexCoordP1ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP1UIVPROC MultiTexCoordP1uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP2UIPROC MultiTexCoordP2ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP2UIVPROC MultiTexCoordP2uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP3UIPROC MultiTexCoordP3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP3UIVPROC MultiTexCoordP3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP4UIPROC MultiTexCoordP4ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDP4UIVPROC MultiTexCoordP4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALP3UIPROC NormalP3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALP3UIVPROC NormalP3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORP3UIPROC ColorP3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORP3UIVPROC ColorP3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORP4UIPROC ColorP4ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORP4UIVPROC ColorP4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLORP3UIPROC SecondaryColorP3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLORP3UIVPROC SecondaryColorP3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBP1UIPROC VertexAttribP1ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBP1UIVPROC VertexAttribP1uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBP2UIPROC VertexAttribP2ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBP2UIVPROC VertexAttribP2uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBP3UIPROC VertexAttribP3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBP3UIVPROC VertexAttribP3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBP4UIPROC VertexAttribP4ui;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDRAWARRAYSINDIRECTPROC DrawArraysIndirect;
  extern VTKRENDERINGOPENGL_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);

  //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);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1DPROC Uniform1d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2DPROC Uniform2d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3DPROC Uniform3d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4DPROC Uniform4d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1DVPROC Uniform1dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2DVPROC Uniform2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3DVPROC Uniform3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4DVPROC Uniform4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX2DVPROC UniformMatrix2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX3DVPROC UniformMatrix3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX4DVPROC UniformMatrix4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX2X3DVPROC UniformMatrix2x3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX2X4DVPROC UniformMatrix2x4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX3X2DVPROC UniformMatrix3x2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX3X4DVPROC UniformMatrix3x4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX4X2DVPROC UniformMatrix4x2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMMATRIX4X3DVPROC UniformMatrix4x3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMDVPROC GetUniformdv;

  //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 VTKRENDERINGOPENGL_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC GetSubroutineUniformLocation;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSUBROUTINEINDEXPROC GetSubroutineIndex;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC GetActiveSubroutineUniformiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC GetActiveSubroutineUniformName;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC GetActiveSubroutineName;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC UniformSubroutinesuiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC GetUniformSubroutineuiv;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPATCHPARAMETERIPROC PatchParameteri;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC BindTransformFeedback;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC DeleteTransformFeedbacks;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC GenTransformFeedbacks;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISTRANSFORMFEEDBACKPROC IsTransformFeedback;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC PauseTransformFeedback;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC ResumeTransformFeedback;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC DrawTransformFeedback;

  //Definitions for GL_ARB_transform_feedback3
  const GLenum MAX_TRANSFORM_FEEDBACK_BUFFERS = static_cast<GLenum>(0x8E70);
  const GLenum MAX_VERTEX_STREAMS = static_cast<GLenum>(0x8E71);
  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 VTKRENDERINGOPENGL_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC DrawTransformFeedbackStream;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINQUERYINDEXEDPROC BeginQueryIndexed;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDQUERYINDEXEDPROC EndQueryIndexed;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYINDEXEDIVPROC GetQueryIndexediv;

  //Definitions for GL_ARB_ES2_compatibility
  const GLenum FIXED = static_cast<GLenum>(0x140C);
  const GLenum IMPLEMENTATION_COLOR_READ_TYPE = static_cast<GLenum>(0x8B9A);
  const GLenum IMPLEMENTATION_COLOR_READ_FORMAT = static_cast<GLenum>(0x8B9B);
  const GLenum LOW_FLOAT = static_cast<GLenum>(0x8DF0);
  const GLenum MEDIUM_FLOAT = static_cast<GLenum>(0x8DF1);
  const GLenum HIGH_FLOAT = static_cast<GLenum>(0x8DF2);
  const GLenum LOW_INT = static_cast<GLenum>(0x8DF3);
  const GLenum MEDIUM_INT = static_cast<GLenum>(0x8DF4);
  const GLenum HIGH_INT = static_cast<GLenum>(0x8DF5);
  const GLenum SHADER_COMPILER = static_cast<GLenum>(0x8DFA);
  const GLenum NUM_SHADER_BINARY_FORMATS = static_cast<GLenum>(0x8DF9);
  const GLenum MAX_VERTEX_UNIFORM_VECTORS = static_cast<GLenum>(0x8DFB);
  const GLenum MAX_VARYING_VECTORS = static_cast<GLenum>(0x8DFC);
  const GLenum MAX_FRAGMENT_UNIFORM_VECTORS = static_cast<GLenum>(0x8DFD);
  typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
  typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
  typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
  typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f);
  typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLclampf d);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRELEASESHADERCOMPILERPROC ReleaseShaderCompiler;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSHADERBINARYPROC ShaderBinary;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSHADERPRECISIONFORMATPROC GetShaderPrecisionFormat;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEPTHRANGEFPROC DepthRangef;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARDEPTHFPROC ClearDepthf;

  //Definitions for GL_ARB_get_program_binary
  const GLenum PROGRAM_BINARY_RETRIEVABLE_HINT = static_cast<GLenum>(0x8257);
  const GLenum PROGRAM_BINARY_LENGTH = static_cast<GLenum>(0x8741);
  const GLenum NUM_PROGRAM_BINARY_FORMATS = static_cast<GLenum>(0x87FE);
  const GLenum PROGRAM_BINARY_FORMATS = static_cast<GLenum>(0x87FF);
  typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
  typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMBINARYPROC GetProgramBinary;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMBINARYPROC ProgramBinary;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETERIPROC ProgramParameteri;

  //Definitions for GL_ARB_separate_shader_objects
  const GLenum VERTEX_SHADER_BIT = static_cast<GLenum>(0x00000001);
  const GLenum FRAGMENT_SHADER_BIT = static_cast<GLenum>(0x00000002);
  const GLenum GEOMETRY_SHADER_BIT = static_cast<GLenum>(0x00000004);
  const GLenum TESS_CONTROL_SHADER_BIT = static_cast<GLenum>(0x00000008);
  const GLenum TESS_EVALUATION_SHADER_BIT = static_cast<GLenum>(0x00000010);
  const GLenum ALL_SHADER_BITS = static_cast<GLenum>(0xFFFFFFFF);
  const GLenum PROGRAM_SEPARABLE = static_cast<GLenum>(0x8258);
  const GLenum ACTIVE_PROGRAM = static_cast<GLenum>(0x8259);
  const GLenum PROGRAM_PIPELINE_BINDING = static_cast<GLenum>(0x825A);
  typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
  typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar* *strings);
  typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
  typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);
  typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
  typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
  typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
  typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);
  typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUSEPROGRAMSTAGESPROC UseProgramStages;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLACTIVESHADERPROGRAMPROC ActiveShaderProgram;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCREATESHADERPROGRAMVPROC CreateShaderProgramv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDPROGRAMPIPELINEPROC BindProgramPipeline;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEPROGRAMPIPELINESPROC DeleteProgramPipelines;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENPROGRAMPIPELINESPROC GenProgramPipelines;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISPROGRAMPIPELINEPROC IsProgramPipeline;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMPIPELINEIVPROC GetProgramPipelineiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1IPROC ProgramUniform1i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1IVPROC ProgramUniform1iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1FPROC ProgramUniform1f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1FVPROC ProgramUniform1fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1DPROC ProgramUniform1d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1DVPROC ProgramUniform1dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1UIPROC ProgramUniform1ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1UIVPROC ProgramUniform1uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2IPROC ProgramUniform2i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2IVPROC ProgramUniform2iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2FPROC ProgramUniform2f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2FVPROC ProgramUniform2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2DPROC ProgramUniform2d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2DVPROC ProgramUniform2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2UIPROC ProgramUniform2ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2UIVPROC ProgramUniform2uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3IPROC ProgramUniform3i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3IVPROC ProgramUniform3iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3FPROC ProgramUniform3f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3FVPROC ProgramUniform3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3DPROC ProgramUniform3d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3DVPROC ProgramUniform3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3UIPROC ProgramUniform3ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3UIVPROC ProgramUniform3uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4IPROC ProgramUniform4i;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4IVPROC ProgramUniform4iv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4FPROC ProgramUniform4f;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4FVPROC ProgramUniform4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4DPROC ProgramUniform4d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4DVPROC ProgramUniform4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4UIPROC ProgramUniform4ui;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4UIVPROC ProgramUniform4uiv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVPROC ProgramUniformMatrix2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVPROC ProgramUniformMatrix3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVPROC ProgramUniformMatrix4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVPROC ProgramUniformMatrix2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVPROC ProgramUniformMatrix3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVPROC ProgramUniformMatrix4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC ProgramUniformMatrix2x3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC ProgramUniformMatrix3x2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC ProgramUniformMatrix2x4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC ProgramUniformMatrix4x2fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC ProgramUniformMatrix3x4fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC ProgramUniformMatrix4x3fv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC ProgramUniformMatrix2x3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC ProgramUniformMatrix3x2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC ProgramUniformMatrix2x4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC ProgramUniformMatrix4x2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC ProgramUniformMatrix3x4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC ProgramUniformMatrix4x3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVALIDATEPROGRAMPIPELINEPROC ValidateProgramPipeline;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMPIPELINEINFOLOGPROC GetProgramPipelineInfoLog;

  //Definitions for GL_ARB_shader_precision

  //Definitions for GL_ARB_vertex_attrib_64bit
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1DPROC VertexAttribL1d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2DPROC VertexAttribL2d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3DPROC VertexAttribL3d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4DPROC VertexAttribL4d;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1DVPROC VertexAttribL1dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2DVPROC VertexAttribL2dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3DVPROC VertexAttribL3dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4DVPROC VertexAttribL4dv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBLPOINTERPROC VertexAttribLPointer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBLDVPROC GetVertexAttribLdv;

  //Definitions for GL_ARB_viewport_array
  const GLenum MAX_VIEWPORTS = static_cast<GLenum>(0x825B);
  const GLenum VIEWPORT_SUBPIXEL_BITS = static_cast<GLenum>(0x825C);
  const GLenum VIEWPORT_BOUNDS_RANGE = static_cast<GLenum>(0x825D);
  const GLenum LAYER_PROVOKING_VERTEX = static_cast<GLenum>(0x825E);
  const GLenum VIEWPORT_INDEX_PROVOKING_VERTEX = static_cast<GLenum>(0x825F);
  const GLenum UNDEFINED_VERTEX = static_cast<GLenum>(0x8260);
  typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v);
  typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
  typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v);
  typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v);
  typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
  typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v);
  typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd *v);
  typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f);
  typedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data);
  typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVIEWPORTARRAYVPROC ViewportArrayv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVIEWPORTINDEXEDFPROC ViewportIndexedf;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVIEWPORTINDEXEDFVPROC ViewportIndexedfv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSCISSORARRAYVPROC ScissorArrayv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSCISSORINDEXEDPROC ScissorIndexed;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSCISSORINDEXEDVPROC ScissorIndexedv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEPTHRANGEARRAYVPROC DepthRangeArrayv;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEPTHRANGEINDEXEDPROC DepthRangeIndexed;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFLOATI_VPROC GetFloati_v;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETDOUBLEI_VPROC GetDoublei_v;

  //Definitions for GL_ARB_cl_event
  const GLenum SYNC_CL_EVENT_ARB = static_cast<GLenum>(0x8240);
  const GLenum SYNC_CL_EVENT_COMPLETE_ARB = static_cast<GLenum>(0x8241);
  typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCREATESYNCFROMCLEVENTARBPROC CreateSyncFromCLeventARB;

  //Definitions for GL_ARB_debug_output
  const GLenum DEBUG_OUTPUT_SYNCHRONOUS_ARB = static_cast<GLenum>(0x8242);
  const GLenum DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = static_cast<GLenum>(0x8243);
  const GLenum DEBUG_CALLBACK_FUNCTION_ARB = static_cast<GLenum>(0x8244);
  const GLenum DEBUG_CALLBACK_USER_PARAM_ARB = static_cast<GLenum>(0x8245);
  const GLenum DEBUG_SOURCE_API_ARB = static_cast<GLenum>(0x8246);
  const GLenum DEBUG_SOURCE_WINDOW_SYSTEM_ARB = static_cast<GLenum>(0x8247);
  const GLenum DEBUG_SOURCE_SHADER_COMPILER_ARB = static_cast<GLenum>(0x8248);
  const GLenum DEBUG_SOURCE_THIRD_PARTY_ARB = static_cast<GLenum>(0x8249);
  const GLenum DEBUG_SOURCE_APPLICATION_ARB = static_cast<GLenum>(0x824A);
  const GLenum DEBUG_SOURCE_OTHER_ARB = static_cast<GLenum>(0x824B);
  const GLenum DEBUG_TYPE_ERROR_ARB = static_cast<GLenum>(0x824C);
  const GLenum DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = static_cast<GLenum>(0x824D);
  const GLenum DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = static_cast<GLenum>(0x824E);
  const GLenum DEBUG_TYPE_PORTABILITY_ARB = static_cast<GLenum>(0x824F);
  const GLenum DEBUG_TYPE_PERFORMANCE_ARB = static_cast<GLenum>(0x8250);
  const GLenum DEBUG_TYPE_OTHER_ARB = static_cast<GLenum>(0x8251);
  const GLenum MAX_DEBUG_MESSAGE_LENGTH_ARB = static_cast<GLenum>(0x9143);
  const GLenum MAX_DEBUG_LOGGED_MESSAGES_ARB = static_cast<GLenum>(0x9144);
  const GLenum DEBUG_LOGGED_MESSAGES_ARB = static_cast<GLenum>(0x9145);
  const GLenum DEBUG_SEVERITY_HIGH_ARB = static_cast<GLenum>(0x9146);
  const GLenum DEBUG_SEVERITY_MEDIUM_ARB = static_cast<GLenum>(0x9147);
  const GLenum DEBUG_SEVERITY_LOW_ARB = static_cast<GLenum>(0x9148);
  typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
  typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const GLvoid *userParam);
  typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEBUGMESSAGECONTROLARBPROC DebugMessageControlARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEBUGMESSAGEINSERTARBPROC DebugMessageInsertARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEBUGMESSAGECALLBACKARBPROC DebugMessageCallbackARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETDEBUGMESSAGELOGARBPROC GetDebugMessageLogARB;

  //Definitions for GL_ARB_robustness
  const GLenum CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = static_cast<GLenum>(0x00000004);
  const GLenum LOSE_CONTEXT_ON_RESET_ARB = static_cast<GLenum>(0x8252);
  const GLenum GUILTY_CONTEXT_RESET_ARB = static_cast<GLenum>(0x8253);
  const GLenum INNOCENT_CONTEXT_RESET_ARB = static_cast<GLenum>(0x8254);
  const GLenum UNKNOWN_CONTEXT_RESET_ARB = static_cast<GLenum>(0x8255);
  const GLenum RESET_NOTIFICATION_STRATEGY_ARB = static_cast<GLenum>(0x8256);
  const GLenum NO_RESET_NOTIFICATION_ARB = static_cast<GLenum>(0x8261);
  typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void);
  typedef void (APIENTRYP PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
  typedef void (APIENTRYP PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
  typedef void (APIENTRYP PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
  typedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat *values);
  typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint *values);
  typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort *values);
  typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte *pattern);
  typedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);
  typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);
  typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);
  typedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
  typedef void (APIENTRYP PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
  typedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);
  typedef void (APIENTRYP PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
  typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);
  typedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  typedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  typedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
  typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETGRAPHICSRESETSTATUSARBPROC GetGraphicsResetStatusARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNMAPDVARBPROC GetnMapdvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNMAPFVARBPROC GetnMapfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNMAPIVARBPROC GetnMapivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNPIXELMAPFVARBPROC GetnPixelMapfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNPIXELMAPUIVARBPROC GetnPixelMapuivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNPIXELMAPUSVARBPROC GetnPixelMapusvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNPOLYGONSTIPPLEARBPROC GetnPolygonStippleARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNCOLORTABLEARBPROC GetnColorTableARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNCONVOLUTIONFILTERARBPROC GetnConvolutionFilterARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNSEPARABLEFILTERARBPROC GetnSeparableFilterARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNHISTOGRAMARBPROC GetnHistogramARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNMINMAXARBPROC GetnMinmaxARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNTEXIMAGEARBPROC GetnTexImageARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREADNPIXELSARBPROC ReadnPixelsARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC GetnCompressedTexImageARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNUNIFORMFVARBPROC GetnUniformfvARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNUNIFORMIVARBPROC GetnUniformivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNUNIFORMUIVARBPROC GetnUniformuivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNUNIFORMDVARBPROC GetnUniformdvARB;

  //Definitions for GL_ARB_shader_stencil_export

  //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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXIMAGE3DEXTPROC TexImage3DEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC GetTexFilterFuncSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC TexSubImage1DEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC CopyTexImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC CopyTexImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC CopyTexSubImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC CopyTexSubImage2DEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGETHISTOGRAMEXTPROC GetHistogramEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC GetHistogramParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC GetHistogramParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMINMAXEXTPROC GetMinmaxEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC GetMinmaxParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC GetMinmaxParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLHISTOGRAMEXTPROC HistogramEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMINMAXEXTPROC MinmaxEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRESETHISTOGRAMEXTPROC ResetHistogramEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC ConvolutionFilter1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC ConvolutionFilter2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC ConvolutionParameterfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC ConvolutionParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC ConvolutionParameteriEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC ConvolutionParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC CopyConvolutionFilter1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC CopyConvolutionFilter2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC GetConvolutionFilterEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC GetConvolutionParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC GetConvolutionParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC GetSeparableFilterEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLORTABLESGIPROC ColorTableSGI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC ColorTableParameterfvSGI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC ColorTableParameterivSGI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYCOLORTABLESGIPROC CopyColorTableSGI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOLORTABLESGIPROC GetColorTableSGI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC GetColorTableParameterfvSGI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPIXELTEXGENPARAMETERISGISPROC PixelTexGenParameteriSGIS;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPIXELTEXGENPARAMETERIVSGISPROC PixelTexGenParameterivSGIS;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPIXELTEXGENPARAMETERFSGISPROC PixelTexGenParameterfSGIS;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPIXELTEXGENPARAMETERFVSGISPROC PixelTexGenParameterfvSGIS;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC GetPixelTexGenParameterivSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXIMAGE4DSGISPROC TexImage4DSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC AreTexturesResidentEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDTEXTUREEXTPROC BindTextureEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETETEXTURESEXTPROC DeleteTexturesEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENTEXTURESEXTPROC GenTexturesEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISTEXTUREEXTPROC IsTextureEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDETAILTEXFUNCSGISPROC DetailTexFuncSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLSHARPENTEXFUNCSGISPROC SharpenTexFuncSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLEMASKSGISPROC SampleMaskSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLARRAYELEMENTEXTPROC ArrayElementEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORPOINTEREXTPROC ColorPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWARRAYSEXTPROC DrawArraysEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC EdgeFlagPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPOINTERVEXTPROC GetPointervEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLINDEXPOINTEREXTPROC IndexPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALPOINTEREXTPROC NormalPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDPOINTEREXTPROC TexCoordPointerEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC SpriteParameterfSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC SpriteParameterfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSPRITEPARAMETERISGIXPROC SpriteParameteriSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPOINTPARAMETERFEXTPROC PointParameterfEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPOINTPARAMETERFSGISPROC PointParameterfSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGETINSTRUMENTSSGIXPROC GetInstrumentsSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLINSTRUMENTSBUFFERSGIXPROC InstrumentsBufferSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPOLLINSTRUMENTSSGIXPROC PollInstrumentsSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREADINSTRUMENTSSGIXPROC ReadInstrumentsSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSTARTINSTRUMENTSSGIXPROC StartInstrumentsSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEZOOMSGIXPROC FrameZoomSGIX;

  //Definitions for GL_SGIX_tag_sample_buffer
  typedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDEFORMATIONMAP3DSGIXPROC DeformationMap3dSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEFORMATIONMAP3FSGIXPROC DeformationMap3fSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEFORMSGIXPROC DeformSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLREFERENCEPLANESGIXPROC ReferencePlaneSGIX;

  //Definitions for GL_SGIX_flush_raster
  typedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC) (void);
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLFOGFUNCSGISPROC FogFuncSGIS;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC ImageTransformParameteriHP;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC ImageTransformParameterfHP;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC ImageTransformParameterivHP;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC ImageTransformParameterfvHP;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC GetImageTransformParameterivHP;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLORSUBTABLEEXTPROC ColorSubTableEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLORTABLEEXTPROC ColorTableEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOLORTABLEEXTPROC GetColorTableEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC GetColorTableParameterivEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGETLISTPARAMETERFVSGIXPROC GetListParameterfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETLISTPARAMETERIVSGIXPROC GetListParameterivSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLISTPARAMETERFSGIXPROC ListParameterfSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLISTPARAMETERFVSGIXPROC ListParameterfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLISTPARAMETERISGIXPROC ListParameteriSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLLOCKARRAYSEXTPROC LockArraysEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCULLPARAMETERDVEXTPROC CullParameterdvEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC FragmentColorMaterialSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC FragmentLightfSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC FragmentLightfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC FragmentLightiSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC FragmentLightivSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC FragmentLightModelfSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC FragmentLightModelfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC FragmentLightModeliSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC FragmentLightModelivSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC FragmentMaterialfSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC FragmentMaterialfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC FragmentMaterialiSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC FragmentMaterialivSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC GetFragmentLightfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC GetFragmentLightivSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC GetFragmentMaterialfvSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC GetFragmentMaterialivSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLAPPLYTEXTUREEXTPROC ApplyTextureEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTURELIGHTEXTPROC TextureLightEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLASYNCMARKERSGIXPROC AsyncMarkerSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFINISHASYNCSGIXPROC FinishAsyncSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPOLLASYNCSGIXPROC PollAsyncSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENASYNCMARKERSSGIXPROC GenAsyncMarkersSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC DeleteAsyncMarkersSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXPOINTERVINTELPROC VertexPointervINTEL;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALPOINTERVINTELPROC NormalPointervINTEL;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORPOINTERVINTELPROC ColorPointervINTEL;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC PixelTransformParameteriEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC PixelTransformParameterfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC PixelTransformParameterivEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC SecondaryColor3bEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC SecondaryColor3bvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC SecondaryColor3dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC SecondaryColor3dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC SecondaryColor3fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC SecondaryColor3iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC SecondaryColor3ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC SecondaryColor3sEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC SecondaryColor3svEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC SecondaryColor3ubEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC SecondaryColor3ubvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC SecondaryColor3uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC SecondaryColor3uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC SecondaryColor3usEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC SecondaryColor3usvEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXTURENORMALEXTPROC TextureNormalEXT;

  //Definitions for GL_EXT_multi_draw_arrays
  typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC MultiDrawArraysEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDFEXTPROC FogCoordfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDDEXTPROC FogCoorddEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDDVEXTPROC FogCoorddvEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3BEXTPROC Tangent3bEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3BVEXTPROC Tangent3bvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3DEXTPROC Tangent3dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3DVEXTPROC Tangent3dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3FEXTPROC Tangent3fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3FVEXTPROC Tangent3fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3IEXTPROC Tangent3iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3IVEXTPROC Tangent3ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3SEXTPROC Tangent3sEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENT3SVEXTPROC Tangent3svEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3BEXTPROC Binormal3bEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3BVEXTPROC Binormal3bvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3DEXTPROC Binormal3dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3DVEXTPROC Binormal3dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3FEXTPROC Binormal3fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3FVEXTPROC Binormal3fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3IEXTPROC Binormal3iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3IVEXTPROC Binormal3ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3SEXTPROC Binormal3sEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINORMAL3SVEXTPROC Binormal3svEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTANGENTPOINTEREXTPROC TangentPointerEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC GlobalAlphaFactorbSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC GlobalAlphaFactorsSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC GlobalAlphaFactoriSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC GlobalAlphaFactorfSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC GlobalAlphaFactordSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC GlobalAlphaFactorubSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC GlobalAlphaFactorusSUN;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUISUNPROC ReplacementCodeuiSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC ReplacementCodeusSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC ReplacementCodeubSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC ReplacementCodeuivSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC ReplacementCodeusvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC ReplacementCodeubvSUN;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC Color4ubVertex2fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC Color4ubVertex2fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC Color4ubVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC Color4ubVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC Color3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC Color3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC Normal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC Normal3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC Color4fNormal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC Color4fNormal3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC TexCoord2fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC TexCoord2fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC TexCoord4fVertex4fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC TexCoord4fVertex4fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC TexCoord2fColor4ubVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC TexCoord2fColor4ubVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC TexCoord2fColor3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC TexCoord2fColor3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC TexCoord2fNormal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC TexCoord2fNormal3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC TexCoord2fColor4fNormal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC TexCoord2fColor4fNormal3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC TexCoord4fColor4fNormal3fVertex4fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC TexCoord4fColor4fNormal3fVertex4fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC ReplacementCodeuiVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC ReplacementCodeuiVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC ReplacementCodeuiColor4ubVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC ReplacementCodeuiColor4ubVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC ReplacementCodeuiColor3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC ReplacementCodeuiColor3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC ReplacementCodeuiNormal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC ReplacementCodeuiNormal3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC ReplacementCodeuiColor4fNormal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC ReplacementCodeuiColor4fNormal3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC ReplacementCodeuiTexCoord2fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC ReplacementCodeuiTexCoord2fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXWEIGHTFEXTPROC VertexWeightfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC VertexWeightfvEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC FlushVertexArrayRangeNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC CombinerParameterfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMBINERPARAMETERFNVPROC CombinerParameterfNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC CombinerParameterivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMBINERPARAMETERINVPROC CombinerParameteriNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMBINERINPUTNVPROC CombinerInputNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMBINEROUTPUTNVPROC CombinerOutputNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFINALCOMBINERINPUTNVPROC FinalCombinerInputNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC GetCombinerInputParameterfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC GetCombinerInputParameterivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC GetCombinerOutputParameterfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC GetCombinerOutputParameterivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC GetFinalCombinerInputParameterfvNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2DMESAPROC WindowPos2dMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2DVMESAPROC WindowPos2dvMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2FMESAPROC WindowPos2fMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2FVMESAPROC WindowPos2fvMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2IMESAPROC WindowPos2iMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2IVMESAPROC WindowPos2ivMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2SMESAPROC WindowPos2sMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS2SVMESAPROC WindowPos2svMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3DMESAPROC WindowPos3dMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3DVMESAPROC WindowPos3dvMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3FMESAPROC WindowPos3fMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3FVMESAPROC WindowPos3fvMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3IMESAPROC WindowPos3iMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3IVMESAPROC WindowPos3ivMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3SMESAPROC WindowPos3sMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS3SVMESAPROC WindowPos3svMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS4DMESAPROC WindowPos4dMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS4DVMESAPROC WindowPos4dvMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS4FMESAPROC WindowPos4fMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS4FVMESAPROC WindowPos4fvMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS4IMESAPROC WindowPos4iMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS4IVMESAPROC WindowPos4ivMESA;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWINDOWPOS4SMESAPROC WindowPos4sMESA;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC MultiModeDrawArraysIBM;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLORPOINTERLISTIBMPROC ColorPointerListIBM;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC SecondaryColorPointerListIBM;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC EdgeFlagPointerListIBM;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC FogCoordPointerListIBM;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLINDEXPOINTERLISTIBMPROC IndexPointerListIBM;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALPOINTERLISTIBMPROC NormalPointerListIBM;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC TexCoordPointerListIBM;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLEMASKEXTPROC SampleMaskEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDELETEFENCESNVPROC DeleteFencesNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENFENCESNVPROC GenFencesNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISFENCENVPROC IsFenceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTESTFENCENVPROC TestFenceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFENCEIVNVPROC GetFenceivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFINISHFENCENVPROC FinishFenceNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLMAPCONTROLPOINTSNVPROC MapControlPointsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPPARAMETERIVNVPROC MapParameterivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPPARAMETERFVNVPROC MapParameterfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC GetMapControlPointsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMAPPARAMETERIVNVPROC GetMapParameterivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMAPPARAMETERFVNVPROC GetMapParameterfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC GetMapAttribParameterivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC GetMapAttribParameterfvNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC CombinerStageParameterfvNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC AreProgramsResidentNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDPROGRAMNVPROC BindProgramNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEPROGRAMSNVPROC DeleteProgramsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLEXECUTEPROGRAMNVPROC ExecuteProgramNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENPROGRAMSNVPROC GenProgramsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC GetProgramParameterdvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC GetProgramParameterfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMIVNVPROC GetProgramivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMSTRINGNVPROC GetProgramStringNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTRACKMATRIXIVNVPROC GetTrackMatrixivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC GetVertexAttribdvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC GetVertexAttribfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC GetVertexAttribivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC GetVertexAttribPointervNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISPROGRAMNVPROC IsProgramNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLLOADPROGRAMNVPROC LoadProgramNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC ProgramParameter4dNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC ProgramParameter4dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC ProgramParameter4fNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC ProgramParameter4fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC ProgramParameters4dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC ProgramParameters4fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC RequestResidentProgramsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTRACKMATRIXNVPROC TrackMatrixNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC VertexAttribPointerNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1DNVPROC VertexAttrib1dNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1FNVPROC VertexAttrib1fNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1SNVPROC VertexAttrib1sNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2DNVPROC VertexAttrib2dNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2FNVPROC VertexAttrib2fNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2SNVPROC VertexAttrib2sNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3DNVPROC VertexAttrib3dNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3FNVPROC VertexAttrib3fNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3SNVPROC VertexAttrib3sNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4DNVPROC VertexAttrib4dNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4FNVPROC VertexAttrib4fNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4SNVPROC VertexAttrib4sNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4UBNVPROC VertexAttrib4ubNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC TexBumpParameterivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC TexBumpParameterfvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC GetTexBumpParameterivATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC GenFragmentShadersATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC BindFragmentShaderATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC DeleteFragmentShaderATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC BeginFragmentShaderATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDFRAGMENTSHADERATIPROC EndFragmentShaderATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPASSTEXCOORDATIPROC PassTexCoordATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLEMAPATIPROC SampleMapATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC ColorFragmentOp1ATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC ColorFragmentOp2ATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC ColorFragmentOp3ATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC AlphaFragmentOp1ATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC AlphaFragmentOp2ATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC AlphaFragmentOp3ATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPNTRIANGLESIATIPROC PNTrianglesiATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLNEWOBJECTBUFFERATIPROC NewObjectBufferATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISOBJECTBUFFERATIPROC IsObjectBufferATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC UpdateObjectBufferATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC GetObjectBufferfvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC GetObjectBufferivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFREEOBJECTBUFFERATIPROC FreeObjectBufferATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLARRAYOBJECTATIPROC ArrayObjectATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETARRAYOBJECTFVATIPROC GetArrayObjectfvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETARRAYOBJECTIVATIPROC GetArrayObjectivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC VariantArrayObjectATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC GetVariantArrayObjectfvATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC BeginVertexShaderEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDVERTEXSHADEREXTPROC EndVertexShaderEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDVERTEXSHADEREXTPROC BindVertexShaderEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENVERTEXSHADERSEXTPROC GenVertexShadersEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC DeleteVertexShaderEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSHADEROP1EXTPROC ShaderOp1EXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSHADEROP2EXTPROC ShaderOp2EXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSHADEROP3EXTPROC ShaderOp3EXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSWIZZLEEXTPROC SwizzleEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLWRITEMASKEXTPROC WriteMaskEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLINSERTCOMPONENTEXTPROC InsertComponentEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC ExtractComponentEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENSYMBOLSEXTPROC GenSymbolsEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSETINVARIANTEXTPROC SetInvariantEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSETLOCALCONSTANTEXTPROC SetLocalConstantEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTBVEXTPROC VariantbvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTSVEXTPROC VariantsvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTIVEXTPROC VariantivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTFVEXTPROC VariantfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTDVEXTPROC VariantdvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTUBVEXTPROC VariantubvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTUSVEXTPROC VariantusvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTUIVEXTPROC VariantuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVARIANTPOINTEREXTPROC VariantPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC EnableVariantClientStateEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC DisableVariantClientStateEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC BindLightParameterEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC BindMaterialParameterEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC BindTexGenParameterEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC BindTextureUnitParameterEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDPARAMETEREXTPROC BindParameterEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISVARIANTENABLEDEXTPROC IsVariantEnabledEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC GetVariantBooleanvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC GetVariantIntegervEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVARIANTFLOATVEXTPROC GetVariantFloatvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC GetVariantPointervEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC GetInvariantBooleanvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC GetInvariantIntegervEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC GetInvariantFloatvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC GetLocalConstantBooleanvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC GetLocalConstantIntegervEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1SATIPROC VertexStream1sATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1SVATIPROC VertexStream1svATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1IATIPROC VertexStream1iATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1IVATIPROC VertexStream1ivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1FATIPROC VertexStream1fATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1FVATIPROC VertexStream1fvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1DATIPROC VertexStream1dATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM1DVATIPROC VertexStream1dvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2SATIPROC VertexStream2sATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2SVATIPROC VertexStream2svATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2IATIPROC VertexStream2iATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2IVATIPROC VertexStream2ivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2FATIPROC VertexStream2fATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2FVATIPROC VertexStream2fvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2DATIPROC VertexStream2dATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM2DVATIPROC VertexStream2dvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3SATIPROC VertexStream3sATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3SVATIPROC VertexStream3svATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3IATIPROC VertexStream3iATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3IVATIPROC VertexStream3ivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3FATIPROC VertexStream3fATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3FVATIPROC VertexStream3fvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3DATIPROC VertexStream3dATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM3DVATIPROC VertexStream3dvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4SATIPROC VertexStream4sATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4SVATIPROC VertexStream4svATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4IATIPROC VertexStream4iATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4IVATIPROC VertexStream4ivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4FATIPROC VertexStream4fATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4FVATIPROC VertexStream4fvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4DATIPROC VertexStream4dATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXSTREAM4DVATIPROC VertexStream4dvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3BATIPROC NormalStream3bATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3BVATIPROC NormalStream3bvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3SATIPROC NormalStream3sATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3SVATIPROC NormalStream3svATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3IATIPROC NormalStream3iATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3IVATIPROC NormalStream3ivATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3FATIPROC NormalStream3fATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3FVATIPROC NormalStream3fvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3DATIPROC NormalStream3dATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALSTREAM3DVATIPROC NormalStream3dvATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC ClientActiveVertexStreamATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXBLENDENVIATIPROC VertexBlendEnviATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLELEMENTPOINTERATIPROC ElementPointerATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWELEMENTARRAYATIPROC DrawElementArrayATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC GenOcclusionQueriesNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC DeleteOcclusionQueriesNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISOCCLUSIONQUERYNVPROC IsOcclusionQueryNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC BeginOcclusionQueryNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC EndOcclusionQueryNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC GetOcclusionQueryivNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPOINTPARAMETERINVPROC PointParameteriNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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>(0x8A0C);
  const GLenum ELEMENT_ARRAY_TYPE_APPLE = static_cast<GLenum>(0x8A0D);
  const GLenum ELEMENT_ARRAY_POINTER_APPLE = static_cast<GLenum>(0x8A0E);
  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 VTKRENDERINGOPENGL_EXPORT PFNGLELEMENTPOINTERAPPLEPROC ElementPointerAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC DrawElementArrayAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC DrawRangeElementArrayAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC MultiDrawElementArrayAPPLE;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGENFENCESAPPLEPROC GenFencesAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEFENCESAPPLEPROC DeleteFencesAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSETFENCEAPPLEPROC SetFenceAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISFENCEAPPLEPROC IsFenceAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTESTFENCEAPPLEPROC TestFenceAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFINISHFENCEAPPLEPROC FinishFenceAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTESTOBJECTAPPLEPROC TestObjectAPPLE;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC BindVertexArrayAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC DeleteVertexArraysAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC GenVertexArraysAPPLE;
  extern VTKRENDERINGOPENGL_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_CLIENT_APPLE = static_cast<GLenum>(0x85B4);
  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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC VertexArrayRangeAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC FlushVertexArrayRangeAPPLE;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC ProgramNamedParameter4fNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC ProgramNamedParameter4dNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC ProgramNamedParameter4fvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC ProgramNamedParameter4dvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC GetProgramNamedParameterfvNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEX2HNVPROC Vertex2hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEX2HVNVPROC Vertex2hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEX3HNVPROC Vertex3hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEX3HVNVPROC Vertex3hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEX4HNVPROC Vertex4hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEX4HVNVPROC Vertex4hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMAL3HNVPROC Normal3hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMAL3HVNVPROC Normal3hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR3HNVPROC Color3hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR3HVNVPROC Color3hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4HNVPROC Color4hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLOR4HVNVPROC Color4hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD1HNVPROC TexCoord1hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD1HVNVPROC TexCoord1hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2HNVPROC TexCoord2hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD2HVNVPROC TexCoord2hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD3HNVPROC TexCoord3hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD3HVNVPROC TexCoord3hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD4HNVPROC TexCoord4hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORD4HVNVPROC TexCoord4hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1HNVPROC MultiTexCoord1hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD1HVNVPROC MultiTexCoord1hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2HNVPROC MultiTexCoord2hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD2HVNVPROC MultiTexCoord2hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3HNVPROC MultiTexCoord3hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD3HVNVPROC MultiTexCoord3hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4HNVPROC MultiTexCoord4hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORD4HVNVPROC MultiTexCoord4hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDHNVPROC FogCoordhNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDHVNVPROC FogCoordhvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3HNVPROC SecondaryColor3hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC SecondaryColor3hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXWEIGHTHNVPROC VertexWeighthNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXWEIGHTHVNVPROC VertexWeighthvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1HNVPROC VertexAttrib1hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB1HVNVPROC VertexAttrib1hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2HNVPROC VertexAttrib2hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB2HVNVPROC VertexAttrib2hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3HNVPROC VertexAttrib3hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB3HVNVPROC VertexAttrib3hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4HNVPROC VertexAttrib4hNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIB4HVNVPROC VertexAttrib4hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC VertexAttribs1hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC VertexAttribs2hvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC VertexAttribs3hvNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPIXELDATARANGENVPROC PixelDataRangeNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPRIMITIVERESTARTNVPROC PrimitiveRestartNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLMAPOBJECTBUFFERATIPROC MapObjectBufferATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLSTENCILOPSEPARATEATIPROC StencilOpSeparateATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC VertexAttribArrayObjectATI;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC GetVertexAttribArrayObjectfvATI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLISRENDERBUFFEREXTPROC IsRenderbufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDRENDERBUFFEREXTPROC BindRenderbufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC DeleteRenderbuffersEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENRENDERBUFFERSEXTPROC GenRenderbuffersEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC RenderbufferStorageEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC GetRenderbufferParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISFRAMEBUFFEREXTPROC IsFramebufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC BindFramebufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC DeleteFramebuffersEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC GenFramebuffersEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC CheckFramebufferStatusEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC FramebufferTexture1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC FramebufferTexture2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC FramebufferTexture3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC FramebufferRenderbufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GetFramebufferAttachmentParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENERATEMIPMAPEXTPROC GenerateMipmapEXT;

  //Definitions for GL_GREMEDY_string_marker
  typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string);
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC GetQueryObjecti64vEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC ProgramEnvParameters4fvEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC BufferParameteriAPPLE;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC ProgramLocalParameterI4iNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC ProgramLocalParameterI4ivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC ProgramLocalParametersI4ivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC ProgramLocalParameterI4uiNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC ProgramLocalParameterI4uivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC ProgramLocalParametersI4uivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC ProgramEnvParameterI4iNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC ProgramEnvParameterI4ivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC ProgramEnvParametersI4ivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC ProgramEnvParameterI4uiNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC ProgramEnvParameterI4uivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC ProgramEnvParametersI4uivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC GetProgramLocalParameterIivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC GetProgramLocalParameterIuivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMENVPARAMETERIIVNVPROC GetProgramEnvParameterIivNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC ProgramVertexLimitNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC FramebufferTextureEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC FramebufferTextureLayerEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC VertexAttribI1iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC VertexAttribI2iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC VertexAttribI3iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC VertexAttribI4iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC VertexAttribI1uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC VertexAttribI2uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC VertexAttribI3uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC VertexAttribI4uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC VertexAttribI1ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC VertexAttribI2ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC VertexAttribI3ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC VertexAttribI4ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC VertexAttribI1uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC VertexAttribI2uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC VertexAttribI3uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC VertexAttribI4uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC VertexAttribI4bvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC VertexAttribI4svEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC VertexAttribI4ubvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC VertexAttribI4usvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC VertexAttribIPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC GetVertexAttribIivEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMUIVEXTPROC GetUniformuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC BindFragDataLocationEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC GetFragDataLocationEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1UIEXTPROC Uniform1uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2UIEXTPROC Uniform2uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3UIEXTPROC Uniform3uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4UIEXTPROC Uniform4uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1UIVEXTPROC Uniform1uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2UIVEXTPROC Uniform2uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3UIVEXTPROC Uniform3uivEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC DrawArraysInstancedEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLDEPTHRANGEDNVPROC DepthRangedNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARDEPTHDNVPROC ClearDepthdNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC ProgramBufferParametersfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC ProgramBufferParametersIivNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC ColorMaskIndexedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC GetBooleanIndexedvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC GetIntegerIndexedvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENABLEINDEXEDEXTPROC EnableIndexedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDISABLEINDEXEDEXTPROC DisableIndexedEXT;
  extern VTKRENDERINGOPENGL_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);
  const GLenum LAYER_NV = static_cast<GLenum>(0x8DAA);
  const GLenum NEXT_BUFFER_NV = static_cast<GLenum>(-2);
  const GLenum SKIP_COMPONENTS4_NV = static_cast<GLenum>(-3);
  const GLenum SKIP_COMPONENTS3_NV = static_cast<GLenum>(-4);
  const GLenum SKIP_COMPONENTS2_NV = static_cast<GLenum>(-5);
  const GLenum SKIP_COMPONENTS1_NV = static_cast<GLenum>(-6);
  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 GLint *locations, 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);
  typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC BeginTransformFeedbackNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC EndTransformFeedbackNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC TransformFeedbackAttribsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERRANGENVPROC BindBufferRangeNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFEROFFSETNVPROC BindBufferOffsetNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERBASENVPROC BindBufferBaseNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC TransformFeedbackVaryingsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLACTIVEVARYINGNVPROC ActiveVaryingNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVARYINGLOCATIONNVPROC GetVaryingLocationNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETACTIVEVARYINGNVPROC GetActiveVaryingNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC GetTransformFeedbackVaryingNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC TransformFeedbackStreamAttribsNV;

  //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 VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMBUFFEREXTPROC UniformBufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC GetUniformBufferSizeEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXPARAMETERIIVEXTPROC TexParameterIivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC TexParameterIuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC GetTexParameterIivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC GetTexParameterIuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARCOLORIIEXTPROC ClearColorIiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCLEARCOLORIUIEXTPROC ClearColorIuiEXT;

  //Definitions for GL_GREMEDY_frame_terminator
  typedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC) (void);
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC BeginConditionalRenderNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC PresentFrameKeyedNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC PresentFrameDualFillNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVIDEOIVNVPROC GetVideoivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVIDEOUIVNVPROC GetVideouivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVIDEOI64VNVPROC GetVideoi64vNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC BeginTransformFeedbackEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC EndTransformFeedbackEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERRANGEEXTPROC BindBufferRangeEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC BindBufferOffsetEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDBUFFERBASEEXTPROC BindBufferBaseEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC TransformFeedbackVaryingsEXT;
  extern VTKRENDERINGOPENGL_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 GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
  typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
  typedef void (APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  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);
  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 VTKRENDERINGOPENGL_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC ClientAttribDefaultEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC PushClientAttribDefaultEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXLOADFEXTPROC MatrixLoadfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXLOADDEXTPROC MatrixLoaddEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXMULTFEXTPROC MatrixMultfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXMULTDEXTPROC MatrixMultdEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC MatrixLoadIdentityEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXROTATEFEXTPROC MatrixRotatefEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXROTATEDEXTPROC MatrixRotatedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXSCALEFEXTPROC MatrixScalefEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXSCALEDEXTPROC MatrixScaledEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC MatrixTranslatefEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC MatrixTranslatedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXFRUSTUMEXTPROC MatrixFrustumEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXORTHOEXTPROC MatrixOrthoEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXPOPEXTPROC MatrixPopEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXPUSHEXTPROC MatrixPushEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC MatrixLoadTransposefEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC MatrixLoadTransposedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC MatrixMultTransposefEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC MatrixMultTransposedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC TextureParameterfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC TextureParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC TextureParameteriEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC TextureParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC TextureImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC TextureImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC TextureSubImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC TextureSubImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC CopyTextureImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC CopyTextureImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC CopyTextureSubImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC CopyTextureSubImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC GetTextureImageEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC GetTextureParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC GetTextureParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC GetTextureLevelParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC GetTextureLevelParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC TextureImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC TextureSubImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC CopyTextureSubImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC MultiTexParameterfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC MultiTexParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC MultiTexParameteriEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC MultiTexParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC MultiTexImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC MultiTexImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC MultiTexSubImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC MultiTexSubImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC CopyMultiTexImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC CopyMultiTexImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC CopyMultiTexSubImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC CopyMultiTexSubImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC GetMultiTexImageEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC GetMultiTexParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC GetMultiTexParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC GetMultiTexLevelParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC GetMultiTexLevelParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC MultiTexImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC MultiTexSubImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC CopyMultiTexSubImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDMULTITEXTUREEXTPROC BindMultiTextureEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC EnableClientStateIndexedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC DisableClientStateIndexedEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC MultiTexCoordPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXENVFEXTPROC MultiTexEnvfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXENVFVEXTPROC MultiTexEnvfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXENVIEXTPROC MultiTexEnviEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXENVIVEXTPROC MultiTexEnvivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXGENDEXTPROC MultiTexGendEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXGENDVEXTPROC MultiTexGendvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXGENFEXTPROC MultiTexGenfEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXGENFVEXTPROC MultiTexGenfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXGENIEXTPROC MultiTexGeniEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXGENIVEXTPROC MultiTexGenivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXENVFVEXTPROC GetMultiTexEnvfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXENVIVEXTPROC GetMultiTexEnvivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXGENDVEXTPROC GetMultiTexGendvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXGENFVEXTPROC GetMultiTexGenfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXGENIVEXTPROC GetMultiTexGenivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC GetFloatIndexedvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC GetDoubleIndexedvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC GetPointerIndexedvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC CompressedTextureImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC CompressedTextureImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC CompressedTextureImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC CompressedTextureSubImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC CompressedTextureSubImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC CompressedTextureSubImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC GetCompressedTextureImageEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC CompressedMultiTexImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC CompressedMultiTexImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC CompressedMultiTexImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC CompressedMultiTexSubImage3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC CompressedMultiTexSubImage2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC CompressedMultiTexSubImage1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC GetCompressedMultiTexImageEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC NamedProgramStringEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC NamedProgramLocalParameter4dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC NamedProgramLocalParameter4dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC NamedProgramLocalParameter4fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC NamedProgramLocalParameter4fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC GetNamedProgramLocalParameterdvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC GetNamedProgramLocalParameterfvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC GetNamedProgramivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC GetNamedProgramStringEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC NamedProgramLocalParameters4fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC NamedProgramLocalParameterI4iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC NamedProgramLocalParameterI4ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC NamedProgramLocalParametersI4ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC NamedProgramLocalParameterI4uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC NamedProgramLocalParameterI4uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC NamedProgramLocalParametersI4uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC GetNamedProgramLocalParameterIivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC GetNamedProgramLocalParameterIuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC TextureParameterIivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC TextureParameterIuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC GetTextureParameterIivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC GetTextureParameterIuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC MultiTexParameterIivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC MultiTexParameterIuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC GetMultiTexParameterIivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC GetMultiTexParameterIuivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC ProgramUniform1fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC ProgramUniform2fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC ProgramUniform3fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC ProgramUniform4fEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC ProgramUniform1iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC ProgramUniform2iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC ProgramUniform3iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC ProgramUniform4iEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC ProgramUniform1fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC ProgramUniform2fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC ProgramUniform3fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC ProgramUniform4fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC ProgramUniform1ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC ProgramUniform2ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC ProgramUniform3ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC ProgramUniform4ivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC ProgramUniformMatrix2fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC ProgramUniformMatrix3fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC ProgramUniformMatrix4fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC ProgramUniformMatrix2x3fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC ProgramUniformMatrix3x2fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC ProgramUniformMatrix2x4fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC ProgramUniformMatrix4x2fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC ProgramUniformMatrix3x4fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC ProgramUniformMatrix4x3fvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC ProgramUniform1uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC ProgramUniform2uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC ProgramUniform3uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC ProgramUniform4uiEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC ProgramUniform1uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC ProgramUniform2uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC ProgramUniform3uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC ProgramUniform4uivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC NamedBufferDataEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC NamedBufferSubDataEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC MapNamedBufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC UnmapNamedBufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPNAMEDBUFFERRANGEEXTPROC MapNamedBufferRangeEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC FlushMappedNamedBufferRangeEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC NamedCopyBufferSubDataEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC GetNamedBufferParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC GetNamedBufferPointervEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC GetNamedBufferSubDataEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTUREBUFFEREXTPROC TextureBufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXBUFFEREXTPROC MultiTexBufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC NamedRenderbufferStorageEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC GetNamedRenderbufferParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC CheckNamedFramebufferStatusEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC NamedFramebufferTexture1DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC NamedFramebufferTexture2DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC NamedFramebufferTexture3DEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC NamedFramebufferRenderbufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GetNamedFramebufferAttachmentParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC GenerateTextureMipmapEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC GenerateMultiTexMipmapEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC FramebufferDrawBufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC FramebufferDrawBuffersEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC FramebufferReadBufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC GetFramebufferParameterivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC NamedRenderbufferStorageMultisampleEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC NamedRenderbufferStorageMultisampleCoverageEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC NamedFramebufferTextureEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC NamedFramebufferTextureLayerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC NamedFramebufferTextureFaceEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC TextureRenderbufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC MultiTexRenderbufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1DEXTPROC ProgramUniform1dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2DEXTPROC ProgramUniform2dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3DEXTPROC ProgramUniform3dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4DEXTPROC ProgramUniform4dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1DVEXTPROC ProgramUniform1dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2DVEXTPROC ProgramUniform2dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3DVEXTPROC ProgramUniform3dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4DVEXTPROC ProgramUniform4dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC ProgramUniformMatrix2dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC ProgramUniformMatrix3dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC ProgramUniformMatrix4dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC ProgramUniformMatrix2x3dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC ProgramUniformMatrix2x4dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC ProgramUniformMatrix3x2dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC ProgramUniformMatrix3x4dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC ProgramUniformMatrix4x2dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC ProgramUniformMatrix4x3dvEXT;

  //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 VTKRENDERINGOPENGL_EXPORT PFNGLGETMULTISAMPLEFVNVPROC GetMultisamplefvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC SampleMaskIndexedNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC BindTransformFeedbackNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC DeleteTransformFeedbacksNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC GenTransformFeedbacksNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC IsTransformFeedbackNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC PauseTransformFeedbackNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC ResumeTransformFeedbackNV;
  extern VTKRENDERINGOPENGL_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, GLvoid *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 VTKRENDERINGOPENGL_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC GetPerfMonitorGroupsAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC GetPerfMonitorCountersAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC GetPerfMonitorGroupStringAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC GetPerfMonitorCounterStringAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC GetPerfMonitorCounterInfoAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENPERFMONITORSAMDPROC GenPerfMonitorsAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETEPERFMONITORSAMDPROC DeletePerfMonitorsAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC SelectPerfMonitorCountersAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBEGINPERFMONITORAMDPROC BeginPerfMonitorAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDPERFMONITORAMDPROC EndPerfMonitorAMD;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTESSELLATIONFACTORAMDPROC TessellationFactorAMD;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC BlendFuncIndexedAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC BlendFuncSeparateIndexedAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC BlendEquationIndexedAMD;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLTEXTURERANGEAPPLEPROC TextureRangeAPPLE;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC EnableVertexAttribAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC DisableVertexAttribAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC IsVertexAttribEnabledAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC MapVertexAttrib1dAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC MapVertexAttrib1fAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC MapVertexAttrib2dAPPLE;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC ObjectPurgeableAPPLE;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC ObjectUnpurgeableAPPLE;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLBEGINVIDEOCAPTURENVPROC BeginVideoCaptureNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC BindVideoCaptureStreamBufferNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC BindVideoCaptureStreamTextureNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLENDVIDEOCAPTURENVPROC EndVideoCaptureNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVIDEOCAPTUREIVNVPROC GetVideoCaptureivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVIDEOCAPTURESTREAMIVNVPROC GetVideoCaptureStreamivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVIDEOCAPTURESTREAMFVNVPROC GetVideoCaptureStreamfvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVIDEOCAPTURESTREAMDVNVPROC GetVideoCaptureStreamdvNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVIDEOCAPTURENVPROC VideoCaptureNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC VideoCaptureStreamParameterivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC VideoCaptureStreamParameterfvNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLUSESHADERPROGRAMEXTPROC UseShaderProgramEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLACTIVEPROGRAMEXTPROC ActiveProgramEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC MakeBufferResidentNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC MakeBufferNonResidentNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISBUFFERRESIDENTNVPROC IsBufferResidentNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC MakeNamedBufferResidentNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC MakeNamedBufferNonResidentNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC IsNamedBufferResidentNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC GetBufferParameterui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC GetNamedBufferParameterui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINTEGERUI64VNVPROC GetIntegerui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMUI64NVPROC Uniformui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORMUI64VNVPROC Uniformui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMUI64VNVPROC GetUniformui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC ProgramUniformui64NV;
  extern VTKRENDERINGOPENGL_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);
  const GLenum DRAW_INDIRECT_UNIFIED_NV = static_cast<GLenum>(0x8F40);
  const GLenum DRAW_INDIRECT_ADDRESS_NV = static_cast<GLenum>(0x8F41);
  const GLenum DRAW_INDIRECT_LENGTH_NV = static_cast<GLenum>(0x8F42);
  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 VTKRENDERINGOPENGL_EXPORT PFNGLBUFFERADDRESSRANGENVPROC BufferAddressRangeNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXFORMATNVPROC VertexFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLNORMALFORMATNVPROC NormalFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLCOLORFORMATNVPROC ColorFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLINDEXFORMATNVPROC IndexFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLTEXCOORDFORMATNVPROC TexCoordFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLEDGEFLAGFORMATNVPROC EdgeFlagFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC SecondaryColorFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLFOGCOORDFORMATNVPROC FogCoordFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC VertexAttribFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC VertexAttribIFormatNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETINTEGERUI64I_VNVPROC GetIntegerui64i_vNV;

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

  //Definitions for GL_AMD_shader_stencil_export

  //Definitions for GL_AMD_seamless_cubemap_per_texture

  //Definitions for GL_AMD_conservative_depth

  //Definitions for GL_EXT_shader_image_load_store
  const GLenum MAX_IMAGE_UNITS_EXT = static_cast<GLenum>(0x8F38);
  const GLenum MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = static_cast<GLenum>(0x8F39);
  const GLenum IMAGE_BINDING_NAME_EXT = static_cast<GLenum>(0x8F3A);
  const GLenum IMAGE_BINDING_LEVEL_EXT = static_cast<GLenum>(0x8F3B);
  const GLenum IMAGE_BINDING_LAYERED_EXT = static_cast<GLenum>(0x8F3C);
  const GLenum IMAGE_BINDING_LAYER_EXT = static_cast<GLenum>(0x8F3D);
  const GLenum IMAGE_BINDING_ACCESS_EXT = static_cast<GLenum>(0x8F3E);
  const GLenum IMAGE_1D_EXT = static_cast<GLenum>(0x904C);
  const GLenum IMAGE_2D_EXT = static_cast<GLenum>(0x904D);
  const GLenum IMAGE_3D_EXT = static_cast<GLenum>(0x904E);
  const GLenum IMAGE_2D_RECT_EXT = static_cast<GLenum>(0x904F);
  const GLenum IMAGE_CUBE_EXT = static_cast<GLenum>(0x9050);
  const GLenum IMAGE_BUFFER_EXT = static_cast<GLenum>(0x9051);
  const GLenum IMAGE_1D_ARRAY_EXT = static_cast<GLenum>(0x9052);
  const GLenum IMAGE_2D_ARRAY_EXT = static_cast<GLenum>(0x9053);
  const GLenum IMAGE_CUBE_MAP_ARRAY_EXT = static_cast<GLenum>(0x9054);
  const GLenum IMAGE_2D_MULTISAMPLE_EXT = static_cast<GLenum>(0x9055);
  const GLenum IMAGE_2D_MULTISAMPLE_ARRAY_EXT = static_cast<GLenum>(0x9056);
  const GLenum INT_IMAGE_1D_EXT = static_cast<GLenum>(0x9057);
  const GLenum INT_IMAGE_2D_EXT = static_cast<GLenum>(0x9058);
  const GLenum INT_IMAGE_3D_EXT = static_cast<GLenum>(0x9059);
  const GLenum INT_IMAGE_2D_RECT_EXT = static_cast<GLenum>(0x905A);
  const GLenum INT_IMAGE_CUBE_EXT = static_cast<GLenum>(0x905B);
  const GLenum INT_IMAGE_BUFFER_EXT = static_cast<GLenum>(0x905C);
  const GLenum INT_IMAGE_1D_ARRAY_EXT = static_cast<GLenum>(0x905D);
  const GLenum INT_IMAGE_2D_ARRAY_EXT = static_cast<GLenum>(0x905E);
  const GLenum INT_IMAGE_CUBE_MAP_ARRAY_EXT = static_cast<GLenum>(0x905F);
  const GLenum INT_IMAGE_2D_MULTISAMPLE_EXT = static_cast<GLenum>(0x9060);
  const GLenum INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = static_cast<GLenum>(0x9061);
  const GLenum UNSIGNED_INT_IMAGE_1D_EXT = static_cast<GLenum>(0x9062);
  const GLenum UNSIGNED_INT_IMAGE_2D_EXT = static_cast<GLenum>(0x9063);
  const GLenum UNSIGNED_INT_IMAGE_3D_EXT = static_cast<GLenum>(0x9064);
  const GLenum UNSIGNED_INT_IMAGE_2D_RECT_EXT = static_cast<GLenum>(0x9065);
  const GLenum UNSIGNED_INT_IMAGE_CUBE_EXT = static_cast<GLenum>(0x9066);
  const GLenum UNSIGNED_INT_IMAGE_BUFFER_EXT = static_cast<GLenum>(0x9067);
  const GLenum UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = static_cast<GLenum>(0x9068);
  const GLenum UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = static_cast<GLenum>(0x9069);
  const GLenum UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = static_cast<GLenum>(0x906A);
  const GLenum UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = static_cast<GLenum>(0x906B);
  const GLenum UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = static_cast<GLenum>(0x906C);
  const GLenum MAX_IMAGE_SAMPLES_EXT = static_cast<GLenum>(0x906D);
  const GLenum IMAGE_BINDING_FORMAT_EXT = static_cast<GLenum>(0x906E);
  const GLenum VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000001);
  const GLenum ELEMENT_ARRAY_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000002);
  const GLenum UNIFORM_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000004);
  const GLenum TEXTURE_FETCH_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000008);
  const GLenum SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000020);
  const GLenum COMMAND_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000040);
  const GLenum PIXEL_BUFFER_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000080);
  const GLenum TEXTURE_UPDATE_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000100);
  const GLenum BUFFER_UPDATE_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000200);
  const GLenum FRAMEBUFFER_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000400);
  const GLenum TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = static_cast<GLenum>(0x00000800);
  const GLenum ATOMIC_COUNTER_BARRIER_BIT_EXT = static_cast<GLenum>(0x00001000);
  const GLenum ALL_BARRIER_BITS_EXT = static_cast<GLenum>(0xFFFFFFFF);
  typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
  typedef void (APIENTRYP PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLBINDIMAGETEXTUREEXTPROC BindImageTextureEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLMEMORYBARRIEREXTPROC MemoryBarrierEXT;

  //Definitions for GL_EXT_vertex_attrib_64bit
  const GLenum DOUBLE_VEC2_EXT = static_cast<GLenum>(0x8FFC);
  const GLenum DOUBLE_VEC3_EXT = static_cast<GLenum>(0x8FFD);
  const GLenum DOUBLE_VEC4_EXT = static_cast<GLenum>(0x8FFE);
  const GLenum DOUBLE_MAT2_EXT = static_cast<GLenum>(0x8F46);
  const GLenum DOUBLE_MAT3_EXT = static_cast<GLenum>(0x8F47);
  const GLenum DOUBLE_MAT4_EXT = static_cast<GLenum>(0x8F48);
  const GLenum DOUBLE_MAT2x3_EXT = static_cast<GLenum>(0x8F49);
  const GLenum DOUBLE_MAT2x4_EXT = static_cast<GLenum>(0x8F4A);
  const GLenum DOUBLE_MAT3x2_EXT = static_cast<GLenum>(0x8F4B);
  const GLenum DOUBLE_MAT3x4_EXT = static_cast<GLenum>(0x8F4C);
  const GLenum DOUBLE_MAT4x2_EXT = static_cast<GLenum>(0x8F4D);
  const GLenum DOUBLE_MAT4x3_EXT = static_cast<GLenum>(0x8F4E);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble *params);
  typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1DEXTPROC VertexAttribL1dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2DEXTPROC VertexAttribL2dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3DEXTPROC VertexAttribL3dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4DEXTPROC VertexAttribL4dEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1DVEXTPROC VertexAttribL1dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2DVEXTPROC VertexAttribL2dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3DVEXTPROC VertexAttribL3dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4DVEXTPROC VertexAttribL4dvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBLPOINTEREXTPROC VertexAttribLPointerEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBLDVEXTPROC GetVertexAttribLdvEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC VertexArrayVertexAttribLOffsetEXT;

  //Definitions for GL_NV_gpu_program5
  const GLenum MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = static_cast<GLenum>(0x8E5A);
  const GLenum MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = static_cast<GLenum>(0x8E5B);
  const GLenum MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = static_cast<GLenum>(0x8E5C);
  const GLenum FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = static_cast<GLenum>(0x8E5D);
  const GLenum MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = static_cast<GLenum>(0x8F44);
  const GLenum MAX_PROGRAM_SUBROUTINE_NUM_NV = static_cast<GLenum>(0x8F45);
  typedef void (APIENTRYP PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC) (GLenum target, GLsizei count, const GLuint *params);
  typedef void (APIENTRYP PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC) (GLenum target, GLuint index, GLuint *param);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC ProgramSubroutineParametersuivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC GetProgramSubroutineParameteruivNV;

  //Definitions for GL_NV_gpu_shader5
  const GLenum INT64_NV = static_cast<GLenum>(0x140E);
  const GLenum UNSIGNED_INT64_NV = static_cast<GLenum>(0x140F);
  const GLenum INT8_NV = static_cast<GLenum>(0x8FE0);
  const GLenum INT8_VEC2_NV = static_cast<GLenum>(0x8FE1);
  const GLenum INT8_VEC3_NV = static_cast<GLenum>(0x8FE2);
  const GLenum INT8_VEC4_NV = static_cast<GLenum>(0x8FE3);
  const GLenum INT16_NV = static_cast<GLenum>(0x8FE4);
  const GLenum INT16_VEC2_NV = static_cast<GLenum>(0x8FE5);
  const GLenum INT16_VEC3_NV = static_cast<GLenum>(0x8FE6);
  const GLenum INT16_VEC4_NV = static_cast<GLenum>(0x8FE7);
  const GLenum INT64_VEC2_NV = static_cast<GLenum>(0x8FE9);
  const GLenum INT64_VEC3_NV = static_cast<GLenum>(0x8FEA);
  const GLenum INT64_VEC4_NV = static_cast<GLenum>(0x8FEB);
  const GLenum UNSIGNED_INT8_NV = static_cast<GLenum>(0x8FEC);
  const GLenum UNSIGNED_INT8_VEC2_NV = static_cast<GLenum>(0x8FED);
  const GLenum UNSIGNED_INT8_VEC3_NV = static_cast<GLenum>(0x8FEE);
  const GLenum UNSIGNED_INT8_VEC4_NV = static_cast<GLenum>(0x8FEF);
  const GLenum UNSIGNED_INT16_NV = static_cast<GLenum>(0x8FF0);
  const GLenum UNSIGNED_INT16_VEC2_NV = static_cast<GLenum>(0x8FF1);
  const GLenum UNSIGNED_INT16_VEC3_NV = static_cast<GLenum>(0x8FF2);
  const GLenum UNSIGNED_INT16_VEC4_NV = static_cast<GLenum>(0x8FF3);
  const GLenum UNSIGNED_INT64_VEC2_NV = static_cast<GLenum>(0x8FF5);
  const GLenum UNSIGNED_INT64_VEC3_NV = static_cast<GLenum>(0x8FF6);
  const GLenum UNSIGNED_INT64_VEC4_NV = static_cast<GLenum>(0x8FF7);
  const GLenum FLOAT16_NV = static_cast<GLenum>(0x8FF8);
  const GLenum FLOAT16_VEC2_NV = static_cast<GLenum>(0x8FF9);
  const GLenum FLOAT16_VEC3_NV = static_cast<GLenum>(0x8FFA);
  const GLenum FLOAT16_VEC4_NV = static_cast<GLenum>(0x8FFB);
  typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
  typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
  typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
  typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
  typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
  typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
  typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
  typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
  typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1I64NVPROC Uniform1i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2I64NVPROC Uniform2i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3I64NVPROC Uniform3i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4I64NVPROC Uniform4i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1I64VNVPROC Uniform1i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2I64VNVPROC Uniform2i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3I64VNVPROC Uniform3i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4I64VNVPROC Uniform4i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1UI64NVPROC Uniform1ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2UI64NVPROC Uniform2ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3UI64NVPROC Uniform3ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4UI64NVPROC Uniform4ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM1UI64VNVPROC Uniform1ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM2UI64VNVPROC Uniform2ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM3UI64VNVPROC Uniform3ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLUNIFORM4UI64VNVPROC Uniform4ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETUNIFORMI64VNVPROC GetUniformi64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1I64NVPROC ProgramUniform1i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2I64NVPROC ProgramUniform2i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3I64NVPROC ProgramUniform3i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4I64NVPROC ProgramUniform4i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1I64VNVPROC ProgramUniform1i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2I64VNVPROC ProgramUniform2i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3I64VNVPROC ProgramUniform3i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4I64VNVPROC ProgramUniform4i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1UI64NVPROC ProgramUniform1ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2UI64NVPROC ProgramUniform2ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3UI64NVPROC ProgramUniform3ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4UI64NVPROC ProgramUniform4ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM1UI64VNVPROC ProgramUniform1ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM2UI64VNVPROC ProgramUniform2ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM3UI64VNVPROC ProgramUniform3ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLPROGRAMUNIFORM4UI64VNVPROC ProgramUniform4ui64vNV;

  //Definitions for GL_NV_shader_buffer_store
  const GLenum SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = static_cast<GLenum>(0x00000010);

  //Definitions for GL_NV_tessellation_program5
  const GLenum MAX_PROGRAM_PATCH_ATTRIBS_NV = static_cast<GLenum>(0x86D8);
  const GLenum TESS_CONTROL_PROGRAM_NV = static_cast<GLenum>(0x891E);
  const GLenum TESS_EVALUATION_PROGRAM_NV = static_cast<GLenum>(0x891F);
  const GLenum TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = static_cast<GLenum>(0x8C74);
  const GLenum TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = static_cast<GLenum>(0x8C75);

  //Definitions for GL_NV_vertex_attrib_integer_64bit
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT *params);
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT *params);
  typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1I64NVPROC VertexAttribL1i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2I64NVPROC VertexAttribL2i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3I64NVPROC VertexAttribL3i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4I64NVPROC VertexAttribL4i64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1I64VNVPROC VertexAttribL1i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2I64VNVPROC VertexAttribL2i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3I64VNVPROC VertexAttribL3i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4I64VNVPROC VertexAttribL4i64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1UI64NVPROC VertexAttribL1ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2UI64NVPROC VertexAttribL2ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3UI64NVPROC VertexAttribL3ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4UI64NVPROC VertexAttribL4ui64NV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL1UI64VNVPROC VertexAttribL1ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL2UI64VNVPROC VertexAttribL2ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL3UI64VNVPROC VertexAttribL3ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBL4UI64VNVPROC VertexAttribL4ui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBLI64VNVPROC GetVertexAttribLi64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETVERTEXATTRIBLUI64VNVPROC GetVertexAttribLui64vNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVERTEXATTRIBLFORMATNVPROC VertexAttribLFormatNV;

  //Definitions for GL_NV_multisample_coverage
  const GLenum COVERAGE_SAMPLES_NV = static_cast<GLenum>(0x80A9);
  const GLenum COLOR_SAMPLES_NV = static_cast<GLenum>(0x8E20);

  //Definitions for GL_AMD_name_gen_delete
  const GLenum DATA_BUFFER_AMD = static_cast<GLenum>(0x9151);
  const GLenum PERFORMANCE_MONITOR_AMD = static_cast<GLenum>(0x9152);
  const GLenum QUERY_OBJECT_AMD = static_cast<GLenum>(0x9153);
  const GLenum VERTEX_ARRAY_OBJECT_AMD = static_cast<GLenum>(0x9154);
  const GLenum SAMPLER_OBJECT_AMD = static_cast<GLenum>(0x9155);
  typedef void (APIENTRYP PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint *names);
  typedef void (APIENTRYP PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint *names);
  typedef GLboolean (APIENTRYP PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGENNAMESAMDPROC GenNamesAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDELETENAMESAMDPROC DeleteNamesAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLISNAMEAMDPROC IsNameAMD;

  //Definitions for GL_AMD_debug_output
  const GLenum MAX_DEBUG_LOGGED_MESSAGES_AMD = static_cast<GLenum>(0x9144);
  const GLenum DEBUG_LOGGED_MESSAGES_AMD = static_cast<GLenum>(0x9145);
  const GLenum DEBUG_SEVERITY_HIGH_AMD = static_cast<GLenum>(0x9146);
  const GLenum DEBUG_SEVERITY_MEDIUM_AMD = static_cast<GLenum>(0x9147);
  const GLenum DEBUG_SEVERITY_LOW_AMD = static_cast<GLenum>(0x9148);
  const GLenum DEBUG_CATEGORY_API_ERROR_AMD = static_cast<GLenum>(0x9149);
  const GLenum DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = static_cast<GLenum>(0x914A);
  const GLenum DEBUG_CATEGORY_DEPRECATION_AMD = static_cast<GLenum>(0x914B);
  const GLenum DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = static_cast<GLenum>(0x914C);
  const GLenum DEBUG_CATEGORY_PERFORMANCE_AMD = static_cast<GLenum>(0x914D);
  const GLenum DEBUG_CATEGORY_SHADER_COMPILER_AMD = static_cast<GLenum>(0x914E);
  const GLenum DEBUG_CATEGORY_APPLICATION_AMD = static_cast<GLenum>(0x914F);
  const GLenum DEBUG_CATEGORY_OTHER_AMD = static_cast<GLenum>(0x9150);
  typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
  typedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
  typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, GLvoid *userParam);
  typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEBUGMESSAGEENABLEAMDPROC DebugMessageEnableAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEBUGMESSAGEINSERTAMDPROC DebugMessageInsertAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLDEBUGMESSAGECALLBACKAMDPROC DebugMessageCallbackAMD;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLGETDEBUGMESSAGELOGAMDPROC GetDebugMessageLogAMD;

  //Definitions for GL_NV_vdpau_interop
  const GLenum SURFACE_STATE_NV = static_cast<GLenum>(0x86EB);
  const GLenum SURFACE_REGISTERED_NV = static_cast<GLenum>(0x86FD);
  const GLenum SURFACE_MAPPED_NV = static_cast<GLenum>(0x8700);
  const GLenum WRITE_DISCARD_NV = static_cast<GLenum>(0x88BE);
  typedef GLintptr GLvdpauSurfaceNV;
  typedef void (APIENTRYP PFNGLVDPAUINITNVPROC) (const GLvoid *vdpDevice, const GLvoid *getProcAddress);
  typedef void (APIENTRYP PFNGLVDPAUFININVPROC) (void);
  typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
  typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
  typedef void (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);
  typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);
  typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
  typedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
  typedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUINITNVPROC VDPAUInitNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUFININVPROC VDPAUFiniNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUREGISTERVIDEOSURFACENVPROC VDPAURegisterVideoSurfaceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC VDPAURegisterOutputSurfaceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUISSURFACENVPROC VDPAUIsSurfaceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUUNREGISTERSURFACENVPROC VDPAUUnregisterSurfaceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUGETSURFACEIVNVPROC VDPAUGetSurfaceivNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUSURFACEACCESSNVPROC VDPAUSurfaceAccessNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUMAPSURFACESNVPROC VDPAUMapSurfacesNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLVDPAUUNMAPSURFACESNVPROC VDPAUUnmapSurfacesNV;

  //Definitions for GL_AMD_transform_feedback3_lines_triangles

  //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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLIGLOOINTERFACESGIXPROC IglooInterfaceSGIX;

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

  // Strings containing special version extensions.
  extern VTKRENDERINGOPENGL_EXPORT 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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXGETFBCONFIGSPROC GetFBConfigs;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCHOOSEFBCONFIGPROC ChooseFBConfig;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETFBCONFIGATTRIBPROC GetFBConfigAttrib;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETVISUALFROMFBCONFIGPROC GetVisualFromFBConfig;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCREATEWINDOWPROC CreateWindow;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXDESTROYWINDOWPROC DestroyWindow;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCREATEPIXMAPPROC CreatePixmap;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXDESTROYPIXMAPPROC DestroyPixmap;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCREATEPBUFFERPROC CreatePbuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXDESTROYPBUFFERPROC DestroyPbuffer;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYDRAWABLEPROC QueryDrawable;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCREATENEWCONTEXTPROC CreateNewContext;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXMAKECONTEXTCURRENTPROC MakeContextCurrent;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETCURRENTREADDRAWABLEPROC GetCurrentReadDrawable;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETCURRENTDISPLAYPROC GetCurrentDisplay;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYCONTEXTPROC QueryContext;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXSELECTEVENTPROC SelectEvent;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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_vertex_buffer_object
  const GLenum CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = static_cast<GLenum>(0x2095);

  //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_framebuffer_sRGB
  const GLenum FRAMEBUFFER_SRGB_CAPABLE_ARB = static_cast<GLenum>(0x20B2);

  //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 VTKRENDERINGOPENGL_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_ARB_create_context_robustness
  const GLenum CONTEXT_ROBUST_ACCESS_BIT_ARB = static_cast<GLenum>(0x00000004);
  const GLenum LOSE_CONTEXT_ON_RESET_ARB = static_cast<GLenum>(0x8252);
  const GLenum CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = static_cast<GLenum>(0x8256);
  const GLenum NO_RESET_NOTIFICATION_ARB = static_cast<GLenum>(0x8261);

  //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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXGETVIDEOSYNCSGIPROC GetVideoSyncSGI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXMAKECURRENTREADSGIPROC MakeCurrentReadSGI;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXGETCURRENTDISPLAYEXTPROC GetCurrentDisplayEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYCONTEXTINFOEXTPROC QueryContextInfoEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETCONTEXTIDEXTPROC GetContextIDEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXIMPORTCONTEXTEXTPROC ImportContextEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXGETFBCONFIGATTRIBSGIXPROC GetFBConfigAttribSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCHOOSEFBCONFIGSGIXPROC ChooseFBConfigSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC CreateGLXPixmapWithConfigSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC CreateContextWithConfigSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETVISUALFROMFBCONFIGSGIXPROC GetVisualFromFBConfigSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXCREATEGLXPBUFFERSGIXPROC CreateGLXPbufferSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXDESTROYGLXPBUFFERSGIXPROC DestroyGLXPbufferSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYGLXPBUFFERSGIXPROC QueryGLXPbufferSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXSELECTEVENTSGIXPROC SelectEventSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETSELECTEDEVENTSGIXPROC GetSelectedEventSGIX;

  //Definitions for GLX_SGI_cushion
  typedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion);
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXBINDCHANNELTOWINDOWSGIXPROC BindChannelToWindowSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCHANNELRECTSGIXPROC ChannelRectSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYCHANNELRECTSGIXPROC QueryChannelRectSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYCHANNELDELTASSGIXPROC QueryChannelDeltasSGIX;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXCHANNELRECTSYNCSGIXPROC ChannelRectSyncSGIX;

  //Definitions for GLX_SGIX_swap_group
  typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXBINDSWAPBARRIERSGIXPROC BindSwapBarrierSGIX;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXCOPYSUBBUFFERMESAPROC CopySubBufferMESA;

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

  //Definitions for GLX_MESA_release_buffers
  typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXGETSYNCVALUESOMLPROC GetSyncValuesOML;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXGETMSCRATEOMLPROC GetMscRateOML;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXSWAPBUFFERSMSCOMLPROC SwapBuffersMscOML;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXWAITFORMSCOMLPROC WaitForMscOML;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXBINDTEXIMAGEEXTPROC BindTexImageEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXENUMERATEVIDEODEVICESNVPROC EnumerateVideoDevicesNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXJOINSWAPGROUPNVPROC JoinSwapGroupNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXBINDSWAPBARRIERNVPROC BindSwapBarrierNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYSWAPGROUPNVPROC QuerySwapGroupNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYMAXSWAPGROUPSNVPROC QueryMaxSwapGroupsNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYFRAMECOUNTNVPROC QueryFrameCountNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNGLXBINDVIDEOCAPTUREDEVICENVPROC BindVideoCaptureDeviceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC EnumerateVideoCaptureDevicesNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC LockVideoCaptureDeviceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC QueryVideoCaptureDeviceNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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_multisample_coverage
  const GLenum COVERAGE_SAMPLES_NV = static_cast<GLenum>(100001);
  const GLenum COLOR_SAMPLES_NV = static_cast<GLenum>(0x20B3);

  //Definitions for GLX_AMD_gpu_association
  const GLenum GPU_VENDOR_AMD = static_cast<GLenum>(0x1F00);
  const GLenum GPU_RENDERER_STRING_AMD = static_cast<GLenum>(0x1F01);
  const GLenum GPU_OPENGL_VERSION_STRING_AMD = static_cast<GLenum>(0x1F02);
  const GLenum GPU_FASTEST_TARGET_GPUS_AMD = static_cast<GLenum>(0x21A2);
  const GLenum GPU_RAM_AMD = static_cast<GLenum>(0x21A3);
  const GLenum GPU_CLOCK_AMD = static_cast<GLenum>(0x21A4);
  const GLenum GPU_NUM_PIPES_AMD = static_cast<GLenum>(0x21A5);
  const GLenum GPU_NUM_SIMD_AMD = static_cast<GLenum>(0x21A6);
  const GLenum GPU_NUM_RB_AMD = static_cast<GLenum>(0x21A7);
  const GLenum GPU_NUM_SPI_AMD = static_cast<GLenum>(0x21A8);

  //Definitions for GLX_EXT_create_context_es2_profile
  const GLenum CONTEXT_ES2_PROFILE_BIT_EXT = static_cast<GLenum>(0x00000004);

  //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 VTKRENDERINGOPENGL_EXPORT PFNGLXGETVIDEODEVICENVPROC GetVideoDeviceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXRELEASEVIDEODEVICENVPROC ReleaseVideoDeviceNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXBINDVIDEOIMAGENVPROC BindVideoImageNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXRELEASEVIDEOIMAGENVPROC ReleaseVideoImageNV;
  extern VTKRENDERINGOPENGL_EXPORT PFNGLXSENDPBUFFERTOVIDEONVPROC SendPbufferToVideoNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC CreateBufferRegionARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC DeleteBufferRegionARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC SaveBufferRegionARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC GetPixelFormatAttribivARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC GetPixelFormatAttribfvARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC MakeContextCurrentARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLCREATEPBUFFERARBPROC CreatePbufferARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETPBUFFERDCARBPROC GetPbufferDCARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC ReleasePbufferDCARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLDESTROYPBUFFERARBPROC DestroyPbufferARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLBINDTEXIMAGEARBPROC BindTexImageARB;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLRELEASETEXIMAGEARBPROC ReleaseTexImageARB;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC MakeContextCurrentEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC GetPixelFormatAttribivEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC GetPixelFormatAttribfvEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLCREATEPBUFFEREXTPROC CreatePbufferEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETPBUFFERDCEXTPROC GetPbufferDCEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC ReleasePbufferDCEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLDESTROYPBUFFEREXTPROC DestroyPbufferEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC GetDigitalVideoParametersI3D;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC GetGammaTableParametersI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC SetGammaTableParametersI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETGAMMATABLEI3DPROC GetGammaTableI3D;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLENABLEGENLOCKI3DPROC EnableGenlockI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLDISABLEGENLOCKI3DPROC DisableGenlockI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC IsEnabledGenlockI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGENLOCKSOURCEI3DPROC GenlockSourceI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC GetGenlockSourceI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC GenlockSourceEdgeI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC GetGenlockSourceEdgeI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC GenlockSampleRateI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC GetGenlockSampleRateI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC GenlockSourceDelayI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC GetGenlockSourceDelayI3D;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC CreateImageBufferI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC DestroyImageBufferI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC AssociateImageBufferEventsI3D;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC EnableFrameLockI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC DisableFrameLockI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC IsEnabledFrameLockI3D;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC CreateDisplayColorTableEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC LoadDisplayColorTableEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC BindDisplayColorTableEXT;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC DestroyDisplayColorTableEXT;

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

  //Definitions for WGL_EXT_swap_control
  typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
  typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLSWAPINTERVALEXTPROC SwapIntervalEXT;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLALLOCATEMEMORYNVPROC AllocateMemoryNV;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLGETSYNCVALUESOMLPROC GetSyncValuesOML;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLGETMSCRATEOMLPROC GetMscRateOML;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC SwapBuffersMscOML;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC SwapLayerBuffersMscOML;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLWAITFORMSCOMLPROC WaitForMscOML;
  extern VTKRENDERINGOPENGL_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 VTKRENDERINGOPENGL_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC GetFrameUsageI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC BeginFrameTrackingI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC EndFrameTrackingI3D;
  extern VTKRENDERINGOPENGL_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC QueryFrameTrackingI3D;
}
#endif

#ifdef VTKGL_APIENTRY_DEFINED
#undef APIENTRY
#endif

#ifdef VTKGL_APIENTRYP_DEFINED
#undef APIENTRYP
#endif

#endif //_vtkgl_h
