Jump to content
  • Advertisement
Sign in to follow this  
db123

OpenGL how to convert opengl macro to human readable string

This topic is 2174 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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!