how to convert opengl macro to human readable string

Started by
1 comment, last by _WeirdCat_ 10 years, 8 months ago

when develop with opengl, i find that opengl has so many predefine Macro, linke:GL_FLOAT_VEC3/GL_INT_VEC2.

if i use glGetActiveUniform to get the information about uniform data information, the return value is always integer and can't readable in debugger:

ParamSize 0x00000001 int
ParamType 0x00008b52 unsigned int
+ szName 0x0018e64c "g_Mask" char[0x00000080]
Length 0x00000006 int
Location 0x00000000 unsigned int
i 0x00000001 int
+ Parameter {m_strName="" m_wIndex=0x00000000 m_wBytes=0x00000001 ...}
TotalCount 0x00000004 int
like this.
so, how can i convert 0x00008b52 to "GL_FLOAT_VEC4", is there any interface exists in opengl?
Advertisement
Maybe you can enhance your debugger with a boring plugin that knows all OpenGL constants and shows, as an alternate representation of integer types, a set of constant names that match that value (including bitfield interpretations). If you prefer a low-tech approach, look up the constants once in OpenGL header files and write them on a piece of paper. In any given debugging puzzle, only a few constants will be involved, each only in a few places; your cheatsheet will remain manageable.

Omae Wa Mou Shindeiru

i dont know if i understand you (its a bit late ;]) but you can try to parse gl.h

or reparse this for your own needs (i think you need to swap string and cardinals ) and make it to c++

every opengl name has its own number so you should parse it to get proper strings

sorry if its not the solution:




