Jump to content
  • Advertisement
Sign in to follow this  
db123

OpenGL how to convert opengl macro to human readable string

This topic is 1808 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?
 

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!