//[parsed gl.pas] ofc :C
function stringtocardinal(s : string) : cardinal;
begin
s := lowercase(s);
result := UNKNOWN;
if pos('gl_2_bytes',s) > 0 then result := GL_2_BYTES;
if pos('gl_2d',s) > 0 then result := GL_2D;
if pos('gl_3_bytes',s) > 0 then result := GL_3_BYTES;
if pos('gl_3d',s) > 0 then result := GL_3D;
if pos('gl_3d_color',s) > 0 then result := GL_3D_COLOR;
if pos('gl_3d_color_texture',s) > 0 then result := GL_3D_COLOR_TEXTURE;
if pos('gl_4_bytes',s) > 0 then result := GL_4_BYTES;
if pos('gl_4d_color_texture',s) > 0 then result := GL_4D_COLOR_TEXTURE;
if pos('gl_accum',s) > 0 then result := GL_ACCUM;
if pos('gl_accum_alpha_bits',s) > 0 then result := GL_ACCUM_ALPHA_BITS;
if pos('gl_accum_blue_bits',s) > 0 then result := GL_ACCUM_BLUE_BITS;
if pos('gl_accum_buffer_bit',s) > 0 then result := GL_ACCUM_BUFFER_BIT;
if pos('gl_accum_clear_value',s) > 0 then result := GL_ACCUM_CLEAR_VALUE;
if pos('gl_accum_green_bits',s) > 0 then result := GL_ACCUM_GREEN_BITS;
if pos('gl_accum_red_bits',s) > 0 then result := GL_ACCUM_RED_BITS;
if pos('gl_add',s) > 0 then result := GL_ADD;
if pos('gl_all_attrib_bits',s) > 0 then result := GL_ALL_ATTRIB_BITS;
if pos('gl_alpha',s) > 0 then result := GL_ALPHA;
if pos('gl_alpha_bias',s) > 0 then result := GL_ALPHA_BIAS;
if pos('gl_alpha_bits',s) > 0 then result := GL_ALPHA_BITS;
if pos('gl_alpha_scale',s) > 0 then result := GL_ALPHA_SCALE;
if pos('gl_alpha_test',s) > 0 then result := GL_ALPHA_TEST;
if pos('gl_alpha_test_func',s) > 0 then result := GL_ALPHA_TEST_FUNC;
if pos('gl_alpha_test_ref',s) > 0 then result := GL_ALPHA_TEST_REF;
if pos('gl_always',s) > 0 then result := GL_ALWAYS;
if pos('gl_ambient',s) > 0 then result := GL_AMBIENT;
if pos('gl_ambient_and_diffuse',s) > 0 then result := GL_AMBIENT_AND_DIFFUSE;
if pos('gl_and',s) > 0 then result := GL_AND;
if pos('gl_and_inverted',s) > 0 then result := GL_AND_INVERTED;
if pos('gl_and_reverse',s) > 0 then result := GL_AND_REVERSE;
if pos('gl_attrib_stack_depth',s) > 0 then result := GL_ATTRIB_STACK_DEPTH;
if pos('gl_auto_normal',s) > 0 then result := GL_AUTO_NORMAL;
if pos('gl_aux_buffers',s) > 0 then result := GL_AUX_BUFFERS;
if pos('gl_aux0',s) > 0 then result := GL_AUX0;
if pos('gl_aux1',s) > 0 then result := GL_AUX1;
if pos('gl_aux2',s) > 0 then result := GL_AUX2;
if pos('gl_aux3',s) > 0 then result := GL_AUX3;
if pos('gl_back',s) > 0 then result := GL_BACK;
if pos('gl_back_left',s) > 0 then result := GL_BACK_LEFT;
if pos('gl_back_right',s) > 0 then result := GL_BACK_RIGHT;
if pos('gl_bitmap',s) > 0 then result := GL_BITMAP;
if pos('gl_bitmap_token',s) > 0 then result := GL_BITMAP_TOKEN;
if pos('gl_blend',s) > 0 then result := GL_BLEND;
if pos('gl_blend_dst',s) > 0 then result := GL_BLEND_DST;
if pos('gl_blend_src',s) > 0 then result := GL_BLEND_SRC;
if pos('gl_blue',s) > 0 then result := GL_BLUE;
if pos('gl_blue_bias',s) > 0 then result := GL_BLUE_BIAS;
if pos('gl_blue_bits',s) > 0 then result := GL_BLUE_BITS;
if pos('gl_blue_scale',s) > 0 then result := GL_BLUE_SCALE;
if pos('gl_byte',s) > 0 then result := GL_BYTE;
if pos('gl_ccw',s) > 0 then result := GL_CCW;
if pos('gl_clamp',s) > 0 then result := GL_CLAMP;
if pos('gl_clear',s) > 0 then result := GL_CLEAR;
if pos('gl_clip_plane0',s) > 0 then result := GL_CLIP_PLANE0;
if pos('gl_clip_plane1',s) > 0 then result := GL_CLIP_PLANE1;
if pos('gl_clip_plane2',s) > 0 then result := GL_CLIP_PLANE2;
if pos('gl_clip_plane3',s) > 0 then result := GL_CLIP_PLANE3;
if pos('gl_clip_plane4',s) > 0 then result := GL_CLIP_PLANE4;
if pos('gl_clip_plane5',s) > 0 then result := GL_CLIP_PLANE5;
if pos('gl_coeff',s) > 0 then result := GL_COEFF;
if pos('gl_color',s) > 0 then result := GL_COLOR;
if pos('gl_color_array_count_ext',s) > 0 then result := GL_COLOR_ARRAY_COUNT_EXT;
if pos('gl_color_array_ext',s) > 0 then result := GL_COLOR_ARRAY_EXT;
if pos('gl_color_array_pointer_ext',s) > 0 then result := GL_COLOR_ARRAY_POINTER_EXT;
if pos('gl_color_array_size_ext',s) > 0 then result := GL_COLOR_ARRAY_SIZE_EXT;
if pos('gl_color_array_stride_ext',s) > 0 then result := GL_COLOR_ARRAY_STRIDE_EXT;
if pos('gl_color_array_type_ext',s) > 0 then result := GL_COLOR_ARRAY_TYPE_EXT;
if pos('gl_color_buffer_bit',s) > 0 then result := GL_COLOR_BUFFER_BIT;
if pos('gl_color_clear_value',s) > 0 then result := GL_COLOR_CLEAR_VALUE;
if pos('gl_color_index',s) > 0 then result := GL_COLOR_INDEX;
if pos('gl_color_indexes',s) > 0 then result := GL_COLOR_INDEXES;
if pos('gl_color_material',s) > 0 then result := GL_COLOR_MATERIAL;
if pos('gl_color_material_face',s) > 0 then result := GL_COLOR_MATERIAL_FACE;
if pos('gl_color_material_parameter',s) > 0 then result := GL_COLOR_MATERIAL_PARAMETER;
if pos('gl_color_writemask',s) > 0 then result := GL_COLOR_WRITEMASK;
if pos('gl_compile',s) > 0 then result := GL_COMPILE;
if pos('gl_compile_and_execute',s) > 0 then result := GL_COMPILE_AND_EXECUTE;
if pos('gl_constant_attenuation',s) > 0 then result := GL_CONSTANT_ATTENUATION;
if pos('gl_copy',s) > 0 then result := GL_COPY;
if pos('gl_copy_inverted',s) > 0 then result := GL_COPY_INVERTED;
if pos('gl_copy_pixel_token',s) > 0 then result := GL_COPY_PIXEL_TOKEN;
if pos('gl_cull_face',s) > 0 then result := GL_CULL_FACE;
if pos('gl_cull_face_mode',s) > 0 then result := GL_CULL_FACE_MODE;
if pos('gl_current_bit',s) > 0 then result := GL_CURRENT_BIT;
if pos('gl_current_color',s) > 0 then result := GL_CURRENT_COLOR;
if pos('gl_current_index',s) > 0 then result := GL_CURRENT_INDEX;
if pos('gl_current_normal',s) > 0 then result := GL_CURRENT_NORMAL;
if pos('gl_current_raster_color',s) > 0 then result := GL_CURRENT_RASTER_COLOR;
if pos('gl_current_raster_distance',s) > 0 then result := GL_CURRENT_RASTER_DISTANCE;
if pos('gl_current_raster_index',s) > 0 then result := GL_CURRENT_RASTER_INDEX;
if pos('gl_current_raster_position',s) > 0 then result := GL_CURRENT_RASTER_POSITION;
if pos('gl_current_raster_position_valid',s) > 0 then result := GL_CURRENT_RASTER_POSITION_VALID;
if pos('gl_current_raster_texture_coords',s) > 0 then result := GL_CURRENT_RASTER_TEXTURE_COORDS;
if pos('gl_current_texture_coords',s) > 0 then result := GL_CURRENT_TEXTURE_COORDS;
if pos('gl_cw',s) > 0 then result := GL_CW;
if pos('gl_decal',s) > 0 then result := GL_DECAL;
if pos('gl_decr',s) > 0 then result := GL_DECR;
if pos('gl_depth',s) > 0 then result := GL_DEPTH;
if pos('gl_depth_bias',s) > 0 then result := GL_DEPTH_BIAS;
if pos('gl_depth_bits',s) > 0 then result := GL_DEPTH_BITS;
if pos('gl_depth_buffer_bit',s) > 0 then result := GL_DEPTH_BUFFER_BIT;
if pos('gl_depth_clear_value',s) > 0 then result := GL_DEPTH_CLEAR_VALUE;
if pos('gl_depth_component',s) > 0 then result := GL_DEPTH_COMPONENT;
if pos('gl_depth_func',s) > 0 then result := GL_DEPTH_FUNC;
if pos('gl_depth_range',s) > 0 then result := GL_DEPTH_RANGE;
if pos('gl_depth_scale',s) > 0 then result := GL_DEPTH_SCALE;
if pos('gl_depth_test',s) > 0 then result := GL_DEPTH_TEST;
if pos('gl_depth_writemask',s) > 0 then result := GL_DEPTH_WRITEMASK;
if pos('gl_diffuse',s) > 0 then result := GL_DIFFUSE;
if pos('gl_dither',s) > 0 then result := GL_DITHER;
if pos('gl_domain',s) > 0 then result := GL_DOMAIN;
if pos('gl_dont_care',s) > 0 then result := GL_DONT_CARE;
if pos('gl_doublebuffer',s) > 0 then result := GL_DOUBLEBUFFER;
if pos('gl_draw_buffer',s) > 0 then result := GL_DRAW_BUFFER;
if pos('gl_draw_pixel_token',s) > 0 then result := GL_DRAW_PIXEL_TOKEN;
if pos('gl_dst_alpha',s) > 0 then result := GL_DST_ALPHA;
if pos('gl_dst_color',s) > 0 then result := GL_DST_COLOR;
if pos('gl_edge_flag',s) > 0 then result := GL_EDGE_FLAG;
if pos('gl_edge_flag_array_count_ext',s) > 0 then result := GL_EDGE_FLAG_ARRAY_COUNT_EXT;
if pos('gl_edge_flag_array_ext',s) > 0 then result := GL_EDGE_FLAG_ARRAY_EXT;
if pos('gl_edge_flag_array_pointer_ext',s) > 0 then result := GL_EDGE_FLAG_ARRAY_POINTER_EXT;
if pos('gl_edge_flag_array_stride_ext',s) > 0 then result := GL_EDGE_FLAG_ARRAY_STRIDE_EXT;
if pos('gl_emission',s) > 0 then result := GL_EMISSION;
if pos('gl_enable_bit',s) > 0 then result := GL_ENABLE_BIT;
if pos('gl_equal',s) > 0 then result := GL_EQUAL;
if pos('gl_equiv',s) > 0 then result := GL_EQUIV;
if pos('gl_eval_bit',s) > 0 then result := GL_EVAL_BIT;
if pos('gl_exp',s) > 0 then result := GL_EXP;
if pos('gl_exp2',s) > 0 then result := GL_EXP2;
//if pos('gl_ext_vertex_array',s) > 0 then result := GL_EXT_vertex_array;
if pos('gl_extensions',s) > 0 then result := GL_EXTENSIONS;
if pos('gl_eye_linear',s) > 0 then result := GL_EYE_LINEAR;
if pos('gl_eye_plane',s) > 0 then result := GL_EYE_PLANE;
if pos('gl_fastest',s) > 0 then result := GL_FASTEST;
if pos('gl_feedback',s) > 0 then result := GL_FEEDBACK;
if pos('gl_fill',s) > 0 then result := GL_FILL;
if pos('gl_flat',s) > 0 then result := GL_FLAT;
if pos('gl_float',s) > 0 then result := GL_FLOAT;
if pos('gl_fog',s) > 0 then result := GL_FOG;
if pos('gl_fog_bit',s) > 0 then result := GL_FOG_BIT;
if pos('gl_fog_color',s) > 0 then result := GL_FOG_COLOR;
if pos('gl_fog_density',s) > 0 then result := GL_FOG_DENSITY;
if pos('gl_fog_end',s) > 0 then result := GL_FOG_END;
if pos('gl_fog_hint',s) > 0 then result := GL_FOG_HINT;
if pos('gl_fog_index',s) > 0 then result := GL_FOG_INDEX;
if pos('gl_fog_mode',s) > 0 then result := GL_FOG_MODE;
if pos('gl_fog_start',s) > 0 then result := GL_FOG_START;
if pos('gl_front',s) > 0 then result := GL_FRONT;
if pos('gl_front_and_back',s) > 0 then result := GL_FRONT_AND_BACK;
if pos('gl_front_face',s) > 0 then result := GL_FRONT_FACE;
if pos('gl_front_left',s) > 0 then result := GL_FRONT_LEFT;
if pos('gl_front_right',s) > 0 then result := GL_FRONT_RIGHT;
if pos('gl_gequal',s) > 0 then result := GL_GEQUAL;
if pos('gl_greater',s) > 0 then result := GL_GREATER;
if pos('gl_green',s) > 0 then result := GL_GREEN;
if pos('gl_green_bias',s) > 0 then result := GL_GREEN_BIAS;
if pos('gl_green_bits',s) > 0 then result := GL_GREEN_BITS;
if pos('gl_green_scale',s) > 0 then result := GL_GREEN_SCALE;
if pos('gl_hint_bit',s) > 0 then result := GL_HINT_BIT;
if pos('gl_incr',s) > 0 then result := GL_INCR;
if pos('gl_index_array_count_ext',s) > 0 then result := GL_INDEX_ARRAY_COUNT_EXT;
if pos('gl_index_array_ext',s) > 0 then result := GL_INDEX_ARRAY_EXT;
if pos('gl_index_array_pointer_ext',s) > 0 then result := GL_INDEX_ARRAY_POINTER_EXT;
if pos('gl_index_array_stride_ext',s) > 0 then result := GL_INDEX_ARRAY_STRIDE_EXT;
if pos('gl_index_array_type_ext',s) > 0 then result := GL_INDEX_ARRAY_TYPE_EXT;
if pos('gl_index_bits',s) > 0 then result := GL_INDEX_BITS;
if pos('gl_index_clear_value',s) > 0 then result := GL_INDEX_CLEAR_VALUE;
if pos('gl_index_mode',s) > 0 then result := GL_INDEX_MODE;
if pos('gl_index_offset',s) > 0 then result := GL_INDEX_OFFSET;
if pos('gl_index_shift',s) > 0 then result := GL_INDEX_SHIFT;
if pos('gl_index_writemask',s) > 0 then result := GL_INDEX_WRITEMASK;
if pos('gl_int',s) > 0 then result := GL_INT;
if pos('gl_invalid_enum',s) > 0 then result := GL_INVALID_ENUM;
if pos('gl_invalid_operation',s) > 0 then result := GL_INVALID_OPERATION;
if pos('gl_invalid_value',s) > 0 then result := GL_INVALID_VALUE;
if pos('gl_invert',s) > 0 then result := GL_INVERT;
if pos('gl_keep',s) > 0 then result := GL_KEEP;
if pos('gl_left',s) > 0 then result := GL_LEFT;
if pos('gl_lequal',s) > 0 then result := GL_LEQUAL;
if pos('gl_less',s) > 0 then result := GL_LESS;
if pos('gl_light_model_ambient',s) > 0 then result := GL_LIGHT_MODEL_AMBIENT;
if pos('gl_light_model_local_viewer',s) > 0 then result := GL_LIGHT_MODEL_LOCAL_VIEWER;
if pos('gl_light_model_two_side',s) > 0 then result := GL_LIGHT_MODEL_TWO_SIDE;
if pos('gl_light0',s) > 0 then result := GL_LIGHT0;
if pos('gl_light1',s) > 0 then result := GL_LIGHT1;
if pos('gl_light2',s) > 0 then result := GL_LIGHT2;
if pos('gl_light3',s) > 0 then result := GL_LIGHT3;
if pos('gl_light4',s) > 0 then result := GL_LIGHT4;
if pos('gl_light5',s) > 0 then result := GL_LIGHT5;
if pos('gl_light6',s) > 0 then result := GL_LIGHT6;
if pos('gl_light7',s) > 0 then result := GL_LIGHT7;
if pos('gl_lighting',s) > 0 then result := GL_LIGHTING;
if pos('gl_lighting_bit',s) > 0 then result := GL_LIGHTING_BIT;
if pos('gl_line',s) > 0 then result := GL_LINE;
if pos('gl_line_bit',s) > 0 then result := GL_LINE_BIT;
if pos('gl_line_loop',s) > 0 then result := GL_LINE_LOOP;
if pos('gl_line_reset_token',s) > 0 then result := GL_LINE_RESET_TOKEN;
if pos('gl_line_smooth',s) > 0 then result := GL_LINE_SMOOTH;
if pos('gl_line_smooth_hint',s) > 0 then result := GL_LINE_SMOOTH_HINT;
if pos('gl_line_stipple',s) > 0 then result := GL_LINE_STIPPLE;
if pos('gl_line_stipple_pattern',s) > 0 then result := GL_LINE_STIPPLE_PATTERN;
if pos('gl_line_stipple_repeat',s) > 0 then result := GL_LINE_STIPPLE_REPEAT;
if pos('gl_line_strip',s) > 0 then result := GL_LINE_STRIP;
if pos('gl_line_token',s) > 0 then result := GL_LINE_TOKEN;
if pos('gl_line_width',s) > 0 then result := GL_LINE_WIDTH;
if pos('gl_line_width_granularity',s) > 0 then result := GL_LINE_WIDTH_GRANULARITY;
if pos('gl_line_width_range',s) > 0 then result := GL_LINE_WIDTH_RANGE;
if pos('gl_linear',s) > 0 then result := GL_LINEAR;
if pos('gl_linear_attenuation',s) > 0 then result := GL_LINEAR_ATTENUATION;
if pos('gl_linear_mipmap_linear',s) > 0 then result := GL_LINEAR_MIPMAP_LINEAR;
if pos('gl_linear_mipmap_nearest',s) > 0 then result := GL_LINEAR_MIPMAP_NEAREST;
if pos('gl_lines',s) > 0 then result := GL_LINES;
if pos('gl_list_base',s) > 0 then result := GL_LIST_BASE;
if pos('gl_list_bit',s) > 0 then result := GL_LIST_BIT;
if pos('gl_list_index',s) > 0 then result := GL_LIST_INDEX;
if pos('gl_list_mode',s) > 0 then result := GL_LIST_MODE;
if pos('gl_load',s) > 0 then result := GL_LOAD;
if pos('gl_logic_op',s) > 0 then result := GL_LOGIC_OP;
if pos('gl_logic_op_mode',s) > 0 then result := GL_LOGIC_OP_MODE;
if pos('gl_luminance',s) > 0 then result := GL_LUMINANCE;
if pos('gl_luminance_alpha',s) > 0 then result := GL_LUMINANCE_ALPHA;
if pos('gl_map_color',s) > 0 then result := GL_MAP_COLOR;
if pos('gl_map_stencil',s) > 0 then result := GL_MAP_STENCIL;
if pos('gl_map1_color_4',s) > 0 then result := GL_MAP1_COLOR_4;
if pos('gl_map1_grid_domain',s) > 0 then result := GL_MAP1_GRID_DOMAIN;
if pos('gl_map1_grid_segments',s) > 0 then result := GL_MAP1_GRID_SEGMENTS;
if pos('gl_map1_index',s) > 0 then result := GL_MAP1_INDEX;
if pos('gl_map1_normal',s) > 0 then result := GL_MAP1_NORMAL;
if pos('gl_map1_texture_coord_1',s) > 0 then result := GL_MAP1_TEXTURE_COORD_1;
if pos('gl_map1_texture_coord_2',s) > 0 then result := GL_MAP1_TEXTURE_COORD_2;
if pos('gl_map1_texture_coord_3',s) > 0 then result := GL_MAP1_TEXTURE_COORD_3;
if pos('gl_map1_texture_coord_4',s) > 0 then result := GL_MAP1_TEXTURE_COORD_4;
if pos('gl_map1_vertex_3',s) > 0 then result := GL_MAP1_VERTEX_3;
if pos('gl_map1_vertex_4',s) > 0 then result := GL_MAP1_VERTEX_4;
if pos('gl_map2_color_4',s) > 0 then result := GL_MAP2_COLOR_4;
if pos('gl_map2_grid_domain',s) > 0 then result := GL_MAP2_GRID_DOMAIN;
if pos('gl_map2_grid_segments',s) > 0 then result := GL_MAP2_GRID_SEGMENTS;
if pos('gl_map2_index',s) > 0 then result := GL_MAP2_INDEX;
if pos('gl_map2_normal',s) > 0 then result := GL_MAP2_NORMAL;
if pos('gl_map2_texture_coord_1',s) > 0 then result := GL_MAP2_TEXTURE_COORD_1;
if pos('gl_map2_texture_coord_2',s) > 0 then result := GL_MAP2_TEXTURE_COORD_2;
if pos('gl_map2_texture_coord_3',s) > 0 then result := GL_MAP2_TEXTURE_COORD_3;
if pos('gl_map2_texture_coord_4',s) > 0 then result := GL_MAP2_TEXTURE_COORD_4;
if pos('gl_map2_vertex_3',s) > 0 then result := GL_MAP2_VERTEX_3;
if pos('gl_map2_vertex_4',s) > 0 then result := GL_MAP2_VERTEX_4;
if pos('gl_matrix_mode',s) > 0 then result := GL_MATRIX_MODE;
if pos('gl_max_attrib_stack_depth',s) > 0 then result := GL_MAX_ATTRIB_STACK_DEPTH;
if pos('gl_max_clip_planes',s) > 0 then result := GL_MAX_CLIP_PLANES;
if pos('gl_max_eval_order',s) > 0 then result := GL_MAX_EVAL_ORDER;
if pos('gl_max_lights',s) > 0 then result := GL_MAX_LIGHTS;
if pos('gl_max_list_nesting',s) > 0 then result := GL_MAX_LIST_NESTING;
if pos('gl_max_modelview_stack_depth',s) > 0 then result := GL_MAX_MODELVIEW_STACK_DEPTH;
if pos('gl_max_name_stack_depth',s) > 0 then result := GL_MAX_NAME_STACK_DEPTH;
if pos('gl_max_pixel_map_table',s) > 0 then result := GL_MAX_PIXEL_MAP_TABLE;
if pos('gl_max_projection_stack_depth',s) > 0 then result := GL_MAX_PROJECTION_STACK_DEPTH;
if pos('gl_max_texture_size',s) > 0 then result := GL_MAX_TEXTURE_SIZE;
if pos('gl_max_texture_stack_depth',s) > 0 then result := GL_MAX_TEXTURE_STACK_DEPTH;
if pos('gl_max_viewport_dims',s) > 0 then result := GL_MAX_VIEWPORT_DIMS;
if pos('gl_modelview',s) > 0 then result := GL_MODELVIEW;
if pos('gl_modelview_matrix',s) > 0 then result := GL_MODELVIEW_MATRIX;
if pos('gl_modelview_stack_depth',s) > 0 then result := GL_MODELVIEW_STACK_DEPTH;
if pos('gl_modulate',s) > 0 then result := GL_MODULATE;
if pos('gl_mult',s) > 0 then result := GL_MULT;
if pos('gl_name_stack_depth',s) > 0 then result := GL_NAME_STACK_DEPTH;
if pos('gl_nand',s) > 0 then result := GL_NAND;
if pos('gl_nearest',s) > 0 then result := GL_NEAREST;
if pos('gl_nearest_mipmap_linear',s) > 0 then result := GL_NEAREST_MIPMAP_LINEAR;
if pos('gl_nearest_mipmap_nearest',s) > 0 then result := GL_NEAREST_MIPMAP_NEAREST;
if pos('gl_never',s) > 0 then result := GL_NEVER;
if pos('gl_nicest',s) > 0 then result := GL_NICEST;
if pos('gl_no_error',s) > 0 then result := GL_NO_ERROR;
if pos('gl_none',s) > 0 then result := GL_NONE;
if pos('gl_noop',s) > 0 then result := GL_NOOP;
if pos('gl_nor',s) > 0 then result := GL_NOR;
if pos('gl_normal_array_count_ext',s) > 0 then result := GL_NORMAL_ARRAY_COUNT_EXT;
if pos('gl_normal_array_ext',s) > 0 then result := GL_NORMAL_ARRAY_EXT;
if pos('gl_normal_array_pointer_ext',s) > 0 then result := GL_NORMAL_ARRAY_POINTER_EXT;
if pos('gl_normal_array_stride_ext',s) > 0 then result := GL_NORMAL_ARRAY_STRIDE_EXT;
if pos('gl_normal_array_type_ext',s) > 0 then result := GL_NORMAL_ARRAY_TYPE_EXT;
if pos('gl_normalize',s) > 0 then result := GL_NORMALIZE;
if pos('gl_notequal',s) > 0 then result := GL_NOTEQUAL;
if pos('gl_object_linear',s) > 0 then result := GL_OBJECT_LINEAR;
if pos('gl_object_plane',s) > 0 then result := GL_OBJECT_PLANE;
if pos('gl_one',s) > 0 then result := GL_ONE;
if pos('gl_one_minus_dst_alpha',s) > 0 then result := GL_ONE_MINUS_DST_ALPHA;
if pos('gl_one_minus_dst_color',s) > 0 then result := GL_ONE_MINUS_DST_COLOR;
if pos('gl_one_minus_src_alpha',s) > 0 then result := GL_ONE_MINUS_SRC_ALPHA;
if pos('gl_one_minus_src_color',s) > 0 then result := GL_ONE_MINUS_SRC_COLOR;
if pos('gl_or',s) > 0 then result := GL_OR;
if pos('gl_or_inverted',s) > 0 then result := GL_OR_INVERTED;
if pos('gl_or_reverse',s) > 0 then result := GL_OR_REVERSE;
if pos('gl_order',s) > 0 then result := GL_ORDER;
if pos('gl_out_of_memory',s) > 0 then result := GL_OUT_OF_MEMORY;
if pos('gl_pack_alignment',s) > 0 then result := GL_PACK_ALIGNMENT;
if pos('gl_pack_lsb_first',s) > 0 then result := GL_PACK_LSB_FIRST;
if pos('gl_pack_row_length',s) > 0 then result := GL_PACK_ROW_LENGTH;
if pos('gl_pack_skip_pixels',s) > 0 then result := GL_PACK_SKIP_PIXELS;
if pos('gl_pack_skip_rows',s) > 0 then result := GL_PACK_SKIP_ROWS;
if pos('gl_pack_swap_bytes',s) > 0 then result := GL_PACK_SWAP_BYTES;
if pos('gl_pass_through_token',s) > 0 then result := GL_PASS_THROUGH_TOKEN;
if pos('gl_perspective_correction_hint',s) > 0 then result := GL_PERSPECTIVE_CORRECTION_HINT;
if pos('gl_pixel_map_a_to_a',s) > 0 then result := GL_PIXEL_MAP_A_TO_A;
if pos('gl_pixel_map_a_to_a_size',s) > 0 then result := GL_PIXEL_MAP_A_TO_A_SIZE;
if pos('gl_pixel_map_b_to_b',s) > 0 then result := GL_PIXEL_MAP_B_TO_B;
if pos('gl_pixel_map_b_to_b_size',s) > 0 then result := GL_PIXEL_MAP_B_TO_B_SIZE;
if pos('gl_pixel_map_g_to_g',s) > 0 then result := GL_PIXEL_MAP_G_TO_G;
if pos('gl_pixel_map_g_to_g_size',s) > 0 then result := GL_PIXEL_MAP_G_TO_G_SIZE;
if pos('gl_pixel_map_i_to_a',s) > 0 then result := GL_PIXEL_MAP_I_TO_A;
if pos('gl_pixel_map_i_to_a_size',s) > 0 then result := GL_PIXEL_MAP_I_TO_A_SIZE;
if pos('gl_pixel_map_i_to_b',s) > 0 then result := GL_PIXEL_MAP_I_TO_B;
if pos('gl_pixel_map_i_to_b_size',s) > 0 then result := GL_PIXEL_MAP_I_TO_B_SIZE;
if pos('gl_pixel_map_i_to_g',s) > 0 then result := GL_PIXEL_MAP_I_TO_G;
if pos('gl_pixel_map_i_to_g_size',s) > 0 then result := GL_PIXEL_MAP_I_TO_G_SIZE;
if pos('gl_pixel_map_i_to_i',s) > 0 then result := GL_PIXEL_MAP_I_TO_I;
if pos('gl_pixel_map_i_to_i_size',s) > 0 then result := GL_PIXEL_MAP_I_TO_I_SIZE;
if pos('gl_pixel_map_i_to_r',s) > 0 then result := GL_PIXEL_MAP_I_TO_R;
if pos('gl_pixel_map_i_to_r_size',s) > 0 then result := GL_PIXEL_MAP_I_TO_R_SIZE;
if pos('gl_pixel_map_r_to_r',s) > 0 then result := GL_PIXEL_MAP_R_TO_R;
if pos('gl_pixel_map_r_to_r_size',s) > 0 then result := GL_PIXEL_MAP_R_TO_R_SIZE;
if pos('gl_pixel_map_s_to_s',s) > 0 then result := GL_PIXEL_MAP_S_TO_S;
if pos('gl_pixel_map_s_to_s_size',s) > 0 then result := GL_PIXEL_MAP_S_TO_S_SIZE;
if pos('gl_pixel_mode_bit',s) > 0 then result := GL_PIXEL_MODE_BIT;
if pos('gl_point',s) > 0 then result := GL_POINT;
if pos('gl_point_bit',s) > 0 then result := GL_POINT_BIT;
if pos('gl_point_size',s) > 0 then result := GL_POINT_SIZE;
if pos('gl_point_size_granularity',s) > 0 then result := GL_POINT_SIZE_GRANULARITY;
if pos('gl_point_size_range',s) > 0 then result := GL_POINT_SIZE_RANGE;
if pos('gl_point_smooth',s) > 0 then result := GL_POINT_SMOOTH;
if pos('gl_point_smooth_hint',s) > 0 then result := GL_POINT_SMOOTH_HINT;
if pos('gl_point_token',s) > 0 then result := GL_POINT_TOKEN;
if pos('gl_points',s) > 0 then result := GL_POINTS;
if pos('gl_polygon',s) > 0 then result := GL_POLYGON;
if pos('gl_polygon_bit',s) > 0 then result := GL_POLYGON_BIT;
if pos('gl_polygon_mode',s) > 0 then result := GL_POLYGON_MODE;
if pos('gl_polygon_smooth',s) > 0 then result := GL_POLYGON_SMOOTH;
if pos('gl_polygon_smooth_hint',s) > 0 then result := GL_POLYGON_SMOOTH_HINT;
if pos('gl_polygon_stipple',s) > 0 then result := GL_POLYGON_STIPPLE;
if pos('gl_polygon_stipple_bit',s) > 0 then result := GL_POLYGON_STIPPLE_BIT;
if pos('gl_polygon_token',s) > 0 then result := GL_POLYGON_TOKEN;
if pos('gl_position',s) > 0 then result := GL_POSITION;
if pos('gl_projection',s) > 0 then result := GL_PROJECTION;
if pos('gl_projection_matrix',s) > 0 then result := GL_PROJECTION_MATRIX;
if pos('gl_projection_stack_depth',s) > 0 then result := GL_PROJECTION_STACK_DEPTH;
if pos('gl_q',s) > 0 then result := GL_Q;
if pos('gl_quad_strip',s) > 0 then result := GL_QUAD_STRIP;
if pos('gl_quadratic_attenuation',s) > 0 then result := GL_QUADRATIC_ATTENUATION;
if pos('gl_quads',s) > 0 then result := GL_QUADS;
if pos('gl_r',s) > 0 then result := GL_R;
if pos('gl_read_buffer',s) > 0 then result := GL_READ_BUFFER;
if pos('gl_red',s) > 0 then result := GL_RED;
if pos('gl_red_bias',s) > 0 then result := GL_RED_BIAS;
if pos('gl_red_bits',s) > 0 then result := GL_RED_BITS;
if pos('gl_red_scale',s) > 0 then result := GL_RED_SCALE;
if pos('gl_render',s) > 0 then result := GL_RENDER;
if pos('gl_render_mode',s) > 0 then result := GL_RENDER_MODE;
if pos('gl_renderer',s) > 0 then result := GL_RENDERER;
if pos('gl_repeat',s) > 0 then result := GL_REPEAT;
if pos('gl_replace',s) > 0 then result := GL_REPLACE;
if pos('gl_return',s) > 0 then result := GL_RETURN;
if pos('gl_rgb',s) > 0 then result := GL_RGB;
if pos('gl_rgba',s) > 0 then result := GL_RGBA;
if pos('gl_rgba_mode',s) > 0 then result := GL_RGBA_MODE;
if pos('gl_right',s) > 0 then result := GL_RIGHT;
if pos('gl_s',s) > 0 then result := GL_S;
if pos('gl_scissor_bit',s) > 0 then result := GL_SCISSOR_BIT;
if pos('gl_scissor_box',s) > 0 then result := GL_SCISSOR_BOX;
if pos('gl_scissor_test',s) > 0 then result := GL_SCISSOR_TEST;
if pos('gl_select',s) > 0 then result := GL_SELECT;
if pos('gl_set',s) > 0 then result := GL_SET;
if pos('gl_shade_model',s) > 0 then result := GL_SHADE_MODEL;
if pos('gl_shininess',s) > 0 then result := GL_SHININESS;
if pos('gl_short',s) > 0 then result := GL_SHORT;
if pos('gl_smooth',s) > 0 then result := GL_SMOOTH;
if pos('gl_specular',s) > 0 then result := GL_SPECULAR;
if pos('gl_sphere_map',s) > 0 then result := GL_SPHERE_MAP;
if pos('gl_spot_cutoff',s) > 0 then result := GL_SPOT_CUTOFF;
if pos('gl_spot_direction',s) > 0 then result := GL_SPOT_DIRECTION;
if pos('gl_spot_exponent',s) > 0 then result := GL_SPOT_EXPONENT;
if pos('gl_src_alpha',s) > 0 then result := GL_SRC_ALPHA;
if pos('gl_src_alpha_saturate',s) > 0 then result := GL_SRC_ALPHA_SATURATE;
if pos('gl_src_color',s) > 0 then result := GL_SRC_COLOR;
if pos('gl_stack_overflow',s) > 0 then result := GL_STACK_OVERFLOW;
if pos('gl_stack_underflow',s) > 0 then result := GL_STACK_UNDERFLOW;
if pos('gl_stencil',s) > 0 then result := GL_STENCIL;
if pos('gl_stencil_bits',s) > 0 then result := GL_STENCIL_BITS;
if pos('gl_stencil_buffer_bit',s) > 0 then result := GL_STENCIL_BUFFER_BIT;
if pos('gl_stencil_clear_value',s) > 0 then result := GL_STENCIL_CLEAR_VALUE;
if pos('gl_stencil_fail',s) > 0 then result := GL_STENCIL_FAIL;
if pos('gl_stencil_func',s) > 0 then result := GL_STENCIL_FUNC;
if pos('gl_stencil_index',s) > 0 then result := GL_STENCIL_INDEX;
if pos('gl_stencil_pass_depth_fail',s) > 0 then result := GL_STENCIL_PASS_DEPTH_FAIL;
if pos('gl_stencil_pass_depth_pass',s) > 0 then result := GL_STENCIL_PASS_DEPTH_PASS;
if pos('gl_stencil_ref',s) > 0 then result := GL_STENCIL_REF;
if pos('gl_stencil_test',s) > 0 then result := GL_STENCIL_TEST;
if pos('gl_stencil_value_mask',s) > 0 then result := GL_STENCIL_VALUE_MASK;
if pos('gl_stencil_writemask',s) > 0 then result := GL_STENCIL_WRITEMASK;
if pos('gl_stereo',s) > 0 then result := GL_STEREO;
if pos('gl_subpixel_bits',s) > 0 then result := GL_SUBPIXEL_BITS;
if pos('gl_t',s) > 0 then result := GL_T;
if pos('gl_texture',s) > 0 then result := GL_TEXTURE;
if pos('gl_texture_1d',s) > 0 then result := GL_TEXTURE_1D;
if pos('gl_texture_2d',s) > 0 then result := GL_TEXTURE_2D;
if pos('gl_texture_bit',s) > 0 then result := GL_TEXTURE_BIT;
if pos('gl_texture_border',s) > 0 then result := GL_TEXTURE_BORDER;
if pos('gl_texture_border_color',s) > 0 then result := GL_TEXTURE_BORDER_COLOR;
if pos('gl_texture_components',s) > 0 then result := GL_TEXTURE_COMPONENTS;
if pos('gl_texture_coord_array_count_ext',s) > 0 then result := GL_TEXTURE_COORD_ARRAY_COUNT_EXT;
if pos('gl_texture_coord_array_ext',s) > 0 then result := GL_TEXTURE_COORD_ARRAY_EXT;
if pos('gl_texture_coord_array_pointer_ext',s) > 0 then result := GL_TEXTURE_COORD_ARRAY_POINTER_EXT;
if pos('gl_texture_coord_array_size_ext',s) > 0 then result := GL_TEXTURE_COORD_ARRAY_SIZE_EXT;
if pos('gl_texture_coord_array_stride_ext',s) > 0 then result := GL_TEXTURE_COORD_ARRAY_STRIDE_EXT;
if pos('gl_texture_coord_array_type_ext',s) > 0 then result := GL_TEXTURE_COORD_ARRAY_TYPE_EXT;
if pos('gl_texture_env',s) > 0 then result := GL_TEXTURE_ENV;
if pos('gl_texture_env_color',s) > 0 then result := GL_TEXTURE_ENV_COLOR;
if pos('gl_texture_env_mode',s) > 0 then result := GL_TEXTURE_ENV_MODE;
if pos('gl_texture_gen_mode',s) > 0 then result := GL_TEXTURE_GEN_MODE;
if pos('gl_texture_gen_q',s) > 0 then result := GL_TEXTURE_GEN_Q;
if pos('gl_texture_gen_r',s) > 0 then result := GL_TEXTURE_GEN_R;
if pos('gl_texture_gen_s',s) > 0 then result := GL_TEXTURE_GEN_S;
if pos('gl_texture_gen_t',s) > 0 then result := GL_TEXTURE_GEN_T;
if pos('gl_texture_height',s) > 0 then result := GL_TEXTURE_HEIGHT;
if pos('gl_texture_mag_filter',s) > 0 then result := GL_TEXTURE_MAG_FILTER;
if pos('gl_texture_matrix',s) > 0 then result := GL_TEXTURE_MATRIX;
if pos('gl_texture_min_filter',s) > 0 then result := GL_TEXTURE_MIN_FILTER;
if pos('gl_texture_stack_depth',s) > 0 then result := GL_TEXTURE_STACK_DEPTH;
if pos('gl_texture_width',s) > 0 then result := GL_TEXTURE_WIDTH;
if pos('gl_texture_wrap_s',s) > 0 then result := GL_TEXTURE_WRAP_S;
if pos('gl_texture_wrap_t',s) > 0 then result := GL_TEXTURE_WRAP_T;
if pos('gl_transform_bit',s) > 0 then result := GL_TRANSFORM_BIT;
if pos('gl_triangle_fan',s) > 0 then result := GL_TRIANGLE_FAN;
if pos('gl_triangle_strip',s) > 0 then result := GL_TRIANGLE_STRIP;
if pos('gl_triangles',s) > 0 then result := GL_TRIANGLES;
if pos('gl_unpack_alignment',s) > 0 then result := GL_UNPACK_ALIGNMENT;
if pos('gl_unpack_lsb_first',s) > 0 then result := GL_UNPACK_LSB_FIRST;
if pos('gl_unpack_row_length',s) > 0 then result := GL_UNPACK_ROW_LENGTH;
if pos('gl_unpack_skip_pixels',s) > 0 then result := GL_UNPACK_SKIP_PIXELS;
if pos('gl_unpack_skip_rows',s) > 0 then result := GL_UNPACK_SKIP_ROWS;
if pos('gl_unpack_swap_bytes',s) > 0 then result := GL_UNPACK_SWAP_BYTES;
if pos('gl_unsigned_byte',s) > 0 then result := GL_UNSIGNED_BYTE;
if pos('gl_unsigned_int',s) > 0 then result := GL_UNSIGNED_INT;
if pos('gl_unsigned_short',s) > 0 then result := GL_UNSIGNED_SHORT;
if pos('gl_vendor',s) > 0 then result := GL_VENDOR;
if pos('gl_version',s) > 0 then result := GL_VERSION;
if pos('gl_vertex_array_count_ext',s) > 0 then result := GL_VERTEX_ARRAY_COUNT_EXT;
if pos('gl_vertex_array_ext',s) > 0 then result := GL_VERTEX_ARRAY_EXT;
if pos('gl_vertex_array_pointer_ext',s) > 0 then result := GL_VERTEX_ARRAY_POINTER_EXT;
if pos('gl_vertex_array_size_ext',s) > 0 then result := GL_VERTEX_ARRAY_SIZE_EXT;
if pos('gl_vertex_array_stride_ext',s) > 0 then result := GL_VERTEX_ARRAY_STRIDE_EXT;
if pos('gl_vertex_array_type_ext',s) > 0 then result := GL_VERTEX_ARRAY_TYPE_EXT;
if pos('gl_viewport',s) > 0 then result := GL_VIEWPORT;
if pos('gl_viewport_bit',s) > 0 then result := GL_VIEWPORT_BIT;
if pos('gl_win_swap_hint',s) > 0 then result := GL_WIN_swap_hint;
if pos('gl_xor',s) > 0 then result := GL_XOR;
if pos('gl_zero',s) > 0 then result := GL_ZERO;
if pos('gl_zoom_x',s) > 0 then result := GL_ZOOM_X;
if pos('gl_zoom_y',s) > 0 then result := GL_ZOOM_Y;
if pos('gl_constant_color',s) > 0 then result := GL_CONSTANT_COLOR;
if pos('gl_one_minus_constant_color',s) > 0 then result := GL_ONE_MINUS_CONSTANT_COLOR;
if pos('gl_constant_alpha',s) > 0 then result := GL_CONSTANT_ALPHA;
if pos('gl_one_minus_constant_alpha',s) > 0 then result := GL_ONE_MINUS_CONSTANT_ALPHA;
if pos('gl_blend_color',s) > 0 then result := GL_BLEND_COLOR;
if pos('gl_func_add',s) > 0 then result := GL_FUNC_ADD;
if pos('gl_min',s) > 0 then result := GL_MIN;
if pos('gl_max',s) > 0 then result := GL_MAX;
if pos('gl_blend_equation',s) > 0 then result := GL_BLEND_EQUATION;
if pos('gl_func_subtract',s) > 0 then result := GL_FUNC_SUBTRACT;
if pos('gl_func_reverse_subtract',s) > 0 then result := GL_FUNC_REVERSE_SUBTRACT;
if pos('gl_convolution_1d',s) > 0 then result := GL_CONVOLUTION_1D;
if pos('gl_convolution_2d',s) > 0 then result := GL_CONVOLUTION_2D;
if pos('gl_separable_2d',s) > 0 then result := GL_SEPARABLE_2D;
if pos('gl_convolution_border_mode',s) > 0 then result := GL_CONVOLUTION_BORDER_MODE;
if pos('gl_convolution_filter_scale',s) > 0 then result := GL_CONVOLUTION_FILTER_SCALE;
if pos('gl_convolution_filter_bias',s) > 0 then result := GL_CONVOLUTION_FILTER_BIAS;
if pos('gl_reduce',s) > 0 then result := GL_REDUCE;
if pos('gl_convolution_format',s) > 0 then result := GL_CONVOLUTION_FORMAT;
if pos('gl_convolution_width',s) > 0 then result := GL_CONVOLUTION_WIDTH;
if pos('gl_convolution_height',s) > 0 then result := GL_CONVOLUTION_HEIGHT;
if pos('gl_max_convolution_width',s) > 0 then result := GL_MAX_CONVOLUTION_WIDTH;
if pos('gl_max_convolution_height',s) > 0 then result := GL_MAX_CONVOLUTION_HEIGHT;
if pos('gl_post_convolution_red_scale',s) > 0 then result := GL_POST_CONVOLUTION_RED_SCALE;
if pos('gl_post_convolution_green_scale',s) > 0 then result := GL_POST_CONVOLUTION_GREEN_SCALE;
if pos('gl_post_convolution_blue_scale',s) > 0 then result := GL_POST_CONVOLUTION_BLUE_SCALE;
if pos('gl_post_convolution_alpha_scale',s) > 0 then result := GL_POST_CONVOLUTION_ALPHA_SCALE;
if pos('gl_post_convolution_red_bias',s) > 0 then result := GL_POST_CONVOLUTION_RED_BIAS;
if pos('gl_post_convolution_green_bias',s) > 0 then result := GL_POST_CONVOLUTION_GREEN_BIAS;
if pos('gl_post_convolution_blue_bias',s) > 0 then result := GL_POST_CONVOLUTION_BLUE_BIAS;
if pos('gl_post_convolution_alpha_bias',s) > 0 then result := GL_POST_CONVOLUTION_ALPHA_BIAS;
if pos('gl_histogram',s) > 0 then result := GL_HISTOGRAM;
if pos('gl_proxy_histogram',s) > 0 then result := GL_PROXY_HISTOGRAM;
if pos('gl_histogram_width',s) > 0 then result := GL_HISTOGRAM_WIDTH;
if pos('gl_histogram_format',s) > 0 then result := GL_HISTOGRAM_FORMAT;
if pos('gl_histogram_red_size',s) > 0 then result := GL_HISTOGRAM_RED_SIZE;
if pos('gl_histogram_green_size',s) > 0 then result := GL_HISTOGRAM_GREEN_SIZE;
if pos('gl_histogram_blue_size',s) > 0 then result := GL_HISTOGRAM_BLUE_SIZE;
if pos('gl_histogram_alpha_size',s) > 0 then result := GL_HISTOGRAM_ALPHA_SIZE;
if pos('gl_histogram_luminance_size',s) > 0 then result := GL_HISTOGRAM_LUMINANCE_SIZE;
if pos('gl_histogram_sink',s) > 0 then result := GL_HISTOGRAM_SINK;
if pos('gl_minmax',s) > 0 then result := GL_MINMAX;
if pos('gl_minmax_format',s) > 0 then result := GL_MINMAX_FORMAT;
if pos('gl_minmax_sink',s) > 0 then result := GL_MINMAX_SINK;
if pos('gl_table_too_large',s) > 0 then result := GL_TABLE_TOO_LARGE;
if pos('gl_color_matrix',s) > 0 then result := GL_COLOR_MATRIX;
if pos('gl_color_matrix_stack_depth',s) > 0 then result := GL_COLOR_MATRIX_STACK_DEPTH;
if pos('gl_max_color_matrix_stack_depth',s) > 0 then result := GL_MAX_COLOR_MATRIX_STACK_DEPTH;
if pos('gl_post_color_matrix_red_scale',s) > 0 then result := GL_POST_COLOR_MATRIX_RED_SCALE;
if pos('gl_post_color_matrix_green_scale',s) > 0 then result := GL_POST_COLOR_MATRIX_GREEN_SCALE;
if pos('gl_post_color_matrix_blue_scale',s) > 0 then result := GL_POST_COLOR_MATRIX_BLUE_SCALE;
if pos('gl_post_color_matrix_alpha_scale',s) > 0 then result := GL_POST_COLOR_MATRIX_ALPHA_SCALE;
if pos('gl_post_color_matrix_red_bias',s) > 0 then result := GL_POST_COLOR_MATRIX_RED_BIAS;
if pos('gl_post_color_matrix_green_bias',s) > 0 then result := GL_POST_COLOR_MATRIX_GREEN_BIAS;
if pos('gl_post_color_matrix_blue_bias',s) > 0 then result := GL_POST_COLOR_MATRIX_BLUE_BIAS;
if pos('gl_post_color_matrix_alpha_bias',s) > 0 then result := GL_POST_COLOR_MATRIX_ALPHA_BIAS;
if pos('gl_color_table',s) > 0 then result := GL_COLOR_TABLE;
if pos('gl_post_convolution_color_table',s) > 0 then result := GL_POST_CONVOLUTION_COLOR_TABLE;
if pos('gl_post_color_matrix_color_table',s) > 0 then result := GL_POST_COLOR_MATRIX_COLOR_TABLE;
if pos('gl_proxy_color_table',s) > 0 then result := GL_PROXY_COLOR_TABLE;
if pos('gl_proxy_post_convolution_color_table',s) > 0 then result := GL_PROXY_POST_CONVOLUTION_COLOR_TABLE;
if pos('gl_proxy_post_color_matrix_color_table',s) > 0 then result := GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE;
if pos('gl_color_table_scale',s) > 0 then result := GL_COLOR_TABLE_SCALE;
if pos('gl_color_table_bias',s) > 0 then result := GL_COLOR_TABLE_BIAS;
if pos('gl_color_table_format',s) > 0 then result := GL_COLOR_TABLE_FORMAT;
if pos('gl_color_table_width',s) > 0 then result := GL_COLOR_TABLE_WIDTH;
if pos('gl_color_table_red_size',s) > 0 then result := GL_COLOR_TABLE_RED_SIZE;
if pos('gl_color_table_green_size',s) > 0 then result := GL_COLOR_TABLE_GREEN_SIZE;
if pos('gl_color_table_blue_size',s) > 0 then result := GL_COLOR_TABLE_BLUE_SIZE;
if pos('gl_color_table_alpha_size',s) > 0 then result := GL_COLOR_TABLE_ALPHA_SIZE;
if pos('gl_color_table_luminance_size',s) > 0 then result := GL_COLOR_TABLE_LUMINANCE_SIZE;
if pos('gl_color_table_intensity_size',s) > 0 then result := GL_COLOR_TABLE_INTENSITY_SIZE;
if pos('gl_constant_border',s) > 0 then result := GL_CONSTANT_BORDER;
if pos('gl_replicate_border',s) > 0 then result := GL_REPLICATE_BORDER;
if pos('gl_convolution_border_color',s) > 0 then result := GL_CONVOLUTION_BORDER_COLOR;

end;

end.

This topic is closed to new replies.

Advertisement