mirror of
https://github.com/PatrickvL/Dxbx.git
synced 2024-05-31 19:17:53 -04:00
5a37a07baf
Added the Dxbx lazarus About screen logo.
5205 lines
292 KiB
ObjectPascal
5205 lines
292 KiB
ObjectPascal
//
|
|
// This unit is part of the GLScene Project, http://glscene.org
|
|
//
|
|
{: OpenGL1x<p>
|
|
|
|
OpenGL 1.x import unit for GLScene. Unit remains "general purpose", but with
|
|
a more "pragmatic" approach :)<p>
|
|
|
|
This unit is based on OpenGL12.pas orginally written by Mike Lischke,
|
|
please refer to OpenGL12.pas header.<p>
|
|
|
|
<b>History : </b><font size=-1><ul>
|
|
<li>23/01/11 - DanB - Entry points now use procedural types from OpenGLTokens.pas
|
|
Added OpenGL 4.1 + ARB extensions
|
|
Switched to use GLS_REGIONS define
|
|
<li>23/08/10 - Yar - Moved tokens part to OpenGLTokens.pas
|
|
<li>22/07/10 - Yar - Added GL_ARB_debug_output constant
|
|
<li>01/06/10 - Yar - Fixes for Linux x64
|
|
<li>31/05/10 - Yar - Added WGL_NV_gpu_affinity
|
|
<li>12/05/10 - Yar - Added GL_ARB_texture_compression_bptc
|
|
<li>04/05/10 - Yar - Added GL_S3_s3tc extension (thanks to Rustam Asmandiarov aka Predator)
|
|
<li>01/05/10 - DanB - Fixed glGetTransformFeedbackVarying params
|
|
<li>16/04/10 - Yar - Added Graphics Remedy's Extensions
|
|
<li>28/03/10 - DanB - Added missing OpenGL 3.1/3.2 function lookups +
|
|
added bindless graphics extensions
|
|
<li>18/03/10 - Yar - Added more GLX extensions
|
|
(thanks to Rustam Asmandiarov aka Predator)
|
|
<li>12/03/10 - DanB - OpenGL 3.3/4.0 support (new ARB extensions), removed
|
|
_ARB suffix from functions/procedures in
|
|
GL_ARB_draw_buffers_blend + GL_ARB_sample_shading
|
|
<li>04/03/10 - DanB - Organised core into relevant + deprecated sections,
|
|
fixed a couple of function params + misc changes.
|
|
<li>12/02/10 - Yar - Added GL_AMD_vertex_shader_tessellator
|
|
<li>07/02/10 - Yar - Added GL_NV_primitive_restart
|
|
<li>21/01/10 - DaStr - Bugfixed wglChoosePixelFormatARB() and
|
|
wglCreatePbufferARB() parameters
|
|
<li>07/01/10 - DaStr - Added WGL_COLOR_SAMPLES_NV (thanks YarUndeoaker)
|
|
<li>25/12/09 - DaStr - Added GL_NV_copy_image, GL_LUMINANCE_INTEGER,
|
|
GL_LUMINANCE_ALPHA_INTEGER extentions and constants
|
|
Re-added $region declarations (thanks YarUndeoaker)
|
|
<li>13/12/09 - DaStr - Added missing stdcall/cdecl modifiers
|
|
<li>25/10/09 - DaStr - Added some texture compression extensions and updated
|
|
glTransformFeedbackVaryings()(thanks YarUndeoaker)
|
|
<li>28/09/09 - DaStr - Added some NVidia-specific extensions (thanks YarUndeoaker)
|
|
<li>30/08/09 - DanB - GLsync changed to NativeInt, fixes to glBindBufferRange calls
|
|
<li>14/08/09 - DanB - Added missing GL_ARB_framebuffer_object extension check + fixed typo
|
|
<li>04/08/09 - DanB - OpenGL 3.1/3.2 support + new ARB extensions added
|
|
<li>28/07/09 - DaStr - Added GL_GEOMETRY_PROGRAM_NV and related extensions
|
|
<li>20/01/08 - DanB - Fix due to Delphi6 not containing UInt64
|
|
<li>05/10/08 - DanB - Moved error handling code here from GLContext.pas
|
|
OpenGL 3.0 support, new core features + ARB extensions
|
|
<li>23/03/08 - DanB - Added more Vendor/EXT extensions
|
|
<li>17/03/08 - mrqzzz - uncommented some constants "GL_NORMAL_MAP_EXT,..."
|
|
to keep compatibility with dws2OpenGL1x.
|
|
<li>16/03/08 - DanB - Major rewrite of unit, including:
|
|
OpenGL 1.3, 1.4, 1.5, 2.0, 2.1 support.
|
|
removed TRCOptions (not used).
|
|
moved MRT_BUFFERS constant to GLContext.pas (isn't core openGL).
|
|
several new ARB extensions added.
|
|
several new Vendor/EXT exensions added.
|
|
new function IsOpenGLVersionMet added.
|
|
restructured unit so extensions are in numerical order.
|
|
<li>17/06/07 - LC - Added GL_ARB_pixel_buffer_object, GL_EXT_pixel_buffer_object
|
|
<li>22/03/07 - DaStr - Removed GetTextureRectangle (had many useless checks)
|
|
<li>16/03/07 - DaStr - Dropped Kylix support in favor of FPC
|
|
(thanks Burkhard Carstens) (BugTracekrID=1681585)
|
|
<li>09/03/07 - DaStr - Added GL_ARB_draw_buffers (thanks riz)
|
|
<li>03/03/07 - DaStr - Added GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT
|
|
<li>02/03/07 - DaStr - Added GL_[ARB/EXT]_texture_rectangle
|
|
Added GetTextureRectangle
|
|
<li>10/01/07 - LC - Added GL_EXT_framebuffer_object
|
|
<li>11/09/06 - NC - Added GL_ARB_texture_float, GL_ARB_texture_non_power_of_two
|
|
<li>13/10/04 - NC - Added GL_ATI_draw_buffers
|
|
<li>08/10/04 - LR - Added const in the prototype of the following function for compatibility :
|
|
TGLUTessCombineProc, TGLUTessCombineDataProc, gluPickMatrix
|
|
gluProject, gluUnProject, gluTessVertex, gluLoadSamplingMatrices
|
|
<li>04/10/04 - NC - Added GL_ATI_texture_float, WGL_ATI_pixel_format_float,
|
|
WGL_NV_float_buffer, GL_NV_float_buffer
|
|
<li>08/07/04 - LR - Change case for Linux
|
|
<li>05/07/04 - LR - Corrections for Linux. Now glX function are directly load
|
|
by external action (like for Windows). So i suppress
|
|
the function LoadLinuxOpenGL.
|
|
<li>28/06/04 - LR - Removed ..\ from the GLScene.inc
|
|
<li>24/06/04 - SG - Added GL_ARB_fragment_program
|
|
<li>17/05/04 - EG - Dropped EXT_vertex_array (assumed as standard)
|
|
<li>06/04/04 - EG - Added GL_ARB_shader_objects, GL_ARB_vertex_shader
|
|
and GL_ARB_fragment_shader, dropped a few oldies
|
|
<li>13/02/04 - EG - Added GL_NV_texture_rectangle
|
|
<li>18/11/03 - EG - Fixed binding of core extensions, added GL_ARB_depth_texture
|
|
and GL_ARB_shadow support
|
|
<li>20/09/03 - EG - Added GL_NV_occlusion_query, dropped some more oldies
|
|
<li>09/09/03 - EG - Added GL_ARB_vertex_buffer_object, dropped some oldies
|
|
<li>04/09/03 - EG - Added GL_ARB_vertex_program
|
|
<li>23/07/03 - EG - Creation from OpenGL12.pas "morph": classic OpenGL
|
|
calls made static, obsolete/rare extensions support
|
|
dropped
|
|
</ul></font>
|
|
}
|
|
unit OpenGL1x;
|
|
|
|
interface
|
|
|
|
{$i GLScene.inc}
|
|
|
|
// DaStr: MULTITHREADOPENGL is defined in GLScene.inc, but you can override it
|
|
// manually here, though I would not reccomend it. This is because other units
|
|
// may depend on this option too. So if you need this option, please use the
|
|
// GLS_MULTITHREAD define in GLScene.inc.
|
|
{.$define MULTITHREADOPENGL}
|
|
|
|
uses
|
|
OpenGLTokens, VectorTypes, SysUtils,
|
|
{$IFDEF MSWINDOWS}
|
|
Windows
|
|
{$ENDIF }
|
|
|
|
{$IFDEF unix}
|
|
{Libc,}Types, LCLType, X, Xlib, XUtil, dynlibs
|
|
{$ENDIF}
|
|
;
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL extension feature checks'} {$ENDIF}
|
|
|
|
{$IFDEF MULTITHREADOPENGL}
|
|
threadvar
|
|
{$else}
|
|
var
|
|
{$ENDIF}
|
|
// supported version checks
|
|
GL_VERSION_1_0,
|
|
GL_VERSION_1_1,
|
|
GL_VERSION_1_2,
|
|
GL_VERSION_1_3,
|
|
GL_VERSION_1_4,
|
|
GL_VERSION_1_5,
|
|
GL_VERSION_2_0,
|
|
GL_VERSION_2_1,
|
|
GL_VERSION_3_0,
|
|
GL_VERSION_3_1,
|
|
GL_VERSION_3_2,
|
|
GL_VERSION_3_3,
|
|
GL_VERSION_4_0,
|
|
GL_VERSION_4_1,
|
|
GLU_VERSION_1_1,
|
|
GLU_VERSION_1_2,
|
|
GLU_VERSION_1_3: Boolean;
|
|
|
|
// ARB approved OpenGL extension checks
|
|
GL_ARB_blend_func_extended,
|
|
GL_ARB_color_buffer_float,
|
|
GL_ARB_compatibility,
|
|
GL_ARB_copy_buffer,
|
|
GL_ARB_debug_output,
|
|
GL_ARB_depth_buffer_float,
|
|
GL_ARB_depth_clamp,
|
|
GL_ARB_depth_texture,
|
|
GL_ARB_draw_buffers,
|
|
GL_ARB_draw_buffers_blend,
|
|
GL_ARB_draw_elements_base_vertex,
|
|
GL_ARB_draw_indirect,
|
|
GL_ARB_draw_instanced,
|
|
GL_ARB_ES2_compatibility,
|
|
GL_ARB_explicit_attrib_location,
|
|
GL_ARB_fragment_coord_conventions,
|
|
GL_ARB_fragment_program,
|
|
GL_ARB_fragment_program_shadow,
|
|
GL_ARB_fragment_shader,
|
|
GL_ARB_framebuffer_object,
|
|
GL_ARB_framebuffer_sRGB,
|
|
GL_ARB_geometry_shader4,
|
|
GL_ARB_get_program_binary,
|
|
GL_ARB_gpu_shader_fp64,
|
|
GL_ARB_gpu_shader5,
|
|
GL_ARB_half_float_pixel,
|
|
GL_ARB_half_float_vertex,
|
|
GL_ARB_imaging,
|
|
GL_ARB_instanced_arrays,
|
|
GL_ARB_map_buffer_range,
|
|
GL_ARB_matrix_palette,
|
|
GL_ARB_multisample,
|
|
GL_ARB_multitexture,
|
|
GL_ARB_occlusion_query,
|
|
GL_ARB_occlusion_query2,
|
|
GL_ARB_pixel_buffer_object,
|
|
GL_ARB_point_parameters,
|
|
GL_ARB_point_sprite,
|
|
GL_ARB_provoking_vertex,
|
|
GL_ARB_robustness,
|
|
GL_ARB_sample_shading,
|
|
GL_ARB_sampler_objects,
|
|
GL_ARB_seamless_cube_map,
|
|
GL_ARB_separate_shader_objects,
|
|
GL_ARB_shader_bit_encoding,
|
|
GL_ARB_shader_precision,
|
|
GL_ARB_shader_stencil_export,
|
|
GL_ARB_shader_subroutine,
|
|
GL_ARB_shader_texture_lod,
|
|
GL_ARB_shading_language_100,
|
|
GL_ARB_shadow,
|
|
GL_ARB_shadow_ambient,
|
|
GL_ARB_shader_objects,
|
|
GL_ARB_sync,
|
|
GL_ARB_tessellation_shader,
|
|
GL_ARB_texture_border_clamp,
|
|
GL_ARB_texture_buffer_object,
|
|
GL_ARB_texture_buffer_object_rgb32,
|
|
GL_ARB_texture_compression,
|
|
GL_ARB_texture_compression_rgtc,
|
|
GL_ARB_texture_cube_map,
|
|
GL_ARB_texture_cube_map_array,
|
|
GL_ARB_texture_env_add,
|
|
GL_ARB_texture_env_combine,
|
|
GL_ARB_texture_env_crossbar,
|
|
GL_ARB_texture_env_dot3,
|
|
GL_ARB_texture_float,
|
|
GL_ARB_texture_gather,
|
|
GL_ARB_texture_mirrored_repeat,
|
|
GL_ARB_texture_multisample,
|
|
GL_ARB_texture_non_power_of_two,
|
|
GL_ARB_texture_query_lod,
|
|
GL_ARB_texture_rectangle,
|
|
GL_ARB_texture_rg,
|
|
GL_ARB_texture_rgb10_a2ui,
|
|
GL_ARB_texture_swizzle,
|
|
GL_ARB_timer_query,
|
|
GL_ARB_transform_feedback2,
|
|
GL_ARB_transform_feedback3,
|
|
GL_ARB_transpose_matrix,
|
|
GL_ARB_uniform_buffer_object,
|
|
GL_ARB_vertex_array_bgra,
|
|
GL_ARB_vertex_array_object,
|
|
GL_ARB_vertex_attrib_64bit,
|
|
GL_ARB_vertex_blend,
|
|
GL_ARB_vertex_buffer_object,
|
|
GL_ARB_vertex_program,
|
|
GL_ARB_vertex_shader,
|
|
GL_ARB_vertex_type_2_10_10_10_rev,
|
|
GL_ARB_viewport_array,
|
|
GL_ARB_window_pos,
|
|
GL_ARB_texture_compression_bptc,
|
|
|
|
// Vendor/EXT OpenGL extension checks
|
|
GL_3DFX_multisample,
|
|
GL_3DFX_tbuffer,
|
|
GL_3DFX_texture_compression_FXT1,
|
|
|
|
GL_ATI_draw_buffers,
|
|
GL_ATI_texture_compression_3dc,
|
|
GL_ATI_texture_float,
|
|
GL_ATI_texture_mirror_once,
|
|
|
|
GL_S3_s3tc,
|
|
|
|
GL_EXT_abgr,
|
|
GL_EXT_bgra,
|
|
GL_EXT_bindable_uniform,
|
|
GL_EXT_blend_color,
|
|
GL_EXT_blend_equation_separate,
|
|
GL_EXT_blend_func_separate,
|
|
GL_EXT_blend_logic_op,
|
|
GL_EXT_blend_minmax,
|
|
GL_EXT_blend_subtract,
|
|
GL_EXT_Cg_shader,
|
|
GL_EXT_clip_volume_hint,
|
|
GL_EXT_compiled_vertex_array,
|
|
GL_EXT_copy_texture,
|
|
GL_EXT_depth_bounds_test,
|
|
GL_EXT_draw_buffers2,
|
|
GL_EXT_draw_instanced,
|
|
GL_EXT_draw_range_elements,
|
|
GL_EXT_fog_coord,
|
|
GL_EXT_framebuffer_blit,
|
|
GL_EXT_framebuffer_multisample,
|
|
GL_EXT_framebuffer_object,
|
|
GL_EXT_framebuffer_sRGB,
|
|
GL_EXT_geometry_shader4,
|
|
GL_EXT_gpu_program_parameters,
|
|
GL_EXT_gpu_shader4,
|
|
GL_EXT_multi_draw_arrays,
|
|
GL_EXT_multisample,
|
|
GL_EXT_packed_depth_stencil,
|
|
GL_EXT_packed_float,
|
|
GL_EXT_packed_pixels,
|
|
GL_EXT_paletted_texture,
|
|
GL_EXT_pixel_buffer_object,
|
|
GL_EXT_polygon_offset,
|
|
GL_EXT_rescale_normal,
|
|
GL_EXT_secondary_color,
|
|
GL_EXT_separate_specular_color,
|
|
GL_EXT_shadow_funcs,
|
|
GL_EXT_shared_texture_palette,
|
|
GL_EXT_stencil_clear_tag,
|
|
GL_EXT_stencil_two_side,
|
|
GL_EXT_stencil_wrap,
|
|
GL_EXT_texture3D,
|
|
GL_EXT_texture_array,
|
|
GL_EXT_texture_buffer_object,
|
|
GL_EXT_texture_compression_latc,
|
|
GL_EXT_texture_compression_rgtc,
|
|
GL_EXT_texture_compression_s3tc,
|
|
GL_EXT_texture_cube_map,
|
|
GL_EXT_texture_edge_clamp,
|
|
GL_EXT_texture_env_add,
|
|
GL_EXT_texture_env_combine,
|
|
GL_EXT_texture_env_dot3,
|
|
GL_EXT_texture_filter_anisotropic,
|
|
GL_EXT_texture_integer,
|
|
GL_EXT_texture_lod,
|
|
GL_EXT_texture_lod_bias,
|
|
GL_EXT_texture_mirror_clamp,
|
|
GL_EXT_texture_object,
|
|
GL_EXT_texture_rectangle,
|
|
GL_EXT_texture_sRGB,
|
|
GL_EXT_texture_shared_exponent,
|
|
GL_EXT_timer_query,
|
|
GL_EXT_transform_feedback,
|
|
GL_EXT_vertex_array,
|
|
|
|
GL_HP_occlusion_test,
|
|
|
|
GL_IBM_rasterpos_clip,
|
|
|
|
GL_KTX_buffer_region,
|
|
|
|
GL_MESA_resize_buffers,
|
|
|
|
GL_NV_blend_square,
|
|
GL_NV_conditional_render,
|
|
GL_NV_copy_image,
|
|
GL_NV_depth_buffer_float,
|
|
GL_NV_fence,
|
|
GL_NV_float_buffer,
|
|
GL_NV_fog_distance,
|
|
GL_NV_geometry_program4,
|
|
GL_NV_light_max_exponent,
|
|
GL_NV_multisample_filter_hint,
|
|
GL_NV_occlusion_query,
|
|
GL_NV_point_sprite,
|
|
GL_NV_primitive_restart,
|
|
GL_NV_register_combiners,
|
|
GL_NV_shader_buffer_load,
|
|
GL_NV_texgen_reflection,
|
|
GL_NV_texture_compression_vtc,
|
|
GL_NV_texture_env_combine4,
|
|
GL_NV_texture_rectangle,
|
|
GL_NV_texture_shader,
|
|
GL_NV_texture_shader2,
|
|
GL_NV_texture_shader3,
|
|
GL_NV_transform_feedback,
|
|
GL_NV_vertex_array_range,
|
|
GL_NV_vertex_array_range2,
|
|
GL_NV_vertex_buffer_unified_memory,
|
|
GL_NV_vertex_program,
|
|
|
|
GL_SGI_color_matrix,
|
|
|
|
GL_SGIS_generate_mipmap,
|
|
GL_SGIS_multisample,
|
|
GL_SGIS_texture_border_clamp,
|
|
GL_SGIS_texture_color_mask,
|
|
GL_SGIS_texture_edge_clamp,
|
|
GL_SGIS_texture_lod,
|
|
|
|
GL_SGIX_depth_texture,
|
|
GL_SGIX_shadow,
|
|
GL_SGIX_shadow_ambient,
|
|
|
|
GL_AMD_vertex_shader_tessellator,
|
|
|
|
GL_WIN_swap_hint,
|
|
|
|
// ARB approved WGL extension checks
|
|
WGL_ARB_buffer_region,
|
|
WGL_ARB_create_context,
|
|
WGL_ARB_create_context_profile,
|
|
WGL_ARB_extensions_string,
|
|
WGL_ARB_framebuffer_sRGB,
|
|
WGL_ARB_make_current_read,
|
|
WGL_ARB_multisample,
|
|
WGL_ARB_pbuffer,
|
|
WGL_ARB_pixel_format,
|
|
WGL_ARB_pixel_format_float,
|
|
WGL_ARB_render_texture,
|
|
|
|
// Vendor/EXT WGL extension checks
|
|
WGL_ATI_pixel_format_float,
|
|
|
|
WGL_EXT_framebuffer_sRGB,
|
|
WGL_EXT_pixel_format_packed_float,
|
|
WGL_EXT_swap_control,
|
|
WGL_NV_gpu_affinity,
|
|
|
|
// GLX extension checks
|
|
GLX_VERSION_1_1,
|
|
GLX_VERSION_1_2,
|
|
GLX_VERSION_1_3,
|
|
GLX_VERSION_1_4,
|
|
GLX_ARB_create_context,
|
|
GLX_ARB_create_context_profile,
|
|
GLX_ARB_framebuffer_sRGB,
|
|
GLX_ARB_multisample,
|
|
GLX_EXT_framebuffer_sRGB,
|
|
GLX_EXT_fbconfig_packed_float,
|
|
|
|
GLX_SGIS_multisample,
|
|
GLX_EXT_visual_info,
|
|
GLX_SGI_swap_control,
|
|
GLX_SGI_video_sync,
|
|
GLX_SGI_make_current_read,
|
|
GLX_SGIX_video_source,
|
|
GLX_EXT_visual_rating,
|
|
GLX_EXT_import_context,
|
|
GLX_SGIX_fbconfig,
|
|
GLX_SGIX_pbuffer,
|
|
GLX_SGI_cushion,
|
|
GLX_SGIX_video_resize,
|
|
GLX_SGIX_dmbuffer,
|
|
GLX_SGIX_swap_group,
|
|
GLX_SGIX_swap_barrier,
|
|
GLX_SGIS_blended_overlay,
|
|
GLX_SGIS_shared_multisample,
|
|
GLX_SUN_get_transparent_index,
|
|
GLX_3DFX_multisample,
|
|
GLX_MESA_copy_sub_buffer,
|
|
GLX_MESA_pixmap_colormap,
|
|
GLX_MESA_release_buffers,
|
|
GLX_MESA_set_3dfx_mode,
|
|
GLX_SGIX_visual_select_group,
|
|
GLX_SGIX_hyperpipe,
|
|
|
|
// Graphics Remedy's Extensions
|
|
GL_GREMEDY_frame_terminator,
|
|
GL_GREMEDY_string_marker,
|
|
|
|
// OpenGL Utility (GLU) extension checks
|
|
GLU_EXT_object_space_tess,
|
|
GLU_EXT_nurbs_tessellator,
|
|
GLU_EXT_Texture: Boolean;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL v1.1 core functions and procedures'} {$ENDIF}
|
|
procedure glBindTexture(target: TGLEnum; texture: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glBlendFunc(sfactor: TGLEnum; dfactor: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glClear(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glClearColor(red, green, blue, alpha: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glClearDepth(depth: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glClearStencil(s: TGLint ); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glColorMask(red, green, blue, alpha: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glCopyTexImage1D(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glCopyTexImage2D(target: TGLEnum; level: TGLint; internalFormat: TGLEnum; x, y: TGLint; width, height: TGLsizei; border: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glCopyTexSubImage1D(target: TGLEnum; level, xoffset, x, y: TGLint; width: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glCopyTexSubImage2D(target: TGLEnum; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glCullFace(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glDeleteTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glDepthFunc(func: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glDepthMask(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glDepthRange(zNear, zFar: TGLclampd); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glDisable(cap: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glDrawArrays(mode: TGLEnum; first: TGLint; count: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glDrawBuffer(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glDrawElements(mode: TGLEnum; count: TGLsizei; atype: TGLEnum; indices: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glEnable(cap: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glFinish; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glFlush; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glFrontFace(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glGenTextures(n: TGLsizei; textures: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetBooleanv(pname: TGLEnum; params: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glGetDoublev(pname: TGLEnum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
function glGetError: TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetFloatv(pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetIntegerv(pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glGetPointerv(pname: TGLEnum; var params); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
function glGetString(name: TGLEnum): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetTexImage(target: TGLEnum; level: TGLint; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetTexLevelParameterfv(target: TGLEnum; level: TGLint; pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetTexLevelParameteriv(target: TGLEnum; level: TGLint; pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetTexParameterfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glGetTexParameteriv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glHint(target, mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
function glIsEnabled(cap: TGLEnum): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
function glIsTexture(texture: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glLineWidth(width: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glLogicOp(opcode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glPixelStoref(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glPixelStorei(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glPointSize(size: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glPolygonMode(face, mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glPolygonOffset(factor, units: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glReadBuffer(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glReadPixels(x, y: TGLint; width, height: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glScissor(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glStencilFunc(func: TGLEnum; ref: TGLint; mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glStencilMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glStencilOp(fail, zfail, zpass: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glTexImage1D(target: TGLEnum; level, internalformat: TGLint; width: TGLsizei; border: TGLint; format,
|
|
atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glTexImage2D(target: TGLEnum; level, internalformat: TGLint; width, height: TGLsizei; border: TGLint;
|
|
format, atype: TGLEnum; Pixels:Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glTexParameterf(target, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glTexParameterfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glTexParameteri(target, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glTexParameteriv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glTexSubImage1D(target: TGLEnum; level, xoffset: TGLint; width: TGLsizei; format, atype: TGLEnum;
|
|
pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
procedure glTexSubImage2D(target: TGLEnum; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format,
|
|
atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
procedure glViewport(x, y: TGLint; width, height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32;
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL 1.1 deprecated'} {$ENDIF}
|
|
procedure glAccum(op: TGLuint; value: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glAlphaFunc(func: TGLEnum; ref: TGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
function glAreTexturesResident(n: TGLsizei; Textures: PGLuint; residences: PGLboolean): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glArrayElement(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glBegin(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glBitmap(width: TGLsizei; height: TGLsizei; xorig, yorig: TGLfloat; xmove: TGLfloat; ymove: TGLfloat; bitmap: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glCallList(list: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glCallLists(n: TGLsizei; atype: TGLEnum; lists: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glClearAccum(red, green, blue, alpha: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glClearIndex(c: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glClipPlane(plane: TGLEnum; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glColor3b(red, green, blue: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3d(red, green, blue: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3f(red, green, blue: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3i(red, green, blue: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3s(red, green, blue: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3ub(red, green, blue: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3ui(red, green, blue: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3us(red, green, blue: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor3usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4b(red, green, blue, alpha: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4d(red, green, blue, alpha: TGLdouble ); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4f(red, green, blue, alpha: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4i(red, green, blue, alpha: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4s(red, green, blue, alpha: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4sv(v: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4ub(red, green, blue, alpha: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4ubv(v: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4ui(red, green, blue, alpha: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4uiv(v: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4us(red, green, blue, alpha: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColor4usv(v: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glColorMaterial(face: TGLEnum; mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glColorPointer(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glCopyPixels(x, y: TGLint; width, height: TGLsizei; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glDeleteLists(list: TGLuint; range: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glDisableClientState(aarray: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glDrawPixels(width, height: TGLsizei; format, atype: TGLEnum; pixels: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glEdgeFlag(flag: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEdgeFlagPointer(stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEdgeFlagv(flag: PGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEnableClientState(aarray: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEnd; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEndList; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord1d(u: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord1dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord1f(u: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord1fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord2d(u: TGLdouble; v: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord2dv(u: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord2f(u, v: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalCoord2fv(u: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalMesh1(mode: TGLEnum; i1, i2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalMesh2(mode: TGLEnum; i1, i2, j1, j2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalPoint1(i: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glEvalPoint2(i, j: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glFeedbackBuffer(size: TGLsizei; atype: TGLEnum; buffer: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glFogf(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glFogfv(pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glFogi(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glFogiv(pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glFrustum(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
function glGenLists(range: TGLsizei): TGLuint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetClipPlane(plane: TGLEnum; equation: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetLightfv(light, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetLightiv(light, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetMapdv(target, query: TGLEnum; v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetMapfv(target, query: TGLEnum; v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetMapiv(target, query: TGLEnum; v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetMaterialfv(face, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetMaterialiv(face, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetPixelMapfv(map: TGLEnum; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetPixelMapuiv(map: TGLEnum; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetPixelMapusv(map: TGLEnum; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetTexEnvfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetTexEnviv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetTexGendv(coord, pname: TGLEnum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetTexGenfv(coord, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glGetTexGeniv(coord, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glIndexMask(mask: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexPointer(atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexd(c: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexdv(c: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexf(c: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexfv(c: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexi(c: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexiv(c: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexs(c: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexsv(c: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexub(c: TGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glIndexubv(c: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glInitNames; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glInterleavedArrays(format: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
function glIsList(list: TGLuint): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLightModelf(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLightModelfv(pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLightModeli(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLightModeliv(pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLightf(light, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLightfv(light, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLighti(light, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLightiv(light, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLineStipple(factor: TGLint; pattern: TGLushort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glListBase(base: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLoadIdentity; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLoadMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLoadMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glLoadName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glMap1d(target: TGLEnum; u1, u2: TGLdouble; stride, order: TGLint; points: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMap1f(target: TGLEnum; u1, u2: TGLfloat; stride, order: TGLint; points: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMap2d(target: TGLEnum; u1, u2: TGLdouble; ustride, uorder: TGLint; v1, v2: TGLdouble; vstride,
|
|
vorder: TGLint; points: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMap2f(target: TGLEnum; u1, u2: TGLfloat; ustride, uorder: TGLint; v1, v2: TGLfloat; vstride,
|
|
vorder: TGLint; points: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMapGrid1d(un: TGLint; u1, u2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMapGrid1f(un: TGLint; u1, u2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMapGrid2d(un: TGLint; u1, u2: TGLdouble; vn: TGLint; v1, v2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMapGrid2f(un: TGLint; u1, u2: TGLfloat; vn: TGLint; v1, v2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMaterialf(face, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMaterialfv(face, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMateriali(face, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMaterialiv(face, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMatrixMode(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMultMatrixd(m: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glMultMatrixf(m: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNewList(list: TGLuint; mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3b(nx, ny, nz: TGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3bv(v: PGLbyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3d(nx, ny, nz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3f(nx, ny, nz: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3i(nx, ny, nz: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3s(nx, ny, nz: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormal3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glNormalPointer(atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glOrtho(left, right, bottom, top, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPassThrough(token: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPixelMapfv(map: TGLEnum; mapsize: TGLsizei; values: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPixelMapuiv(map: TGLEnum; mapsize: TGLsizei; values: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPixelMapusv(map: TGLEnum; mapsize: TGLsizei; values: PGLushort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPixelTransferf(pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPixelTransferi(pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPixelZoom(xfactor, yfactor: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPolygonStipple(mask: PGLubyte); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPopAttrib; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPopClientAttrib; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPopMatrix; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPopName; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPrioritizeTextures(n: TGLsizei; textures: PGLuint; priorities: PGLclampf); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPushAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPushClientAttrib(mask: TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPushMatrix; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glPushName(name: TGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glRasterPos2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos2f(x, y: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos2s(x, y: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3f(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4f(x, y, z, w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRasterPos4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRectd(x1, y1, x2, y2: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRectdv(v1, v2: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRectf(x1, y1, x2, y2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRectfv(v1, v2: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRecti(x1, y1, x2, y2: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRectiv(v1, v2: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRects(x1, y1, x2, y2: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRectsv(v1, v2: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
function glRenderMode(mode: TGLEnum): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRotated(angle, x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glRotatef(angle, x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glScaled(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glScalef(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glSelectBuffer(size: TGLsizei; buffer: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glShadeModel(mode: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1d(s: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1f(s: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1i(s: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1s(s: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord1sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2d(s, t: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2f(s, t: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2i(s, t: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2s(s, t: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3d(s, t, r: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3f(s, t, r: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3i(s, t, r: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3s(s, t, r: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4d(s, t, r, q: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4f(s, t, r, q: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4i(s, t, r, q: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4s(s, t, r, q: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoord4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexCoordPointer(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexEnvf(target, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexEnvfv(target, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexEnvi(target, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexEnviv(target, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexGend(coord, pname: TGLEnum; param: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexGendv(coord, pname: TGLEnum; params: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexGenf(coord, pname: TGLEnum; param: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexGenfv(coord, pname: TGLEnum; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexGeni(coord, pname: TGLEnum; param: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTexGeniv(coord, pname: TGLEnum; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTranslated(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glTranslatef(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
|
|
procedure glVertex2d(x, y: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex2dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex2f(x, y: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex2fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex2i(x, y: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex2iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex2s(x, y: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex2sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3d(x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3f(x, y, z: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3i(x, y, z: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3s(x, y, z: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex3sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4d(x, y, z, w: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4dv(v: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4f(x, y, z, w: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4fv(v: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4i(x, y, z, w: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4iv(v: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4s(x, y, z, w: TGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertex4sv(v: PGLshort); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
procedure glVertexPointer(size: TGLint; atype: TGLEnum; stride: TGLsizei; data: pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external opengl32; //deprecated;
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL utility (GLU) functions and procedures'} {$ENDIF}
|
|
function gluErrorString(errCode: TGLEnum): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluGetString(name: TGLEnum): PGLChar; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluOrtho2D(left, right, bottom, top: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluPerspective(fovy, aspect, zNear, zFar: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluPickMatrix(x, y, width, height: TGLdouble; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluProject(objx, objy, objz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const viewport: TVector4i;
|
|
winx, winy, winz: PGLdouble): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluUnProject(winx, winy, winz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const viewport: TVector4i;
|
|
objx, objy, objz: PGLdouble): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluScaleImage(format: TGLEnum; widthin, heightin: TGLint; typein: TGLEnum; datain: Pointer; widthout,
|
|
heightout: TGLint; typeout: TGLEnum; dataout: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluBuild1DMipmaps(target: TGLEnum; components, width: TGLint; format, atype: TGLEnum;
|
|
data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluBuild2DMipmaps(target: TGLEnum; components, width, height: TGLint; format, atype: TGLEnum;
|
|
data: Pointer): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluNewQuadric: PGLUquadric; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluDeleteQuadric(state: PGLUquadric); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluQuadricNormals(quadObject: PGLUquadric; normals: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluCylinder(quadObject: PGLUquadric; baseRadius, topRadius, height: TGLdouble; slices,
|
|
stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluPartialDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint;
|
|
startAngle, sweepAngle: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluSphere(quadObject: PGLUquadric; radius: TGLdouble; slices, stacks: TGLint); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluQuadricCallback(quadObject: PGLUquadric; which: TGLEnum; fn: TGLUQuadricErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluNewTess: PGLUtesselator; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluDeleteTess(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessBeginContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessVertex(tess: PGLUtesselator; const coords: TVector3d; data: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessEndContour(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessProperty(tess: PGLUtesselator; which: TGLEnum; value: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessNormal(tess: PGLUtesselator; x, y, z: TGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluTessCallback(tess: PGLUtesselator; which: TGLEnum; fn: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluGetTessProperty(tess: PGLUtesselator; which: TGLEnum; value: PGLdouble); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
function gluNewNurbsRenderer: PGLUnurbs; {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluBeginSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluBeginCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluEndCurve(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluEndSurface(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluBeginTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluEndTrim(nobj: PGLUnurbs); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluPwlCurve(nobj: PGLUnurbs; count: TGLint; points: PGLfloat; stride: TGLint; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat; stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluNurbsSurface(nobj: PGLUnurbs; sknot_count: TGLint; sknot: PGLfloat; tknot_count: TGLint; tknot: PGLfloat; s_stride, t_stride: TGLint; ctlarray: PGLfloat; sorder, torder: TGLint; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; const modelMatrix: TMatrix4f; const projMatrix: TMatrix4f; const viewport: TVector4i); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: TGLEnum; value: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: TGLEnum; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluNurbsCallback(nobj: PGLUnurbs; which: TGLEnum; fn: TGLUNurbsErrorProc); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluBeginPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluNextContour(tess: PGLUtesselator; atype: TGLEnum); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
procedure gluEndPolygon(tess: PGLUtesselator); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF} external glu32;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'Windows OpenGL (WGL) support functions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_WGL}
|
|
function wglGetProcAddress(ProcName: PGLChar): Pointer; stdcall; external opengl32;
|
|
function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: Cardinal): BOOL; stdcall; external opengl32;
|
|
function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
|
|
function wglCreateLayerContext(p1: HDC; p2: Integer): HGLRC; stdcall; external opengl32;
|
|
function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
|
|
function wglDescribeLayerPlane(p1: HDC; p2, p3: Integer; p4: Cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
|
|
function wglGetCurrentContext: HGLRC; stdcall; external opengl32;
|
|
function wglGetCurrentDC: HDC; stdcall; external opengl32;
|
|
function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
|
|
function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;
|
|
function wglRealizeLayerPalette(p1: HDC; p2: Integer; p3: BOOL): BOOL; stdcall; external opengl32;
|
|
function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; external opengl32;
|
|
function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;
|
|
function wglSwapLayerBuffers(p1: HDC; p2: Cardinal): BOOL; stdcall; external opengl32;
|
|
function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32;
|
|
function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
|
|
function wglUseFontOutlinesA (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
|
|
function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
|
|
function wglUseFontOutlinesW (p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32;
|
|
function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 name 'wglUseFontBitmapsA';
|
|
function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 name 'wglUseFontOutlinesA';
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL Extension to the X Window System (GLX) support functions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_GLX}
|
|
// GLX 1.0
|
|
function glXChooseVisual(dpy: PDisplay; screen: TGLint; attribList: PGLint): PXVisualInfo; cdecl; external opengl32;
|
|
function glXCreateContext(dpy: PDisplay; vis: PXVisualInfo; shareList: GLXContext; direct: TGLboolean): GLXContext; cdecl; external opengl32;
|
|
procedure glXDestroyContext(dpy: PDisplay; ctx: GLXContext); cdecl; external opengl32;
|
|
function glXMakeCurrent(dpy: PDisplay; drawable: GLXDrawable; ctx: GLXContext): TGLboolean; cdecl; external opengl32;
|
|
procedure glXCopyContext(dpy: PDisplay; src: GLXContext; dst: GLXContext; mask: TGLuint); cdecl; external opengl32;
|
|
procedure glXSwapBuffers(dpy: PDisplay; drawable: GLXDrawable); cdecl; external opengl32;
|
|
function glXCreateGLXPixmap(dpy: PDisplay; visual: PXVisualInfo; pixmap: GLXPixmap): GLXPixmap; cdecl; external opengl32;
|
|
procedure glXDestroyGLXPixmap(dpy: PDisplay; pixmap: GLXPixmap); cdecl; external opengl32;
|
|
function glXQueryExtension(dpy: PDisplay; errorb: PGLInt; event: PGLInt): TGLboolean; cdecl; external opengl32;
|
|
function glXQueryVersion(dpy: PDisplay; maj: PGLInt; min: PGLINT): TGLboolean; cdecl; external opengl32;
|
|
function glXIsDirect(dpy: PDisplay; ctx: GLXContext): TGLboolean; cdecl; external opengl32;
|
|
function glXGetConfig(dpy: PDisplay; visual: PXVisualInfo; attrib: TGLInt; value: PGLInt): TGLInt; cdecl; external opengl32;
|
|
function glXGetCurrentContext: GLXContext; cdecl; external opengl32;
|
|
function glXGetCurrentDrawable: GLXDrawable; cdecl; external opengl32;
|
|
procedure glXWaitGL; cdecl; external opengl32;
|
|
procedure glXWaitX; cdecl; external opengl32;
|
|
procedure glXUseXFont(font: XFont; first: TGLInt; count: TGLInt; list: TGLint); cdecl; external opengl32;
|
|
|
|
// GLX 1.1 and later
|
|
function glXQueryExtensionsString(dpy: PDisplay; screen: TGLInt): PGLChar; cdecl; external opengl32;
|
|
function glXQueryServerString(dpy: PDisplay; screen: TGLInt; name: TGLInt): PGLChar; cdecl; external opengl32;
|
|
function glXGetClientString(dpy: PDisplay; name: TGLInt): PGLChar; cdecl; external opengl32;
|
|
|
|
// GLX 1.2 and later
|
|
function glXGetCurrentDisplay: PDisplay; cdecl; external opengl32;
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF MULTITHREADOPENGL}
|
|
threadvar
|
|
{$else}
|
|
var
|
|
{$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL extension function/procedure definitions'} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 1.2'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 1.2 Core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.2 from GL_EXT_blend_color (#2)
|
|
glBlendColor: PFNGLBLENDCOLORPROC;
|
|
|
|
// promoted to core v1.2 from GL_EXT_blend_minmax (#37)
|
|
glBlendEquation: PFNGLBLENDEQUATIONPROC;
|
|
|
|
// promoted to core v1.2 from GL_EXT_draw_range_elements (#112)
|
|
glDrawRangeElements: PFNGLDRAWRANGEELEMENTSPROC;
|
|
|
|
// promoted to core v1.2 from GL_EXT_texture3D (#6)
|
|
glTexImage3D: PFNGLTEXIMAGE3DPROC;
|
|
glTexSubImage3D: PFNGLTEXSUBIMAGE3DPROC;
|
|
|
|
// promoted to core v1.2 from GL_EXT_copy_texture
|
|
glCopyTexSubImage3D: PFNGLCOPYTEXSUBIMAGE3DPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL 1.2 deprecated'} {$ENDIF}
|
|
// promoted to core v1.2 from GL_SGI_color_table (#14)
|
|
glColorTable: PFNGLCOLORTABLEPROC;
|
|
glColorTableParameterfv: PFNGLCOLORTABLEPARAMETERFVPROC;
|
|
glColorTableParameteriv: PFNGLCOLORTABLEPARAMETERIVPROC;
|
|
glCopyColorTable: PFNGLCOPYCOLORTABLEPROC;
|
|
glGetColorTable: PFNGLGETCOLORTABLEPROC;
|
|
glGetColorTableParameterfv: PFNGLGETCOLORTABLEPARAMETERFVPROC;
|
|
glGetColorTableParameteriv: PFNGLGETCOLORTABLEPARAMETERIVPROC;
|
|
|
|
// promoted to core v1.2 from GL_EXT_color_subtable (#74)
|
|
glColorSubTable: PFNGLCOLORSUBTABLEPROC;
|
|
glCopyColorSubTable: PFNGLCOPYCOLORSUBTABLEPROC;
|
|
|
|
// promoted to core v1.2 from GL_EXT_convolution (#12)
|
|
glConvolutionFilter1D: PFNGLCONVOLUTIONFILTER1DPROC;
|
|
glConvolutionFilter2D: PFNGLCONVOLUTIONFILTER2DPROC;
|
|
glConvolutionParameterf: PFNGLCONVOLUTIONPARAMETERFPROC;
|
|
glConvolutionParameterfv: PFNGLCONVOLUTIONPARAMETERFVPROC;
|
|
glConvolutionParameteri: PFNGLCONVOLUTIONPARAMETERIPROC;
|
|
glConvolutionParameteriv: PFNGLCONVOLUTIONPARAMETERIVPROC;
|
|
glCopyConvolutionFilter1D: PFNGLCOPYCONVOLUTIONFILTER1DPROC;
|
|
glCopyConvolutionFilter2D: PFNGLCOPYCONVOLUTIONFILTER2DPROC;
|
|
glGetConvolutionFilter: PFNGLGETCONVOLUTIONFILTERPROC;
|
|
glGetConvolutionParameterfv: PFNGLGETCONVOLUTIONPARAMETERFVPROC;
|
|
glGetConvolutionParameteriv: PFNGLGETCONVOLUTIONPARAMETERIVPROC;
|
|
glGetSeparableFilter: PFNGLGETSEPARABLEFILTERPROC;
|
|
glSeparableFilter2D: PFNGLSEPARABLEFILTER2DPROC;
|
|
|
|
// promoted to core v1.2 from GL_EXT_histogram (#11)
|
|
glGetHistogram: PFNGLGETHISTOGRAMPROC;
|
|
glGetHistogramParameterfv: PFNGLGETHISTOGRAMPARAMETERFVPROC;
|
|
glGetHistogramParameteriv: PFNGLGETHISTOGRAMPARAMETERIVPROC;
|
|
glGetMinmax: PFNGLGETMINMAXPROC;
|
|
glGetMinmaxParameterfv: PFNGLGETMINMAXPARAMETERFVPROC;
|
|
glGetMinmaxParameteriv: PFNGLGETMINMAXPARAMETERIVPROC;
|
|
glHistogram: PFNGLHISTOGRAMPROC;
|
|
glMinmax: PFNGLMINMAXPROC;
|
|
glResetHistogram: PFNGLRESETHISTOGRAMPROC;
|
|
glResetMinmax: PFNGLRESETMINMAXPROC;
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 1.3'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 1.3 Core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.3 from GL_ARB_multitexture (#1)
|
|
glActiveTexture: PFNGLACTIVETEXTUREPROC;
|
|
|
|
// promoted to core v1.3 from GL_ARB_multisample (#5)
|
|
glSampleCoverage: PFNGLSAMPLECOVERAGEPROC;
|
|
|
|
// promoted to core v1.3 from GL_ARB_texture_compression (#12)
|
|
glCompressedTexImage3D: PFNGLCOMPRESSEDTEXIMAGE3DPROC;
|
|
glCompressedTexImage2D: PFNGLCOMPRESSEDTEXIMAGE2DPROC;
|
|
glCompressedTexImage1D: PFNGLCOMPRESSEDTEXIMAGE1DPROC;
|
|
glCompressedTexSubImage3D: PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC;
|
|
glCompressedTexSubImage2D: PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC;
|
|
glCompressedTexSubImage1D: PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC;
|
|
glGetCompressedTexImage: PFNGLGETCOMPRESSEDTEXIMAGEPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL 1.3 deprecated'} {$ENDIF}
|
|
// promoted to core v1.3 from GL_ARB_multitexture (#1)
|
|
glClientActiveTexture: PFNGLCLIENTACTIVETEXTUREPROC;
|
|
glMultiTexCoord1d: PFNGLMULTITEXCOORD1DPROC;
|
|
glMultiTexCoord1dV: PFNGLMULTITEXCOORD1DVPROC;
|
|
glMultiTexCoord1f: PFNGLMULTITEXCOORD1FPROC;
|
|
glMultiTexCoord1fV: PFNGLMULTITEXCOORD1FVPROC;
|
|
glMultiTexCoord1i: PFNGLMULTITEXCOORD1IPROC;
|
|
glMultiTexCoord1iV: PFNGLMULTITEXCOORD1IVPROC;
|
|
glMultiTexCoord1s: PFNGLMULTITEXCOORD1SPROC;
|
|
glMultiTexCoord1sV: PFNGLMULTITEXCOORD1SVPROC;
|
|
glMultiTexCoord2d: PFNGLMULTITEXCOORD2DPROC;
|
|
glMultiTexCoord2dv: PFNGLMULTITEXCOORD2DVPROC;
|
|
glMultiTexCoord2f: PFNGLMULTITEXCOORD2FPROC;
|
|
glMultiTexCoord2fv: PFNGLMULTITEXCOORD2FVPROC;
|
|
glMultiTexCoord2i: PFNGLMULTITEXCOORD2IPROC;
|
|
glMultiTexCoord2iv: PFNGLMULTITEXCOORD2IVPROC;
|
|
glMultiTexCoord2s: PFNGLMULTITEXCOORD2SPROC;
|
|
glMultiTexCoord2sv: PFNGLMULTITEXCOORD2SVPROC;
|
|
glMultiTexCoord3d: PFNGLMULTITEXCOORD3DPROC;
|
|
glMultiTexCoord3dv: PFNGLMULTITEXCOORD3DVPROC;
|
|
glMultiTexCoord3f: PFNGLMULTITEXCOORD3FPROC;
|
|
glMultiTexCoord3fv: PFNGLMULTITEXCOORD3FVPROC;
|
|
glMultiTexCoord3i: PFNGLMULTITEXCOORD3IPROC;
|
|
glMultiTexCoord3iv: PFNGLMULTITEXCOORD3IVPROC;
|
|
glMultiTexCoord3s: PFNGLMULTITEXCOORD3SPROC;
|
|
glMultiTexCoord3sv: PFNGLMULTITEXCOORD3SVPROC;
|
|
glMultiTexCoord4d: PFNGLMULTITEXCOORD4DPROC;
|
|
glMultiTexCoord4dv: PFNGLMULTITEXCOORD4DVPROC;
|
|
glMultiTexCoord4f: PFNGLMULTITEXCOORD4FPROC;
|
|
glMultiTexCoord4fv: PFNGLMULTITEXCOORD4FVPROC;
|
|
glMultiTexCoord4i: PFNGLMULTITEXCOORD4IPROC;
|
|
glMultiTexCoord4iv: PFNGLMULTITEXCOORD4IVPROC;
|
|
glMultiTexCoord4s: PFNGLMULTITEXCOORD4SPROC;
|
|
glMultiTexCoord4sv: PFNGLMULTITEXCOORD4SVPROC;
|
|
|
|
// promoted to core v1.3 from GL_ARB_transpose_matrix
|
|
glLoadTransposeMatrixf: PFNGLLOADTRANSPOSEMATRIXFPROC;
|
|
glLoadTransposeMatrixd: PFNGLLOADTRANSPOSEMATRIXDPROC;
|
|
glMultTransposeMatrixf: PFNGLMULTTRANSPOSEMATRIXFPROC;
|
|
glMultTransposeMatrixd: PFNGLMULTTRANSPOSEMATRIXDPROC;
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 1.4'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 1.4 Core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.4 from GL_EXT_blend_func_separate (#173)
|
|
glBlendFuncSeparate: PFNGLBLENDFUNCSEPARATEPROC;
|
|
|
|
// promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)
|
|
glMultiDrawArrays: PFNGLMULTIDRAWARRAYSPROC;
|
|
glMultiDrawElements: PFNGLMULTIDRAWELEMENTSPROC;
|
|
|
|
// promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)
|
|
glPointParameterf: PFNGLPOINTPARAMETERFPROC;
|
|
glPointParameterfv: PFNGLPOINTPARAMETERFVPROC;
|
|
glPointParameteri: PFNGLPOINTPARAMETERIPROC;
|
|
glPointParameteriv: PFNGLPOINTPARAMETERIVPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL 1.4 deprecated'} {$ENDIF}
|
|
// promoted to core v1.4 from GL_EXT_fog_coord (#149)
|
|
glFogCoordf: PFNGLFOGCOORDFPROC;
|
|
glFogCoordfv: PFNGLFOGCOORDFVPROC;
|
|
glFogCoordd: PFNGLFOGCOORDDPROC;
|
|
glFogCoorddv: PFNGLFOGCOORDDVPROC;
|
|
glFogCoordPointer: PFNGLFOGCOORDPOINTERPROC;
|
|
|
|
// promoted to core v1.4 from GL_EXT_secondary_color (#145)
|
|
glSecondaryColor3b: PFNGLSECONDARYCOLOR3BPROC;
|
|
glSecondaryColor3bv: PFNGLSECONDARYCOLOR3BVPROC;
|
|
glSecondaryColor3d: PFNGLSECONDARYCOLOR3DPROC;
|
|
glSecondaryColor3dv: PFNGLSECONDARYCOLOR3DVPROC;
|
|
glSecondaryColor3f: PFNGLSECONDARYCOLOR3FPROC;
|
|
glSecondaryColor3fv: PFNGLSECONDARYCOLOR3FVPROC;
|
|
glSecondaryColor3i: PFNGLSECONDARYCOLOR3IPROC;
|
|
glSecondaryColor3iv: PFNGLSECONDARYCOLOR3IVPROC;
|
|
glSecondaryColor3s: PFNGLSECONDARYCOLOR3SPROC;
|
|
glSecondaryColor3sv: PFNGLSECONDARYCOLOR3SVPROC;
|
|
glSecondaryColor3ub: PFNGLSECONDARYCOLOR3UBPROC;
|
|
glSecondaryColor3ubv: PFNGLSECONDARYCOLOR3UBVPROC;
|
|
glSecondaryColor3ui: PFNGLSECONDARYCOLOR3UIPROC;
|
|
glSecondaryColor3uiv: PFNGLSECONDARYCOLOR3UIVPROC;
|
|
glSecondaryColor3us: PFNGLSECONDARYCOLOR3USPROC;
|
|
glSecondaryColor3usv: PFNGLSECONDARYCOLOR3USVPROC;
|
|
glSecondaryColorPointer: PFNGLSECONDARYCOLORPOINTERPROC;
|
|
|
|
// promoted to core v1.4 from GL_ARB_window_pos (#25)
|
|
glWindowPos2d: PFNGLWINDOWPOS2DPROC;
|
|
glWindowPos2dv: PFNGLWINDOWPOS2DVPROC;
|
|
glWindowPos2f: PFNGLWINDOWPOS2FPROC;
|
|
glWindowPos2fv: PFNGLWINDOWPOS2FVPROC;
|
|
glWindowPos2i: PFNGLWINDOWPOS2IPROC;
|
|
glWindowPos2iv: PFNGLWINDOWPOS2IVPROC;
|
|
glWindowPos2s: PFNGLWINDOWPOS2SPROC;
|
|
glWindowPos2sv: PFNGLWINDOWPOS2SVPROC;
|
|
glWindowPos3d: PFNGLWINDOWPOS3DPROC;
|
|
glWindowPos3dv: PFNGLWINDOWPOS3DVPROC;
|
|
glWindowPos3f: PFNGLWINDOWPOS3FPROC;
|
|
glWindowPos3fv: PFNGLWINDOWPOS3FVPROC;
|
|
glWindowPos3i: PFNGLWINDOWPOS3IPROC;
|
|
glWindowPos3iv: PFNGLWINDOWPOS3IVPROC;
|
|
glWindowPos3s: PFNGLWINDOWPOS3SPROC;
|
|
glWindowPos3sv: PFNGLWINDOWPOS3SVPROC;
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 1.5'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 1.5 Core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.5 from GL_ARB_occlusion_query (#29)
|
|
glGenQueries: PFNGLGENQUERIESPROC;
|
|
glDeleteQueries: PFNGLDELETEQUERIESPROC;
|
|
glIsQuery: PFNGLISQUERYPROC;
|
|
glBeginQuery: PFNGLBEGINQUERYPROC;
|
|
glEndQuery: PFNGLENDQUERYPROC;
|
|
glGetQueryiv: PFNGLGETQUERYIVPROC;
|
|
glGetQueryObjectiv: PFNGLGETQUERYOBJECTIVPROC;
|
|
glGetQueryObjectuiv: PFNGLGETQUERYOBJECTUIVPROC;
|
|
|
|
// promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)
|
|
glBindBuffer: PFNGLBINDBUFFERPROC;
|
|
glDeleteBuffers: PFNGLDELETEBUFFERSPROC;
|
|
glGenBuffers: PFNGLGENBUFFERSPROC;
|
|
glIsBuffer: PFNGLISBUFFERPROC;
|
|
glBufferData: PFNGLBUFFERDATAPROC;
|
|
glBufferSubData: PFNGLBUFFERSUBDATAPROC;
|
|
glGetBufferSubData: PFNGLGETBUFFERSUBDATAPROC;
|
|
glMapBuffer: PFNGLMAPBUFFERPROC;
|
|
glUnmapBuffer: PFNGLUNMAPBUFFERPROC;
|
|
glGetBufferParameteriv: PFNGLGETBUFFERPARAMETERIVPROC;
|
|
glGetBufferPointerv: PFNGLGETBUFFERPOINTERVPROC;
|
|
|
|
// promoted to core v1.5 from GL_EXT_shadow_funcs (#267)
|
|
// (no functions or procedures)
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 2.0'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 2.0 Core
|
|
// ###########################################################
|
|
|
|
// promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)
|
|
glBlendEquationSeparate: PFNGLBLENDEQUATIONSEPARATEPROC;
|
|
|
|
// promoted to core v2.0 from GL_ARB_draw_buffers (#37)
|
|
glDrawBuffers: PFNGLDRAWBUFFERSPROC;
|
|
|
|
// promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)
|
|
glStencilOpSeparate: PFNGLSTENCILOPSEPARATEPROC;
|
|
glStencilFuncSeparate: PFNGLSTENCILFUNCSEPARATEPROC;
|
|
glStencilMaskSeparate: PFNGLSTENCILMASKSEPARATEPROC;
|
|
|
|
// promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)
|
|
glAttachShader: PFNGLATTACHSHADERPROC;
|
|
glBindAttribLocation: PFNGLBINDATTRIBLOCATIONPROC;
|
|
glCompileShader: PFNGLCOMPILESHADERPROC;
|
|
glCreateProgram: PFNGLCREATEPROGRAMPROC;
|
|
glCreateShader: PFNGLCREATESHADERPROC;
|
|
glDeleteProgram: PFNGLDELETEPROGRAMPROC;
|
|
glDeleteShader: PFNGLDELETESHADERPROC;
|
|
glDetachShader: PFNGLDETACHSHADERPROC;
|
|
glDisableVertexAttribArray: PFNGLDISABLEVERTEXATTRIBARRAYPROC;
|
|
glEnableVertexAttribArray: PFNGLENABLEVERTEXATTRIBARRAYPROC;
|
|
glGetActiveAttrib: PFNGLGETACTIVEATTRIBPROC;
|
|
glGetActiveUniform: PFNGLGETACTIVEUNIFORMPROC;
|
|
glGetAttachedShaders: PFNGLGETATTACHEDSHADERSPROC;
|
|
glGetAttribLocation: PFNGLGETATTRIBLOCATIONPROC;
|
|
glGetProgramiv: PFNGLGETPROGRAMIVPROC;
|
|
glGetProgramInfoLog: PFNGLGETPROGRAMINFOLOGPROC;
|
|
glGetShaderiv: PFNGLGETSHADERIVPROC;
|
|
glGetShaderInfoLog: PFNGLGETSHADERINFOLOGPROC;
|
|
glGetShaderSource: PFNGLGETSHADERSOURCEPROC;
|
|
glGetUniformLocation: PFNGLGETUNIFORMLOCATIONPROC;
|
|
glGetUniformfv: PFNGLGETUNIFORMFVPROC;
|
|
glGetUniformiv: PFNGLGETUNIFORMIVPROC;
|
|
glGetVertexAttribdv: PFNGLGETVERTEXATTRIBDVPROC;
|
|
glGetVertexAttribfv: PFNGLGETVERTEXATTRIBFVPROC;
|
|
glGetVertexAttribiv: PFNGLGETVERTEXATTRIBIVPROC;
|
|
glGetVertexAttribPointerv: PFNGLGETVERTEXATTRIBPOINTERVPROC;
|
|
glIsProgram: PFNGLISPROGRAMPROC;
|
|
glIsShader: PFNGLISSHADERPROC;
|
|
glLinkProgram: PFNGLLINKPROGRAMPROC;
|
|
glShaderSource: PFNGLSHADERSOURCEPROC;
|
|
glUseProgram: PFNGLUSEPROGRAMPROC;
|
|
glUniform1f: PFNGLUNIFORM1FPROC;
|
|
glUniform2f: PFNGLUNIFORM2FPROC;
|
|
glUniform3f: PFNGLUNIFORM3FPROC;
|
|
glUniform4f: PFNGLUNIFORM4FPROC;
|
|
glUniform1i: PFNGLUNIFORM1IPROC;
|
|
glUniform2i: PFNGLUNIFORM2IPROC;
|
|
glUniform3i: PFNGLUNIFORM3IPROC;
|
|
glUniform4i: PFNGLUNIFORM4IPROC;
|
|
glUniform1fv: PFNGLUNIFORM1FVPROC;
|
|
glUniform2fv: PFNGLUNIFORM2FVPROC;
|
|
glUniform3fv: PFNGLUNIFORM3FVPROC;
|
|
glUniform4fv: PFNGLUNIFORM4FVPROC;
|
|
glUniform1iv: PFNGLUNIFORM1IVPROC;
|
|
glUniform2iv: PFNGLUNIFORM2IVPROC;
|
|
glUniform3iv: PFNGLUNIFORM3IVPROC;
|
|
glUniform4iv: PFNGLUNIFORM4IVPROC;
|
|
glUniformMatrix2fv: PFNGLUNIFORMMATRIX2FVPROC;
|
|
glUniformMatrix3fv: PFNGLUNIFORMMATRIX3FVPROC;
|
|
glUniformMatrix4fv: PFNGLUNIFORMMATRIX4FVPROC;
|
|
glValidateProgram: PFNGLVALIDATEPROGRAMPROC;
|
|
glVertexAttrib1d: PFNGLVERTEXATTRIB1DPROC;
|
|
glVertexAttrib1dv: PFNGLVERTEXATTRIB1DVPROC;
|
|
glVertexAttrib1f: PFNGLVERTEXATTRIB1FPROC;
|
|
glVertexAttrib1fv: PFNGLVERTEXATTRIB1FVPROC;
|
|
glVertexAttrib1s: PFNGLVERTEXATTRIB1SPROC;
|
|
glVertexAttrib1sv: PFNGLVERTEXATTRIB1SVPROC;
|
|
glVertexAttrib2d: PFNGLVERTEXATTRIB2DPROC;
|
|
glVertexAttrib2dv: PFNGLVERTEXATTRIB2DVPROC;
|
|
glVertexAttrib2f: PFNGLVERTEXATTRIB2FPROC;
|
|
glVertexAttrib2fv: PFNGLVERTEXATTRIB2FVPROC;
|
|
glVertexAttrib2s: PFNGLVERTEXATTRIB2SPROC;
|
|
glVertexAttrib2sv: PFNGLVERTEXATTRIB2SVPROC;
|
|
glVertexAttrib3d: PFNGLVERTEXATTRIB3DPROC;
|
|
glVertexAttrib3dv: PFNGLVERTEXATTRIB3DVPROC;
|
|
glVertexAttrib3f: PFNGLVERTEXATTRIB3FPROC;
|
|
glVertexAttrib3fv: PFNGLVERTEXATTRIB3FVPROC;
|
|
glVertexAttrib3s: PFNGLVERTEXATTRIB3SPROC;
|
|
glVertexAttrib3sv: PFNGLVERTEXATTRIB3SVPROC;
|
|
glVertexAttrib4Nbv: PFNGLVERTEXATTRIB4NBVPROC;
|
|
glVertexAttrib4Niv: PFNGLVERTEXATTRIB4NIVPROC;
|
|
glVertexAttrib4Nsv: PFNGLVERTEXATTRIB4NSVPROC;
|
|
glVertexAttrib4Nub: PFNGLVERTEXATTRIB4NUBPROC;
|
|
glVertexAttrib4Nubv: PFNGLVERTEXATTRIB4NUBVPROC;
|
|
glVertexAttrib4Nuiv: PFNGLVERTEXATTRIB4NUIVPROC;
|
|
glVertexAttrib4Nusv: PFNGLVERTEXATTRIB4NUSVPROC;
|
|
glVertexAttrib4bv: PFNGLVERTEXATTRIB4BVPROC;
|
|
glVertexAttrib4d: PFNGLVERTEXATTRIB4DPROC;
|
|
glVertexAttrib4dv: PFNGLVERTEXATTRIB4DVPROC;
|
|
glVertexAttrib4f: PFNGLVERTEXATTRIB4FPROC;
|
|
glVertexAttrib4fv: PFNGLVERTEXATTRIB4FVPROC;
|
|
glVertexAttrib4iv: PFNGLVERTEXATTRIB4IVPROC;
|
|
glVertexAttrib4s: PFNGLVERTEXATTRIB4SPROC;
|
|
glVertexAttrib4sv: PFNGLVERTEXATTRIB4SVPROC;
|
|
glVertexAttrib4ubv: PFNGLVERTEXATTRIB4UBVPROC;
|
|
glVertexAttrib4uiv: PFNGLVERTEXATTRIB4UIVPROC;
|
|
glVertexAttrib4usv: PFNGLVERTEXATTRIB4USVPROC;
|
|
glVertexAttribPointer: PFNGLVERTEXATTRIBPOINTERPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 2.1'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 2.1 Core
|
|
// ###########################################################
|
|
|
|
// promoted to core v2.1 from GL_ARB_pixel_buffer_object
|
|
// (no functions or procedures)
|
|
|
|
// promoted to core v2.1 from GL_EXT_texture_sRGB (#315)
|
|
// (no functions or procedures)
|
|
|
|
// New commands in OpenGL 2.1
|
|
glUniformMatrix2x3fv: PFNGLUNIFORMMATRIX2X3FVPROC;
|
|
glUniformMatrix3x2fv: PFNGLUNIFORMMATRIX3X2FVPROC;
|
|
glUniformMatrix2x4fv: PFNGLUNIFORMMATRIX2X4FVPROC;
|
|
glUniformMatrix4x2fv: PFNGLUNIFORMMATRIX4X2FVPROC;
|
|
glUniformMatrix3x4fv: PFNGLUNIFORMMATRIX3X4FVPROC;
|
|
glUniformMatrix4x3fv: PFNGLUNIFORMMATRIX4X3FVPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 3.0'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 3.0 Core
|
|
// ###########################################################
|
|
|
|
// promoted to core v3.0 from GL_EXT_gpu_shader4
|
|
glVertexAttribI1i: PFNGLVERTEXATTRIBI1IPROC;
|
|
glVertexAttribI2i: PFNGLVERTEXATTRIBI2IPROC;
|
|
glVertexAttribI3i: PFNGLVERTEXATTRIBI3IPROC;
|
|
glVertexAttribI4i: PFNGLVERTEXATTRIBI4IPROC;
|
|
glVertexAttribI1ui: PFNGLVERTEXATTRIBI1UIPROC;
|
|
glVertexAttribI2ui: PFNGLVERTEXATTRIBI2UIPROC;
|
|
glVertexAttribI3ui: PFNGLVERTEXATTRIBI3UIPROC;
|
|
glVertexAttribI4ui: PFNGLVERTEXATTRIBI4UIPROC;
|
|
glVertexAttribI1iv: PFNGLVERTEXATTRIBI1IVPROC;
|
|
glVertexAttribI2iv: PFNGLVERTEXATTRIBI2IVPROC;
|
|
glVertexAttribI3iv: PFNGLVERTEXATTRIBI3IVPROC;
|
|
glVertexAttribI4iv: PFNGLVERTEXATTRIBI4IVPROC;
|
|
glVertexAttribI1uiv: PFNGLVERTEXATTRIBI1UIVPROC;
|
|
glVertexAttribI2uiv: PFNGLVERTEXATTRIBI2UIVPROC;
|
|
glVertexAttribI3uiv: PFNGLVERTEXATTRIBI3UIVPROC;
|
|
glVertexAttribI4uiv: PFNGLVERTEXATTRIBI4UIVPROC;
|
|
glVertexAttribI4bv: PFNGLVERTEXATTRIBI4BVPROC;
|
|
glVertexAttribI4sv: PFNGLVERTEXATTRIBI4SVPROC;
|
|
glVertexAttribI4ubv: PFNGLVERTEXATTRIBI4UBVPROC;
|
|
glVertexAttribI4usv: PFNGLVERTEXATTRIBI4USVPROC;
|
|
glVertexAttribIPointer: PFNGLVERTEXATTRIBIPOINTERPROC;
|
|
glGetVertexAttribIiv: PFNGLGETVERTEXATTRIBIIVPROC;
|
|
glGetVertexAttribIuiv: PFNGLGETVERTEXATTRIBIUIVPROC;
|
|
glUniform1ui: PFNGLUNIFORM1UIPROC;
|
|
glUniform2ui: PFNGLUNIFORM2UIPROC;
|
|
glUniform3ui: PFNGLUNIFORM3UIPROC;
|
|
glUniform4ui: PFNGLUNIFORM4UIPROC;
|
|
glUniform1uiv: PFNGLUNIFORM1UIVPROC;
|
|
glUniform2uiv: PFNGLUNIFORM2UIVPROC;
|
|
glUniform3uiv: PFNGLUNIFORM3UIVPROC;
|
|
glUniform4uiv: PFNGLUNIFORM4UIVPROC;
|
|
glGetUniformuiv: PFNGLGETUNIFORMUIVPROC;
|
|
glBindFragDataLocation: PFNGLBINDFRAGDATALOCATIONPROC;
|
|
glGetFragDataLocation: PFNGLGETFRAGDATALOCATIONPROC;
|
|
|
|
// promoted to core v3.0 from GL_NV_conditional_render
|
|
glBeginConditionalRender: PFNGLBEGINCONDITIONALRENDERPROC;
|
|
glEndConditionalRender: PFNGLENDCONDITIONALRENDERPROC;
|
|
|
|
// promoted to core v3.0 from GL_ARB_color_buffer_float
|
|
glClampColor: PFNGLCLAMPCOLORPROC;
|
|
|
|
// promoted to core v3.0 from GL_EXT_texture_integer
|
|
//glClearColorIi: procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);{$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF}
|
|
//glClearColorIui: procedure(r: TGLuint; g: TGLuint; b: TGLuint; a: TGLuint);{$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF}
|
|
glTexParameterIiv: PFNGLTEXPARAMETERIIVPROC;
|
|
glTexParameterIuiv: PFNGLTEXPARAMETERIUIVPROC;
|
|
glGetTexParameterIiv: PFNGLGETTEXPARAMETERIIVPROC;
|
|
glGetTexParameterIuiv: PFNGLGETTEXPARAMETERIUIVPROC;
|
|
|
|
// promoted to core v3.0 from GL_EXT_draw_buffers2
|
|
glColorMaski: PFNGLCOLORMASKIPROC;
|
|
glGetBooleani_v: PFNGLGETBOOLEANI_VPROC;
|
|
glGetIntegeri_v: PFNGLGETINTEGERI_VPROC;
|
|
glEnablei: PFNGLENABLEIPROC;
|
|
glDisablei: PFNGLDISABLEIPROC;
|
|
glIsEnabledi: PFNGLISENABLEDIPROC;
|
|
|
|
//promoted to core v3.0 from GL_EXT_transform_feedback
|
|
glBindBufferRange: PFNGLBINDBUFFERRANGEPROC;
|
|
glBindBufferBase: PFNGLBINDBUFFERBASEPROC;
|
|
glBeginTransformFeedback: PFNGLBEGINTRANSFORMFEEDBACKPROC;
|
|
glEndTransformFeedback: PFNGLENDTRANSFORMFEEDBACKPROC;
|
|
glTransformFeedbackVaryings: PFNGLTRANSFORMFEEDBACKVARYINGSPROC;
|
|
glGetTransformFeedbackVarying: PFNGLGETTRANSFORMFEEDBACKVARYINGPROC;
|
|
|
|
// New commands in OpenGL 3.0
|
|
glClearBufferiv: PFNGLCLEARBUFFERIVPROC;
|
|
glClearBufferuiv: PFNGLCLEARBUFFERUIVPROC;
|
|
glClearBufferfv: PFNGLCLEARBUFFERFVPROC;
|
|
glClearBufferfi: PFNGLCLEARBUFFERFIPROC;
|
|
glGetStringi: PFNGLGETSTRINGIPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 3.1'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 3.1 Core
|
|
// ###########################################################
|
|
|
|
glDrawArraysInstanced: PFNGLDRAWARRAYSINSTANCEDPROC;
|
|
glDrawElementsInstanced: PFNGLDRAWELEMENTSINSTANCEDPROC;
|
|
glTexBuffer: PFNGLTEXBUFFERPROC;
|
|
glPrimitiveRestartIndex: PFNGLPRIMITIVERESTARTINDEXPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 3.2'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 3.2 Core
|
|
// ###########################################################
|
|
|
|
glGetInteger64i_v: PFNGLGETINTEGER64I_VPROC;
|
|
glGetBufferParameteri64v: PFNGLGETBUFFERPARAMETERI64VPROC;
|
|
glFramebufferTexture: PFNGLFRAMEBUFFERTEXTUREPROC;
|
|
// glFramebufferTextureFace: procedure(target: TGLenum; attachment: TGLenum; texture: TGLuint; level: TGLint; face: TGLenum);{$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF}
|
|
// OpenGL 3.2 also reuses entry points from these extensions:
|
|
// GL_ARB_draw_elements_base_vertex
|
|
// GL_ARB_provoking_vertex
|
|
// GL_ARB_sync
|
|
// GL_ARB_texture_multisample
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 3.3'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 3.3 Core
|
|
// ###########################################################
|
|
|
|
// New commands in OpenGL 3.3
|
|
glVertexAttribDivisor: PFNGLVERTEXATTRIBDIVISORPROC;
|
|
|
|
// OpenGL 3.3 reuses entry points from these extensions:
|
|
// GL_ARB_blend_func_extended (ARB #78)
|
|
// GL_ARB_explicit_attrib_location (ARB #79) (none)
|
|
// GL_ARB_occlusion_query2 (ARB #80)
|
|
// GL_ARB_sampler_objects (ARB #81)
|
|
// GL_ARB_shader_bit_encoding (ARB #82)
|
|
// GL_ARB_texture_rgb10_a2ui (ARB #83)
|
|
// GL_ARB_texture_swizzle (ARB #84)
|
|
// GL_ARB_timer_query (ARB #85)
|
|
// GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 4.0'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// extensions integrated into OpenGL 4.0 Core
|
|
// ###########################################################
|
|
|
|
// New commands in OpenGL 4.0
|
|
glMinSampleShading: PFNGLMINSAMPLESHADINGPROC;
|
|
glBlendEquationi: PFNGLBLENDEQUATIONIPROC;
|
|
glBlendEquationSeparatei: PFNGLBLENDEQUATIONSEPARATEIPROC;
|
|
glBlendFunci: PFNGLBLENDFUNCIPROC;
|
|
glBlendFuncSeparatei: PFNGLBLENDFUNCSEPARATEIPROC;
|
|
|
|
// OpenGL 4.0 uses entry points from these extensions:
|
|
// GL_ARB_draw_indirect (ARB #87)
|
|
// GL_ARB_gpu_shader5 (ARB #88) (none)
|
|
// GL_ARB_gpu_shader_fp64 (ARB #89)
|
|
// GL_ARB_shader_subroutine (ARB #90)
|
|
// GL_ARB_tessellation_shader (ARB #91)
|
|
// GL_ARB_texture_buffer_object_rgb32 (ARB #92) (none)
|
|
// GL_ARB_transform_feedback2 (ARB #93)
|
|
// GL_ARB_transform_feedback3 (ARB #94)
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'New core function/procedure definitions in OpenGL 4.1'} {$ENDIF}
|
|
|
|
// OpenGL 4.1 uses entry points from these extensions:
|
|
// ARB_ES2_compatibility
|
|
// ARB_get_program_binary
|
|
// ARB_separate_shader_objects
|
|
// ARB_shader_precision (no entry points)
|
|
// ARB_vertex_attrib_64bit
|
|
// ARB_viewport_array
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL Utility (GLU) function/procedure definitions'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// GLU extensions
|
|
// ###########################################################
|
|
|
|
// GLU extensions
|
|
gluNurbsCallbackDataEXT: PFNGLUNURBSCALLBACKDATAEXTPROC;
|
|
gluNewNurbsTessellatorEXT: PFNGLUNEWNURBSTESSELLATOREXTPROC;
|
|
gluDeleteNurbsTessellatorEXT: PFNGLUDELETENURBSTESSELLATOREXTPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'Windows OpenGL (WGL) function/procedure definitions for ARB approved extensions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_WGL}
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// ARB approved WGL extensions
|
|
// ###########################################################
|
|
|
|
// WGL_buffer_region (ARB #4)
|
|
wglCreateBufferRegionARB: PFNWGLCREATEBUFFERREGIONARBPROC;
|
|
wglDeleteBufferRegionARB: PFNWGLDELETEBUFFERREGIONARBPROC;
|
|
wglSaveBufferRegionARB: PFNWGLSAVEBUFFERREGIONARBPROC;
|
|
wglRestoreBufferRegionARB: PFNWGLRESTOREBUFFERREGIONARBPROC;
|
|
|
|
// WGL_ARB_extensions_string (ARB #8)
|
|
wglGetExtensionsStringARB: PFNWGLGETEXTENSIONSSTRINGARBPROC;
|
|
|
|
// WGL_ARB_pixel_format (ARB #9)
|
|
wglGetPixelFormatAttribivARB: PFNWGLGETPIXELFORMATATTRIBIVARBPROC;
|
|
wglGetPixelFormatAttribfvARB: PFNWGLGETPIXELFORMATATTRIBFVARBPROC;
|
|
wglChoosePixelFormatARB: PFNWGLCHOOSEPIXELFORMATARBPROC;
|
|
|
|
// WGL_make_current_read (ARB #10)
|
|
wglMakeContextCurrentARB: PFNWGLMAKECONTEXTCURRENTARBPROC;
|
|
wglGetCurrentReadDCARB: PFNWGLGETCURRENTREADDCARBPROC;
|
|
|
|
// WGL_ARB_pbuffer (ARB #11)
|
|
wglCreatePbufferARB: PFNWGLCREATEPBUFFERARBPROC;
|
|
wglGetPbufferDCARB: PFNWGLGETPBUFFERDCARBPROC;
|
|
wglReleasePbufferDCARB: PFNWGLRELEASEPBUFFERDCARBPROC;
|
|
wglDestroyPbufferARB: PFNWGLDESTROYPBUFFERARBPROC;
|
|
wglQueryPbufferARB: PFNWGLQUERYPBUFFERARBPROC;
|
|
|
|
// WGL_ARB_render_texture (ARB #20)
|
|
wglBindTexImageARB: PFNWGLBINDTEXIMAGEARBPROC;
|
|
wglReleaseTexImageARB: PFNWGLRELEASETEXIMAGEARBPROC;
|
|
wglSetPbufferAttribARB: PFNWGLSETPBUFFERATTRIBARBPROC;
|
|
|
|
// WGL_ARB_create_context (ARB #55)
|
|
wglCreateContextAttribsARB: PFNWGLCREATECONTEXTATTRIBSARBPROC;
|
|
|
|
// WGL_NV_gpu_affinity
|
|
wglEnumGpusNV: PFNWGLENUMGPUSNVPROC;
|
|
wglEnumGpuDevicesNV: PFNWGLENUMGPUDEVICESNVPROC;
|
|
wglCreateAffinityDCNV: PFNWGLCREATEAFFINITYDCNVPROC;
|
|
wglEnumGpusFromAffinityDCNV: PFNWGLENUMGPUSFROMAFFINITYDCNVPROC;
|
|
wglDeleteDCNV: PFNWGLDELETEDCNVPROC;
|
|
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'Windows OpenGL (WGL) function/procedure definitions for Vendor/EXT extensions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_WGL}
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// Vendor/EXT WGL extensions
|
|
// ###########################################################
|
|
|
|
// WGL_EXT_swap_control (EXT #172)
|
|
wglSwapIntervalEXT: PFNWGLSWAPINTERVALEXTPROC;
|
|
wglGetSwapIntervalEXT: PFNWGLGETSWAPINTERVALEXTPROC;
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'GLX function/procedure definitions for ARB approved extensions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_GLX}
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// ARB approved GLX extensions
|
|
// ###########################################################
|
|
|
|
// GLX 1.3 and later
|
|
glXChooseFBConfig: PFNGLXCHOOSEFBCONFIGPROC;
|
|
glXGetFBConfigAttrib: PFNGLXGETFBCONFIGATTRIBPROC;
|
|
glXGetFBConfigs: PFNGLXGETFBCONFIGSPROC;
|
|
glXGetVisualFromFBConfig: PFNGLXGETVISUALFROMFBCONFIGPROC;
|
|
glXCreateWindow: PFNGLXCREATEWINDOWPROC;
|
|
glXDestroyWindow: PFNGLXDESTROYWINDOWPROC;
|
|
glXCreatePixmap: PFNGLXCREATEPIXMAPPROC;
|
|
glXDestroyPixmap: PFNGLXDESTROYPIXMAPPROC;
|
|
glXCreatePbuffer: PFNGLXCREATEPBUFFERPROC;
|
|
glXDestroyPbuffer: PFNGLXDESTROYPBUFFERPROC;
|
|
glXQueryDrawable: PFNGLXQUERYDRAWABLEPROC;
|
|
glXCreateNewContext: PFNGLXCREATENEWCONTEXTPROC;
|
|
glXMakeContextCurrent: PFNGLXMAKECONTEXTCURRENTPROC;
|
|
glXGetCurrentReadDrawable: PFNGLXGETCURRENTREADDRAWABLEPROC;
|
|
glXQueryContext: PFNGLXQUERYCONTEXTPROC;
|
|
glXSelectEvent: PFNGLXSELECTEVENTPROC;
|
|
glXGetSelectedEvent: PFNGLXGETSELECTEDEVENTPROC;
|
|
glXBindTexImageARB: PFNGLXBINDTEXIMAGEARBPROC;
|
|
glXReleaseTexImageARB: PFNGLXRELEASETEXIMAGEARBPROC;
|
|
glxDrawableAttribARB: PFNGLXDRAWABLEATTRIBARBPROC;
|
|
|
|
//GLX 1.4
|
|
// GLX_ARB_create_context (EXT #56)
|
|
glXCreateContextAttribsARB: PFNGLXCREATECONTEXTATTRIBSARBPROC;
|
|
glXGetProcAddress: PFNGLXGETPROCADDRESSPROC;
|
|
glXGetProcAddressARB: PFNGLXGETPROCADDRESSARBPROC;
|
|
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'GLX function/procedure definitions for Vendor/EXT extensions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_GLX}
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// Vendor/EXT GLX extensions
|
|
// ###########################################################
|
|
|
|
// GLX_SGI_swap_control (EXT #40)
|
|
glXSwapIntervalSGI: PFNGLXSWAPINTERVALSGIPROC;
|
|
glXGetVideoSyncSGI: PFNGLXGETVIDEOSYNCSGIPROC;
|
|
glXWaitVideoSyncSGI: PFNGLXWAITVIDEOSYNCSGIPROC;
|
|
glXFreeContextEXT: PFNGLXFREECONTEXTEXTPROC;
|
|
glXGetContextIDEXT: PFNGLXGETCONTEXTIDEXTPROC;
|
|
glXGetCurrentDisplayEXT: PFNGLXGETCURRENTDISPLAYEXTPROC;
|
|
glXImportContextEXT: PFNGLXIMPORTCONTEXTEXTPROC;
|
|
glXQueryContextInfoEXT: PFNGLXQUERYCONTEXTINFOEXTPROC;
|
|
glXCopySubBufferMESA: PFNGLXCOPYSUBBUFFERMESAPROC;
|
|
glXCreateGLXPixmapMESA: PFNGLXCREATEGLXPIXMAPMESAPROC;
|
|
glXReleaseBuffersMESA: PFNGLXRELEASEBUFFERSMESAPROC;
|
|
glXSet3DfxModeMESA: PFNGLXSET3DFXMODEMESAPROC;
|
|
|
|
glXBindTexImageEXT: PFNGLXBINDTEXIMAGEEXTPROC;
|
|
glXReleaseTexImageEXT: PFNGLXRELEASETEXIMAGEEXTPROC;
|
|
|
|
//GLX 1.4
|
|
glXMakeCurrentReadSGI: PFNGLXMAKECURRENTREADSGIPROC;
|
|
glXGetCurrentReadDrawableSGI: PFNGLXGETCURRENTREADDRAWABLESGIPROC;
|
|
glXGetFBConfigAttribSGIX: PFNGLXGETFBCONFIGATTRIBSGIXPROC;
|
|
glXChooseFBConfigSGIX: PFNGLXCHOOSEFBCONFIGSGIXPROC;
|
|
glXCreateGLXPixmapWithConfigSGIX: PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC;
|
|
glXCreateContextWithConfigSGIX: PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC;
|
|
glXGetVisualFromFBConfigSGIX: PFNGLXGETVISUALFROMFBCONFIGSGIXPROC;
|
|
glXGetFBConfigFromVisualSGIX: PFNGLXGETFBCONFIGFROMVISUALSGIXPROC;
|
|
glXCreateGLXPbufferSGIX: PFNGLXCREATEGLXPBUFFERSGIXPROC;
|
|
glXDestroyGLXPbufferSGIX: PFNGLXDESTROYGLXPBUFFERSGIXPROC;
|
|
glXQueryGLXPbufferSGIX: PFNGLXQUERYGLXPBUFFERSGIXPROC;
|
|
glXSelectEventSGIX: PFNGLXSELECTEVENTSGIXPROC;
|
|
glXGetSelectedEventSGIX: PFNGLXGETSELECTEDEVENTSGIXPROC;
|
|
glXCushionSGI: PFNGLXCUSHIONSGIPROC;
|
|
glXBindChannelToWindowSGIX: PFNGLXBINDCHANNELTOWINDOWSGIXPROC;
|
|
glXChannelRectSGIX: PFNGLXCHANNELRECTSGIXPROC;
|
|
glXQueryChannelRectSGIX: PFNGLXQUERYCHANNELRECTSGIXPROC;
|
|
glXQueryChannelDeltasSGIX: PFNGLXQUERYCHANNELDELTASSGIXPROC;
|
|
glXChannelRectSyncSGIX: PFNGLXCHANNELRECTSYNCSGIXPROC;
|
|
glXJoinSwapGroupSGIX: PFNGLXJOINSWAPGROUPSGIXPROC;
|
|
glXBindSwapBarrierSGIX: PFNGLXBINDSWAPBARRIERSGIXPROC;
|
|
glXQueryMaxSwapBarriersSGIX: PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC;
|
|
glXQueryHyperpipeNetworkSGIX: PFNGLXQUERYHYPERPIPENETWORKSGIXPROC;
|
|
glXHyperpipeConfigSGIX: PFNGLXHYPERPIPECONFIGSGIXPROC;
|
|
glXQueryHyperpipeConfigSGIX: PFNGLXQUERYHYPERPIPECONFIGSGIXPROC;
|
|
glXDestroyHyperpipeConfigSGIX: PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC;
|
|
glXBindHyperpipeSGIX: PFNGLXBINDHYPERPIPESGIXPROC;
|
|
glXQueryHyperpipeBestAttribSGIX: PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC;
|
|
glXHyperpipeAttribSGIX: PFNGLXHYPERPIPEATTRIBSGIXPROC;
|
|
glXQueryHyperpipeAttribSGIX: PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC;
|
|
glXGetAGPOffsetMESA: PFNGLXGETAGPOFFSETMESAPROC;
|
|
glXEnumerateVideoDevicesNV: PFNGLXENUMERATEVIDEODEVICESNVPROC;
|
|
glXBindVideoDeviceNV: PFNGLXBINDVIDEODEVICENVPROC;
|
|
glxGetVideoDeviceNV: PFNGLXGETVIDEODEVICENVPROC;
|
|
|
|
glXAllocateMemoryNV: PFNGLXALLOCATEMEMORYNVPROC;
|
|
glXFreeMemoryNV: PFNGLXFREEMEMORYNVPROC;
|
|
|
|
glXReleaseVideoDeviceNV: PFNGLXRELEASEVIDEODEVICENVPROC;
|
|
glXBindVideoImageNV: PFNGLXBINDVIDEOIMAGENVPROC;
|
|
glXReleaseVideoImageNV: PFNGLXRELEASEVIDEOIMAGENVPROC;
|
|
glXSendPbufferToVideoNV: PFNGLXSENDPBUFFERTOVIDEONVPROC;
|
|
glXGetVideoInfoNV: PFNGLXGETVIDEOINFONVPROC;
|
|
glXJoinSwapGroupNV: PFNGLXJOINSWAPGROUPNVPROC;
|
|
glXBindSwapBarrierNV: PFNGLXBINDSWAPBARRIERNVPROC;
|
|
glXQuerySwapGroupNV: PFNGLXQUERYSWAPGROUPNVPROC;
|
|
glXQueryMaxSwapGroupsNV: PFNGLXQUERYMAXSWAPGROUPSNVPROC;
|
|
glXQueryFrameCountNV: PFNGLXQUERYFRAMECOUNTNVPROC;
|
|
glXResetFrameCountNV: PFNGLXRESETFRAMECOUNTNVPROC;
|
|
glXBindVideoCaptureDeviceNV: PFNGLXBINDVIDEOCAPTUREDEVICENVPROC;
|
|
glXEnumerateVideoCaptureDevicesNV: PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC;
|
|
glxLockVideoCaptureDeviceNV: PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC;
|
|
glXQueryVideoCaptureDeviceNV: PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC;
|
|
glXReleaseVideoCaptureDeviceNV: PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC;
|
|
glXSwapIntervalEXT: PFNGLXSWAPINTERVALEXTPROC;
|
|
glXCopyImageSubDataNV: PFNGLXCOPYIMAGESUBDATANVPROC;
|
|
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL function/procedure definitions for ARB approved extensions'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// ARB approved extensions
|
|
// ###########################################################
|
|
|
|
// unknown ARB extension
|
|
glSamplePassARB: PFNGLSAMPLEPASSARBPROC;
|
|
|
|
// GL_ARB_multitexture (ARB #1)
|
|
glActiveTextureARB: PFNGLACTIVETEXTUREARBPROC;
|
|
glClientActiveTextureARB: PFNGLCLIENTACTIVETEXTUREARBPROC;
|
|
glMultiTexCoord1dARB: PFNGLMULTITEXCOORD1DARBPROC;
|
|
glMultiTexCoord1dVARB: PFNGLMULTITEXCOORD1DVARBPROC;
|
|
glMultiTexCoord1fARB: PFNGLMULTITEXCOORD1FARBPROC;
|
|
glMultiTexCoord1fVARB: PFNGLMULTITEXCOORD1FVARBPROC;
|
|
glMultiTexCoord1iARB: PFNGLMULTITEXCOORD1IARBPROC;
|
|
glMultiTexCoord1iVARB: PFNGLMULTITEXCOORD1IVARBPROC;
|
|
glMultiTexCoord1sARB: PFNGLMULTITEXCOORD1SARBPROC;
|
|
glMultiTexCoord1sVARB: PFNGLMULTITEXCOORD1SVARBPROC;
|
|
glMultiTexCoord2dARB: PFNGLMULTITEXCOORD2DARBPROC;
|
|
glMultiTexCoord2dvARB: PFNGLMULTITEXCOORD2DVARBPROC;
|
|
glMultiTexCoord2fARB: PFNGLMULTITEXCOORD2FARBPROC;
|
|
glMultiTexCoord2fvARB: PFNGLMULTITEXCOORD2FVARBPROC;
|
|
glMultiTexCoord2iARB: PFNGLMULTITEXCOORD2IARBPROC;
|
|
glMultiTexCoord2ivARB: PFNGLMULTITEXCOORD2IVARBPROC;
|
|
glMultiTexCoord2sARB: PFNGLMULTITEXCOORD2SARBPROC;
|
|
glMultiTexCoord2svARB: PFNGLMULTITEXCOORD2SVARBPROC;
|
|
glMultiTexCoord3dARB: PFNGLMULTITEXCOORD3DARBPROC;
|
|
glMultiTexCoord3dvARB: PFNGLMULTITEXCOORD3DVARBPROC;
|
|
glMultiTexCoord3fARB: PFNGLMULTITEXCOORD3FARBPROC;
|
|
glMultiTexCoord3fvARB: PFNGLMULTITEXCOORD3FVARBPROC;
|
|
glMultiTexCoord3iARB: PFNGLMULTITEXCOORD3IARBPROC;
|
|
glMultiTexCoord3ivARB: PFNGLMULTITEXCOORD3IVARBPROC;
|
|
glMultiTexCoord3sARB: PFNGLMULTITEXCOORD3SARBPROC;
|
|
glMultiTexCoord3svARB: PFNGLMULTITEXCOORD3SVARBPROC;
|
|
glMultiTexCoord4dARB: PFNGLMULTITEXCOORD4DARBPROC;
|
|
glMultiTexCoord4dvARB: PFNGLMULTITEXCOORD4DVARBPROC;
|
|
glMultiTexCoord4fARB: PFNGLMULTITEXCOORD4FARBPROC;
|
|
glMultiTexCoord4fvARB: PFNGLMULTITEXCOORD4FVARBPROC;
|
|
glMultiTexCoord4iARB: PFNGLMULTITEXCOORD4IARBPROC;
|
|
glMultiTexCoord4ivARB: PFNGLMULTITEXCOORD4IVARBPROC;
|
|
glMultiTexCoord4sARB: PFNGLMULTITEXCOORD4SARBPROC;
|
|
glMultiTexCoord4svARB: PFNGLMULTITEXCOORD4SVARBPROC;
|
|
|
|
// GL_ARB_transpose_matrix (ARB #3)
|
|
glLoadTransposeMatrixfARB: PFNGLLOADTRANSPOSEMATRIXFARBPROC;
|
|
glLoadTransposeMatrixdARB: PFNGLLOADTRANSPOSEMATRIXDARBPROC;
|
|
glMultTransposeMatrixfARB: PFNGLMULTTRANSPOSEMATRIXFARBPROC;
|
|
glMultTransposeMatrixdARB: PFNGLMULTTRANSPOSEMATRIXDARBPROC;
|
|
|
|
// GL_ARB_multisample (ARB #5)
|
|
glSampleCoverageARB: PFNGLSAMPLECOVERAGEARBPROC;
|
|
|
|
// GL_ARB_texture_compression (ARB #12)
|
|
glCompressedTexImage3DARB: PFNGLCOMPRESSEDTEXIMAGE3DARBPROC;
|
|
glCompressedTexImage2DARB: PFNGLCOMPRESSEDTEXIMAGE2DARBPROC;
|
|
glCompressedTexImage1DARB: PFNGLCOMPRESSEDTEXIMAGE1DARBPROC;
|
|
glCompressedTexSubImage3DARB: PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC;
|
|
glCompressedTexSubImage2DARB: PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC;
|
|
glCompressedTexSubImage1DARB: PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC;
|
|
glGetCompressedTexImageARB: PFNGLGETCOMPRESSEDTEXIMAGEARBPROC;
|
|
|
|
// GL_ARB_point_parameter (ARB #14)
|
|
glPointParameterfARB: PFNGLPOINTPARAMETERFARBPROC;
|
|
glPointParameterfvARB: PFNGLPOINTPARAMETERFVARBPROC;
|
|
|
|
// GL_ARB_vertex_blend (ARB #15) {deprecated?}
|
|
glWeightbvARB: PFNGLWEIGHTBVARBPROC;
|
|
glWeightsvARB: PFNGLWEIGHTSVARBPROC;
|
|
glWeightivARB: PFNGLWEIGHTIVARBPROC;
|
|
glWeightfvARB: PFNGLWEIGHTFVARBPROC;
|
|
glWeightdvARB: PFNGLWEIGHTDVARBPROC;
|
|
glWeightubvARB: PFNGLWEIGHTUBVARBPROC;
|
|
glWeightusvARB: PFNGLWEIGHTUSVARBPROC;
|
|
glWeightuivARB: PFNGLWEIGHTUIVARBPROC;
|
|
glWeightPointerARB: PFNGLWEIGHTPOINTERARBPROC;
|
|
glVertexBlendARB: PFNGLVERTEXBLENDARBPROC;
|
|
|
|
// GL_ARB_matrix_palette (ARB #16) {deprecated?}
|
|
glCurrentPaletteMatrixARB: PFNGLCURRENTPALETTEMATRIXARBPROC;
|
|
glMatrixIndexubvARB: PFNGLMATRIXINDEXUBVARBPROC;
|
|
glMatrixIndexusvARB: PFNGLMATRIXINDEXUSVARBPROC;
|
|
glMatrixIndexuivARB: PFNGLMATRIXINDEXUIVARBPROC;
|
|
glMatrixIndexPointerARB: PFNGLMATRIXINDEXPOINTERARBPROC;
|
|
|
|
// GL_ARB_window_pos (ARB #25)
|
|
glWindowPos2dARB: PFNGLWINDOWPOS2DARBPROC;
|
|
glWindowPos2dvARB: PFNGLWINDOWPOS2DVARBPROC;
|
|
glWindowPos2fARB: PFNGLWINDOWPOS2FARBPROC;
|
|
glWindowPos2fvARB: PFNGLWINDOWPOS2FVARBPROC;
|
|
glWindowPos2iARB: PFNGLWINDOWPOS2IARBPROC;
|
|
glWindowPos2ivARB: PFNGLWINDOWPOS2IVARBPROC;
|
|
glWindowPos2sARB: PFNGLWINDOWPOS2SARBPROC;
|
|
glWindowPos2svARB: PFNGLWINDOWPOS2SVARBPROC;
|
|
glWindowPos3dARB: PFNGLWINDOWPOS3DARBPROC;
|
|
glWindowPos3dvARB: PFNGLWINDOWPOS3DVARBPROC;
|
|
glWindowPos3fARB: PFNGLWINDOWPOS3FARBPROC;
|
|
glWindowPos3fvARB: PFNGLWINDOWPOS3FVARBPROC;
|
|
glWindowPos3iARB: PFNGLWINDOWPOS3IARBPROC;
|
|
glWindowPos3ivARB: PFNGLWINDOWPOS3IVARBPROC;
|
|
glWindowPos3sARB: PFNGLWINDOWPOS3SARBPROC;
|
|
glWindowPos3svARB: PFNGLWINDOWPOS3SVARBPROC;
|
|
|
|
// GL_ARB_vertex_program (ARB #26)
|
|
glVertexAttrib1dARB: PFNGLVERTEXATTRIB1DARBPROC;
|
|
glVertexAttrib1dvARB: PFNGLVERTEXATTRIB1DVARBPROC;
|
|
glVertexAttrib1fARB: PFNGLVERTEXATTRIB1FARBPROC;
|
|
glVertexAttrib1fvARB: PFNGLVERTEXATTRIB1FVARBPROC;
|
|
glVertexAttrib1sARB: PFNGLVERTEXATTRIB1SARBPROC;
|
|
glVertexAttrib1svARB: PFNGLVERTEXATTRIB1SVARBPROC;
|
|
glVertexAttrib2dARB: PFNGLVERTEXATTRIB2DARBPROC;
|
|
glVertexAttrib2dvARB: PFNGLVERTEXATTRIB2DVARBPROC;
|
|
glVertexAttrib2fARB: PFNGLVERTEXATTRIB2FARBPROC;
|
|
glVertexAttrib2fvARB: PFNGLVERTEXATTRIB2FVARBPROC;
|
|
glVertexAttrib2sARB: PFNGLVERTEXATTRIB2SARBPROC;
|
|
glVertexAttrib2svARB: PFNGLVERTEXATTRIB2SVARBPROC;
|
|
glVertexAttrib3dARB: PFNGLVERTEXATTRIB3DARBPROC;
|
|
glVertexAttrib3dvARB: PFNGLVERTEXATTRIB3DVARBPROC;
|
|
glVertexAttrib3fARB: PFNGLVERTEXATTRIB3FARBPROC;
|
|
glVertexAttrib3fvARB: PFNGLVERTEXATTRIB3FVARBPROC;
|
|
glVertexAttrib3sARB: PFNGLVERTEXATTRIB3SARBPROC;
|
|
glVertexAttrib3svARB: PFNGLVERTEXATTRIB3SVARBPROC;
|
|
glVertexAttrib4NbvARB: PFNGLVERTEXATTRIB4NBVARBPROC;
|
|
glVertexAttrib4NivARB: PFNGLVERTEXATTRIB4NIVARBPROC;
|
|
glVertexAttrib4NsvARB: PFNGLVERTEXATTRIB4NSVARBPROC;
|
|
glVertexAttrib4NubARB: PFNGLVERTEXATTRIB4NUBARBPROC;
|
|
glVertexAttrib4NubvARB: PFNGLVERTEXATTRIB4NUBVARBPROC;
|
|
glVertexAttrib4NuivARB: PFNGLVERTEXATTRIB4NUIVARBPROC;
|
|
glVertexAttrib4NusvARB: PFNGLVERTEXATTRIB4NUSVARBPROC;
|
|
glVertexAttrib4bvARB: PFNGLVERTEXATTRIB4BVARBPROC;
|
|
glVertexAttrib4dARB: PFNGLVERTEXATTRIB4DARBPROC;
|
|
glVertexAttrib4dvARB: PFNGLVERTEXATTRIB4DVARBPROC;
|
|
glVertexAttrib4fARB: PFNGLVERTEXATTRIB4FARBPROC;
|
|
glVertexAttrib4fvARB: PFNGLVERTEXATTRIB4FVARBPROC;
|
|
glVertexAttrib4ivARB: PFNGLVERTEXATTRIB4IVARBPROC;
|
|
glVertexAttrib4sARB: PFNGLVERTEXATTRIB4SARBPROC;
|
|
glVertexAttrib4svARB: PFNGLVERTEXATTRIB4SVARBPROC;
|
|
glVertexAttrib4ubvARB: PFNGLVERTEXATTRIB4UBVARBPROC;
|
|
glVertexAttrib4uivARB: PFNGLVERTEXATTRIB4UIVARBPROC;
|
|
glVertexAttrib4usvARB: PFNGLVERTEXATTRIB4USVARBPROC;
|
|
glVertexAttribPointerARB: PFNGLVERTEXATTRIBPOINTERARBPROC;
|
|
glEnableVertexAttribArrayARB: PFNGLENABLEVERTEXATTRIBARRAYARBPROC;
|
|
glDisableVertexAttribArrayARB: PFNGLDISABLEVERTEXATTRIBARRAYARBPROC;
|
|
glProgramStringARB: PFNGLPROGRAMSTRINGARBPROC;
|
|
glBindProgramARB: PFNGLBINDPROGRAMARBPROC;
|
|
glDeleteProgramsARB: PFNGLDELETEPROGRAMSARBPROC;
|
|
glGenProgramsARB: PFNGLGENPROGRAMSARBPROC;
|
|
glProgramEnvParameter4dARB: PFNGLPROGRAMENVPARAMETER4DARBPROC;
|
|
glProgramEnvParameter4dvARB: PFNGLPROGRAMENVPARAMETER4DVARBPROC;
|
|
glProgramEnvParameter4fARB: PFNGLPROGRAMENVPARAMETER4FARBPROC;
|
|
glProgramEnvParameter4fvARB: PFNGLPROGRAMENVPARAMETER4FVARBPROC;
|
|
glProgramLocalParameter4dARB: PFNGLPROGRAMLOCALPARAMETER4DARBPROC;
|
|
glProgramLocalParameter4dvARB: PFNGLPROGRAMLOCALPARAMETER4DVARBPROC;
|
|
glProgramLocalParameter4fARB: PFNGLPROGRAMLOCALPARAMETER4FARBPROC;
|
|
glProgramLocalParameter4fvARB: PFNGLPROGRAMLOCALPARAMETER4FVARBPROC;
|
|
glGetProgramEnvParameterdvARB: PFNGLGETPROGRAMENVPARAMETERDVARBPROC;
|
|
glGetProgramEnvParameterfvARB: PFNGLGETPROGRAMENVPARAMETERFVARBPROC;
|
|
glGetProgramLocalParameterdvARB: PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC;
|
|
glGetProgramLocalParameterfvARB: PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC;
|
|
glGetProgramivARB: PFNGLGETPROGRAMIVARBPROC;
|
|
glGetProgramStringARB: PFNGLGETPROGRAMSTRINGARBPROC;
|
|
glGetVertexAttribdvARB: PFNGLGETVERTEXATTRIBDVARBPROC;
|
|
glGetVertexAttribfvARB: PFNGLGETVERTEXATTRIBFVARBPROC;
|
|
glGetVertexAttribivARB: PFNGLGETVERTEXATTRIBIVARBPROC;
|
|
glGetVertexAttribPointervARB: PFNGLGETVERTEXATTRIBPOINTERVARBPROC;
|
|
glIsProgramARB: PFNGLISPROGRAMARBPROC;
|
|
|
|
// GL_ARB_vertex_buffer_object (ARB #28)
|
|
glBindBufferARB: PFNGLBINDBUFFERARBPROC;
|
|
glDeleteBuffersARB: PFNGLDELETEBUFFERSARBPROC;
|
|
glGenBuffersARB: PFNGLGENBUFFERSARBPROC;
|
|
glIsBufferARB: PFNGLISBUFFERARBPROC;
|
|
glBufferDataARB: PFNGLBUFFERDATAARBPROC;
|
|
glBufferSubDataARB: PFNGLBUFFERSUBDATAARBPROC;
|
|
glGetBufferSubDataARB: PFNGLGETBUFFERSUBDATAARBPROC;
|
|
glMapBufferARB: PFNGLMAPBUFFERARBPROC;
|
|
glUnmapBufferARB: PFNGLUNMAPBUFFERARBPROC;
|
|
glGetBufferParameterivARB: PFNGLGETBUFFERPARAMETERIVARBPROC;
|
|
glGetBufferPointervARB: PFNGLGETBUFFERPOINTERVARBPROC;
|
|
|
|
// GL_ARB_occlusion_query (ARB #29)
|
|
glGenQueriesARB: PFNGLGENQUERIESARBPROC;
|
|
glDeleteQueriesARB: PFNGLDELETEQUERIESARBPROC;
|
|
glIsQueryARB: PFNGLISQUERYARBPROC;
|
|
glBeginQueryARB: PFNGLBEGINQUERYARBPROC;
|
|
glEndQueryARB: PFNGLENDQUERYARBPROC;
|
|
glGetQueryivARB: PFNGLGETQUERYIVARBPROC;
|
|
glGetQueryObjectivARB: PFNGLGETQUERYOBJECTIVARBPROC;
|
|
glGetQueryObjectuivARB: PFNGLGETQUERYOBJECTUIVARBPROC;
|
|
|
|
// GL_ARB_shader_objects (ARB #30)
|
|
glDeleteObjectARB: PFNGLDELETEOBJECTARBPROC;
|
|
glGetHandleARB: PFNGLGETHANDLEARBPROC;
|
|
glDetachObjectARB: PFNGLDETACHOBJECTARBPROC;
|
|
glCreateShaderObjectARB: PFNGLCREATESHADEROBJECTARBPROC;
|
|
glShaderSourceARB: PFNGLSHADERSOURCEARBPROC;
|
|
glCompileShaderARB: PFNGLCOMPILESHADERARBPROC;
|
|
glCreateProgramObjectARB: PFNGLCREATEPROGRAMOBJECTARBPROC;
|
|
glAttachObjectARB: PFNGLATTACHOBJECTARBPROC;
|
|
glLinkProgramARB: PFNGLLINKPROGRAMARBPROC;
|
|
glUseProgramObjectARB: PFNGLUSEPROGRAMOBJECTARBPROC;
|
|
glValidateProgramARB: PFNGLVALIDATEPROGRAMARBPROC;
|
|
glUniform1fARB: PFNGLUNIFORM1FARBPROC;
|
|
glUniform2fARB: PFNGLUNIFORM2FARBPROC;
|
|
glUniform3fARB: PFNGLUNIFORM3FARBPROC;
|
|
glUniform4fARB: PFNGLUNIFORM4FARBPROC;
|
|
glUniform1iARB: PFNGLUNIFORM1IARBPROC;
|
|
glUniform2iARB: PFNGLUNIFORM2IARBPROC;
|
|
glUniform3iARB: PFNGLUNIFORM3IARBPROC;
|
|
glUniform4iARB: PFNGLUNIFORM4IARBPROC;
|
|
glUniform1fvARB: PFNGLUNIFORM1FVARBPROC;
|
|
glUniform2fvARB: PFNGLUNIFORM2FVARBPROC;
|
|
glUniform3fvARB: PFNGLUNIFORM3FVARBPROC;
|
|
glUniform4fvARB: PFNGLUNIFORM4FVARBPROC;
|
|
glUniform1ivARB: PFNGLUNIFORM1IVARBPROC;
|
|
glUniform2ivARB: PFNGLUNIFORM2IVARBPROC;
|
|
glUniform3ivARB: PFNGLUNIFORM3IVARBPROC;
|
|
glUniform4ivARB: PFNGLUNIFORM4IVARBPROC;
|
|
glUniformMatrix2fvARB: PFNGLUNIFORMMATRIX2FVARBPROC;
|
|
glUniformMatrix3fvARB: PFNGLUNIFORMMATRIX3FVARBPROC;
|
|
glUniformMatrix4fvARB: PFNGLUNIFORMMATRIX4FVARBPROC;
|
|
glGetObjectParameterfvARB: PFNGLGETOBJECTPARAMETERFVARBPROC;
|
|
glGetObjectParameterivARB: PFNGLGETOBJECTPARAMETERIVARBPROC;
|
|
glGetInfoLogARB: PFNGLGETINFOLOGARBPROC;
|
|
glGetAttachedObjectsARB: PFNGLGETATTACHEDOBJECTSARBPROC;
|
|
glGetUniformLocationARB: PFNGLGETUNIFORMLOCATIONARBPROC;
|
|
glGetActiveUniformARB: PFNGLGETACTIVEUNIFORMARBPROC;
|
|
glGetUniformfvARB: PFNGLGETUNIFORMFVARBPROC;
|
|
glGetUniformivARB: PFNGLGETUNIFORMIVARBPROC;
|
|
glGetShaderSourceARB: PFNGLGETSHADERSOURCEARBPROC;
|
|
|
|
// GL_ARB_vertex_shader (ARB #31)
|
|
glBindAttribLocationARB: PFNGLBINDATTRIBLOCATIONARBPROC;
|
|
glGetActiveAttribARB: PFNGLGETACTIVEATTRIBARBPROC;
|
|
glGetAttribLocationARB: PFNGLGETATTRIBLOCATIONARBPROC;
|
|
|
|
// GL_ARB_DrawBuffers (ARB #37)
|
|
glDrawBuffersARB: PFNGLDRAWBUFFERSARBPROC;
|
|
|
|
// GL_ARB_color_buffer_float (ARB #39)
|
|
glClampColorARB: PFNGLCLAMPCOLORARBPROC;
|
|
|
|
// GL_ARB_draw_instanced (ARB #44)
|
|
glDrawArraysInstancedARB: PFNGLDRAWARRAYSINSTANCEDARBPROC;
|
|
glDrawElementsInstancedARB: PFNGLDRAWELEMENTSINSTANCEDARBPROC;
|
|
|
|
// GL_ARB_framebuffer_object (ARB #45)
|
|
glIsRenderbuffer: PFNGLISRENDERBUFFERPROC;
|
|
glBindRenderbuffer: PFNGLBINDRENDERBUFFERPROC;
|
|
glDeleteRenderbuffers: PFNGLDELETERENDERBUFFERSPROC;
|
|
glGenRenderbuffers: PFNGLGENRENDERBUFFERSPROC;
|
|
glRenderbufferStorage: PFNGLRENDERBUFFERSTORAGEPROC;
|
|
glRenderbufferStorageMultisample: PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC;
|
|
glGetRenderbufferParameteriv: PFNGLGETRENDERBUFFERPARAMETERIVPROC;
|
|
glIsFramebuffer: PFNGLISFRAMEBUFFERPROC;
|
|
glBindFramebuffer: PFNGLBINDFRAMEBUFFERPROC;
|
|
glDeleteFramebuffers: PFNGLDELETEFRAMEBUFFERSPROC;
|
|
glGenFramebuffers: PFNGLGENFRAMEBUFFERSPROC;
|
|
glCheckFramebufferStatus: PFNGLCHECKFRAMEBUFFERSTATUSPROC;
|
|
glFramebufferTexture1D: PFNGLFRAMEBUFFERTEXTURE1DPROC;
|
|
glFramebufferTexture2D: PFNGLFRAMEBUFFERTEXTURE2DPROC;
|
|
glFramebufferTexture3D: PFNGLFRAMEBUFFERTEXTURE3DPROC;
|
|
glFramebufferTextureLayer: PFNGLFRAMEBUFFERTEXTURELAYERPROC;
|
|
glFramebufferRenderbuffer: PFNGLFRAMEBUFFERRENDERBUFFERPROC;
|
|
glGetFramebufferAttachmentParameteriv: PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC;
|
|
glBlitFramebuffer: PFNGLBLITFRAMEBUFFERPROC;
|
|
glGenerateMipmap: PFNGLGENERATEMIPMAPPROC;
|
|
|
|
// GL_ARB_geometry_shader4 (ARB #47)
|
|
glProgramParameteriARB: PFNGLPROGRAMPARAMETERIARBPROC;
|
|
glFramebufferTextureARB: PFNGLFRAMEBUFFERTEXTUREARBPROC;
|
|
glFramebufferTextureLayerARB: PFNGLFRAMEBUFFERTEXTURELAYERARBPROC;
|
|
glFramebufferTextureFaceARB: PFNGLFRAMEBUFFERTEXTUREFACEARBPROC;
|
|
|
|
// GL_ARB_instanced_arrays (ARB #49)
|
|
glVertexAttribDivisorARB: PFNGLVERTEXATTRIBDIVISORARBPROC;
|
|
|
|
// GL_ARB_map_buffer_range (ARB #50)
|
|
glMapBufferRange: PFNGLMAPBUFFERRANGEPROC;
|
|
glFlushMappedBufferRange: PFNGLFLUSHMAPPEDBUFFERRANGEPROC;
|
|
|
|
// GL_ARB_texture_buffer_object (ARB #51)
|
|
glTexBufferARB: PFNGLTEXBUFFERARBPROC;
|
|
|
|
// GL_ARB_vertex_array_object (ARB #54)
|
|
glBindVertexArray: PFNGLBINDVERTEXARRAYPROC;
|
|
glDeleteVertexArrays: PFNGLDELETEVERTEXARRAYSPROC;
|
|
glGenVertexArrays: PFNGLGENVERTEXARRAYSPROC;
|
|
glIsVertexArray: PFNGLISVERTEXARRAYPROC;
|
|
|
|
// GL_ARB_uniform_buffer_object (ARB #57)
|
|
glGetUniformIndices: PFNGLGETUNIFORMINDICESPROC;
|
|
glGetActiveUniformsiv: PFNGLGETACTIVEUNIFORMSIVPROC;
|
|
glGetActiveUniformName: PFNGLGETACTIVEUNIFORMNAMEPROC;
|
|
glGetUniformBlockIndex: PFNGLGETUNIFORMBLOCKINDEXPROC;
|
|
glGetActiveUniformBlockiv: PFNGLGETACTIVEUNIFORMBLOCKIVPROC;
|
|
glGetActiveUniformBlockName: PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC;
|
|
glUniformBlockBinding: PFNGLUNIFORMBLOCKBINDINGPROC;
|
|
|
|
// GL_ARB_copy_buffer (ARB #59)
|
|
glCopyBufferSubData: PFNGLCOPYBUFFERSUBDATAPROC;
|
|
|
|
// GL_ARB_draw_elements_base_vertex (ARB #62)
|
|
glDrawElementsBaseVertex: PFNGLDRAWELEMENTSBASEVERTEXPROC;
|
|
glDrawRangeElementsBaseVertex: PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC;
|
|
glDrawElementsInstancedBaseVertex: PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC;
|
|
glMultiDrawElementsBaseVertex: PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC;
|
|
|
|
// GL_ARB_provoking_vertex (ARB #64)
|
|
glProvokingVertex: PFNGLPROVOKINGVERTEXPROC;
|
|
|
|
// GL_ARB_sync (ARB #66)
|
|
glFenceSync: PFNGLFENCESYNCPROC;
|
|
glIsSync: PFNGLISSYNCPROC;
|
|
glDeleteSync: PFNGLDELETESYNCPROC;
|
|
glClientWaitSync: PFNGLCLIENTWAITSYNCPROC;
|
|
glWaitSync: PFNGLWAITSYNCPROC;
|
|
glGetInteger64v: PFNGLGETINTEGER64VPROC;
|
|
glGetSynciv: PFNGLGETSYNCIVPROC;
|
|
|
|
// GL_ARB_texture_multisample (ARB #67)
|
|
glTexImage2DMultisample: PFNGLTEXIMAGE2DMULTISAMPLEPROC;
|
|
glTexImage3DMultisample: PFNGLTEXIMAGE3DMULTISAMPLEPROC;
|
|
glGetMultisamplefv: PFNGLGETMULTISAMPLEFVPROC;
|
|
glSampleMaski: PFNGLSAMPLEMASKIPROC;
|
|
|
|
// GL_ARB_draw_buffers_blend (ARB #69)
|
|
glBlendEquationiARB: PFNGLBLENDEQUATIONIARBPROC;
|
|
glBlendEquationSeparateiARB: PFNGLBLENDEQUATIONSEPARATEIARBPROC;
|
|
glBlendFunciARB: PFNGLBLENDFUNCIARBPROC;
|
|
glBlendFuncSeparateiARB: PFNGLBLENDFUNCSEPARATEIARBPROC;
|
|
|
|
// GL_ARB_sample_shading (ARB #70)
|
|
glMinSampleShadingARB: PFNGLMINSAMPLESHADINGARBPROC;
|
|
|
|
// GL_ARB_blend_func_extended (ARB #78)
|
|
glBindFragDataLocationIndexed: PFNGLBINDFRAGDATALOCATIONINDEXEDPROC;
|
|
glGetFragDataIndex: PFNGLGETFRAGDATAINDEXPROC;
|
|
|
|
// GL_ARB_sampler_objects (ARB #81)
|
|
glGenSamplers: PFNGLGENSAMPLERSPROC;
|
|
glDeleteSamplers: PFNGLDELETESAMPLERSPROC;
|
|
glIsSampler: PFNGLISSAMPLERPROC;
|
|
glBindSampler: PFNGLBINDSAMPLERPROC;
|
|
glSamplerParameteri: PFNGLSAMPLERPARAMETERIPROC;
|
|
glSamplerParameteriv: PFNGLSAMPLERPARAMETERIVPROC;
|
|
glSamplerParameterf: PFNGLSAMPLERPARAMETERFPROC;
|
|
glSamplerParameterfv: PFNGLSAMPLERPARAMETERFVPROC;
|
|
glSamplerParameterIiv: PFNGLSAMPLERPARAMETERIIVPROC;
|
|
glSamplerParameterIuiv: PFNGLSAMPLERPARAMETERIUIVPROC;
|
|
glGetSamplerParameteriv: PFNGLGETSAMPLERPARAMETERIVPROC;
|
|
glGetSamplerParameterIiv: PFNGLGETSAMPLERPARAMETERIIVPROC;
|
|
glGetSamplerParameterfv: PFNGLGETSAMPLERPARAMETERFVPROC;
|
|
glGetSamplerParameterIfv: PFNGLGETSAMPLERPARAMETERIFVPROC;
|
|
|
|
// GL_ARB_timer_query (ARB #85)
|
|
glQueryCounter: PFNGLQUERYCOUNTERPROC;
|
|
glGetQueryObjecti64v: PFNGLGETQUERYOBJECTI64VPROC;
|
|
glGetQueryObjectui64v: PFNGLGETQUERYOBJECTUI64VPROC;
|
|
|
|
// GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
|
|
glVertexP2ui: PFNGLVERTEXP2UIPROC;
|
|
glVertexP2uiv: PFNGLVERTEXP2UIVPROC;
|
|
glVertexP3ui: PFNGLVERTEXP3UIPROC;
|
|
glVertexP3uiv: PFNGLVERTEXP3UIVPROC;
|
|
glVertexP4ui: PFNGLVERTEXP4UIPROC;
|
|
glVertexP4uiv: PFNGLVERTEXP4UIVPROC;
|
|
glTexCoordP1ui: PFNGLTEXCOORDP1UIPROC;
|
|
glTexCoordP1uiv: PFNGLTEXCOORDP1UIVPROC;
|
|
glTexCoordP2ui: PFNGLTEXCOORDP2UIPROC;
|
|
glTexCoordP2uiv: PFNGLTEXCOORDP2UIVPROC;
|
|
glTexCoordP3ui: PFNGLTEXCOORDP3UIPROC;
|
|
glTexCoordP3uiv: PFNGLTEXCOORDP3UIVPROC;
|
|
glTexCoordP4ui: PFNGLTEXCOORDP4UIPROC;
|
|
glTexCoordP4uiv: PFNGLTEXCOORDP4UIVPROC;
|
|
glMultiTexCoordP1ui: PFNGLMULTITEXCOORDP1UIPROC;
|
|
glMultiTexCoordP1uiv: PFNGLMULTITEXCOORDP1UIVPROC;
|
|
glMultiTexCoordP2ui: PFNGLMULTITEXCOORDP2UIPROC;
|
|
glMultiTexCoordP2uiv: PFNGLMULTITEXCOORDP2UIVPROC;
|
|
glMultiTexCoordP3ui: PFNGLMULTITEXCOORDP3UIPROC;
|
|
glMultiTexCoordP3uiv: PFNGLMULTITEXCOORDP3UIVPROC;
|
|
glMultiTexCoordP4ui: PFNGLMULTITEXCOORDP4UIPROC;
|
|
glMultiTexCoordP4uiv: PFNGLMULTITEXCOORDP4UIVPROC;
|
|
glNormalP3ui: PFNGLNORMALP3UIPROC;
|
|
glNormalP3uiv: PFNGLNORMALP3UIVPROC;
|
|
glColorP3ui: PFNGLCOLORP3UIPROC;
|
|
glColorP3uiv: PFNGLCOLORP3UIVPROC;
|
|
glColorP4ui: PFNGLCOLORP4UIPROC;
|
|
glColorP4uiv: PFNGLCOLORP4UIVPROC;
|
|
glSecondaryColorP3ui: PFNGLSECONDARYCOLORP3UIPROC;
|
|
glSecondaryColorP3uiv: PFNGLSECONDARYCOLORP3UIVPROC;
|
|
glVertexAttribP1ui: PFNGLVERTEXATTRIBP1UIPROC;
|
|
glVertexAttribP1uiv: PFNGLVERTEXATTRIBP1UIVPROC;
|
|
glVertexAttribP2ui: PFNGLVERTEXATTRIBP2UIPROC;
|
|
glVertexAttribP2uiv: PFNGLVERTEXATTRIBP2UIVPROC;
|
|
glVertexAttribP3ui: PFNGLVERTEXATTRIBP3UIPROC;
|
|
glVertexAttribP3uiv: PFNGLVERTEXATTRIBP3UIVPROC;
|
|
glVertexAttribP4ui: PFNGLVERTEXATTRIBP4UIPROC;
|
|
glVertexAttribP4uiv: PFNGLVERTEXATTRIBP4UIVPROC;
|
|
|
|
// GL_ARB_draw_indirect (ARB #87)
|
|
glDrawArraysIndirect: PFNGLDRAWARRAYSINDIRECTPROC;
|
|
glDrawElementsIndirect: PFNGLDRAWELEMENTSINDIRECTPROC;
|
|
|
|
// GL_ARB_gpu_shader_fp64 (ARB #89)
|
|
glUniform1d: PFNGLUNIFORM1DPROC;
|
|
glUniform2d: PFNGLUNIFORM2DPROC;
|
|
glUniform3d: PFNGLUNIFORM3DPROC;
|
|
glUniform4d: PFNGLUNIFORM4DPROC;
|
|
glUniform1dv: PFNGLUNIFORM1DVPROC;
|
|
glUniform2dv: PFNGLUNIFORM2DVPROC;
|
|
glUniform3dv: PFNGLUNIFORM3DVPROC;
|
|
glUniform4dv: PFNGLUNIFORM4DVPROC;
|
|
glUniformMatrix2dv: PFNGLUNIFORMMATRIX2DVPROC;
|
|
glUniformMatrix3dv: PFNGLUNIFORMMATRIX3DVPROC;
|
|
glUniformMatrix4dv: PFNGLUNIFORMMATRIX4DVPROC;
|
|
glUniformMatrix2x3dv: PFNGLUNIFORMMATRIX2X3DVPROC;
|
|
glUniformMatrix2x4dv: PFNGLUNIFORMMATRIX2X4DVPROC;
|
|
glUniformMatrix3x2dv: PFNGLUNIFORMMATRIX3X2DVPROC;
|
|
glUniformMatrix3x4dv: PFNGLUNIFORMMATRIX3X4DVPROC;
|
|
glUniformMatrix4x2dv: PFNGLUNIFORMMATRIX4X2DVPROC;
|
|
glUniformMatrix4x3dv: PFNGLUNIFORMMATRIX4X3DVPROC;
|
|
glGetUniformdv: PFNGLGETUNIFORMDVPROC;
|
|
// glProgramUniformXXX only valid if EXT_direct_state_access is available
|
|
glProgramUniform1dEXT: PFNGLPROGRAMUNIFORM1DEXTPROC;
|
|
glProgramUniform2dEXT: PFNGLPROGRAMUNIFORM2DEXTPROC;
|
|
glProgramUniform3dEXT: PFNGLPROGRAMUNIFORM3DEXTPROC;
|
|
glProgramUniform4dEXT: PFNGLPROGRAMUNIFORM4DEXTPROC;
|
|
glProgramUniform1dvEXT: PFNGLPROGRAMUNIFORM1DVEXTPROC;
|
|
glProgramUniform2dvEXT: PFNGLPROGRAMUNIFORM2DVEXTPROC;
|
|
glProgramUniform3dvEXT: PFNGLPROGRAMUNIFORM3DVEXTPROC;
|
|
glProgramUniform4dvEXT: PFNGLPROGRAMUNIFORM4DVEXTPROC;
|
|
glProgramUniformMatrix2dvEXT: PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC;
|
|
glProgramUniformMatrix3dvEXT: PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC;
|
|
glProgramUniformMatrix4dvEXT: PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC;
|
|
glProgramUniformMatrix2x3dvEXT: PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC;
|
|
glProgramUniformMatrix2x4dvEXT: PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC;
|
|
glProgramUniformMatrix3x2dvEXT: PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC;
|
|
glProgramUniformMatrix3x4dvEXT: PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC;
|
|
glProgramUniformMatrix4x2dvEXT: PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC;
|
|
glProgramUniformMatrix4x3dvEXT: PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC;
|
|
|
|
// GL_ARB_shader_subroutine (ARB #90)
|
|
glGetSubroutineUniformLocation: PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC;
|
|
glGetSubroutineIndex: PFNGLGETSUBROUTINEINDEXPROC;
|
|
glGetActiveSubroutineUniformiv: PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC;
|
|
glGetActiveSubroutineUniformName: PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC;
|
|
glGetActiveSubroutineName: PFNGLGETACTIVESUBROUTINENAMEPROC;
|
|
glUniformSubroutinesuiv: PFNGLUNIFORMSUBROUTINESUIVPROC;
|
|
glGetUniformSubroutineuiv: PFNGLGETUNIFORMSUBROUTINEUIVPROC;
|
|
glGetProgramStageiv: PFNGLGETPROGRAMSTAGEIVPROC;
|
|
|
|
// GL_ARB_tessellation_shader (ARB #91)
|
|
glPatchParameteri: PFNGLPATCHPARAMETERIPROC;
|
|
glPatchParameterfv: PFNGLPATCHPARAMETERFVPROC;
|
|
|
|
// GL_ARB_transform_feedback2 (ARB #93)
|
|
glBindTransformFeedback: PFNGLBINDTRANSFORMFEEDBACKPROC;
|
|
glDeleteTransformFeedbacks: PFNGLDELETETRANSFORMFEEDBACKSPROC;
|
|
glGenTransformFeedbacks: PFNGLGENTRANSFORMFEEDBACKSPROC;
|
|
glIsTransformFeedback: PFNGLISTRANSFORMFEEDBACKPROC;
|
|
glPauseTransformFeedback: PFNGLPAUSETRANSFORMFEEDBACKPROC;
|
|
glResumeTransformFeedback: PFNGLRESUMETRANSFORMFEEDBACKPROC;
|
|
glDrawTransformFeedback: PFNGLDRAWTRANSFORMFEEDBACKPROC;
|
|
|
|
// GL_ARB_transform_feedback3 (ARB #94)
|
|
glDrawTransformFeedbackStream: PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC;
|
|
glBeginQueryIndexed: PFNGLBEGINQUERYINDEXEDPROC;
|
|
glEndQueryIndexed: PFNGLENDQUERYINDEXEDPROC;
|
|
glGetQueryIndexediv: PFNGLGETQUERYINDEXEDIVPROC;
|
|
|
|
// GL_ARB_ES2_compatibility (ARB #95)
|
|
glReleaseShaderCompiler: PFNGLRELEASESHADERCOMPILERPROC;
|
|
glShaderBinary: PFNGLSHADERBINARYPROC;
|
|
glGetShaderPrecisionFormat: PFNGLGETSHADERPRECISIONFORMATPROC;
|
|
glDepthRangef: PFNGLDEPTHRANGEFPROC;
|
|
glClearDepthf: PFNGLCLEARDEPTHFPROC;
|
|
|
|
// GL_ARB_get_program_binary (ARB #96)
|
|
glGetProgramBinary: PFNGLGetProgramBinaryPROC;
|
|
glProgramBinary: PFNGLProgramBinaryPROC;
|
|
glProgramParameteri: PFNGLProgramParameteriPROC; // not a core function
|
|
|
|
// GL_ARB_separate_shader_objects (ARB #97)
|
|
glUseProgramStages: PFNGLUSEPROGRAMSTAGESPROC;
|
|
glActiveShaderProgram: PFNGLACTIVESHADERPROGRAMPROC;
|
|
glCreateShaderProgramv: PFNGLCREATESHADERPROGRAMVPROC;
|
|
glBindProgramPipeline: PFNGLBINDPROGRAMPIPELINEPROC;
|
|
glDeleteProgramPipelines: PFNGLDELETEPROGRAMPIPELINESPROC;
|
|
glGenProgramPipelines: PFNGLGENPROGRAMPIPELINESPROC;
|
|
glIsProgramPipeline: PFNGLISPROGRAMPIPELINEPROC;
|
|
glGetProgramPipelineiv: PFNGLGETPROGRAMPIPELINEIVPROC;
|
|
glProgramUniform1i: PFNGLPROGRAMUNIFORM1IPROC;
|
|
glProgramUniform1iv: PFNGLPROGRAMUNIFORM1IVPROC;
|
|
glProgramUniform1f: PFNGLPROGRAMUNIFORM1FPROC;
|
|
glProgramUniform1fv: PFNGLPROGRAMUNIFORM1FVPROC;
|
|
glProgramUniform1d: PFNGLPROGRAMUNIFORM1DPROC;
|
|
glProgramUniform1dv: PFNGLPROGRAMUNIFORM1DVPROC;
|
|
glProgramUniform1ui: PFNGLPROGRAMUNIFORM1UIPROC;
|
|
glProgramUniform1uiv: PFNGLPROGRAMUNIFORM1UIVPROC;
|
|
glProgramUniform2i: PFNGLPROGRAMUNIFORM2IPROC;
|
|
glProgramUniform2iv: PFNGLPROGRAMUNIFORM2IVPROC;
|
|
glProgramUniform2f: PFNGLPROGRAMUNIFORM2FPROC;
|
|
glProgramUniform2fv: PFNGLPROGRAMUNIFORM2FVPROC;
|
|
glProgramUniform2d: PFNGLPROGRAMUNIFORM2DPROC;
|
|
glProgramUniform2dv: PFNGLPROGRAMUNIFORM2DVPROC;
|
|
glProgramUniform2ui: PFNGLPROGRAMUNIFORM2UIPROC;
|
|
glProgramUniform2uiv: PFNGLPROGRAMUNIFORM2UIVPROC;
|
|
glProgramUniform3i: PFNGLPROGRAMUNIFORM3IPROC;
|
|
glProgramUniform3iv: PFNGLPROGRAMUNIFORM3IVPROC;
|
|
glProgramUniform3f: PFNGLPROGRAMUNIFORM3FPROC;
|
|
glProgramUniform3fv: PFNGLPROGRAMUNIFORM3FVPROC;
|
|
glProgramUniform3d: PFNGLPROGRAMUNIFORM3DPROC;
|
|
glProgramUniform3dv: PFNGLPROGRAMUNIFORM3DVPROC;
|
|
glProgramUniform3ui: PFNGLPROGRAMUNIFORM3UIPROC;
|
|
glProgramUniform3uiv: PFNGLPROGRAMUNIFORM3UIVPROC;
|
|
glProgramUniform4i: PFNGLPROGRAMUNIFORM4IPROC;
|
|
glProgramUniform4iv: PFNGLPROGRAMUNIFORM4IVPROC;
|
|
glProgramUniform4f: PFNGLPROGRAMUNIFORM4FPROC;
|
|
glProgramUniform4fv: PFNGLPROGRAMUNIFORM4FVPROC;
|
|
glProgramUniform4d: PFNGLPROGRAMUNIFORM4DPROC;
|
|
glProgramUniform4dv: PFNGLPROGRAMUNIFORM4DVPROC;
|
|
glProgramUniform4ui: PFNGLPROGRAMUNIFORM4UIPROC;
|
|
glProgramUniform4uiv: PFNGLPROGRAMUNIFORM4UIVPROC;
|
|
glProgramUniformMatrix2fv: PFNGLPROGRAMUNIFORMMATRIX2FVPROC;
|
|
glProgramUniformMatrix3fv: PFNGLPROGRAMUNIFORMMATRIX3FVPROC;
|
|
glProgramUniformMatrix4fv: PFNGLPROGRAMUNIFORMMATRIX4FVPROC;
|
|
glProgramUniformMatrix2dv: PFNGLPROGRAMUNIFORMMATRIX2DVPROC;
|
|
glProgramUniformMatrix3dv: PFNGLPROGRAMUNIFORMMATRIX3DVPROC;
|
|
glProgramUniformMatrix4dv: PFNGLPROGRAMUNIFORMMATRIX4DVPROC;
|
|
glProgramUniformMatrix2x3fv: PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC;
|
|
glProgramUniformMatrix3x2fv: PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC;
|
|
glProgramUniformMatrix2x4fv: PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC;
|
|
glProgramUniformMatrix4x2fv: PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC;
|
|
glProgramUniformMatrix3x4fv: PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC;
|
|
glProgramUniformMatrix4x3fv: PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC;
|
|
glProgramUniformMatrix2x3dv: PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC;
|
|
glProgramUniformMatrix3x2dv: PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC;
|
|
glProgramUniformMatrix2x4dv: PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC;
|
|
glProgramUniformMatrix4x2dv: PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC;
|
|
glProgramUniformMatrix3x4dv: PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC;
|
|
glProgramUniformMatrix4x3dv: PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC;
|
|
glValidateProgramPipeline: PFNGLVALIDATEPROGRAMPIPELINEPROC;
|
|
glGetProgramPipelineInfoLog: PFNGLGETPROGRAMPIPELINEINFOLOGPROC;
|
|
|
|
// GL_ARB_shader_precision (ARB #98)
|
|
// (no entry points)
|
|
|
|
// GL_ARB_vertex_attrib_64bit (ARB #99)
|
|
glVertexAttribL1d: PFNGLVERTEXATTRIBL1DPROC;
|
|
glVertexAttribL2d: PFNGLVERTEXATTRIBL2DPROC;
|
|
glVertexAttribL3d: PFNGLVERTEXATTRIBL3DPROC;
|
|
glVertexAttribL4d: PFNGLVERTEXATTRIBL4DPROC;
|
|
glVertexAttribL1dv: PFNGLVERTEXATTRIBL1DVPROC;
|
|
glVertexAttribL2dv: PFNGLVERTEXATTRIBL2DVPROC;
|
|
glVertexAttribL3dv: PFNGLVERTEXATTRIBL3DVPROC;
|
|
glVertexAttribL4dv: PFNGLVERTEXATTRIBL4DVPROC;
|
|
glVertexAttribLPointer: PFNGLVERTEXATTRIBLPOINTERPROC;
|
|
glGetVertexAttribLdv: PFNGLGETVERTEXATTRIBLDVPROC;
|
|
// glVertexArrayVertexAttribLOffsetEXT is only valid if EXT_direct_state_access is available
|
|
glVertexArrayVertexAttribLOffsetEXT: PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC;
|
|
|
|
// GL_ARB_viewport_array (ARB #100)
|
|
glViewportArrayv: PFNGLVIEWPORTARRAYVPROC;
|
|
glViewportIndexedf: PFNGLVIEWPORTINDEXEDFPROC;
|
|
glViewportIndexedfv: PFNGLVIEWPORTINDEXEDFVPROC;
|
|
glScissorArrayv: PFNGLSCISSORARRAYVPROC;
|
|
glScissorIndexed: PFNGLSCISSORINDEXEDPROC;
|
|
glScissorIndexedv: PFNGLSCISSORINDEXEDVPROC;
|
|
glDepthRangeArrayv: PFNGLDEPTHRANGEARRAYVPROC;
|
|
glDepthRangeIndexed: PFNGLDEPTHRANGEINDEXEDPROC;
|
|
glGetFloati_v: PFNGLGETFLOATI_VPROC;
|
|
glGetDoublei_v: PFNGLGETDOUBLEI_VPROC;
|
|
|
|
// GL_ARB_debug_output (ARB #104)
|
|
glDebugMessageControlARB: PFNGLDEBUGMESSAGECONTROLARBPROC;
|
|
glDebugMessageInsertARB: PFNGLDEBUGMESSAGEINSERTARBPROC;
|
|
glDebugMessageCallbackARB: PFNGLDEBUGMESSAGECALLBACKARBPROC;
|
|
glGetDebugMessageLogARB: PFNGLGETDEBUGMESSAGELOGARBPROC;
|
|
|
|
// GL_ARB_robustness (ARB #105)
|
|
glGetGraphicsResetStatusARB: PFNGLGETGRAPHICSRESETSTATUSARBPROC;
|
|
glGetnMapdvARB: PFNGLGETNMAPDVARBPROC;
|
|
glGetnMapfvARB: PFNGLGETNMAPFVARBPROC;
|
|
glGetnMapivARB: PFNGLGETNMAPIVARBPROC;
|
|
glGetnPixelMapfvARB: PFNGLGETNPIXELMAPFVARBPROC;
|
|
glGetnPixelMapuivARB: PFNGLGETNPIXELMAPUIVARBPROC;
|
|
glGetnPixelMapusvARB: PFNGLGETNPIXELMAPUSVARBPROC;
|
|
glGetnPolygonStippleARB: PFNGLGETNPOLYGONSTIPPLEARBPROC;
|
|
glGetnColorTableARB: PFNGLGETNCOLORTABLEARBPROC;
|
|
glGetnConvolutionFilterARB: PFNGLGETNCONVOLUTIONFILTERARBPROC;
|
|
glGetnSeparableFilterARB: PFNGLGETNSEPARABLEFILTERARBPROC;
|
|
glGetnHistogramARB: PFNGLGETNHISTOGRAMARBPROC;
|
|
glGetnMinmaxARB: PFNGLGETNMINMAXARBPROC;
|
|
glGetnTexImageARB: PFNGLGETNTEXIMAGEARBPROC;
|
|
glReadnPixelsARB: PFNGLREADNPIXELSARBPROC;
|
|
glGetnCompressedTexImageARB: PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC;
|
|
glGetnUniformfvARB: PFNGLGETNUNIFORMFVARBPROC;
|
|
glGetnUniformivARB: PFNGLGETNUNIFORMIVARBPROC;
|
|
glGetnUniformuivARB: PFNGLGETNUNIFORMUIVARBPROC;
|
|
glGetnUniformdvARB: PFNGLGETNUNIFORMDVARBPROC;
|
|
|
|
// GL_ARB_shader_stencil_export (ARB #106)
|
|
// (no entry points)
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'OpenGL function/procedure definitions for Vendor/EXT extensions'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// function and procedure definitions for
|
|
// Vendor/EXT extensions
|
|
// ###########################################################
|
|
|
|
// Unknown Vendor/EXT functions
|
|
glArrayElementArrayEXT: PFNGLARRAYELEMENTARRAYEXTPROC;
|
|
|
|
// GL_WIN_swap_hint (extension # not found)
|
|
glAddSwapHintRectWIN: PFNGLADDSWAPHINTRECTWINPROC;
|
|
|
|
// GL_EXT_blend_color (EXT #2)
|
|
glBlendColorEXT: PFNGLBLENDCOLOREXTPROC;
|
|
|
|
// GL_EXT_polygon_offset (EXT #3)
|
|
glPolygonOffsetEXT: PFNGLPOLYGONOFFSETEXTPROC;
|
|
|
|
// GL_EXT_texture3D (EXT #6)
|
|
glTexImage3DEXT: PFNGLTEXIMAGE3DEXTPROC;
|
|
|
|
// GL_EXT_subtexture (EXT #9)
|
|
glTexSubImage1DEXT: PFNGLTEXSUBIMAGE1DEXTPROC;
|
|
glTexSubImage2DEXT: PFNGLTEXSUBIMAGE2DEXTPROC;
|
|
glTexSubImage3DEXT: PFNGLTEXSUBIMAGE3DEXTPROC;
|
|
|
|
// GL_EXT_copy_texture (EXT #10)
|
|
glCopyTexImage1DEXT: PFNGLCOPYTEXIMAGE1DEXTPROC;
|
|
glCopyTexImage2DEXT: PFNGLCOPYTEXIMAGE2DEXTPROC;
|
|
glCopyTexSubImage1DEXT: PFNGLCOPYTEXSUBIMAGE1DEXTPROC;
|
|
glCopyTexSubImage2DEXT: PFNGLCOPYTEXSUBIMAGE2DEXTPROC;
|
|
glCopyTexSubImage3DEXT: PFNGLCOPYTEXSUBIMAGE3DEXTPROC;
|
|
|
|
// GL_EXT_texture_object (EXT #20)
|
|
glGenTexturesEXT: PFNGLGENTEXTURESEXTPROC;
|
|
glDeleteTexturesEXT: PFNGLDELETETEXTURESEXTPROC;
|
|
glBindTextureEXT: PFNGLBINDTEXTUREEXTPROC;
|
|
glPrioritizeTexturesEXT: PFNGLPRIORITIZETEXTURESEXTPROC;
|
|
glAreTexturesResidentEXT: PFNGLARETEXTURESRESIDENTEXTPROC;
|
|
glIsTextureEXT: PFNGLISTEXTUREEXTPROC;
|
|
|
|
// GL_SGIS_multisample (EXT #25)
|
|
glSampleMaskSGIS: PFNGLSAMPLEMASKSGISPROC;
|
|
glSamplePatternSGIS: PFNGLSAMPLEPATTERNSGISPROC;
|
|
|
|
// GL_EXT_blend_minmax (EXT #37)
|
|
glBlendEquationEXT: PFNGLBLENDEQUATIONEXTPROC;
|
|
|
|
// GL_EXT_paletted_texture (EXT #78)
|
|
glColorTableEXT: PFNGLCOLORTABLEEXTPROC;
|
|
glColorSubTableExt: PFNGLCOLORSUBTABLEEXTPROC;
|
|
glGetColorTableEXT: PFNGLGETCOLORTABLEEXTPROC;
|
|
glGetColorTableParameterfvEXT: PFNGLGETCOLORTABLEPARAMETERFVEXTPROC;
|
|
glGetColorTableParameterivEXT: PFNGLGETCOLORTABLEPARAMETERIVEXTPROC;
|
|
|
|
// glGetColorTableParameterfvEXT: procedure(target, pname: TGLEnum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF}
|
|
// glGetColorTableParameterivEXT: procedure(target, pname: TGLEnum; params: Pointer); {$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF}
|
|
|
|
// GL_EXT_index_material (EXT #94)
|
|
glIndexMaterialEXT: PFNGLINDEXMATERIALEXTPROC;
|
|
|
|
// GL_EXT_index_func (EXT #95)
|
|
glIndexFuncEXT: PFNGLINDEXFUNCEXTPROC;
|
|
|
|
// GL_EXT_compiled_vertex_array (EXT #97)
|
|
glLockArraysEXT: PFNGLLOCKARRAYSEXTPROC;
|
|
glUnlockArraysEXT: PFNGLUNLOCKARRAYSEXTPROC;
|
|
|
|
// GL_EXT_draw_range_elements (EXT #112)
|
|
glDrawRangeElementsEXT: PFNGLDRAWRANGEELEMENTSEXTPROC;
|
|
|
|
// GL_EXT_scene_marker (EXT #120)
|
|
glBeginSceneEXT: PFNGLBEGINSCENEEXTPROC;
|
|
glEndSceneEXT: PFNGLENDSCENEEXTPROC;
|
|
|
|
// GL_EXT_secondary_color (EXT #145)
|
|
glSecondaryColor3bEXT: PFNGLSECONDARYCOLOR3BEXTPROC;
|
|
glSecondaryColor3bvEXT: PFNGLSECONDARYCOLOR3BVEXTPROC;
|
|
glSecondaryColor3dEXT: PFNGLSECONDARYCOLOR3DEXTPROC;
|
|
glSecondaryColor3dvEXT: PFNGLSECONDARYCOLOR3DVEXTPROC;
|
|
glSecondaryColor3fEXT: PFNGLSECONDARYCOLOR3FEXTPROC;
|
|
glSecondaryColor3fvEXT: PFNGLSECONDARYCOLOR3FVEXTPROC;
|
|
glSecondaryColor3iEXT: PFNGLSECONDARYCOLOR3IEXTPROC;
|
|
glSecondaryColor3ivEXT: PFNGLSECONDARYCOLOR3IVEXTPROC;
|
|
glSecondaryColor3sEXT: PFNGLSECONDARYCOLOR3SEXTPROC;
|
|
glSecondaryColor3svEXT: PFNGLSECONDARYCOLOR3SVEXTPROC;
|
|
glSecondaryColor3ubEXT: PFNGLSECONDARYCOLOR3UBEXTPROC;
|
|
glSecondaryColor3ubvEXT: PFNGLSECONDARYCOLOR3UBVEXTPROC;
|
|
glSecondaryColor3uiEXT: PFNGLSECONDARYCOLOR3UIEXTPROC;
|
|
glSecondaryColor3uivEXT: PFNGLSECONDARYCOLOR3UIVEXTPROC;
|
|
glSecondaryColor3usEXT: PFNGLSECONDARYCOLOR3USEXTPROC;
|
|
glSecondaryColor3usvEXT: PFNGLSECONDARYCOLOR3USVEXTPROC;
|
|
glSecondaryColorPointerEXT: PFNGLSECONDARYCOLORPOINTEREXTPROC;
|
|
|
|
// GL_EXT_multi_draw_arrays (EXT #148)
|
|
glMultiDrawArraysEXT: PFNGLMULTIDRAWARRAYSEXTPROC;
|
|
glMultiDrawElementsEXT: PFNGLMULTIDRAWELEMENTSEXTPROC;
|
|
|
|
// GL_EXT_fog_coord (EXT #149)
|
|
glFogCoordfEXT: PFNGLFOGCOORDFEXTPROC;
|
|
glFogCoordfvEXT: PFNGLFOGCOORDFVEXTPROC;
|
|
glFogCoorddEXT: PFNGLFOGCOORDDEXTPROC;
|
|
glFogCoorddvEXT: PFNGLFOGCOORDDVEXTPROC;
|
|
glFogCoordPointerEXT: PFNGLFOGCOORDPOINTEREXTPROC;
|
|
|
|
// GL_EXT_blend_func_separate (EXT #173)
|
|
glBlendFuncSeparateEXT: PFNGLBLENDFUNCSEPARATEEXTPROC;
|
|
|
|
// GL_NV_vertex_array_range (EXT #190)
|
|
glFlushVertexArrayRangeNV: PFNGLFLUSHVERTEXARRAYRANGENVPROC;
|
|
glVertexArrayRangeNV: PFNGLVERTEXARRAYRANGENVPROC;
|
|
wglAllocateMemoryNV: PFNWGLALLOCATEMEMORYNVPROC;
|
|
wglFreeMemoryNV: PFNWGLFREEMEMORYNVPROC;
|
|
|
|
// GL_NV_register_combiners (EXT #191)
|
|
glCombinerParameterfvNV: PFNGLCOMBINERPARAMETERFVNVPROC;
|
|
glCombinerParameterfNV: PFNGLCOMBINERPARAMETERFNVPROC;
|
|
glCombinerParameterivNV: PFNGLCOMBINERPARAMETERIVNVPROC;
|
|
glCombinerParameteriNV: PFNGLCOMBINERPARAMETERINVPROC;
|
|
glCombinerInputNV: PFNGLCOMBINERINPUTNVPROC;
|
|
glCombinerOutputNV: PFNGLCOMBINEROUTPUTNVPROC;
|
|
glFinalCombinerInputNV: PFNGLFINALCOMBINERINPUTNVPROC;
|
|
glGetCombinerInputParameterfvNV: PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC;
|
|
glGetCombinerInputParameterivNV: PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC;
|
|
glGetCombinerOutputParameterfvNV: PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC;
|
|
glGetCombinerOutputParameterivNV: PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC;
|
|
glGetFinalCombinerInputParameterfvNV: PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC;
|
|
glGetFinalCombinerInputParameterivNV: PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC;
|
|
|
|
// GL_MESA_resize_buffers (EXT #196)
|
|
glResizeBuffersMESA: PFNGLRESIZEBUFFERSMESAPROC;
|
|
|
|
// GL_3DFX_tbuffer (EXT #208)
|
|
glTbufferMask3DFX: PFNGLTBUFFERMASK3DFXPROC;
|
|
|
|
// GL_EXT_multisample (EXT #209)
|
|
glSampleMaskEXT: PFNGLSAMPLEMASKEXTPROC;
|
|
glSamplePatternEXT: PFNGLSAMPLEPATTERNEXTPROC;
|
|
|
|
// GL_SGIS_texture_color_mask (EXT #214)
|
|
glTextureColorMaskSGIS: PFNGLTEXTURECOLORMASKSGISPROC;
|
|
|
|
// GL_NV_fence (EXT #222)
|
|
glGenFencesNV: PFNGLGENFENCESNVPROC;
|
|
glDeleteFencesNV: PFNGLDELETEFENCESNVPROC;
|
|
glSetFenceNV: PFNGLSETFENCENVPROC;
|
|
glTestFenceNV: PFNGLTESTFENCENVPROC;
|
|
glFinishFenceNV: PFNGLFINISHFENCENVPROC;
|
|
glIsFenceNV: PFNGLISFENCENVPROC;
|
|
glGetFenceivNV: PFNGLGETFENCEIVNVPROC;
|
|
|
|
// GL_NV_vertex_program (EXT #233)
|
|
glAreProgramsResidentNV: PFNGLAREPROGRAMSRESIDENTNVPROC;
|
|
glBindProgramNV: PFNGLBINDPROGRAMNVPROC;
|
|
glDeleteProgramsNV: PFNGLDELETEPROGRAMSNVPROC;
|
|
glExecuteProgramNV: PFNGLEXECUTEPROGRAMNVPROC;
|
|
glGenProgramsNV: PFNGLGENPROGRAMSNVPROC;
|
|
glGetProgramParameterdvNV: PFNGLGETPROGRAMPARAMETERDVNVPROC;
|
|
glGetProgramParameterfvNV: PFNGLGETPROGRAMPARAMETERFVNVPROC;
|
|
glGetProgramivNV: PFNGLGETPROGRAMIVNVPROC;
|
|
glGetProgramStringNV: PFNGLGETPROGRAMSTRINGNVPROC;
|
|
glGetTrackMatrixivNV: PFNGLGETTRACKMATRIXIVNVPROC;
|
|
glGetVertexAttribdvNV: PFNGLGETVERTEXATTRIBDVNVPROC;
|
|
glGetVertexAttribfvNV: PFNGLGETVERTEXATTRIBFVNVPROC;
|
|
glGetVertexAttribivNV: PFNGLGETVERTEXATTRIBIVNVPROC;
|
|
glGetVertexAttribPointervNV: PFNGLGETVERTEXATTRIBPOINTERVNVPROC;
|
|
glIsProgramNV: PFNGLISPROGRAMNVPROC;
|
|
glLoadProgramNV: PFNGLLOADPROGRAMNVPROC;
|
|
glProgramParameter4dNV: PFNGLPROGRAMPARAMETER4DNVPROC;
|
|
glProgramParameter4dvNV: PFNGLPROGRAMPARAMETER4DVNVPROC;
|
|
glProgramParameter4fNV: PFNGLPROGRAMPARAMETER4FNVPROC;
|
|
glProgramParameter4fvNV: PFNGLPROGRAMPARAMETER4FVNVPROC;
|
|
glProgramParameters4dvNV: PFNGLPROGRAMPARAMETERS4DVNVPROC;
|
|
glProgramParameters4fvNV: PFNGLPROGRAMPARAMETERS4FVNVPROC;
|
|
glRequestResidentProgramsNV: PFNGLREQUESTRESIDENTPROGRAMSNVPROC;
|
|
glTrackMatrixNV: PFNGLTRACKMATRIXNVPROC;
|
|
glVertexAttribPointerNV: PFNGLVERTEXATTRIBPOINTERNVPROC;
|
|
glVertexAttrib1dNV: PFNGLVERTEXATTRIB1DNVPROC;
|
|
glVertexAttrib1dvNV: PFNGLVERTEXATTRIB1DVNVPROC;
|
|
glVertexAttrib1fNV: PFNGLVERTEXATTRIB1FNVPROC;
|
|
glVertexAttrib1fvNV: PFNGLVERTEXATTRIB1FVNVPROC;
|
|
glVertexAttrib1sNV: PFNGLVERTEXATTRIB1SNVPROC;
|
|
glVertexAttrib1svNV: PFNGLVERTEXATTRIB1SVNVPROC;
|
|
glVertexAttrib2dNV: PFNGLVERTEXATTRIB2DNVPROC;
|
|
glVertexAttrib2dvNV: PFNGLVERTEXATTRIB2DVNVPROC;
|
|
glVertexAttrib2fNV: PFNGLVERTEXATTRIB2FNVPROC;
|
|
glVertexAttrib2fvNV: PFNGLVERTEXATTRIB2FVNVPROC;
|
|
glVertexAttrib2sNV: PFNGLVERTEXATTRIB2SNVPROC;
|
|
glVertexAttrib2svNV: PFNGLVERTEXATTRIB2SVNVPROC;
|
|
glVertexAttrib3dNV: PFNGLVERTEXATTRIB3DNVPROC;
|
|
glVertexAttrib3dvNV: PFNGLVERTEXATTRIB3DVNVPROC;
|
|
glVertexAttrib3fNV: PFNGLVERTEXATTRIB3FNVPROC;
|
|
glVertexAttrib3fvNV: PFNGLVERTEXATTRIB3FVNVPROC;
|
|
glVertexAttrib3sNV: PFNGLVERTEXATTRIB3SNVPROC;
|
|
glVertexAttrib3svNV: PFNGLVERTEXATTRIB3SVNVPROC;
|
|
glVertexAttrib4dNV: PFNGLVERTEXATTRIB4DNVPROC;
|
|
glVertexAttrib4dvNV: PFNGLVERTEXATTRIB4DVNVPROC;
|
|
glVertexAttrib4fNV: PFNGLVERTEXATTRIB4FNVPROC;
|
|
glVertexAttrib4fvNV: PFNGLVERTEXATTRIB4FVNVPROC;
|
|
glVertexAttrib4sNV: PFNGLVERTEXATTRIB4SNVPROC;
|
|
glVertexAttrib4svNV: PFNGLVERTEXATTRIB4SVNVPROC;
|
|
glVertexAttrib4ubvNV: PFNGLVERTEXATTRIB4UBVNVPROC;
|
|
glVertexAttribs1dvNV: PFNGLVERTEXATTRIBS1DVNVPROC;
|
|
glVertexAttribs1fvNV: PFNGLVERTEXATTRIBS1FVNVPROC;
|
|
glVertexAttribs1svNV: PFNGLVERTEXATTRIBS1SVNVPROC;
|
|
glVertexAttribs2dvNV: PFNGLVERTEXATTRIBS2DVNVPROC;
|
|
glVertexAttribs2fvNV: PFNGLVERTEXATTRIBS2FVNVPROC;
|
|
glVertexAttribs2svNV: PFNGLVERTEXATTRIBS2SVNVPROC;
|
|
glVertexAttribs3dvNV: PFNGLVERTEXATTRIBS3DVNVPROC;
|
|
glVertexAttribs3fvNV: PFNGLVERTEXATTRIBS3FVNVPROC;
|
|
glVertexAttribs3svNV: PFNGLVERTEXATTRIBS3SVNVPROC;
|
|
glVertexAttribs4dvNV: PFNGLVERTEXATTRIBS4DVNVPROC;
|
|
glVertexAttribs4fvNV: PFNGLVERTEXATTRIBS4FVNVPROC;
|
|
glVertexAttribs4svNV: PFNGLVERTEXATTRIBS4SVNVPROC;
|
|
glVertexAttribs4ubvNV: PFNGLVERTEXATTRIBS4UBVNVPROC;
|
|
|
|
// GL_NV_occlusion_query (EXT #261)
|
|
glGenOcclusionQueriesNV: PFNGLGENOCCLUSIONQUERIESNVPROC;
|
|
glDeleteOcclusionQueriesNV: PFNGLDELETEOCCLUSIONQUERIESNVPROC;
|
|
glIsOcclusionQueryNV: PFNGLISOCCLUSIONQUERYNVPROC;
|
|
glBeginOcclusionQueryNV: PFNGLBEGINOCCLUSIONQUERYNVPROC;
|
|
glEndOcclusionQueryNV: PFNGLENDOCCLUSIONQUERYNVPROC;
|
|
glGetOcclusionQueryivNV: PFNGLGETOCCLUSIONQUERYIVNVPROC;
|
|
glGetOcclusionQueryuivNV: PFNGLGETOCCLUSIONQUERYUIVNVPROC;
|
|
|
|
// GL_NV_point_sprite (EXT #262)
|
|
glPointParameteriNV: PFNGLPOINTPARAMETERINVPROC;
|
|
glPointParameterivNV: PFNGLPOINTPARAMETERIVNVPROC;
|
|
|
|
// GL_EXT_stencil_two_side (EXT #268)
|
|
glActiveStencilFaceEXT: PFNGLACTIVESTENCILFACEEXTPROC;
|
|
|
|
// GL_ATI_draw_buffers (EXT #277)
|
|
glDrawBuffersATI: PFNGLDRAWBUFFERSATIPROC;
|
|
|
|
// GL_NV_primitive_restart (EXT #285)
|
|
glPrimitiveRestartNV: PFNGLPRIMITIVERESTARTNVPROC;
|
|
glPrimitiveRestartIndexNV: PFNGLPRIMITIVERESTARTINDEXNVPROC;
|
|
|
|
// GL_EXT_depth_bounds_test (EXT #297)
|
|
glDepthBoundsEXT: PFNGLDEPTHBOUNDSEXTPROC;
|
|
|
|
// GL_EXT_blend_equation_separate (EXT #299)
|
|
glBlendEquationSeparateEXT: PFNGLBLENDEQUATIONSEPARATEEXTPROC;
|
|
|
|
// GL_EXT_framebuffer_object (EXT #310)
|
|
glIsRenderbufferEXT: PFNGLISRENDERBUFFEREXTPROC;
|
|
glBindRenderbufferEXT: PFNGLBINDRENDERBUFFEREXTPROC;
|
|
glDeleteRenderbuffersEXT: PFNGLDELETERENDERBUFFERSEXTPROC;
|
|
glGenRenderbuffersEXT: PFNGLGENRENDERBUFFERSEXTPROC;
|
|
glRenderbufferStorageEXT: PFNGLRENDERBUFFERSTORAGEEXTPROC;
|
|
glGetRenderbufferParameterivEXT: PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC;
|
|
glIsFramebufferEXT: PFNGLISFRAMEBUFFEREXTPROC;
|
|
glBindFramebufferEXT: PFNGLBINDFRAMEBUFFEREXTPROC;
|
|
glDeleteFramebuffersEXT: PFNGLDELETEFRAMEBUFFERSEXTPROC;
|
|
glGenFramebuffersEXT: PFNGLGENFRAMEBUFFERSEXTPROC;
|
|
glCheckFramebufferStatusEXT: PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC;
|
|
glFramebufferTexture1DEXT: PFNGLFRAMEBUFFERTEXTURE1DEXTPROC;
|
|
glFramebufferTexture2DEXT: PFNGLFRAMEBUFFERTEXTURE2DEXTPROC;
|
|
glFramebufferTexture3DEXT: PFNGLFRAMEBUFFERTEXTURE3DEXTPROC;
|
|
glFramebufferRenderbufferEXT: PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC;
|
|
glGetFramebufferAttachmentParameterivEXT: PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC;
|
|
glGenerateMipmapEXT: PFNGLGENERATEMIPMAPEXTPROC;
|
|
|
|
// GL_GREMEDY_string_marker (EXT #311)
|
|
glStringMarkerGREMEDY: PFNGLSTRINGMARKERGREMEDYPROC;
|
|
|
|
// GL_EXT_stencil_clear_tag (EXT #314)
|
|
glStencilClearTagEXT: PFNGLSTENCILCLEARTAGEXTPROC;
|
|
|
|
// GL_EXT_framebuffer_blit (#316)
|
|
glBlitFramebufferEXT: PFNGLBLITFRAMEBUFFEREXTPROC;
|
|
|
|
// GL_EXT_framebuffer_multisample (#317)
|
|
glRenderbufferStorageMultisampleEXT: PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC;
|
|
|
|
// GL_EXT_timer_query (#319)
|
|
glGetQueryObjecti64vEXT: PFNGLGETQUERYOBJECTI64VEXTPROC;
|
|
glGetQueryObjectui64vEXT: PFNGLGETQUERYOBJECTUI64VEXTPROC;
|
|
|
|
// GL_EXT_gpu_program_parameters (EXT #320)
|
|
glProgramEnvParameters4fvEXT: PFNGLPROGRAMENVPARAMETERS4FVEXTPROC;
|
|
glProgramLocalParameters4fvEXT: PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC;
|
|
|
|
// GL_NV_geometry_program4 (EXT #323)
|
|
glProgramVertexLimitNV: PFNGLPROGRAMVERTEXLIMITNVPROC;
|
|
|
|
// GL_EXT_geometry_shader4 (EXT #324)
|
|
glProgramParameteriEXT: PFNGLPROGRAMPARAMETERIEXTPROC;
|
|
glFramebufferTextureEXT: PFNGLFRAMEBUFFERTEXTUREEXTPROC;
|
|
glFramebufferTextureLayerEXT: PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC;
|
|
glFramebufferTextureFaceEXT: PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC;
|
|
|
|
// GL_EXT_gpu_shader4 (EXT #326)
|
|
glVertexAttribI1iEXT: PFNGLVERTEXATTRIBI1IEXTPROC;
|
|
glVertexAttribI2iEXT: PFNGLVERTEXATTRIBI2IEXTPROC;
|
|
glVertexAttribI3iEXT: PFNGLVERTEXATTRIBI3IEXTPROC;
|
|
glVertexAttribI4iEXT: PFNGLVERTEXATTRIBI4IEXTPROC;
|
|
glVertexAttribI1uiEXT: PFNGLVERTEXATTRIBI1UIEXTPROC;
|
|
glVertexAttribI2uiEXT: PFNGLVERTEXATTRIBI2UIEXTPROC;
|
|
glVertexAttribI3uiEXT: PFNGLVERTEXATTRIBI3UIEXTPROC;
|
|
glVertexAttribI4uiEXT: PFNGLVERTEXATTRIBI4UIEXTPROC;
|
|
glVertexAttribI1ivEXT: PFNGLVERTEXATTRIBI1IVEXTPROC;
|
|
glVertexAttribI2ivEXT: PFNGLVERTEXATTRIBI2IVEXTPROC;
|
|
glVertexAttribI3ivEXT: PFNGLVERTEXATTRIBI3IVEXTPROC;
|
|
glVertexAttribI4ivEXT: PFNGLVERTEXATTRIBI4IVEXTPROC;
|
|
glVertexAttribI1uivEXT: PFNGLVERTEXATTRIBI1UIVEXTPROC;
|
|
glVertexAttribI2uivEXT: PFNGLVERTEXATTRIBI2UIVEXTPROC;
|
|
glVertexAttribI3uivEXT: PFNGLVERTEXATTRIBI3UIVEXTPROC;
|
|
glVertexAttribI4uivEXT: PFNGLVERTEXATTRIBI4UIVEXTPROC;
|
|
glVertexAttribI4bvEXT: PFNGLVERTEXATTRIBI4BVEXTPROC;
|
|
glVertexAttribI4svEXT: PFNGLVERTEXATTRIBI4SVEXTPROC;
|
|
glVertexAttribI4ubvEXT: PFNGLVERTEXATTRIBI4UBVEXTPROC;
|
|
glVertexAttribI4usvEXT: PFNGLVERTEXATTRIBI4USVEXTPROC;
|
|
glVertexAttribIPointerEXT: PFNGLVERTEXATTRIBIPOINTEREXTPROC;
|
|
glGetVertexAttribIivEXT: PFNGLGETVERTEXATTRIBIIVEXTPROC;
|
|
glGetVertexAttribIuivEXT: PFNGLGETVERTEXATTRIBIUIVEXTPROC;
|
|
glUniform1uiEXT: PFNGLUNIFORM1UIEXTPROC;
|
|
glUniform2uiEXT: PFNGLUNIFORM2UIEXTPROC;
|
|
glUniform3uiEXT: PFNGLUNIFORM3UIEXTPROC;
|
|
glUniform4uiEXT: PFNGLUNIFORM4UIEXTPROC;
|
|
glUniform1uivEXT: PFNGLUNIFORM1UIVEXTPROC;
|
|
glUniform2uivEXT: PFNGLUNIFORM2UIVEXTPROC;
|
|
glUniform3uivEXT: PFNGLUNIFORM3UIVEXTPROC;
|
|
glUniform4uivEXT: PFNGLUNIFORM4UIVEXTPROC;
|
|
glGetUniformuivEXT: PFNGLGETUNIFORMUIVEXTPROC;
|
|
glBindFragDataLocationEXT: PFNGLBINDFRAGDATALOCATIONEXTPROC;
|
|
glGetFragDataLocationEXT: PFNGLGETFRAGDATALOCATIONEXTPROC;
|
|
|
|
// GL_EXT_draw_instanced (#327)
|
|
glDrawArraysInstancedEXT: PFNGLDRAWARRAYSINSTANCEDEXTPROC;
|
|
glDrawElementsInstancedEXT: PFNGLDRAWELEMENTSINSTANCEDEXTPROC;
|
|
|
|
// GL_EXT_packed_float (#328)
|
|
// WGL_EXT_pixel_format_packed_float
|
|
// GLX_EXT_fbconfig_packed_float
|
|
|
|
|
|
// GL_EXT_texture_array (#329)
|
|
//glFramebufferTextureLayerEXT: procedure(target: TGLenum; attachment: TGLenum;
|
|
// texture: TGLuint; level: TGLint; layer: TGLint);
|
|
|
|
|
|
// GL_EXT_texture_buffer_object (#330)
|
|
glTexBufferEXT: PFNGLTEXBUFFEREXTPROC;
|
|
|
|
// GL_EXT_draw_buffers2 (#340)
|
|
glColorMaskIndexedEXT: PFNGLCOLORMASKINDEXEDEXTPROC;
|
|
glGetBooleanIndexedvEXT: PFNGLGETBOOLEANINDEXEDVEXTPROC;
|
|
glGetIntegerIndexedvEXT: PFNGLGETINTEGERINDEXEDVEXTPROC;
|
|
glEnableIndexedEXT: PFNGLENABLEINDEXEDEXTPROC;
|
|
glDisableIndexedEXT: PFNGLDISABLEINDEXEDEXTPROC;
|
|
glIsEnabledIndexedEXT: PFNGLISENABLEDINDEXEDEXTPROC;
|
|
|
|
// GL_NV_transform_feedback (#341)
|
|
glBindBufferRangeNV: PFNGLBINDBUFFERRANGENVPROC;
|
|
glBindBufferOffsetNV: PFNGLBINDBUFFEROFFSETNVPROC;
|
|
glBindBufferBaseNV: PFNGLBINDBUFFERBASENVPROC;
|
|
glTransformFeedbackAttribsNV: PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC;
|
|
glTransformFeedbackVaryingsNV: PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC;
|
|
glBeginTransformFeedbackNV: PFNGLBEGINTRANSFORMFEEDBACKNVPROC;
|
|
glEndTransformFeedbackNV: PFNGLENDTRANSFORMFEEDBACKNVPROC;
|
|
|
|
glGetVaryingLocationNV: PFNGLGETVARYINGLOCATIONNVPROC;
|
|
glGetActiveVaryingNV: PFNGLGETACTIVEVARYINGNVPROC;
|
|
glActiveVaryingNV: PFNGLACTIVEVARYINGNVPROC;
|
|
glGetTransformFeedbackVaryingNV: PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC;
|
|
|
|
// GL_EXT_bindable_uniform (#342)
|
|
glUniformBufferEXT: PFNGLUNIFORMBUFFEREXTPROC;
|
|
glGetUniformBufferSizeEXT: PFNGLGETUNIFORMBUFFERSIZEEXTPROC;
|
|
glGetUniformOffsetEXT: PFNGLGETUNIFORMOFFSETEXTPROC;
|
|
|
|
// GL_EXT_texture_integer (#343)
|
|
glClearColorIiEXT: PFNGLCLEARCOLORIIEXTPROC;
|
|
glClearColorIuiEXT: PFNGLCLEARCOLORIUIEXTPROC;
|
|
glTexParameterIivEXT: PFNGLTEXPARAMETERIIVEXTPROC;
|
|
glTexParameterIuivEXT: PFNGLTEXPARAMETERIUIVEXTPROC;
|
|
glGetTexParameterIivEXT: PFNGLGETTEXPARAMETERIIVEXTPROC;
|
|
glGetTexParameterIuivEXT: PFNGLGETTEXPARAMETERIUIVEXTPROC;
|
|
|
|
// GL_GREMEDY_frame_terminator (EXT #345)
|
|
glFrameTerminatorGREMEDY: PFNGLFRAMETERMINATORGREMEDYPROC;
|
|
|
|
// GL_NV_conditional_render (#346)
|
|
glBeginConditionalRenderNV: PFNGLBEGINCONDITIONALRENDERNVPROC;
|
|
glEndConditionalRenderNV: PFNGLENDCONDITIONALRENDERNVPROC;
|
|
|
|
// GL_EXT_transform_feedback (#352)
|
|
glBindBufferRangeEXT: PFNGLBINDBUFFERRANGEEXTPROC;
|
|
glBindBufferOffsetEXT: PFNGLBINDBUFFEROFFSETEXTPROC;
|
|
glBindBufferBaseEXT: PFNGLBINDBUFFERBASEEXTPROC;
|
|
glBeginTransformFeedbackEXT: PFNGLBEGINTRANSFORMFEEDBACKEXTPROC;
|
|
glEndTransformFeedbackEXT: PFNGLENDTRANSFORMFEEDBACKEXTPROC;
|
|
glTransformFeedbackVaryingsEXT: PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC;
|
|
glGetTransformFeedbackVaryingEXT: PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC;
|
|
|
|
// GL_AMD_vertex_shader_tessellator (#363)
|
|
glTessellationFactorAMD: PFNGLTESSELLATIONFACTORAMDPROC;
|
|
glTessellationModeAMD: PFNGLTESSELLATIONMODEAMDPROC;
|
|
|
|
// GL_NV_copy_image (#376)
|
|
glCopyImageSubDataNV: PFNGLCOPYIMAGESUBDATANVPROC;
|
|
|
|
// GL_NV_shader_buffer_load (#379)
|
|
glMakeBufferResidentNV: PFNGLMAKEBUFFERRESIDENTNVPROC;
|
|
glMakeBufferNonResidentNV: PFNGLMAKEBUFFERNONRESIDENTNVPROC;
|
|
glIsBufferResidentNV: PFNGLISBUFFERRESIDENTNVPROC;
|
|
glMakeNamedBufferResidentNV: PFNGLMAKENAMEDBUFFERRESIDENTNVPROC;
|
|
glMakeNamedBufferNonResidentNV: PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC;
|
|
glIsNamedBufferResidentNV: PFNGLISNAMEDBUFFERRESIDENTNVPROC;
|
|
glGetBufferParameterui64vNV: PFNGLGETBUFFERPARAMETERUI64VNVPROC;
|
|
glGetNamedBufferParameterui64vNV: PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC;
|
|
glGetIntegerui64vNV: PFNGLGETINTEGERUI64VNVPROC;
|
|
glUniformui64NV: PFNGLUNIFORMUI64NVPROC;
|
|
glUniformui64vNV: PFNGLUNIFORMUI64VNVPROC;
|
|
glGetUniformui64vNV: PFNGLGETUNIFORMUI64VNVPROC;
|
|
glProgramUniformui64NV: PFNGLPROGRAMUNIFORMUI64NVPROC;
|
|
glProgramUniformui64vNV: PFNGLPROGRAMUNIFORMUI64VNVPROC;
|
|
|
|
// GL_NV_vertex_buffer_unified_memory (#380)
|
|
glBufferAddressRangeNV: PFNGLBUFFERADDRESSRANGENVPROC;
|
|
glVertexFormatNV: PFNGLVERTEXFORMATNVPROC;
|
|
glNormalFormatNV: PFNGLNORMALFORMATNVPROC;
|
|
glColorFormatNV: PFNGLCOLORFORMATNVPROC;
|
|
glIndexFormatNV: PFNGLINDEXFORMATNVPROC;
|
|
glTexCoordFormatNV: PFNGLTEXCOORDFORMATNVPROC;
|
|
glEdgeFlagFormatNV: PFNGLEDGEFLAGFORMATNVPROC;
|
|
glSecondaryColorFormatNV: PFNGLSECONDARYCOLORFORMATNVPROC;
|
|
glFogCoordFormatNV: PFNGLFOGCOORDFORMATNVPROC;
|
|
glVertexAttribFormatNV: PFNGLVERTEXATTRIBFORMATNVPROC;
|
|
glVertexAttribIFormatNV: PFNGLVERTEXATTRIBIFORMATNVPROC;
|
|
glGetIntegerui64i_vNV: PFNGLGETINTEGERUI64I_VNVPROC;
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
function GLLibGetProcAddress(ProcName: PGLChar): Pointer;
|
|
function GLGetProcAddress(ProcName: PGLChar): Pointer;
|
|
procedure ReadExtensions;
|
|
procedure ReadImplementationProperties;
|
|
{$IFDEF SUPPORT_WGL}
|
|
procedure ReadWGLExtensions;
|
|
procedure ReadWGLImplementationProperties;
|
|
{$ENDIF}
|
|
{$IFDEF SUPPORT_GLX}
|
|
procedure ReadGLXExtensions;
|
|
procedure ReadGLXImplementationProperties;
|
|
{$ENDIF}
|
|
|
|
procedure CloseOpenGL;
|
|
function InitOpenGL : Boolean;
|
|
function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
|
|
function IsOpenGLInitialized: Boolean;
|
|
|
|
// compatibility routines
|
|
procedure UnloadOpenGL;
|
|
function LoadOpenGL : Boolean;
|
|
function LoadOpenGLFromLibrary(GLName, GLUName: String): Boolean;
|
|
function IsOpenGLLoaded : Boolean;
|
|
|
|
function IsMesaGL : Boolean;
|
|
procedure TrimAndSplitVersionString(Buffer: String; var Max, Min: Integer);
|
|
function IsVersionMet(MajorVersion,MinorVersion, actualMajorVersion, actualMinorVersion:Integer): boolean;
|
|
function IsOpenGLVersionMet(MajorVersion,MinorVersion: Integer): boolean;
|
|
|
|
type
|
|
EOpenGLError = class(Exception);
|
|
|
|
{: Gets the oldest error from OpenGL engine and tries to clear the error queue.<p> }
|
|
procedure CheckOpenGLError;
|
|
{: Clears all pending OpenGL errors. }
|
|
procedure ClearGLError;
|
|
{: Raises an EOpenGLError with 'msg' error string. }
|
|
procedure RaiseOpenGLError(const msg : String);
|
|
|
|
var
|
|
vIgnoreOpenGLErrors : Boolean = false;
|
|
|
|
// ------------------------------------------------------------------
|
|
// ------------------------------------------------------------------
|
|
// ------------------------------------------------------------------
|
|
implementation
|
|
// ------------------------------------------------------------------
|
|
// ------------------------------------------------------------------
|
|
// ------------------------------------------------------------------
|
|
|
|
// ************** Windows specific ********************
|
|
{$IFDEF MSWINDOWS}
|
|
const
|
|
INVALID_MODULEHANDLE = 0;
|
|
|
|
var
|
|
GLHandle: HINST;
|
|
GLUHandle: HINST;
|
|
|
|
function GLGetProcAddress(ProcName: PGLChar):Pointer;
|
|
begin
|
|
result := wglGetProcAddress(ProcName);
|
|
end;
|
|
|
|
{$ENDIF}
|
|
|
|
// ************** UNIX specific ********************
|
|
{$IFDEF UNIX}
|
|
const
|
|
INVALID_MODULEHANDLE = 0;//nil;
|
|
|
|
var
|
|
GLHandle: TLibHandle = 0;//Pointer;
|
|
GLUHandle: TLibHandle = 0;//Pointer;
|
|
|
|
function GLGetProcAddress(ProcName: PGLChar):Pointer;
|
|
begin
|
|
if @glXGetProcAddress<>nil then
|
|
result := glXGetProcAddress(ProcName);
|
|
|
|
if result<> nil then exit;
|
|
|
|
if @glXGetProcAddressARB<>nil then
|
|
result := glXGetProcAddressARB(ProcName);
|
|
|
|
if result<> nil then exit;
|
|
|
|
result := GetProcAddress(GLHandle, ProcName);
|
|
end;
|
|
{$ENDIF}
|
|
function GLLibGetProcAddress(ProcName: PGLChar):Pointer;
|
|
begin
|
|
result := GetProcAddress(GLHandle, ProcName);
|
|
end;
|
|
|
|
// CheckOpenGLError
|
|
//
|
|
procedure CheckOpenGLError;
|
|
var
|
|
GLError : LongWord;
|
|
Count : Word;
|
|
begin
|
|
GLError:=glGetError;
|
|
if GLError <> GL_NO_ERROR then begin
|
|
Count:=0;
|
|
// Because under some circumstances reading the error code creates a new error
|
|
// and thus hanging up the thread, we limit the loop to 6 reads.
|
|
try
|
|
while (glGetError <> GL_NO_ERROR) and (Count < 6) do Inc(Count);
|
|
except
|
|
// Egg : ignore exceptions here, will perhaps avoid problem expressed before
|
|
end;
|
|
if not vIgnoreOpenGLErrors then
|
|
raise EOpenGLError.Create(String(gluErrorString(GLError)));
|
|
end;
|
|
end;
|
|
|
|
// ClearGLError
|
|
//
|
|
procedure ClearGLError;
|
|
var
|
|
n : Integer;
|
|
begin
|
|
n:=0;
|
|
while (glGetError<>GL_NO_ERROR) and (n<6) do Inc(n);
|
|
end;
|
|
|
|
// RaiseOpenGLError
|
|
//
|
|
procedure RaiseOpenGLError(const msg : String);
|
|
begin
|
|
raise EOpenGLError.Create(msg);
|
|
end;
|
|
|
|
// ************** Extensions ********************
|
|
|
|
// ReadExtensions
|
|
//
|
|
procedure ReadExtensions;
|
|
// To be used in an active rendering context only!
|
|
begin
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 1.2'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 1.2 core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.2 from GL_EXT_blend_color (#2)
|
|
glBlendColor := GLGetProcAddress('glBlendColor');
|
|
|
|
//promoted to core v1.2 from GL_EXT_blend_minmax (#37)
|
|
glBlendEquation := GLGetProcAddress('glBlendEquation');
|
|
|
|
// promoted to core v1.2 from GL_EXT_draw_range_elements (#112)
|
|
glDrawRangeElements := GLGetProcAddress('glDrawRangeElements');
|
|
|
|
// promoted to core v1.2 from GL_SGI_color_table (#14)
|
|
glColorTable := GLGetProcAddress('glColorTable');
|
|
glColorTableParameterfv := GLGetProcAddress('glColorTableParameterfv');
|
|
glColorTableParameteriv := GLGetProcAddress('glColorTableParameteriv');
|
|
glCopyColorTable := GLGetProcAddress('glCopyColorTable');
|
|
glGetColorTable := GLGetProcAddress('glGetColorTable');
|
|
glGetColorTableParameterfv := GLGetProcAddress('glGetColorTableParameterfv');
|
|
glGetColorTableParameteriv := GLGetProcAddress('glGetColorTableParameteriv');
|
|
|
|
// promoted to core v1.2 from GL_EXT_color_subtable (#74)
|
|
glColorSubTable := GLGetProcAddress('glColorSubTable');
|
|
glCopyColorSubTable := GLGetProcAddress('glCopyColorSubTable');
|
|
|
|
// promoted to core v1.2 from GL_EXT_convolution (#12)
|
|
glConvolutionFilter1D := GLGetProcAddress('glConvolutionFilter1D');
|
|
glConvolutionFilter2D := GLGetProcAddress('glConvolutionFilter2D');
|
|
glConvolutionParameterf := GLGetProcAddress('glConvolutionParameterf');
|
|
glConvolutionParameterfv := GLGetProcAddress('glConvolutionParameterfv');
|
|
glConvolutionParameteri := GLGetProcAddress('glConvolutionParameteri');
|
|
glConvolutionParameteriv := GLGetProcAddress('glConvolutionParameteriv');
|
|
glCopyConvolutionFilter1D := GLGetProcAddress('glCopyConvolutionFilter1D');
|
|
glCopyConvolutionFilter2D := GLGetProcAddress('glCopyConvolutionFilter2D');
|
|
glGetConvolutionFilter := GLGetProcAddress('glGetConvolutionFilter');
|
|
glGetConvolutionParameterfv := GLGetProcAddress('glGetConvolutionParameterfv');
|
|
glGetConvolutionParameteriv := GLGetProcAddress('glGetConvolutionParameteriv');
|
|
glGetSeparableFilter := GLGetProcAddress('glGetSeparableFilter');
|
|
glSeparableFilter2D := GLGetProcAddress('glSeparableFilter2D');
|
|
|
|
// promoted to core v1.2 from GL_EXT_histogram (#11)
|
|
glGetHistogram := GLGetProcAddress('glGetHistogram');
|
|
glGetHistogramParameterfv := GLGetProcAddress('glGetHistogramParameterfv');
|
|
glGetHistogramParameteriv := GLGetProcAddress('glGetHistogramParameteriv');
|
|
glGetMinmax := GLGetProcAddress('glGetMinmax');
|
|
glGetMinmaxParameterfv := GLGetProcAddress('glGetMinmaxParameterfv');
|
|
glGetMinmaxParameteriv := GLGetProcAddress('glGetMinmaxParameteriv');
|
|
glHistogram := GLGetProcAddress('glHistogram');
|
|
glMinmax := GLGetProcAddress('glMinmax');
|
|
glResetHistogram := GLGetProcAddress('glResetHistogram');
|
|
glResetMinmax := GLGetProcAddress('glResetMinmax');
|
|
|
|
// promoted to core v1.2 from GL_EXT_texture3D (#6)
|
|
glTexImage3D := GLGetProcAddress('glTexImage3D');
|
|
glTexSubImage3D := GLGetProcAddress('glTexSubImage3D');
|
|
|
|
// promoted to core v1.2 from GL_EXT_copy_texture
|
|
glCopyTexSubImage3D := GLGetProcAddress('glCopyTexSubImage3D');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 1.3'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 1.3 core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.3 from GL_ARB_multitexture (#1)
|
|
glActiveTexture := GLGetProcAddress('glActiveTexture');
|
|
glClientActiveTexture := GLGetProcAddress('glClientActiveTexture');
|
|
glMultiTexCoord1d := GLGetProcAddress('glMultiTexCoord1d');
|
|
glMultiTexCoord1dV := GLGetProcAddress('glMultiTexCoord1dV');
|
|
glMultiTexCoord1f := GLGetProcAddress('glMultiTexCoord1f');
|
|
glMultiTexCoord1fV := GLGetProcAddress('glMultiTexCoord1fV');
|
|
glMultiTexCoord1i := GLGetProcAddress('glMultiTexCoord1i');
|
|
glMultiTexCoord1iV := GLGetProcAddress('glMultiTexCoord1iV');
|
|
glMultiTexCoord1s := GLGetProcAddress('glMultiTexCoord1s');
|
|
glMultiTexCoord1sV := GLGetProcAddress('glMultiTexCoord1sV');
|
|
glMultiTexCoord2d := GLGetProcAddress('glMultiTexCoord2d');
|
|
glMultiTexCoord2dv := GLGetProcAddress('glMultiTexCoord2dv');
|
|
glMultiTexCoord2f := GLGetProcAddress('glMultiTexCoord2f');
|
|
glMultiTexCoord2fv := GLGetProcAddress('glMultiTexCoord2fv');
|
|
glMultiTexCoord2i := GLGetProcAddress('glMultiTexCoord2i');
|
|
glMultiTexCoord2iv := GLGetProcAddress('glMultiTexCoord2iv');
|
|
glMultiTexCoord2s := GLGetProcAddress('glMultiTexCoord2s');
|
|
glMultiTexCoord2sv := GLGetProcAddress('glMultiTexCoord2sv');
|
|
glMultiTexCoord3d := GLGetProcAddress('glMultiTexCoord3d');
|
|
glMultiTexCoord3dv := GLGetProcAddress('glMultiTexCoord3dv');
|
|
glMultiTexCoord3f := GLGetProcAddress('glMultiTexCoord3f');
|
|
glMultiTexCoord3fv := GLGetProcAddress('glMultiTexCoord3fv');
|
|
glMultiTexCoord3i := GLGetProcAddress('glMultiTexCoord3i');
|
|
glMultiTexCoord3iv := GLGetProcAddress('glMultiTexCoord3iv');
|
|
glMultiTexCoord3s := GLGetProcAddress('glMultiTexCoord3s');
|
|
glMultiTexCoord3sv := GLGetProcAddress('glMultiTexCoord3sv');
|
|
glMultiTexCoord4d := GLGetProcAddress('glMultiTexCoord4d');
|
|
glMultiTexCoord4dv := GLGetProcAddress('glMultiTexCoord4dv');
|
|
glMultiTexCoord4f := GLGetProcAddress('glMultiTexCoord4f');
|
|
glMultiTexCoord4fv := GLGetProcAddress('glMultiTexCoord4fv');
|
|
glMultiTexCoord4i := GLGetProcAddress('glMultiTexCoord4i');
|
|
glMultiTexCoord4iv := GLGetProcAddress('glMultiTexCoord4iv');
|
|
glMultiTexCoord4s := GLGetProcAddress('glMultiTexCoord4s');
|
|
glMultiTexCoord4sv := GLGetProcAddress('glMultiTexCoord4sv');
|
|
|
|
// promoted to core v1.3 from GL_ARB_transpose_matrix
|
|
glLoadTransposeMatrixf := GLGetProcAddress('glLoadTransposeMatrixf');
|
|
glLoadTransposeMatrixd := GLGetProcAddress('glLoadTransposeMatrixd');
|
|
glMultTransposeMatrixf := GLGetProcAddress('glMultTransposeMatrixf');
|
|
glMultTransposeMatrixd := GLGetProcAddress('glMultTransposeMatrixd');
|
|
|
|
// promoted to core v1.3 from GL_ARB_multisample (#5)
|
|
glSampleCoverage := GLGetProcAddress('glSampleCoverage');
|
|
|
|
// promoted to core v1.3 from GL_ARB_texture_compression (#12)
|
|
glCompressedTexImage3D := GLGetProcAddress('glCompressedTexImage3D');
|
|
glCompressedTexImage2D := GLGetProcAddress('glCompressedTexImage2D');
|
|
glCompressedTexImage1D := GLGetProcAddress('glCompressedTexImage1D');
|
|
glCompressedTexSubImage3D := GLGetProcAddress('glCompressedTexSubImage3D');
|
|
glCompressedTexSubImage2D := GLGetProcAddress('glCompressedTexSubImage2D');
|
|
glCompressedTexSubImage1D := GLGetProcAddress('glCompressedTexSubImage1D');
|
|
glGetCompressedTexImage := GLGetProcAddress('glGetCompressedTexImage');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 1.4'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 1.4 core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.4 from GL_EXT_blend_func_separate (#173)
|
|
glBlendFuncSeparate := GLGetProcAddress('glBlendFuncSeparate');
|
|
|
|
// promoted to core v1.4 from GL_EXT_fog_coord (#149)
|
|
glFogCoordf := GLGetProcAddress('glFogCoordf');
|
|
glFogCoordfv := GLGetProcAddress('glFogCoordfv');
|
|
glFogCoordd := GLGetProcAddress('glFogCoordd');
|
|
glFogCoorddv := GLGetProcAddress('glFogCoorddv');
|
|
glFogCoordPointer := GLGetProcAddress('glFogCoordPointer');
|
|
|
|
// promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)
|
|
glMultiDrawArrays := GLGetProcAddress('glMultiDrawArrays');
|
|
glMultiDrawElements := GLGetProcAddress('glMultiDrawElements');
|
|
|
|
// promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)
|
|
glPointParameterf := GLGetProcAddress('glPointParameterf');
|
|
glPointParameterfv := GLGetProcAddress('glPointParameterfv');
|
|
glPointParameteri := GLGetProcAddress('glPointParameteri');
|
|
glPointParameteriv := GLGetProcAddress('glPointParameteriv');
|
|
|
|
// promoted to core v1.4 from GL_EXT_secondary_color (#145)
|
|
glSecondaryColor3b := GLGetProcAddress('glSecondaryColor3b');
|
|
glSecondaryColor3bv := GLGetProcAddress('glSecondaryColor3bv');
|
|
glSecondaryColor3d := GLGetProcAddress('glSecondaryColor3d');
|
|
glSecondaryColor3dv := GLGetProcAddress('glSecondaryColor3dv');
|
|
glSecondaryColor3f := GLGetProcAddress('glSecondaryColor3f');
|
|
glSecondaryColor3fv := GLGetProcAddress('glSecondaryColor3fv');
|
|
glSecondaryColor3i := GLGetProcAddress('glSecondaryColor3i');
|
|
glSecondaryColor3iv := GLGetProcAddress('glSecondaryColor3iv');
|
|
glSecondaryColor3s := GLGetProcAddress('glSecondaryColor3s');
|
|
glSecondaryColor3sv := GLGetProcAddress('glSecondaryColor3sv');
|
|
glSecondaryColor3ub := GLGetProcAddress('glSecondaryColor3ub');
|
|
glSecondaryColor3ubv := GLGetProcAddress('glSecondaryColor3ubv');
|
|
glSecondaryColor3ui := GLGetProcAddress('glSecondaryColor3ui');
|
|
glSecondaryColor3uiv := GLGetProcAddress('glSecondaryColor3uiv');
|
|
glSecondaryColor3us := GLGetProcAddress('glSecondaryColor3us');
|
|
glSecondaryColor3usv := GLGetProcAddress('glSecondaryColor3usv');
|
|
glSecondaryColorPointer := GLGetProcAddress('glSecondaryColorPointer');
|
|
|
|
// promoted to core v1.4 from GL_ARB_window_pos (#25)
|
|
glWindowPos2d := GLGetProcAddress('glWindowPos2d');
|
|
glWindowPos2dv := GLGetProcAddress('glWindowPos2dv');
|
|
glWindowPos2f := GLGetProcAddress('glWindowPos2f');
|
|
glWindowPos2fv := GLGetProcAddress('glWindowPos2fv');
|
|
glWindowPos2i := GLGetProcAddress('glWindowPos2i');
|
|
glWindowPos2iv := GLGetProcAddress('glWindowPos2iv');
|
|
glWindowPos2s := GLGetProcAddress('glWindowPos2s');
|
|
glWindowPos2sv := GLGetProcAddress('glWindowPos2sv');
|
|
glWindowPos3d := GLGetProcAddress('glWindowPos3d');
|
|
glWindowPos3dv := GLGetProcAddress('glWindowPos3dv');
|
|
glWindowPos3f := GLGetProcAddress('glWindowPos3f');
|
|
glWindowPos3fv := GLGetProcAddress('glWindowPos3fv');
|
|
glWindowPos3i := GLGetProcAddress('glWindowPos3i');
|
|
glWindowPos3iv := GLGetProcAddress('glWindowPos3iv');
|
|
glWindowPos3s := GLGetProcAddress('glWindowPos3s');
|
|
glWindowPos3sv := GLGetProcAddress('glWindowPos3sv');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 1.5'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 1.5 core
|
|
// ###########################################################
|
|
|
|
// promoted to core v1.5 from GL_ARB_occlusion_query (#29)
|
|
glGenQueries := GLGetProcAddress('glGenQueries');
|
|
glDeleteQueries := GLGetProcAddress('glDeleteQueries');
|
|
glIsQuery := GLGetProcAddress('glIsQuery');
|
|
glBeginQuery := GLGetProcAddress('glBeginQuery');
|
|
glEndQuery := GLGetProcAddress('glEndQuery');
|
|
glGetQueryiv := GLGetProcAddress('glGetQueryiv');
|
|
glGetQueryObjectiv := GLGetProcAddress('glGetQueryObjectiv');
|
|
glGetQueryObjectuiv := GLGetProcAddress('glGetQueryObjectuiv');
|
|
|
|
|
|
// promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)
|
|
glBindBuffer := GLGetProcAddress('glBindBuffer');
|
|
glDeleteBuffers := GLGetProcAddress('glDeleteBuffers');
|
|
glGenBuffers := GLGetProcAddress('glGenBuffers');
|
|
glIsBuffer := GLGetProcAddress('glIsBuffer');
|
|
glBufferData := GLGetProcAddress('glBufferData');
|
|
glBufferSubData := GLGetProcAddress('glBufferSubData');
|
|
glGetBufferSubData := GLGetProcAddress('glGetBufferSubData');
|
|
glMapBuffer := GLGetProcAddress('glMapBuffer');
|
|
glUnmapBuffer := GLGetProcAddress('glUnmapBuffer');
|
|
glGetBufferParameteriv := GLGetProcAddress('glGetBufferParameteriv');
|
|
glGetBufferPointerv := GLGetProcAddress('glGetBufferPointerv');
|
|
|
|
// promoted to core v1.5 from GL_EXT_shadow_funcs (#267)
|
|
// (no functions or procedures)
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 2.0'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 2.0 core
|
|
// ###########################################################
|
|
|
|
// promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)
|
|
glBlendEquationSeparate := GLGetProcAddress('glBlendEquationSeparate');
|
|
|
|
// promoted to core v2.0 from GL_ARB_draw_buffers (#37)
|
|
glDrawBuffers := GLGetProcAddress('glDrawBuffers');
|
|
|
|
// promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)
|
|
glStencilOpSeparate := GLGetProcAddress('glStencilOpSeparate');
|
|
glStencilFuncSeparate := GLGetProcAddress('glStencilFuncSeparate');
|
|
glStencilMaskSeparate := GLGetProcAddress('glStencilMaskSeparate');
|
|
|
|
// promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)
|
|
glAttachShader := GLGetProcAddress('glAttachShader');
|
|
glBindAttribLocation := GLGetProcAddress('glBindAttribLocation');
|
|
glCompileShader := GLGetProcAddress('glCompileShader');
|
|
glCreateProgram := GLGetProcAddress('glCreateProgram');
|
|
glCreateShader := GLGetProcAddress('glCreateShader');
|
|
glDeleteProgram := GLGetProcAddress('glDeleteProgram');
|
|
glDeleteShader := GLGetProcAddress('glDeleteShader');
|
|
glDetachShader := GLGetProcAddress('glDetachShader');
|
|
glDisableVertexAttribArray := GLGetProcAddress('glDisableVertexAttribArray');
|
|
glEnableVertexAttribArray := GLGetProcAddress('glEnableVertexAttribArray');
|
|
glGetActiveAttrib := GLGetProcAddress('glGetActiveAttrib');
|
|
glGetActiveUniform := GLGetProcAddress('glGetActiveUniform');
|
|
glGetAttachedShaders := GLGetProcAddress('glGetAttachedShaders');
|
|
glGetAttribLocation := GLGetProcAddress('glGetAttribLocation');
|
|
glGetProgramiv := GLGetProcAddress('glGetProgramiv');
|
|
glGetProgramInfoLog := GLGetProcAddress('glGetProgramInfoLog');
|
|
glGetShaderiv := GLGetProcAddress('glGetShaderiv');
|
|
glGetShaderInfoLog := GLGetProcAddress('glGetShaderInfoLog');
|
|
glGetShaderSource := GLGetProcAddress('glGetShaderSource');
|
|
glGetUniformLocation := GLGetProcAddress('glGetUniformLocation');
|
|
glGetUniformfv := GLGetProcAddress('glGetUniformfv');
|
|
glGetUniformiv := GLGetProcAddress('glGetUniformiv');
|
|
glGetVertexAttribdv := GLGetProcAddress('glGetVertexAttribdv');
|
|
glGetVertexAttribfv := GLGetProcAddress('glGetVertexAttribfv');
|
|
glGetVertexAttribiv := GLGetProcAddress('glGetVertexAttribiv');
|
|
glGetVertexAttribPointerv := GLGetProcAddress('glGetVertexAttribPointerv');
|
|
glIsProgram := GLGetProcAddress('glIsProgram');
|
|
glIsShader := GLGetProcAddress('glIsShader');
|
|
glLinkProgram := GLGetProcAddress('glLinkProgram');
|
|
glShaderSource := GLGetProcAddress('glShaderSource');
|
|
glUseProgram := GLGetProcAddress('glUseProgram');
|
|
glUniform1f := GLGetProcAddress('glUniform1f');
|
|
glUniform2f := GLGetProcAddress('glUniform2f');
|
|
glUniform3f := GLGetProcAddress('glUniform3f');
|
|
glUniform4f := GLGetProcAddress('glUniform4f');
|
|
glUniform1i := GLGetProcAddress('glUniform1i');
|
|
glUniform2i := GLGetProcAddress('glUniform2i');
|
|
glUniform3i := GLGetProcAddress('glUniform3i');
|
|
glUniform4i := GLGetProcAddress('glUniform4i');
|
|
glUniform1fv := GLGetProcAddress('glUniform1fv');
|
|
glUniform2fv := GLGetProcAddress('glUniform2fv');
|
|
glUniform3fv := GLGetProcAddress('glUniform3fv');
|
|
glUniform4fv := GLGetProcAddress('glUniform4fv');
|
|
glUniform1iv := GLGetProcAddress('glUniform1iv');
|
|
glUniform2iv := GLGetProcAddress('glUniform2iv');
|
|
glUniform3iv := GLGetProcAddress('glUniform3iv');
|
|
glUniform4iv := GLGetProcAddress('glUniform4iv');
|
|
glUniformMatrix2fv := GLGetProcAddress('glUniformMatrix2fv');
|
|
glUniformMatrix3fv := GLGetProcAddress('glUniformMatrix3fv');
|
|
glUniformMatrix4fv := GLGetProcAddress('glUniformMatrix4fv');
|
|
glValidateProgram := GLGetProcAddress('glValidateProgram');
|
|
glVertexAttrib1d := GLGetProcAddress('glVertexAttrib1d');
|
|
glVertexAttrib1dv := GLGetProcAddress('glVertexAttrib1dv');
|
|
glVertexAttrib1f := GLGetProcAddress('glVertexAttrib1f');
|
|
glVertexAttrib1fv := GLGetProcAddress('glVertexAttrib1fv');
|
|
glVertexAttrib1s := GLGetProcAddress('glVertexAttrib1s');
|
|
glVertexAttrib1sv := GLGetProcAddress('glVertexAttrib1sv');
|
|
glVertexAttrib2d := GLGetProcAddress('glVertexAttrib2d');
|
|
glVertexAttrib2dv := GLGetProcAddress('glVertexAttrib2dv');
|
|
glVertexAttrib2f := GLGetProcAddress('glVertexAttrib2f');
|
|
glVertexAttrib2fv := GLGetProcAddress('glVertexAttrib2fv');
|
|
glVertexAttrib2s := GLGetProcAddress('glVertexAttrib2s');
|
|
glVertexAttrib2sv := GLGetProcAddress('glVertexAttrib2sv');
|
|
glVertexAttrib3d := GLGetProcAddress('glVertexAttrib3d');
|
|
glVertexAttrib3dv := GLGetProcAddress('glVertexAttrib3dv');
|
|
glVertexAttrib3f := GLGetProcAddress('glVertexAttrib3f');
|
|
glVertexAttrib3fv := GLGetProcAddress('glVertexAttrib3fv');
|
|
glVertexAttrib3s := GLGetProcAddress('glVertexAttrib3s');
|
|
glVertexAttrib3sv := GLGetProcAddress('glVertexAttrib3sv');
|
|
glVertexAttrib4Nbv := GLGetProcAddress('glVertexAttrib4Nbv');
|
|
glVertexAttrib4Niv := GLGetProcAddress('glVertexAttrib4Niv');
|
|
glVertexAttrib4Nsv := GLGetProcAddress('glVertexAttrib4Nsv');
|
|
glVertexAttrib4Nub := GLGetProcAddress('glVertexAttrib4Nub');
|
|
glVertexAttrib4Nubv := GLGetProcAddress('glVertexAttrib4Nubv');
|
|
glVertexAttrib4Nuiv := GLGetProcAddress('glVertexAttrib4Nuiv');
|
|
glVertexAttrib4Nusv := GLGetProcAddress('glVertexAttrib4Nusv');
|
|
glVertexAttrib4bv := GLGetProcAddress('glVertexAttrib4bv');
|
|
glVertexAttrib4d := GLGetProcAddress('glVertexAttrib4d');
|
|
glVertexAttrib4dv := GLGetProcAddress('glVertexAttrib4dv');
|
|
glVertexAttrib4f := GLGetProcAddress('glVertexAttrib4f');
|
|
glVertexAttrib4fv := GLGetProcAddress('glVertexAttrib4fv');
|
|
glVertexAttrib4iv := GLGetProcAddress('glVertexAttrib4iv');
|
|
glVertexAttrib4s := GLGetProcAddress('glVertexAttrib4s');
|
|
glVertexAttrib4sv := GLGetProcAddress('glVertexAttrib4sv');
|
|
glVertexAttrib4ubv := GLGetProcAddress('glVertexAttrib4ubv');
|
|
glVertexAttrib4uiv := GLGetProcAddress('glVertexAttrib4uiv');
|
|
glVertexAttrib4usv := GLGetProcAddress('glVertexAttrib4usv');
|
|
glVertexAttribPointer := GLGetProcAddress('glVertexAttribPointer');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 2.1'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 2.1 core
|
|
// ###########################################################
|
|
|
|
// promoted to core v2.1 from GL_ARB_pixel_buffer_object
|
|
// (no functions or procedures)
|
|
|
|
// promoted to core v2.1 from GL_EXT_texture_sRGB
|
|
// (no functions or procedures)
|
|
|
|
// New commands in OpenGL 2.1
|
|
glUniformMatrix2x3fv := GLGetProcAddress('glUniformMatrix2x3fv');
|
|
glUniformMatrix3x2fv := GLGetProcAddress('glUniformMatrix3x2fv');
|
|
glUniformMatrix2x4fv := GLGetProcAddress('glUniformMatrix2x4fv');
|
|
glUniformMatrix4x2fv := GLGetProcAddress('glUniformMatrix4x2fv');
|
|
glUniformMatrix3x4fv := GLGetProcAddress('glUniformMatrix3x4fv');
|
|
glUniformMatrix4x3fv := GLGetProcAddress('glUniformMatrix4x3fv');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 3.0'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 3.0 core
|
|
// ###########################################################
|
|
|
|
// promoted to core v3.0 from GL_EXT_gpu_shader4
|
|
glVertexAttribI1i := GLGetProcAddress('glVertexAttribI1i');
|
|
glVertexAttribI2i := GLGetProcAddress('glVertexAttribI2i');
|
|
glVertexAttribI3i := GLGetProcAddress('glVertexAttribI3i');
|
|
glVertexAttribI4i := GLGetProcAddress('glVertexAttribI4i');
|
|
glVertexAttribI1ui := GLGetProcAddress('glVertexAttribI1ui');
|
|
glVertexAttribI2ui := GLGetProcAddress('glVertexAttribI2ui');
|
|
glVertexAttribI3ui := GLGetProcAddress('glVertexAttribI3ui');
|
|
glVertexAttribI4ui := GLGetProcAddress('glVertexAttribI4ui');
|
|
glVertexAttribI1iv := GLGetProcAddress('glVertexAttribI1iv');
|
|
glVertexAttribI2iv := GLGetProcAddress('glVertexAttribI2iv');
|
|
glVertexAttribI3iv := GLGetProcAddress('glVertexAttribI3iv');
|
|
glVertexAttribI4iv := GLGetProcAddress('glVertexAttribI4iv');
|
|
glVertexAttribI1uiv := GLGetProcAddress('glVertexAttribI1uiv');
|
|
glVertexAttribI2uiv := GLGetProcAddress('glVertexAttribI2uiv');
|
|
glVertexAttribI3uiv := GLGetProcAddress('glVertexAttribI3uiv');
|
|
glVertexAttribI4uiv := GLGetProcAddress('glVertexAttribI4uiv');
|
|
glVertexAttribI4bv := GLGetProcAddress('glVertexAttribI4bv');
|
|
glVertexAttribI4sv := GLGetProcAddress('glVertexAttribI4sv');
|
|
glVertexAttribI4ubv := GLGetProcAddress('glVertexAttribI4ubv');
|
|
glVertexAttribI4usv := GLGetProcAddress('glVertexAttribI4usv');
|
|
glVertexAttribIPointer := GLGetProcAddress('glVertexAttribIPointer');
|
|
glGetVertexAttribIiv := GLGetProcAddress('glGetVertexAttribIiv');
|
|
glGetVertexAttribIuiv := GLGetProcAddress('glGetVertexAttribIuiv');
|
|
glUniform1ui := GLGetProcAddress('glUniform1ui');
|
|
glUniform2ui := GLGetProcAddress('glUniform2ui');
|
|
glUniform3ui := GLGetProcAddress('glUniform3ui');
|
|
glUniform4ui := GLGetProcAddress('glUniform4ui');
|
|
glUniform1uiv := GLGetProcAddress('glUniform1uiv');
|
|
glUniform2uiv := GLGetProcAddress('glUniform2uiv');
|
|
glUniform3uiv := GLGetProcAddress('glUniform3uiv');
|
|
glUniform4uiv := GLGetProcAddress('glUniform4uiv');
|
|
glGetUniformuiv := GLGetProcAddress('glGetUniformuiv');
|
|
glBindFragDataLocation := GLGetProcAddress('glBindFragDataLocation');
|
|
glGetFragDataLocation := GLGetProcAddress('glGetFragDataLocation');
|
|
|
|
// promoted to core v3.0 from GL_NV_conditional_render
|
|
glBeginConditionalRender := GLGetProcAddress('glBeginConditionalRender');
|
|
glEndConditionalRender := GLGetProcAddress('glEndConditionalRender');
|
|
// promoted to core v3.0 from GL_ARB_color_buffer_float
|
|
glClampColor := GLGetProcAddress('glClampColor');
|
|
// promoted to core v3.0 from GL_EXT_texture_integer
|
|
//glClearColorIi := GLGetProcAddress('glClearColorIi');
|
|
//glClearColorIui := GLGetProcAddress('glClearColorIui');
|
|
glTexParameterIiv := GLGetProcAddress('glTexParameterIiv');
|
|
glTexParameterIuiv := GLGetProcAddress('glTexParameterIuiv');
|
|
glGetTexParameterIiv := GLGetProcAddress('glGetTexParameterIiv');
|
|
glGetTexParameterIuiv := GLGetProcAddress('glGetTexParameterIuiv');
|
|
|
|
// promoted to core v3.0 from GL_EXT_draw_buffers2
|
|
glColorMaski := GLGetProcAddress('glColorMaski');
|
|
glGetBooleani_v := GLGetProcAddress('glGetBooleani_v');
|
|
glGetIntegeri_v := GLGetProcAddress('glGetIntegeri_v');
|
|
glEnablei := GLGetProcAddress('glEnablei');
|
|
glDisablei := GLGetProcAddress('glDisablei');
|
|
glIsEnabledi := GLGetProcAddress('glIsEnabledi');
|
|
|
|
// GL_EXT_transform_feedback (#352)
|
|
glBindBufferRange := GLGetProcAddress('glBindBufferRange');
|
|
glBindBufferBase := GLGetProcAddress('glBindBufferBase');
|
|
glBeginTransformFeedback := GLGetProcAddress('glBeginTransformFeedback');
|
|
glEndTransformFeedback := GLGetProcAddress('glEndTransformFeedback');
|
|
glTransformFeedbackVaryings := GLGetProcAddress('glTransformFeedbackVaryings');
|
|
glGetTransformFeedbackVarying := GLGetProcAddress('glGetTransformFeedbackVarying');
|
|
|
|
// New commands in OpenGL 3.0
|
|
glClearBufferiv := GLGetProcAddress('glClearBufferiv');
|
|
glClearBufferuiv := GLGetProcAddress('glClearBufferuiv');
|
|
glClearBufferfv := GLGetProcAddress('glClearBufferfv');
|
|
glClearBufferfi := GLGetProcAddress('glClearBufferfi');
|
|
glGetStringi := GLGetProcAddress('glGetStringi');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 3.1'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 3.1 core
|
|
// ###########################################################
|
|
|
|
glDrawArraysInstanced := GLGetProcAddress('glDrawArraysInstanced');
|
|
glDrawElementsInstanced := GLGetProcAddress('glDrawElementsInstanced');
|
|
glTexBuffer := GLGetProcAddress('glTexBuffer');
|
|
glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 3.2'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 3.2 core
|
|
// ###########################################################
|
|
|
|
glGetInteger64i_v := GLGetProcAddress('glGetInteger64i_v');
|
|
glGetBufferParameteri64v := GLGetProcAddress('glGetBufferParameteri64v');
|
|
glProgramParameteri := GLGetProcAddress('glProgramParameteri');
|
|
glFramebufferTexture := GLGetProcAddress('glFramebufferTexture');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 3.3'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 3.3 core
|
|
// ###########################################################
|
|
|
|
glVertexAttribDivisor := GLGetProcAddress('glVertexAttribDivisor');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures added with OpenGL 3.3'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// extensions integrated into OpenGL 3.3 core
|
|
// ###########################################################
|
|
|
|
glBlendEquationi := GLGetProcAddress('glBlendEquationi');
|
|
glBlendEquationSeparatei := GLGetProcAddress('glBlendEquationSeparatei');
|
|
glBlendFunci := GLGetProcAddress('glBlendFunci');
|
|
glBlendFuncSeparatei := GLGetProcAddress('glBlendFuncSeparatei');
|
|
glMinSampleShading := GLGetProcAddress('glMinSampleShading');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures for OpenGL Utility (GLU) extensions'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// GLU extensions
|
|
// ###########################################################
|
|
|
|
gluNurbsCallbackDataEXT := GLGetProcAddress('gluNurbsCallbackDataEXT');
|
|
gluNewNurbsTessellatorEXT := GLGetProcAddress('gluNewNurbsTessellatorEXT');
|
|
gluDeleteNurbsTessellatorEXT := GLGetProcAddress('gluDeleteNurbsTessellatorEXT');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures for ARB approved extensions'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// ARB approved extensions
|
|
// ###########################################################
|
|
|
|
// GL_ARB_multitexture (#1)
|
|
glActiveTextureARB := GLGetProcAddress('glActiveTextureARB');
|
|
glClientActiveTextureARB := GLGetProcAddress('glClientActiveTextureARB');
|
|
glMultiTexCoord1dARB := GLGetProcAddress('glMultiTexCoord1dARB');
|
|
glMultiTexCoord1dVARB := GLGetProcAddress('glMultiTexCoord1dVARB');
|
|
glMultiTexCoord1fARB := GLGetProcAddress('glMultiTexCoord1fARB');
|
|
glMultiTexCoord1fVARB := GLGetProcAddress('glMultiTexCoord1fVARB');
|
|
glMultiTexCoord1iARB := GLGetProcAddress('glMultiTexCoord1iARB');
|
|
glMultiTexCoord1iVARB := GLGetProcAddress('glMultiTexCoord1iVARB');
|
|
glMultiTexCoord1sARB := GLGetProcAddress('glMultiTexCoord1sARB');
|
|
glMultiTexCoord1sVARB := GLGetProcAddress('glMultiTexCoord1sVARB');
|
|
glMultiTexCoord2dARB := GLGetProcAddress('glMultiTexCoord2dARB');
|
|
glMultiTexCoord2dvARB := GLGetProcAddress('glMultiTexCoord2dvARB');
|
|
glMultiTexCoord2fARB := GLGetProcAddress('glMultiTexCoord2fARB');
|
|
glMultiTexCoord2fvARB := GLGetProcAddress('glMultiTexCoord2fvARB');
|
|
glMultiTexCoord2iARB := GLGetProcAddress('glMultiTexCoord2iARB');
|
|
glMultiTexCoord2ivARB := GLGetProcAddress('glMultiTexCoord2ivARB');
|
|
glMultiTexCoord2sARB := GLGetProcAddress('glMultiTexCoord2sARB');
|
|
glMultiTexCoord2svARB := GLGetProcAddress('glMultiTexCoord2svARB');
|
|
glMultiTexCoord3dARB := GLGetProcAddress('glMultiTexCoord3dARB');
|
|
glMultiTexCoord3dvARB := GLGetProcAddress('glMultiTexCoord3dvARB');
|
|
glMultiTexCoord3fARB := GLGetProcAddress('glMultiTexCoord3fARB');
|
|
glMultiTexCoord3fvARB := GLGetProcAddress('glMultiTexCoord3fvARB');
|
|
glMultiTexCoord3iARB := GLGetProcAddress('glMultiTexCoord3iARB');
|
|
glMultiTexCoord3ivARB := GLGetProcAddress('glMultiTexCoord3ivARB');
|
|
glMultiTexCoord3sARB := GLGetProcAddress('glMultiTexCoord3sARB');
|
|
glMultiTexCoord3svARB := GLGetProcAddress('glMultiTexCoord3svARB');
|
|
glMultiTexCoord4dARB := GLGetProcAddress('glMultiTexCoord4dARB');
|
|
glMultiTexCoord4dvARB := GLGetProcAddress('glMultiTexCoord4dvARB');
|
|
glMultiTexCoord4fARB := GLGetProcAddress('glMultiTexCoord4fARB');
|
|
glMultiTexCoord4fvARB := GLGetProcAddress('glMultiTexCoord4fvARB');
|
|
glMultiTexCoord4iARB := GLGetProcAddress('glMultiTexCoord4iARB');
|
|
glMultiTexCoord4ivARB := GLGetProcAddress('glMultiTexCoord4ivARB');
|
|
glMultiTexCoord4sARB := GLGetProcAddress('glMultiTexCoord4sARB');
|
|
glMultiTexCoord4svARB := GLGetProcAddress('glMultiTexCoord4svARB');
|
|
|
|
// GL_ARB_transpose_matrix (#3)
|
|
glLoadTransposeMatrixfARB := GLGetProcAddress('glLoadTransposeMatrixfARB');
|
|
glLoadTransposeMatrixdARB := GLGetProcAddress('glLoadTransposeMatrixdARB');
|
|
glMultTransposeMatrixfARB := GLGetProcAddress('glMultTransposeMatrixfARB');
|
|
glMultTransposeMatrixdARB := GLGetProcAddress('glMultTransposeMatrixdARB');
|
|
|
|
// GL_ARB_multisample (#5)
|
|
glSampleCoverageARB := GLGetProcAddress('glSampleCoverageARB');
|
|
|
|
// GL_ARB_texture_compression (#12)
|
|
glCompressedTexImage3DARB := GLGetProcAddress('glCompressedTexImage3DARB');
|
|
glCompressedTexImage2DARB := GLGetProcAddress('glCompressedTexImage2DARB');
|
|
glCompressedTexImage1DARB := GLGetProcAddress('glCompressedTexImage1DARB');
|
|
glCompressedTexSubImage3DARB := GLGetProcAddress('glCompressedTexSubImage3DARB');
|
|
glCompressedTexSubImage2DARB := GLGetProcAddress('glCompressedTexSubImage2DARB');
|
|
glCompressedTexSubImage1DARB := GLGetProcAddress('glCompressedTexSubImage1DARB');
|
|
glGetCompressedTexImageARB := GLGetProcAddress('glGetCompressedTexImageARB');
|
|
|
|
// GL_ARB_point_parameter (#14)
|
|
glPointParameterfARB := GLGetProcAddress('glPointParameterfARB');
|
|
glPointParameterfvARB := GLGetProcAddress('glPointParameterfvARB');
|
|
|
|
// GL_ARB_vertex_blend (#15) {deprecated?}
|
|
glWeightbvARB := GLGetProcAddress('glWeightbvARB');
|
|
glWeightsvARB := GLGetProcAddress('glWeightsvARB');
|
|
glWeightivARB := GLGetProcAddress('glWeightivARB');
|
|
glWeightfvARB := GLGetProcAddress('glWeightfvARB');
|
|
glWeightdvARB := GLGetProcAddress('glWeightdvARB');
|
|
glWeightubvARB := GLGetProcAddress('glWeightubvARB');
|
|
glWeightusvARB := GLGetProcAddress('glWeightusvARB');
|
|
glWeightuivARB := GLGetProcAddress('glWeightuivARB');
|
|
glWeightPointerARB := GLGetProcAddress('glWeightPointerARB');
|
|
glVertexBlendARB := GLGetProcAddress('glVertexBlendARB');
|
|
|
|
// GL_ARB_matrix_palette (#16) {deprecated?}
|
|
glCurrentPaletteMatrixARB := GLGetProcAddress('glCurrentPaletteMatrixARB');
|
|
glMatrixIndexubvARB := GLGetProcAddress('glMatrixIndexubvARB');
|
|
glMatrixIndexusvARB := GLGetProcAddress('glMatrixIndexusvARB');
|
|
glMatrixIndexuivARB := GLGetProcAddress('glMatrixIndexuivARB');
|
|
glMatrixIndexPointerARB := GLGetProcAddress('glMatrixIndexPointerARB');
|
|
|
|
// GL_ARB_window_pos (#25)
|
|
glWindowPos2dARB := GLGetProcAddress('glWindowPos2dARB');
|
|
glWindowPos2dvARB := GLGetProcAddress('glWindowPos2dvARB');
|
|
glWindowPos2fARB := GLGetProcAddress('glWindowPos2fARB');
|
|
glWindowPos2fvARB := GLGetProcAddress('glWindowPos2fvARB');
|
|
glWindowPos2iARB := GLGetProcAddress('glWindowPos2iARB');
|
|
glWindowPos2ivARB := GLGetProcAddress('glWindowPos2ivARB');
|
|
glWindowPos2sARB := GLGetProcAddress('glWindowPos2sARB');
|
|
glWindowPos2svARB := GLGetProcAddress('glWindowPos2svARB');
|
|
glWindowPos3dARB := GLGetProcAddress('glWindowPos3dARB');
|
|
glWindowPos3dvARB := GLGetProcAddress('glWindowPos3dvARB');
|
|
glWindowPos3fARB := GLGetProcAddress('glWindowPos3fARB');
|
|
glWindowPos3fvARB := GLGetProcAddress('glWindowPos3fvARB');
|
|
glWindowPos3iARB := GLGetProcAddress('glWindowPos3iARB');
|
|
glWindowPos3ivARB := GLGetProcAddress('glWindowPos3ivARB');
|
|
glWindowPos3sARB := GLGetProcAddress('glWindowPos3sARB');
|
|
glWindowPos3svARB := GLGetProcAddress('glWindowPos3svARB');
|
|
|
|
// GL_ARB_vertex_program (#26)
|
|
glVertexAttrib1dARB := GLGetProcAddress('glVertexAttrib1dARB');
|
|
glVertexAttrib1dvARB := GLGetProcAddress('glVertexAttrib1dvARB');
|
|
glVertexAttrib1fARB := GLGetProcAddress('glVertexAttrib1fARB');
|
|
glVertexAttrib1fvARB := GLGetProcAddress('glVertexAttrib1fvARB');
|
|
glVertexAttrib1sARB := GLGetProcAddress('glVertexAttrib1sARB');
|
|
glVertexAttrib1svARB := GLGetProcAddress('glVertexAttrib1svARB');
|
|
glVertexAttrib2dARB := GLGetProcAddress('glVertexAttrib2dARB');
|
|
glVertexAttrib2dvARB := GLGetProcAddress('glVertexAttrib2dvARB');
|
|
glVertexAttrib2fARB := GLGetProcAddress('glVertexAttrib2fARB');
|
|
glVertexAttrib2fvARB := GLGetProcAddress('glVertexAttrib2fvARB');
|
|
glVertexAttrib2sARB := GLGetProcAddress('glVertexAttrib2sARB');
|
|
glVertexAttrib2svARB := GLGetProcAddress('glVertexAttrib2svARB');
|
|
glVertexAttrib3dARB := GLGetProcAddress('glVertexAttrib3dARB');
|
|
glVertexAttrib3dvARB := GLGetProcAddress('glVertexAttrib3dvARB');
|
|
glVertexAttrib3fARB := GLGetProcAddress('glVertexAttrib3fARB');
|
|
glVertexAttrib3fvARB := GLGetProcAddress('glVertexAttrib3fvARB');
|
|
glVertexAttrib3sARB := GLGetProcAddress('glVertexAttrib3sARB');
|
|
glVertexAttrib3svARB := GLGetProcAddress('glVertexAttrib3svARB');
|
|
glVertexAttrib4NbvARB := GLGetProcAddress('glVertexAttrib4NbvARB');
|
|
glVertexAttrib4NivARB := GLGetProcAddress('glVertexAttrib4NivARB');
|
|
glVertexAttrib4NsvARB := GLGetProcAddress('glVertexAttrib4NsvARB');
|
|
glVertexAttrib4NubARB := GLGetProcAddress('glVertexAttrib4NubARB');
|
|
glVertexAttrib4NubvARB := GLGetProcAddress('glVertexAttrib4NubvARB');
|
|
glVertexAttrib4NuivARB := GLGetProcAddress('glVertexAttrib4NuivARB');
|
|
glVertexAttrib4NusvARB := GLGetProcAddress('glVertexAttrib4NusvARB');
|
|
glVertexAttrib4bvARB := GLGetProcAddress('glVertexAttrib4bvARB');
|
|
glVertexAttrib4dARB := GLGetProcAddress('glVertexAttrib4dARB');
|
|
glVertexAttrib4dvARB := GLGetProcAddress('glVertexAttrib4dvARB');
|
|
glVertexAttrib4fARB := GLGetProcAddress('glVertexAttrib4fARB');
|
|
glVertexAttrib4fvARB := GLGetProcAddress('glVertexAttrib4fvARB');
|
|
glVertexAttrib4ivARB := GLGetProcAddress('glVertexAttrib4ivARB');
|
|
glVertexAttrib4sARB := GLGetProcAddress('glVertexAttrib4sARB');
|
|
glVertexAttrib4svARB := GLGetProcAddress('glVertexAttrib4svARB');
|
|
glVertexAttrib4ubvARB := GLGetProcAddress('glVertexAttrib4ubvARB');
|
|
glVertexAttrib4uivARB := GLGetProcAddress('glVertexAttrib4uivARB');
|
|
glVertexAttrib4usvARB := GLGetProcAddress('glVertexAttrib4usvARB');
|
|
glVertexAttribPointerARB := GLGetProcAddress('glVertexAttribPointerARB');
|
|
glEnableVertexAttribArrayARB := GLGetProcAddress('glEnableVertexAttribArrayARB');
|
|
glDisableVertexAttribArrayARB := GLGetProcAddress('glDisableVertexAttribArrayARB');
|
|
glProgramStringARB := GLGetProcAddress('glProgramStringARB');
|
|
glBindProgramARB := GLGetProcAddress('glBindProgramARB');
|
|
glDeleteProgramsARB := GLGetProcAddress('glDeleteProgramsARB');
|
|
glGenProgramsARB := GLGetProcAddress('glGenProgramsARB');
|
|
glProgramEnvParameter4dARB := GLGetProcAddress('glProgramEnvParameter4dARB');
|
|
glProgramEnvParameter4dvARB := GLGetProcAddress('glProgramEnvParameter4dvARB');
|
|
glProgramEnvParameter4fARB := GLGetProcAddress('glProgramEnvParameter4fARB');
|
|
glProgramEnvParameter4fvARB := GLGetProcAddress('glProgramEnvParameter4fvARB');
|
|
glProgramLocalParameter4dARB := GLGetProcAddress('glProgramLocalParameter4dARB');
|
|
glProgramLocalParameter4dvARB := GLGetProcAddress('glProgramLocalParameter4dvARB');
|
|
glProgramLocalParameter4fARB := GLGetProcAddress('glProgramLocalParameter4fARB');
|
|
glProgramLocalParameter4fvARB := GLGetProcAddress('glProgramLocalParameter4fvARB');
|
|
glGetProgramEnvParameterdvARB := GLGetProcAddress('glGetProgramEnvParameterdvARB');
|
|
glGetProgramEnvParameterfvARB := GLGetProcAddress('glGetProgramEnvParameterfvARB');
|
|
glGetProgramLocalParameterdvARB := GLGetProcAddress('glGetProgramLocalParameterdvARB');
|
|
glGetProgramLocalParameterfvARB := GLGetProcAddress('glGetProgramLocalParameterfvARB');
|
|
glGetProgramivARB := GLGetProcAddress('glGetProgramivARB');
|
|
glGetProgramStringARB := GLGetProcAddress('glGetProgramStringARB');
|
|
glGetVertexAttribdvARB := GLGetProcAddress('glGetVertexAttribdvARB');
|
|
glGetVertexAttribfvARB := GLGetProcAddress('glGetVertexAttribfvARB');
|
|
glGetVertexAttribivARB := GLGetProcAddress('glGetVertexAttribivARB');
|
|
glGetVertexAttribPointervARB := GLGetProcAddress('glGetVertexAttribPointervARB');
|
|
glIsProgramARB := GLGetProcAddress('glIsProgramARB');
|
|
|
|
// GL_ARB_vertex_buffer_object (#28)
|
|
glBindBufferARB := GLGetProcAddress('glBindBufferARB');
|
|
glDeleteBuffersARB := GLGetProcAddress('glDeleteBuffersARB');
|
|
glGenBuffersARB := GLGetProcAddress('glGenBuffersARB');
|
|
glIsBufferARB := GLGetProcAddress('glIsBufferARB');
|
|
glBufferDataARB := GLGetProcAddress('glBufferDataARB');
|
|
glBufferSubDataARB := GLGetProcAddress('glBufferSubDataARB');
|
|
glGetBufferSubDataARB := GLGetProcAddress('glGetBufferSubDataARB');
|
|
glMapBufferARB := GLGetProcAddress('glMapBufferARB');
|
|
glUnmapBufferARB := GLGetProcAddress('glUnmapBufferARB');
|
|
glGetBufferParameterivARB := GLGetProcAddress('glGetBufferParameterivARB');
|
|
glGetBufferPointervARB := GLGetProcAddress('glGetBufferPointervARB');
|
|
|
|
// GL_ARB_occlusion_query (#29)
|
|
glGenQueriesARB := GLGetProcAddress('glGenQueriesARB');
|
|
glDeleteQueriesARB := GLGetProcAddress('glDeleteQueriesARB');
|
|
glIsQueryARB := GLGetProcAddress('glIsQueryARB');
|
|
glBeginQueryARB := GLGetProcAddress('glBeginQueryARB');
|
|
glEndQueryARB := GLGetProcAddress('glEndQueryARB');
|
|
glGetQueryivARB := GLGetProcAddress('glGetQueryivARB');
|
|
glGetQueryObjectivARB := GLGetProcAddress('glGetQueryObjectivARB');
|
|
glGetQueryObjectuivARB := GLGetProcAddress('glGetQueryObjectuivARB');
|
|
|
|
// GL_ARB_shader_objects (#30)
|
|
glDeleteObjectARB := GLGetProcAddress('glDeleteObjectARB');
|
|
glGetHandleARB := GLGetProcAddress('glGetHandleARB');
|
|
glDetachObjectARB := GLGetProcAddress('glDetachObjectARB');
|
|
glCreateShaderObjectARB := GLGetProcAddress('glCreateShaderObjectARB');
|
|
glShaderSourceARB := GLGetProcAddress('glShaderSourceARB');
|
|
glCompileShaderARB := GLGetProcAddress('glCompileShaderARB');
|
|
glCreateProgramObjectARB := GLGetProcAddress('glCreateProgramObjectARB');
|
|
glAttachObjectARB := GLGetProcAddress('glAttachObjectARB');
|
|
glLinkProgramARB := GLGetProcAddress('glLinkProgramARB');
|
|
glUseProgramObjectARB := GLGetProcAddress('glUseProgramObjectARB');
|
|
glValidateProgramARB := GLGetProcAddress('glValidateProgramARB');
|
|
glUniform1fARB := GLGetProcAddress('glUniform1fARB');
|
|
glUniform2fARB := GLGetProcAddress('glUniform2fARB');
|
|
glUniform3fARB := GLGetProcAddress('glUniform3fARB');
|
|
glUniform4fARB := GLGetProcAddress('glUniform4fARB');
|
|
glUniform1iARB := GLGetProcAddress('glUniform1iARB');
|
|
glUniform2iARB := GLGetProcAddress('glUniform2iARB');
|
|
glUniform3iARB := GLGetProcAddress('glUniform3iARB');
|
|
glUniform4iARB := GLGetProcAddress('glUniform4iARB');
|
|
glUniform1fvARB := GLGetProcAddress('glUniform1fvARB');
|
|
glUniform2fvARB := GLGetProcAddress('glUniform2fvARB');
|
|
glUniform3fvARB := GLGetProcAddress('glUniform3fvARB');
|
|
glUniform4fvARB := GLGetProcAddress('glUniform4fvARB');
|
|
glUniform1ivARB := GLGetProcAddress('glUniform1ivARB');
|
|
glUniform2ivARB := GLGetProcAddress('glUniform2ivARB');
|
|
glUniform3ivARB := GLGetProcAddress('glUniform3ivARB');
|
|
glUniform4ivARB := GLGetProcAddress('glUniform4ivARB');
|
|
glUniformMatrix2fvARB := GLGetProcAddress('glUniformMatrix2fvARB');
|
|
glUniformMatrix3fvARB := GLGetProcAddress('glUniformMatrix3fvARB');
|
|
glUniformMatrix4fvARB := GLGetProcAddress('glUniformMatrix4fvARB');
|
|
glGetObjectParameterfvARB := GLGetProcAddress('glGetObjectParameterfvARB');
|
|
glGetObjectParameterivARB := GLGetProcAddress('glGetObjectParameterivARB');
|
|
glGetInfoLogARB := GLGetProcAddress('glGetInfoLogARB');
|
|
glGetAttachedObjectsARB := GLGetProcAddress('glGetAttachedObjectsARB');
|
|
glGetUniformLocationARB := GLGetProcAddress('glGetUniformLocationARB');
|
|
glGetActiveUniformARB := GLGetProcAddress('glGetActiveUniformARB');
|
|
glGetUniformfvARB := GLGetProcAddress('glGetUniformfvARB');
|
|
glGetUniformivARB := GLGetProcAddress('glGetUniformivARB');
|
|
glGetShaderSourceARB := GLGetProcAddress('glGetShaderSourceARB');
|
|
|
|
// GL_ARB_vertex_shader (#31)
|
|
glBindAttribLocationARB := GLGetProcAddress('glBindAttribLocationARB');
|
|
glGetActiveAttribARB := GLGetProcAddress('glGetActiveAttribARB');
|
|
glGetAttribLocationARB := GLGetProcAddress('glGetAttribLocationARB');
|
|
|
|
// GL_ARB_draw_buffers (#37)
|
|
glDrawBuffersARB := GLGetProcAddress('glDrawBuffersARB');
|
|
|
|
// GL_ARB_color_buffer_float (#39)
|
|
glClampColorARB := GLGetProcAddress('glClampColorARB');
|
|
|
|
// GL_ARB_draw_instanced (ARB #44)
|
|
glDrawArraysInstancedARB := GLGetProcAddress('glDrawArraysInstancedARB');
|
|
glDrawElementsInstancedARB := GLGetProcAddress('glDrawElementsInstancedARB');
|
|
|
|
// GL_ARB_framebuffer_object (ARB #45)
|
|
glIsRenderbuffer := GLGetProcAddress('glIsRenderbuffer');
|
|
glBindRenderbuffer := GLGetProcAddress('glBindRenderbuffer');
|
|
glDeleteRenderbuffers := GLGetProcAddress('glDeleteRenderbuffers');
|
|
glGenRenderbuffers := GLGetProcAddress('glGenRenderbuffers');
|
|
glRenderbufferStorage := GLGetProcAddress('glRenderbufferStorage');
|
|
glRenderbufferStorageMultisample := GLGetProcAddress('glRenderbufferStorageMultisample');
|
|
glGetRenderbufferParameteriv := GLGetProcAddress('glGetRenderbufferParameteriv');
|
|
glIsFramebuffer := GLGetProcAddress('glIsFramebuffer');
|
|
glBindFramebuffer := GLGetProcAddress('glBindFramebuffer');
|
|
glDeleteFramebuffers := GLGetProcAddress('glDeleteFramebuffers');
|
|
glGenFramebuffers := GLGetProcAddress('glGenFramebuffers');
|
|
glCheckFramebufferStatus := GLGetProcAddress('glCheckFramebufferStatus');
|
|
glFramebufferTexture1D := GLGetProcAddress('glFramebufferTexture1D');
|
|
glFramebufferTexture2D := GLGetProcAddress('glFramebufferTexture2D');
|
|
glFramebufferTexture3D := GLGetProcAddress('glFramebufferTexture3D');
|
|
glFramebufferTextureLayer := GLGetProcAddress('glFramebufferTextureLayer');
|
|
glFramebufferRenderbuffer := GLGetProcAddress('glFramebufferRenderbuffer');
|
|
glGetFramebufferAttachmentParameteriv := GLGetProcAddress('glGetFramebufferAttachmentParameteriv');
|
|
glBlitFramebuffer := GLGetProcAddress('glBlitFramebuffer');
|
|
glGenerateMipmap := GLGetProcAddress('glGenerateMipmap');
|
|
|
|
// GL_ARB_geometry_shader4 (ARB #47)
|
|
glProgramParameteriARB := GLGetProcAddress('glProgramParameteriARB');
|
|
glFramebufferTextureARB := GLGetProcAddress('glFramebufferTextureARB');
|
|
glFramebufferTextureLayerARB := GLGetProcAddress('glFramebufferTextureLayerARB');
|
|
glFramebufferTextureFaceARB := GLGetProcAddress('glFramebufferTextureFaceARB');
|
|
|
|
// GL_ARB_instanced_arrays (ARB #49)
|
|
glVertexAttribDivisorARB := GLGetProcAddress('glVertexAttribDivisorARB');
|
|
|
|
// GL_ARB_map_buffer_range (ARB #50)
|
|
glMapBufferRange := GLGetProcAddress('glMapBufferRange');
|
|
glFlushMappedBufferRange := GLGetProcAddress('glFlushMappedBufferRange');
|
|
|
|
// GL_ARB_texture_buffer_object (ARB #51)
|
|
glTexBufferARB := GLGetProcAddress('glTexBufferARB');
|
|
|
|
// GL_ARB_vertex_array_object (ARB #54)
|
|
glBindVertexArray := GLGetProcAddress('glBindVertexArray');
|
|
glDeleteVertexArrays := GLGetProcAddress('glDeleteVertexArrays');
|
|
glGenVertexArrays := GLGetProcAddress('glGenVertexArrays');
|
|
glIsVertexArray := GLGetProcAddress('glIsVertexArray');
|
|
|
|
// GL_ARB_uniform_buffer_object (ARB #57)
|
|
glGetUniformIndices := GLGetProcAddress('glGetUniformIndices');
|
|
glGetActiveUniformsiv := GLGetProcAddress('glGetActiveUniformsiv');
|
|
glGetActiveUniformName := GLGetProcAddress('glGetActiveUniformName');
|
|
glGetUniformBlockIndex := GLGetProcAddress('glGetUniformBlockIndex');
|
|
glGetActiveUniformBlockiv := GLGetProcAddress('glGetActiveUniformBlockiv');
|
|
glGetActiveUniformBlockName := GLGetProcAddress('glGetActiveUniformBlockName');
|
|
glUniformBlockBinding := GLGetProcAddress('glUniformBlockBinding');
|
|
|
|
// GL_ARB_copy_buffer (ARB #59)
|
|
glCopyBufferSubData := GLGetProcAddress('glCopyBufferSubData');
|
|
|
|
// GL_ARB_draw_elements_base_vertex (ARB #62)
|
|
glDrawElementsBaseVertex := GLGetProcAddress('glDrawElementsBaseVertex');
|
|
glDrawRangeElementsBaseVertex := GLGetProcAddress('glDrawRangeElementsBaseVertex');
|
|
glDrawElementsInstancedBaseVertex := GLGetProcAddress('glDrawElementsInstancedBaseVertex');
|
|
glMultiDrawElementsBaseVertex := GLGetProcAddress('glMultiDrawElementsBaseVertex');
|
|
|
|
// GL_ARB_provoking_vertex (ARB #64)
|
|
glProvokingVertex := GLGetProcAddress('glProvokingVertex');
|
|
|
|
// GL_ARB_sync commands (ARB #66)
|
|
glFenceSync := GLGetProcAddress('glFenceSync');
|
|
glIsSync := GLGetProcAddress('glIsSync');
|
|
glDeleteSync := GLGetProcAddress('glDeleteSync');
|
|
glClientWaitSync := GLGetProcAddress('glClientWaitSync');
|
|
glWaitSync := GLGetProcAddress('glWaitSync');
|
|
glGetInteger64v := GLGetProcAddress('glGetInteger64v');
|
|
glGetSynciv := GLGetProcAddress('glGetSynciv');
|
|
|
|
// GL_ARB_texture_multisample (ARB #67)
|
|
glTexImage2DMultisample := GLGetProcAddress('glTexImage2DMultisample');
|
|
glTexImage3DMultisample := GLGetProcAddress('glTexImage3DMultisample');
|
|
glGetMultisamplefv := GLGetProcAddress('glGetMultisamplefv');
|
|
glSampleMaski := GLGetProcAddress('glSampleMaski');
|
|
|
|
// GL_ARB_draw_buffers_blend (ARB #69)
|
|
glBlendEquationiARB := GLGetProcAddress('glBlendEquationiARB');
|
|
glBlendEquationSeparateiARB := GLGetProcAddress('glBlendEquationSeparateiARB');
|
|
glBlendFunciARB := GLGetProcAddress('glBlendFunciARB');
|
|
glBlendFuncSeparateiARB := GLGetProcAddress('glBlendFuncSeparateiARB');
|
|
|
|
// GL_ARB_sample_shading (ARB #70)
|
|
glMinSampleShadingARB := GLGetProcAddress('glMinSampleShadingARB');
|
|
|
|
// GL_ARB_blend_func_extended (ARB #78)
|
|
glBindFragDataLocationIndexed := GLGetProcAddress('glBindFragDataLocationIndexed');
|
|
glGetFragDataIndex := GLGetProcAddress('glGetFragDataIndex');
|
|
|
|
// GL_ARB_sampler_objects (ARB #81)
|
|
glGenSamplers := GLGetProcAddress('glGenSamplers');
|
|
glDeleteSamplers := GLGetProcAddress('glDeleteSamplers');
|
|
glIsSampler := GLGetProcAddress('glIsSampler');
|
|
glBindSampler := GLGetProcAddress('glBindSampler');
|
|
glSamplerParameteri := GLGetProcAddress('glSamplerParameteri');
|
|
glSamplerParameteriv := GLGetProcAddress('glSamplerParameteriv');
|
|
glSamplerParameterf := GLGetProcAddress('glSamplerParameterf');
|
|
glSamplerParameterfv := GLGetProcAddress('glSamplerParameterfv');
|
|
glSamplerParameterIiv := GLGetProcAddress('glSamplerParameterIiv');
|
|
glSamplerParameterIuiv := GLGetProcAddress('glSamplerParameterIuiv');
|
|
glGetSamplerParameteriv := GLGetProcAddress('glGetSamplerParameteriv');
|
|
glGetSamplerParameterIiv := GLGetProcAddress('glGetSamplerParameterIiv');
|
|
glGetSamplerParameterfv := GLGetProcAddress('glGetSamplerParameterfv');
|
|
glGetSamplerParameterIfv := GLGetProcAddress('glGetSamplerParameterIfv');
|
|
|
|
// GL_ARB_timer_query (ARB #85)
|
|
glQueryCounter := GLGetProcAddress('glQueryCounter');
|
|
glGetQueryObjecti64v := GLGetProcAddress('glGetQueryObjecti64v');
|
|
glGetQueryObjectui64v := GLGetProcAddress('glGetQueryObjectui64v');
|
|
|
|
// GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
|
|
glVertexP2ui := GLGetProcAddress('glVertexP2ui');
|
|
glVertexP2uiv := GLGetProcAddress('glVertexP2uiv');
|
|
glVertexP3ui := GLGetProcAddress('glVertexP3ui');
|
|
glVertexP3uiv := GLGetProcAddress('glVertexP3uiv');
|
|
glVertexP4ui := GLGetProcAddress('glVertexP4ui');
|
|
glVertexP4uiv := GLGetProcAddress('glVertexP4uiv');
|
|
glTexCoordP1ui := GLGetProcAddress('glTexCoordP1ui');
|
|
glTexCoordP1uiv := GLGetProcAddress('glTexCoordP1uiv');
|
|
glTexCoordP2ui := GLGetProcAddress('glTexCoordP2ui');
|
|
glTexCoordP2uiv := GLGetProcAddress('glTexCoordP2uiv');
|
|
glTexCoordP3ui := GLGetProcAddress('glTexCoordP3ui');
|
|
glTexCoordP3uiv := GLGetProcAddress('glTexCoordP3uiv');
|
|
glTexCoordP4ui := GLGetProcAddress('glTexCoordP4ui');
|
|
glTexCoordP4uiv := GLGetProcAddress('glTexCoordP4uiv');
|
|
glMultiTexCoordP1ui := GLGetProcAddress('glMultiTexCoordP1ui');
|
|
glMultiTexCoordP1uiv := GLGetProcAddress('glMultiTexCoordP1uiv');
|
|
glMultiTexCoordP2ui := GLGetProcAddress('glMultiTexCoordP2ui');
|
|
glMultiTexCoordP2uiv := GLGetProcAddress('glMultiTexCoordP2uiv');
|
|
glMultiTexCoordP3ui := GLGetProcAddress('glMultiTexCoordP3ui');
|
|
glMultiTexCoordP3uiv := GLGetProcAddress('glMultiTexCoordP3uiv');
|
|
glMultiTexCoordP4ui := GLGetProcAddress('glMultiTexCoordP4ui');
|
|
glMultiTexCoordP4uiv := GLGetProcAddress('glMultiTexCoordP4uiv');
|
|
glNormalP3ui := GLGetProcAddress('glNormalP3ui');
|
|
glNormalP3uiv := GLGetProcAddress('glNormalP3uiv');
|
|
glColorP3ui := GLGetProcAddress('glColorP3ui');
|
|
glColorP3uiv := GLGetProcAddress('glColorP3uiv');
|
|
glColorP4ui := GLGetProcAddress('glColorP4ui');
|
|
glColorP4uiv := GLGetProcAddress('glColorP4uiv');
|
|
glSecondaryColorP3ui := GLGetProcAddress('glSecondaryColorP3ui');
|
|
glSecondaryColorP3uiv := GLGetProcAddress('glSecondaryColorP3uiv');
|
|
glVertexAttribP1ui := GLGetProcAddress('glVertexAttribP1ui');
|
|
glVertexAttribP1uiv := GLGetProcAddress('glVertexAttribP1uiv');
|
|
glVertexAttribP2ui := GLGetProcAddress('glVertexAttribP2ui');
|
|
glVertexAttribP2uiv := GLGetProcAddress('glVertexAttribP2uiv');
|
|
glVertexAttribP3ui := GLGetProcAddress('glVertexAttribP3ui');
|
|
glVertexAttribP3uiv := GLGetProcAddress('glVertexAttribP3uiv');
|
|
glVertexAttribP4ui := GLGetProcAddress('glVertexAttribP4ui');
|
|
glVertexAttribP4uiv := GLGetProcAddress('glVertexAttribP4uiv');
|
|
|
|
// GL_ARB_draw_indirect (ARB #87)
|
|
glDrawArraysIndirect := GLGetProcAddress('glDrawArraysIndirect');
|
|
glDrawElementsIndirect := GLGetProcAddress('glDrawElementsIndirect');
|
|
|
|
// GL_ARB_gpu_shader_fp64 (ARB #89)
|
|
glUniform1d := GLGetProcAddress('glUniform1d');
|
|
glUniform2d := GLGetProcAddress('glUniform2d');
|
|
glUniform3d := GLGetProcAddress('glUniform3d');
|
|
glUniform4d := GLGetProcAddress('glUniform4d');
|
|
glUniform1dv := GLGetProcAddress('glUniform1dv');
|
|
glUniform2dv := GLGetProcAddress('glUniform2dv');
|
|
glUniform3dv := GLGetProcAddress('glUniform3dv');
|
|
glUniform4dv := GLGetProcAddress('glUniform4dv');
|
|
glUniformMatrix2dv := GLGetProcAddress('glUniformMatrix2dv');
|
|
glUniformMatrix3dv := GLGetProcAddress('glUniformMatrix3dv');
|
|
glUniformMatrix4dv := GLGetProcAddress('glUniformMatrix4dv');
|
|
glUniformMatrix2x3dv := GLGetProcAddress('glUniformMatrix2x3dv');
|
|
glUniformMatrix2x4dv := GLGetProcAddress('glUniformMatrix2x4dv');
|
|
glUniformMatrix3x2dv := GLGetProcAddress('glUniformMatrix3x2dv');
|
|
glUniformMatrix3x4dv := GLGetProcAddress('glUniformMatrix3x4dv');
|
|
glUniformMatrix4x2dv := GLGetProcAddress('glUniformMatrix4x2dv');
|
|
glUniformMatrix4x3dv := GLGetProcAddress('glUniformMatrix4x3dv');
|
|
glGetUniformdv := GLGetProcAddress('glGetUniformdv');
|
|
glProgramUniform1dEXT := GLGetProcAddress('glProgramUniform1dEXT');
|
|
glProgramUniform2dEXT := GLGetProcAddress('glProgramUniform2dEXT');
|
|
glProgramUniform3dEXT := GLGetProcAddress('glProgramUniform3dEXT');
|
|
glProgramUniform4dEXT := GLGetProcAddress('glProgramUniform4dEXT');
|
|
glProgramUniform1dvEXT := GLGetProcAddress('glProgramUniform1dvEXT');
|
|
glProgramUniform2dvEXT := GLGetProcAddress('glProgramUniform2dvEXT');
|
|
glProgramUniform3dvEXT := GLGetProcAddress('glProgramUniform3dvEXT');
|
|
glProgramUniform4dvEXT := GLGetProcAddress('glProgramUniform4dvEXT');
|
|
glProgramUniformMatrix2dvEXT := GLGetProcAddress('glProgramUniformMatrix2dvEXT');
|
|
glProgramUniformMatrix3dvEXT := GLGetProcAddress('glProgramUniformMatrix3dvEXT');
|
|
glProgramUniformMatrix4dvEXT := GLGetProcAddress('glProgramUniformMatrix4dvEXT');
|
|
glProgramUniformMatrix2x3dvEXT := GLGetProcAddress('glProgramUniformMatrix2x3dvEXT');
|
|
glProgramUniformMatrix2x4dvEXT := GLGetProcAddress('glProgramUniformMatrix2x4dvEXT');
|
|
glProgramUniformMatrix3x2dvEXT := GLGetProcAddress('glProgramUniformMatrix3x2dvEXT');
|
|
glProgramUniformMatrix3x4dvEXT := GLGetProcAddress('glProgramUniformMatrix3x4dvEXT');
|
|
glProgramUniformMatrix4x2dvEXT := GLGetProcAddress('glProgramUniformMatrix4x2dvEXT');
|
|
glProgramUniformMatrix4x3dvEXT := GLGetProcAddress('glProgramUniformMatrix4x3dvEXT');
|
|
|
|
// GL_ARB_shader_subroutine (ARB #90)
|
|
glGetSubroutineUniformLocation := GLGetProcAddress('glGetSubroutineUniformLocation');
|
|
glGetSubroutineIndex := GLGetProcAddress('glGetSubroutineIndex');
|
|
glGetActiveSubroutineUniformiv := GLGetProcAddress('glGetActiveSubroutineUniformiv');
|
|
glGetActiveSubroutineUniformName := GLGetProcAddress('glGetActiveSubroutineUniformName');
|
|
glGetActiveSubroutineName := GLGetProcAddress('glGetActiveSubroutineName');
|
|
glUniformSubroutinesuiv := GLGetProcAddress('glUniformSubroutinesuiv');
|
|
glGetUniformSubroutineuiv := GLGetProcAddress('glGetUniformSubroutineuiv');
|
|
glGetProgramStageiv := GLGetProcAddress('glGetProgramStageiv');
|
|
|
|
// GL_ARB_tessellation_shader (ARB #91)
|
|
glPatchParameteri := GLGetProcAddress('glPatchParameteri');
|
|
glPatchParameterfv := GLGetProcAddress('glPatchParameterfv');
|
|
|
|
// GL_ARB_transform_feedback2 (ARB #93)
|
|
glBindTransformFeedback := GLGetProcAddress('glBindTransformFeedback');
|
|
glDeleteTransformFeedbacks := GLGetProcAddress('glDeleteTransformFeedbacks');
|
|
glGenTransformFeedbacks := GLGetProcAddress('glGenTransformFeedbacks');
|
|
glIsTransformFeedback := GLGetProcAddress('glIsTransformFeedback');
|
|
glPauseTransformFeedback := GLGetProcAddress('glPauseTransformFeedback');
|
|
glResumeTransformFeedback := GLGetProcAddress('glResumeTransformFeedback');
|
|
glDrawTransformFeedback := GLGetProcAddress('glDrawTransformFeedback');
|
|
|
|
// GL_ARB_transform_feedback3 (ARB # 94)
|
|
glDrawTransformFeedbackStream := GLGetProcAddress('glDrawTransformFeedbackStream');
|
|
glBeginQueryIndexed := GLGetProcAddress('glBeginQueryIndexed');
|
|
glEndQueryIndexed := GLGetProcAddress('glEndQueryIndexed');
|
|
glGetQueryIndexediv := GLGetProcAddress('glGetQueryIndexediv');
|
|
|
|
// GL_ARB_ES2_compatibility (ARB #95)
|
|
glReleaseShaderCompiler := GLGetProcAddress('glReleaseShaderCompiler');
|
|
glShaderBinary := GLGetProcAddress('glShaderBinary');
|
|
glGetShaderPrecisionFormat := GLGetProcAddress('glGetShaderPrecisionFormat');
|
|
glDepthRangef := GLGetProcAddress('glDepthRangef');
|
|
glClearDepthf := GLGetProcAddress('glClearDepthf');
|
|
|
|
// GL_ARB_get_program_binary (ARB #96)
|
|
glGetProgramBinary := GLGetProcAddress('glGetProgramBinary');
|
|
glProgramBinary := GLGetProcAddress('glProgramBinary');
|
|
glProgramParameteri := GLGetProcAddress('glProgramParameteri');
|
|
|
|
// GL_ARB_separate_shader_objects (ARB #97)
|
|
glUseProgramStages := GLGetProcAddress('glUseProgramStages');
|
|
glActiveShaderProgram := GLGetProcAddress('glActiveShaderProgram');
|
|
glCreateShaderProgramv := GLGetProcAddress('glCreateShaderProgramv');
|
|
glBindProgramPipeline := GLGetProcAddress('glBindProgramPipeline');
|
|
glDeleteProgramPipelines := GLGetProcAddress('glDeleteProgramPipelines');
|
|
glGenProgramPipelines := GLGetProcAddress('glGenProgramPipelines');
|
|
glIsProgramPipeline := GLGetProcAddress('glIsProgramPipeline');
|
|
glGetProgramPipelineiv := GLGetProcAddress('glGetProgramPipelineiv');
|
|
glProgramUniform1i := GLGetProcAddress('glProgramUniform1i');
|
|
glProgramUniform1iv := GLGetProcAddress('glProgramUniform1iv');
|
|
glProgramUniform1f := GLGetProcAddress('glProgramUniform1f');
|
|
glProgramUniform1fv := GLGetProcAddress('glProgramUniform1fv');
|
|
glProgramUniform1d := GLGetProcAddress('glProgramUniform1d');
|
|
glProgramUniform1dv := GLGetProcAddress('glProgramUniform1dv');
|
|
glProgramUniform1ui := GLGetProcAddress('glProgramUniform1ui');
|
|
glProgramUniform1uiv := GLGetProcAddress('glProgramUniform1uiv');
|
|
glProgramUniform2i := GLGetProcAddress('glProgramUniform2i');
|
|
glProgramUniform2iv := GLGetProcAddress('glProgramUniform2iv');
|
|
glProgramUniform2f := GLGetProcAddress('glProgramUniform2f');
|
|
glProgramUniform2fv := GLGetProcAddress('glProgramUniform2fv');
|
|
glProgramUniform2d := GLGetProcAddress('glProgramUniform2d');
|
|
glProgramUniform2dv := GLGetProcAddress('glProgramUniform2dv');
|
|
glProgramUniform2ui := GLGetProcAddress('glProgramUniform2ui');
|
|
glProgramUniform2uiv := GLGetProcAddress('glProgramUniform2uiv');
|
|
glProgramUniform3i := GLGetProcAddress('glProgramUniform3i');
|
|
glProgramUniform3iv := GLGetProcAddress('glProgramUniform3iv');
|
|
glProgramUniform3f := GLGetProcAddress('glProgramUniform3f');
|
|
glProgramUniform3fv := GLGetProcAddress('glProgramUniform3fv');
|
|
glProgramUniform3d := GLGetProcAddress('glProgramUniform3d');
|
|
glProgramUniform3dv := GLGetProcAddress('glProgramUniform3dv');
|
|
glProgramUniform3ui := GLGetProcAddress('glProgramUniform3ui');
|
|
glProgramUniform3uiv := GLGetProcAddress('glProgramUniform3uiv');
|
|
glProgramUniform4i := GLGetProcAddress('glProgramUniform4i');
|
|
glProgramUniform4iv := GLGetProcAddress('glProgramUniform4iv');
|
|
glProgramUniform4f := GLGetProcAddress('glProgramUniform4f');
|
|
glProgramUniform4fv := GLGetProcAddress('glProgramUniform4fv');
|
|
glProgramUniform4d := GLGetProcAddress('glProgramUniform4d');
|
|
glProgramUniform4dv := GLGetProcAddress('glProgramUniform4dv');
|
|
glProgramUniform4ui := GLGetProcAddress('glProgramUniform4ui');
|
|
glProgramUniform4uiv := GLGetProcAddress('glProgramUniform4uiv');
|
|
glProgramUniformMatrix2fv := GLGetProcAddress('glProgramUniformMatrix2fv');
|
|
glProgramUniformMatrix3fv := GLGetProcAddress('glProgramUniformMatrix3fv');
|
|
glProgramUniformMatrix4fv := GLGetProcAddress('glProgramUniformMatrix4fv');
|
|
glProgramUniformMatrix2dv := GLGetProcAddress('glProgramUniformMatrix2dv');
|
|
glProgramUniformMatrix3dv := GLGetProcAddress('glProgramUniformMatrix3dv');
|
|
glProgramUniformMatrix4dv := GLGetProcAddress('glProgramUniformMatrix4dv');
|
|
glProgramUniformMatrix2x3fv := GLGetProcAddress('glProgramUniformMatrix2x3fv');
|
|
glProgramUniformMatrix3x2fv := GLGetProcAddress('glProgramUniformMatrix3x2fv');
|
|
glProgramUniformMatrix2x4fv := GLGetProcAddress('glProgramUniformMatrix2x4fv');
|
|
glProgramUniformMatrix4x2fv := GLGetProcAddress('glProgramUniformMatrix4x2fv');
|
|
glProgramUniformMatrix3x4fv := GLGetProcAddress('glProgramUniformMatrix3x4fv');
|
|
glProgramUniformMatrix4x3fv := GLGetProcAddress('glProgramUniformMatrix4x3fv');
|
|
glProgramUniformMatrix2x3dv := GLGetProcAddress('glProgramUniformMatrix2x3dv');
|
|
glProgramUniformMatrix3x2dv := GLGetProcAddress('glProgramUniformMatrix3x2dv');
|
|
glProgramUniformMatrix2x4dv := GLGetProcAddress('glProgramUniformMatrix2x4dv');
|
|
glProgramUniformMatrix4x2dv := GLGetProcAddress('glProgramUniformMatrix4x2dv');
|
|
glProgramUniformMatrix3x4dv := GLGetProcAddress('glProgramUniformMatrix3x4dv');
|
|
glProgramUniformMatrix4x3dv := GLGetProcAddress('glProgramUniformMatrix4x3dv');
|
|
glValidateProgramPipeline := GLGetProcAddress('glValidateProgramPipeline');
|
|
glGetProgramPipelineInfoLog := GLGetProcAddress('glGetProgramPipelineInfoLog');
|
|
|
|
// GL_ARB_shader_precision (ARB #98)
|
|
// (no entry points)
|
|
|
|
// GL_ARB_vertex_attrib_64bit (ARB #99)
|
|
glVertexAttribL1d := GLGetProcAddress('glVertexAttribL1d');
|
|
glVertexAttribL2d := GLGetProcAddress('glVertexAttribL2d');
|
|
glVertexAttribL3d := GLGetProcAddress('glVertexAttribL3d');
|
|
glVertexAttribL4d := GLGetProcAddress('glVertexAttribL4d');
|
|
glVertexAttribL1dv := GLGetProcAddress('glVertexAttribL1dv');
|
|
glVertexAttribL2dv := GLGetProcAddress('glVertexAttribL2dv');
|
|
glVertexAttribL3dv := GLGetProcAddress('glVertexAttribL3dv');
|
|
glVertexAttribL4dv := GLGetProcAddress('glVertexAttribL4dv');
|
|
glVertexAttribLPointer := GLGetProcAddress('glVertexAttribLPointer');
|
|
glGetVertexAttribLdv := GLGetProcAddress('glGetVertexAttribLdv');
|
|
// glVertexArrayVertexAttribLOffsetEXT is only valid if EXT_direct_state_access is available
|
|
glVertexArrayVertexAttribLOffsetEXT := GLGetProcAddress('glVertexArrayVertexAttribLOffsetEXT');
|
|
|
|
// GL_ARB_viewport_array (ARB #100)
|
|
glViewportArrayv := GLGetProcAddress('glViewportArrayv');
|
|
glViewportIndexedf := GLGetProcAddress('glViewportIndexedf');
|
|
glViewportIndexedfv := GLGetProcAddress('glViewportIndexedfv');
|
|
glScissorArrayv := GLGetProcAddress('glScissorArrayv');
|
|
glScissorIndexed := GLGetProcAddress('glScissorIndexed');
|
|
glScissorIndexedv := GLGetProcAddress('glScissorIndexedv');
|
|
glDepthRangeArrayv := GLGetProcAddress('glDepthRangeArrayv');
|
|
glDepthRangeIndexed := GLGetProcAddress('glDepthRangeIndexed');
|
|
glGetFloati_v := GLGetProcAddress('glGetFloati_v');
|
|
glGetDoublei_v := GLGetProcAddress('glGetDoublei_v');
|
|
|
|
// GL_ARB_debug_output (ARB #104)
|
|
glDebugMessageControlARB := GLGetProcAddress('glDebugMessageControlARB');
|
|
glDebugMessageInsertARB := GLGetProcAddress('glDebugMessageInsertARB');
|
|
glDebugMessageCallbackARB := GLGetProcAddress('glDebugMessageCallbackARB');
|
|
glGetDebugMessageLogARB := GLGetProcAddress('glGetDebugMessageLogARB');
|
|
|
|
// GL_ARB_robustness (ARB #105)
|
|
glGetGraphicsResetStatusARB := GLGetProcAddress('glGetGraphicsResetStatusARB');
|
|
glGetnMapdvARB := GLGetProcAddress('glGetnMapdvARB');
|
|
glGetnMapfvARB := GLGetProcAddress('glGetnMapfvARB');
|
|
glGetnMapivARB := GLGetProcAddress('glGetnMapivARB');
|
|
glGetnPixelMapfvARB := GLGetProcAddress('glGetnPixelMapfvARB');
|
|
glGetnPixelMapuivARB := GLGetProcAddress('glGetnPixelMapuivARB');
|
|
glGetnPixelMapusvARB := GLGetProcAddress('glGetnPixelMapusvARB');
|
|
glGetnPolygonStippleARB := GLGetProcAddress('glGetnPolygonStippleARB');
|
|
glGetnColorTableARB := GLGetProcAddress('glGetnColorTableARB');
|
|
glGetnConvolutionFilterARB := GLGetProcAddress('glGetnConvolutionFilterARB');
|
|
glGetnSeparableFilterARB := GLGetProcAddress('glGetnSeparableFilterARB');
|
|
glGetnHistogramARB := GLGetProcAddress('glGetnHistogramARB');
|
|
glGetnMinmaxARB := GLGetProcAddress('glGetnMinmaxARB');
|
|
glGetnTexImageARB := GLGetProcAddress('glGetnTexImageARB');
|
|
glReadnPixelsARB := GLGetProcAddress('glReadnPixelsARB');
|
|
glGetnCompressedTexImageARB := GLGetProcAddress('glGetnCompressedTexImageARB');
|
|
glGetnUniformfvARB := GLGetProcAddress('glGetnUniformfvARB');
|
|
glGetnUniformivARB := GLGetProcAddress('glGetnUniformivARB');
|
|
glGetnUniformuivARB := GLGetProcAddress('glGetnUniformuivARB');
|
|
glGetnUniformdvARB := GLGetProcAddress('glGetnUniformdvARB');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures for Vendor/EXT extensions'} {$ENDIF}
|
|
|
|
// ###########################################################
|
|
// locate functions and procedures for
|
|
// Vendor/EXT extensions
|
|
// ###########################################################
|
|
|
|
// functions/procedures belonging to unknown extensions
|
|
glSamplePassARB := GLGetProcAddress('glSamplePassARB');
|
|
glArrayElementArrayEXT := GLGetProcAddress('glArrayElementArrayEXT');
|
|
|
|
// WIN_swap_hint (extension # not found)
|
|
glAddSwapHintRectWIN := GLGetProcAddress('glAddSwapHintRectWIN');
|
|
|
|
// GL_EXT_blend_color (#2)
|
|
glBlendColorEXT := GLGetProcAddress('glBlendColorEXT');
|
|
|
|
// GL_EXT_polygon_offset (#3)
|
|
glPolygonOffsetEXT := GLGetProcAddress('glPolygonOffsetEXT');
|
|
|
|
// GL_EXT_texture3D (#6)
|
|
glTexImage3DEXT := GLGetProcAddress('glTexImage3DEXT');
|
|
|
|
// GL_EXT_subtexture (#9)
|
|
glTexSubImage1dEXT := GLGetProcAddress('glTexSubImage1DEXT');
|
|
glTexSubImage2dEXT := GLGetProcAddress('glTexSubImage2DEXT');
|
|
glTexSubImage3dEXT := GLGetProcAddress('glTexSubImage3DEXT');
|
|
|
|
// GL_EXT_copy_texture (#10)
|
|
glCopyTexImage1DEXT := GLGetProcAddress('glCopyTexImage1DEXT');
|
|
glCopyTexImage2DEXT := GLGetProcAddress('glCopyTexImage2DEXT');
|
|
glCopyTexSubImage1DEXT := GLGetProcAddress('glCopyTexSubImage1DEXT');
|
|
glCopyTexSubImage2DEXT := GLGetProcAddress('glCopyTexSubImage2DEXT');
|
|
glCopyTexSubImage3DEXT := GLGetProcAddress('glCopyTexSubImage3DEXT');
|
|
|
|
// GL_EXT_texture_object (#20)
|
|
glGenTexturesEXT := GLGetProcAddress('glGenTexturesEXT');
|
|
glDeleteTexturesEXT := GLGetProcAddress('glDeleteTexturesEXT');
|
|
glBindTextureEXT := GLGetProcAddress('glBindTextureEXT');
|
|
glPrioritizeTexturesEXT := GLGetProcAddress('glPrioritizeTexturesEXT');
|
|
glAreTexturesResidentEXT := GLGetProcAddress('glAreTexturesResidentEXT');
|
|
glIsTextureEXT := GLGetProcAddress('glIsTextureEXT');
|
|
|
|
// GL_SGIS_multisample (#25)
|
|
glSampleMaskSGIS := GLGetProcAddress('glSampleMaskSGIS');
|
|
glSamplePatternSGIS := GLGetProcAddress('glSamplePatternSGIS');
|
|
|
|
// GL_EXT_blend_minmax (#37)
|
|
glBlendEquationEXT := GLGetProcAddress('glBlendEquationEXT');
|
|
|
|
// GL_EXT_paletted_texture (#78)
|
|
glColorTableEXT := GLGetProcAddress('glColorTableEXT');
|
|
glColorSubTableEXT := GLGetProcAddress('glColorSubTableEXT');
|
|
glGetColorTableEXT := GLGetProcAddress('glGetColorTableEXT');
|
|
glGetColorTableParameterivEXT := GLGetProcAddress('glGetColorTableParameterivEXT');
|
|
glGetColorTableParameterfvEXT := GLGetProcAddress('glGetColorTableParameterfvEXT');
|
|
|
|
// GL_EXT_index_material (#94)
|
|
glIndexMaterialEXT := GLGetProcAddress('glIndexMaterialEXT');
|
|
|
|
// GL_EXT_index_func (#95)
|
|
glIndexFuncEXT := GLGetProcAddress('glIndexFuncEXT');
|
|
|
|
// EXT_compiled_vertex_array (#97)
|
|
glLockArraysEXT := GLGetProcAddress('glLockArraysEXT');
|
|
glUnlockArraysEXT := GLGetProcAddress('glUnlockArraysEXT');
|
|
|
|
// GL_EXT_draw_range_elements (#112)
|
|
glDrawRangeElementsEXT := GLGetProcAddress('glDrawRangeElementsEXT');
|
|
|
|
// GL_EXT_secondary_color (#145)
|
|
glSecondaryColor3bEXT := GLGetProcAddress('glSecondaryColor3bEXT');
|
|
glSecondaryColor3bvEXT := GLGetProcAddress('glSecondaryColor3bvEXT');
|
|
glSecondaryColor3dEXT := GLGetProcAddress('glSecondaryColor3dEXT');
|
|
glSecondaryColor3dvEXT := GLGetProcAddress('glSecondaryColor3dvEXT');
|
|
glSecondaryColor3fEXT := GLGetProcAddress('glSecondaryColor3fEXT');
|
|
glSecondaryColor3fvEXT := GLGetProcAddress('glSecondaryColor3fvEXT');
|
|
glSecondaryColor3iEXT := GLGetProcAddress('glSecondaryColor3iEXT');
|
|
glSecondaryColor3ivEXT := GLGetProcAddress('glSecondaryColor3ivEXT');
|
|
glSecondaryColor3sEXT := GLGetProcAddress('glSecondaryColor3sEXT');
|
|
glSecondaryColor3svEXT := GLGetProcAddress('glSecondaryColor3svEXT');
|
|
glSecondaryColor3ubEXT := GLGetProcAddress('glSecondaryColor3ubEXT');
|
|
glSecondaryColor3ubvEXT := GLGetProcAddress('glSecondaryColor3ubvEXT');
|
|
glSecondaryColor3uiEXT := GLGetProcAddress('glSecondaryColor3uiEXT');
|
|
glSecondaryColor3uivEXT := GLGetProcAddress('glSecondaryColor3uivEXT');
|
|
glSecondaryColor3usEXT := GLGetProcAddress('glSecondaryColor3usEXT');
|
|
glSecondaryColor3usvEXT := GLGetProcAddress('glSecondaryColor3usvEXT');
|
|
glSecondaryColorPointerEXT := GLGetProcAddress('glSecondaryColorPointerEXT');
|
|
|
|
// GL_EXT_multi_draw_arrays (#148)
|
|
glMultiDrawArraysEXT := GLGetProcAddress('glMultiDrawArraysEXT');
|
|
glMultiDrawElementsEXT := GLGetProcAddress('glMultiDrawElementsEXT');
|
|
|
|
// GL_EXT_fog_coord (#149)
|
|
glFogCoordfEXT := GLGetProcAddress('glFogCoordfEXT');
|
|
glFogCoordfvEXT := GLGetProcAddress('glFogCoordfvEXT');
|
|
glFogCoorddEXT := GLGetProcAddress('glFogCoorddEXT');
|
|
glFogCoorddvEXT := GLGetProcAddress('glFogCoorddvEXT');
|
|
glFogCoordPointerEXT := GLGetProcAddress('glFogCoordPointerEXT');
|
|
|
|
// GL_EXT_blend_func_separate (#173)
|
|
glBlendFuncSeparateEXT := GLGetProcAddress('glBlendFuncSeparateEXT');
|
|
|
|
// GL_NV_vertex_array_range (#190)
|
|
glFlushVertexArrayRangeNV := GLGetProcAddress('glFlushVertexArrayRangeNV');
|
|
glVertexArrayRangeNV := GLGetProcAddress('glVertexArrayRangeNV');
|
|
wglAllocateMemoryNV := GLGetProcAddress('wglAllocateMemoryNV');
|
|
wglFreeMemoryNV := GLGetProcAddress('wglFreeMemoryNV');
|
|
|
|
// GL_NV_register_combiners (#191)
|
|
glCombinerParameterfvNV := GLGetProcAddress('glCombinerParameterfvNV');
|
|
glCombinerParameterfNV := GLGetProcAddress('glCombinerParameterfNV');
|
|
glCombinerParameterivNV := GLGetProcAddress('glCombinerParameterivNV');
|
|
glCombinerParameteriNV := GLGetProcAddress('glCombinerParameteriNV');
|
|
glCombinerInputNV := GLGetProcAddress('glCombinerInputNV');
|
|
glCombinerOutputNV := GLGetProcAddress('glCombinerOutputNV');
|
|
glFinalCombinerInputNV := GLGetProcAddress('glFinalCombinerInputNV');
|
|
glGetCombinerInputParameterfvNV := GLGetProcAddress('glGetCombinerInputParameterfvNV');
|
|
glGetCombinerInputParameterivNV := GLGetProcAddress('glGetCombinerInputParameterivNV');
|
|
glGetCombinerOutputParameterfvNV := GLGetProcAddress('glGetCombinerOutputParameterfvNV');
|
|
glGetCombinerOutputParameterivNV := GLGetProcAddress('glGetCombinerOutputParameterivNV');
|
|
glGetFinalCombinerInputParameterfvNV := GLGetProcAddress('glGetFinalCombinerInputParameterfvNV');
|
|
glGetFinalCombinerInputParameterivNV := GLGetProcAddress('glGetFinalCombinerInputParameterivNV');
|
|
|
|
// GL_MESA_resize_buffers (#196)
|
|
glResizeBuffersMESA := GLGetProcAddress('glResizeBuffersMESA');
|
|
|
|
// GL_3DFX_tbuffer (#208)
|
|
glTbufferMask3DFX := GLGetProcAddress('glTbufferMask3DFX');
|
|
|
|
// GL_EXT_multisample (#209)
|
|
glSampleMaskEXT := GLGetProcAddress('glSampleMaskEXT');
|
|
glSamplePatternEXT := GLGetProcAddress('glSamplePatternEXT');
|
|
|
|
// GL_SGIS_texture_color_mask (#214)
|
|
glTextureColorMaskSGIS := GLGetProcAddress('glTextureColorMaskSGIS');
|
|
|
|
// GL_NV_fence (#222)
|
|
glGenFencesNV := GLGetProcAddress('glGenFencesNV');
|
|
glDeleteFencesNV := GLGetProcAddress('glDeleteFencesNV');
|
|
glSetFenceNV := GLGetProcAddress('glSetFenceNV');
|
|
glTestFenceNV := GLGetProcAddress('glTestFenceNV');
|
|
glFinishFenceNV := GLGetProcAddress('glFinishFenceNV');
|
|
glIsFenceNV := GLGetProcAddress('glIsFenceNV');
|
|
glGetFenceivNV := GLGetProcAddress('glGetFenceivNV');
|
|
|
|
// GL_NV_vertex_program (#233)
|
|
glAreProgramsResidentNV := GLGetProcAddress('glAreProgramsResidentNV');
|
|
glBindProgramNV := GLGetProcAddress('glBindProgramNV');
|
|
glDeleteProgramsNV := GLGetProcAddress('glDeleteProgramsNV');
|
|
glExecuteProgramNV := GLGetProcAddress('glExecuteProgramNV');
|
|
glGenProgramsNV := GLGetProcAddress('glGenProgramsNV');
|
|
glGetProgramParameterdvNV := GLGetProcAddress('glGetProgramParameterdvNV');
|
|
glGetProgramParameterfvNV := GLGetProcAddress('glGetProgramParameterfvNV');
|
|
glGetProgramivNV := GLGetProcAddress('glGetProgramivNV');
|
|
glGetProgramStringNV := GLGetProcAddress('glGetProgramStringNV');
|
|
glGetTrackMatrixivNV := GLGetProcAddress('glGetTrackMatrixivNV');
|
|
glGetVertexAttribdvNV:= GLGetProcAddress('glGetVertexAttribdvNV');
|
|
glGetVertexAttribfvNV:= GLGetProcAddress('glGetVertexAttribfvNV');
|
|
glGetVertexAttribivNV:= GLGetProcAddress('glGetVertexAttribivNV');
|
|
glGetVertexAttribPointervNV := GLGetProcAddress ('glGetVertexAttribPointervNV');
|
|
glIsProgramNV := GLGetProcAddress('glIsProgramNV');
|
|
glLoadProgramNV := GLGetProcAddress('glLoadProgramNV');
|
|
glProgramParameter4dNV := GLGetProcAddress('glProgramParameter4dNV');
|
|
glProgramParameter4dvNV := GLGetProcAddress('glProgramParameter4dvNV');
|
|
glProgramParameter4fNV := GLGetProcAddress('glProgramParameter4fNV');
|
|
glProgramParameter4fvNV := GLGetProcAddress('glProgramParameter4fvNV');
|
|
glProgramParameters4dvNV := GLGetProcAddress ('glProgramParameters4dvNV');
|
|
glProgramParameters4fvNV := GLGetProcAddress ('glProgramParameters4fvNV');
|
|
glRequestResidentProgramsNV := GLGetProcAddress ('glRequestResidentProgramsNV');
|
|
glTrackMatrixNV := GLGetProcAddress('glTrackMatrixNV');
|
|
glVertexAttribPointerNV := GLGetProcAddress('glVertexAttribPointerNV');
|
|
glVertexAttrib1dNV := GLGetProcAddress('glVertexAttrib1dNV');
|
|
glVertexAttrib1dvNV := GLGetProcAddress('glVertexAttrib1dvNV');
|
|
glVertexAttrib1fNV := GLGetProcAddress('glVertexAttrib1fNV');
|
|
glVertexAttrib1fvNV := GLGetProcAddress('glVertexAttrib1fvNV');
|
|
glVertexAttrib1sNV := GLGetProcAddress('glVertexAttrib1sNV');
|
|
glVertexAttrib1svNV := GLGetProcAddress('glVertexAttrib1svNV');
|
|
glVertexAttrib2dNV := GLGetProcAddress('glVertexAttrib2dNV');
|
|
glVertexAttrib2dvNV := GLGetProcAddress('glVertexAttrib2dvNV');
|
|
glVertexAttrib2fNV := GLGetProcAddress('glVertexAttrib2fNV');
|
|
glVertexAttrib2fvNV := GLGetProcAddress('glVertexAttrib2fvNV');
|
|
glVertexAttrib2sNV := GLGetProcAddress('glVertexAttrib2sNV');
|
|
glVertexAttrib2svNV := GLGetProcAddress('glVertexAttrib2svNV');
|
|
glVertexAttrib3dNV := GLGetProcAddress('glVertexAttrib3dNV');
|
|
glVertexAttrib3dvNV := GLGetProcAddress('glVertexAttrib3dvNV');
|
|
glVertexAttrib3fNV := GLGetProcAddress('glVertexAttrib3fNV');
|
|
glVertexAttrib3fvNV := GLGetProcAddress('glVertexAttrib3fvNV');
|
|
glVertexAttrib3sNV := GLGetProcAddress('glVertexAttrib3sNV');
|
|
glVertexAttrib3svNV := GLGetProcAddress('glVertexAttrib3svNV');
|
|
glVertexAttrib4dNV := GLGetProcAddress('glVertexAttrib4dNV');
|
|
glVertexAttrib4dvNV := GLGetProcAddress('glVertexAttrib4dvNV');
|
|
glVertexAttrib4fNV := GLGetProcAddress('glVertexAttrib4fNV');
|
|
glVertexAttrib4fvNV := GLGetProcAddress('glVertexAttrib4fvNV');
|
|
glVertexAttrib4sNV := GLGetProcAddress('glVertexAttrib4sNV');
|
|
glVertexAttrib4svNV := GLGetProcAddress('glVertexAttrib4svNV');
|
|
glVertexAttrib4ubvNV := GLGetProcAddress('glVertexAttrib4ubvNV');
|
|
glVertexAttribs1dvNV := GLGetProcAddress('glVertexAttribs1dvNV');
|
|
glVertexAttribs1fvNV := GLGetProcAddress('glVertexAttribs1fvNV');
|
|
glVertexAttribs1svNV := GLGetProcAddress('glVertexAttribs1svNV');
|
|
glVertexAttribs2dvNV := GLGetProcAddress('glVertexAttribs2dvNV');
|
|
glVertexAttribs2fvNV := GLGetProcAddress('glVertexAttribs2fvNV');
|
|
glVertexAttribs2svNV := GLGetProcAddress('glVertexAttribs2svNV');
|
|
glVertexAttribs3dvNV := GLGetProcAddress('glVertexAttribs3dvNV');
|
|
glVertexAttribs3fvNV := GLGetProcAddress('glVertexAttribs3fvNV');
|
|
glVertexAttribs3svNV := GLGetProcAddress('glVertexAttribs3svNV');
|
|
glVertexAttribs4dvNV := GLGetProcAddress('glVertexAttribs4dvNV');
|
|
glVertexAttribs4fvNV := GLGetProcAddress('glVertexAttribs4fvNV');
|
|
glVertexAttribs4svNV := GLGetProcAddress('glVertexAttribs4svNV');
|
|
glVertexAttribs4ubvNV := GLGetProcAddress('glVertexAttribs4ubvN');
|
|
|
|
// GL_NV_occlusion_query (#261)
|
|
glGenOcclusionQueriesNV := GLGetProcAddress('glGenOcclusionQueriesNV');
|
|
glDeleteOcclusionQueriesNV := GLGetProcAddress('glDeleteOcclusionQueriesNV');
|
|
glIsOcclusionQueryNV := GLGetProcAddress('glIsOcclusionQueryNV');
|
|
glBeginOcclusionQueryNV := GLGetProcAddress('glBeginOcclusionQueryNV');
|
|
glEndOcclusionQueryNV := GLGetProcAddress('glEndOcclusionQueryNV');
|
|
glGetOcclusionQueryivNV := GLGetProcAddress('glGetOcclusionQueryivNV');
|
|
glGetOcclusionQueryuivNV := GLGetProcAddress('glGetOcclusionQueryuivNV');
|
|
|
|
// GL_NV_point_sprite (#262)
|
|
glPointParameteriNV := GLGetProcAddress('glPointParameteriNV');
|
|
glPointParameterivNV := GLGetProcAddress('glPointParameterivNV');
|
|
|
|
// GL_EXT_stencil_two_side (#268)
|
|
glActiveStencilFaceEXT := GLGetProcAddress('glActiveStencilFaceEXT');
|
|
|
|
// GL_ATI_draw_buffers (#277)
|
|
glDrawBuffersATI := GLGetProcAddress('glDrawBuffersATI');
|
|
|
|
// GL_NV_primitive_restart (#285)
|
|
glPrimitiveRestartNV := GLGetProcAddress('glPrimitiveRestartNV');
|
|
glPrimitiveRestartIndexNV := GLGetProcAddress('glPrimitiveRestartIndexNV');
|
|
glPrimitiveRestartIndex := GLGetProcAddress('glPrimitiveRestartIndex');
|
|
if Addr(glPrimitiveRestartIndex) = nil then
|
|
glPrimitiveRestartIndex := glPrimitiveRestartIndexNV;
|
|
|
|
// GL_EXT_depth_bounds_test (#297)
|
|
glDepthBoundsEXT := GLGetProcAddress('glDepthBoundsEXT');
|
|
|
|
// GL_EXT_blend_equation_separate (#299)
|
|
glBlendEquationSeparateEXT := GLGetProcAddress('glBlendEquationSeparateEXT');
|
|
|
|
// GL_EXT_framebuffer_object (#310)
|
|
glIsRenderbufferEXT := GLGetProcAddress('glIsRenderbufferEXT');
|
|
glBindRenderbufferEXT := GLGetProcAddress('glBindRenderbufferEXT');
|
|
glDeleteRenderbuffersEXT := GLGetProcAddress('glDeleteRenderbuffersEXT');
|
|
glGenRenderbuffersEXT := GLGetProcAddress('glGenRenderbuffersEXT');
|
|
glRenderbufferStorageEXT := GLGetProcAddress('glRenderbufferStorageEXT');
|
|
glGetRenderbufferParameterivEXT := GLGetProcAddress('glGetRenderbufferParameterivEXT');
|
|
glIsFramebufferEXT := GLGetProcAddress('glIsFramebufferEXT');
|
|
glBindFramebufferEXT := GLGetProcAddress('glBindFramebufferEXT');
|
|
glDeleteFramebuffersEXT := GLGetProcAddress('glDeleteFramebuffersEXT');
|
|
glGenFramebuffersEXT := GLGetProcAddress('glGenFramebuffersEXT');
|
|
glCheckFramebufferStatusEXT := GLGetProcAddress('glCheckFramebufferStatusEXT');
|
|
glFramebufferTexture1DEXT := GLGetProcAddress('glFramebufferTexture1DEXT');
|
|
glFramebufferTexture2DEXT := GLGetProcAddress('glFramebufferTexture2DEXT');
|
|
glFramebufferTexture3DEXT := GLGetProcAddress('glFramebufferTexture3DEXT');
|
|
glFramebufferRenderbufferEXT := GLGetProcAddress('glFramebufferRenderbufferEXT');
|
|
glGetFramebufferAttachmentParameterivEXT := GLGetProcAddress('glGetFramebufferAttachmentParameterivEXT');
|
|
glGenerateMipmapEXT := GLGetProcAddress('glGenerateMipmapEXT');
|
|
|
|
// GL_GREMEDY_string_marker (EXT #311)
|
|
glStringMarkerGREMEDY := GLGetProcAddress('glStringMarkerGREMEDY');
|
|
|
|
// GL_EXT_stencil_clear_tag (EXT #314)
|
|
glStencilClearTagEXT := GLGetProcAddress('glStencilClearTagEXT');
|
|
|
|
// GL_EXT_framebuffer_blit (#316)
|
|
glBlitFramebufferEXT := GLGetProcAddress('glBlitFramebufferEXT');
|
|
|
|
// GL_EXT_framebuffer_multisample (#317)
|
|
glRenderbufferStorageMultisampleEXT := GLGetProcAddress('glRenderbufferStorageMultisampleEXT');
|
|
|
|
// GL_EXT_timer_query (#319)
|
|
glGetQueryObjecti64vEXT := GLGetProcAddress('glGetQueryObjecti64vEXT');
|
|
glGetQueryObjectui64vEXT := GLGetProcAddress('glGetQueryObjectui64vEXT');
|
|
|
|
// GL_EXT_gpu_program_parameters (#320)
|
|
glProgramEnvParameters4fvEXT := GLGetProcAddress('glProgramEnvParameters4fvEXT');
|
|
glProgramLocalParameters4fvEXT := GLGetProcAddress('glProgramLocalParameters4fvEXT');
|
|
|
|
// GL_NV_geometry_program4 (#323)
|
|
glProgramVertexLimitNV := GLGetProcAddress('glProgramVertexLimitNV');
|
|
|
|
// GL_EXT_geometry_shader4 (#324)
|
|
glProgramParameteriEXT := GLGetProcAddress('glProgramParameteriEXT');
|
|
glFramebufferTextureEXT := GLGetProcAddress('glFramebufferTextureEXT');
|
|
glFramebufferTextureLayerEXT := GLGetProcAddress('glFramebufferTextureLayerEXT');
|
|
glFramebufferTextureFaceEXT := GLGetProcAddress('glFramebufferTextureFaceEXT');
|
|
|
|
// GL_EXT_gpu_shader4 (#326)
|
|
glVertexAttribI1iEXT := GLGetProcAddress('glVertexAttribI1iEXT');
|
|
glVertexAttribI2iEXT := GLGetProcAddress('glVertexAttribI2iEXT');
|
|
glVertexAttribI3iEXT := GLGetProcAddress('glVertexAttribI3iEXT');
|
|
glVertexAttribI4iEXT := GLGetProcAddress('glVertexAttribI4iEXT');
|
|
|
|
glVertexAttribI1uiEXT := GLGetProcAddress('glVertexAttribI1uiEXT');
|
|
glVertexAttribI2uiEXT := GLGetProcAddress('glVertexAttribI2uiEXT');
|
|
glVertexAttribI3uiEXT := GLGetProcAddress('glVertexAttribI3uiEXT');
|
|
glVertexAttribI4uiEXT := GLGetProcAddress('glVertexAttribI4uiEXT');
|
|
|
|
glVertexAttribI1ivEXT := GLGetProcAddress('glVertexAttribI1ivEXT');
|
|
glVertexAttribI2ivEXT := GLGetProcAddress('glVertexAttribI2ivEXT');
|
|
glVertexAttribI3ivEXT := GLGetProcAddress('glVertexAttribI3ivEXT');
|
|
glVertexAttribI4ivEXT := GLGetProcAddress('glVertexAttribI4ivEXT');
|
|
|
|
glVertexAttribI1uivEXT := GLGetProcAddress('glVertexAttribI1uivEXT');
|
|
glVertexAttribI2uivEXT := GLGetProcAddress('glVertexAttribI2uivEXT');
|
|
glVertexAttribI3uivEXT := GLGetProcAddress('glVertexAttribI3uivEXT');
|
|
glVertexAttribI4uivEXT := GLGetProcAddress('glVertexAttribI4uivEXT');
|
|
|
|
glVertexAttribI4bvEXT := GLGetProcAddress('glVertexAttribI4bvEXT');
|
|
glVertexAttribI4svEXT := GLGetProcAddress('glVertexAttribI4svEXT');
|
|
glVertexAttribI4ubvEXT := GLGetProcAddress('glVertexAttribI4ubvEXT');
|
|
glVertexAttribI4usvEXT := GLGetProcAddress('glVertexAttribI4usvEXT');
|
|
|
|
glVertexAttribIPointerEXT := GLGetProcAddress('glVertexAttribIPointerEXT');
|
|
|
|
glGetVertexAttribIivEXT := GLGetProcAddress('glGetVertexAttribIivEXT');
|
|
glGetVertexAttribIuivEXT := GLGetProcAddress('glGetVertexAttribIuivEXT');
|
|
|
|
glUniform1uiEXT := GLGetProcAddress('glUniform1uiEXT');
|
|
glUniform2uiEXT := GLGetProcAddress('glUniform2uiEXT');
|
|
glUniform3uiEXT := GLGetProcAddress('glUniform3uiEXT');
|
|
glUniform4uiEXT := GLGetProcAddress('glUniform4uiEXT');
|
|
|
|
glUniform1uivEXT := GLGetProcAddress('glUniform1uivEXT');
|
|
glUniform2uivEXT := GLGetProcAddress('glUniform2uivEXT');
|
|
glUniform3uivEXT := GLGetProcAddress('glUniform3uivEXT');
|
|
glUniform4uivEXT := GLGetProcAddress('glUniform4uivEXT');
|
|
|
|
glGetUniformuivEXT := GLGetProcAddress('glGetUniformuivEXT');
|
|
|
|
glBindFragDataLocationEXT := GLGetProcAddress('glBindFragDataLocationEXT');
|
|
glGetFragDataLocationEXT := GLGetProcAddress('glGetFragDataLocationEXT');
|
|
|
|
// GL_EXT_draw_instanced (#327)
|
|
glDrawArraysInstancedEXT := GLGetProcAddress('glDrawArraysInstancedEXT');
|
|
glDrawElementsInstancedEXT := GLGetProcAddress('glDrawElementsInstancedEXT');
|
|
|
|
// GL_EXT_texture_array (#329)
|
|
// glFramebufferTextureLayerEXT:= GLGetProcAddress('glFramebufferTextureLayerEXT');
|
|
|
|
// GL_EXT_texture_buffer_object (#330)
|
|
glTexBufferEXT := GLGetProcAddress('glTexBufferEXT');
|
|
|
|
// GL_EXT_draw_buffers2 (#340)
|
|
glColorMaskIndexedEXT := GLGetProcAddress('glColorMaskIndexedEXT');
|
|
glGetBooleanIndexedvEXT := GLGetProcAddress('glGetBooleanIndexedvEXT');
|
|
glGetIntegerIndexedvEXT:= GLGetProcAddress('glGetIntegerIndexedvEXT');
|
|
glEnableIndexedEXT:= GLGetProcAddress('glEnableIndexedEXT');
|
|
glDisableIndexedEXT:= GLGetProcAddress('glDisableIndexedEXT');
|
|
glIsEnabledIndexedEXT:= GLGetProcAddress('glIsEnabledIndexedEXT');
|
|
|
|
// GL_NV_transform_feedback (#341)
|
|
glBindBufferRangeNV := GLGetProcAddress('glBindBufferRangeNV');
|
|
glBindBufferOffsetNV := GLGetProcAddress('glBindBufferOffsetNV');
|
|
glBindBufferBaseNV := GLGetProcAddress('glBindBufferBaseNV');
|
|
glTransformFeedbackAttribsNV := GLGetProcAddress('glTransformFeedbackAttribsNV');
|
|
glTransformFeedbackVaryingsNV := GLGetProcAddress('glTransformFeedbackVaryingsNV');
|
|
glBeginTransformFeedbackNV := GLGetProcAddress('glBeginTransformFeedbackNV');
|
|
glEndTransformFeedbackNV := GLGetProcAddress('glEndTransformFeedbackNV');
|
|
glGetVaryingLocationNV := GLGetProcAddress('glGetVaryingLocationNV');
|
|
glGetActiveVaryingNV := GLGetProcAddress('glGetActiveVaryingNV');
|
|
glActiveVaryingNV := GLGetProcAddress('glActiveVaryingNV');
|
|
glGetTransformFeedbackVaryingNV := GLGetProcAddress('glGetTransformFeedbackVaryingNV');
|
|
|
|
// GL_EXT_bindable_uniform (#342)
|
|
glUniformBufferEXT := GLGetProcAddress('glUniformBufferEXT');
|
|
glGetUniformBufferSizeEXT := GLGetProcAddress('glGetUniformBufferSizeEXT');
|
|
glGetUniformOffsetEXT := GLGetProcAddress('glGetUniformOffsetEXT');
|
|
|
|
// GL_EXT_texture_integer (#343)
|
|
glClearColorIiEXT := GLGetProcAddress('glClearColorIiEXT');
|
|
glClearColorIuiEXT := GLGetProcAddress('glClearColorIuiEXT');
|
|
glTexParameterIivEXT := GLGetProcAddress('glTexParameterIivEXT');
|
|
glTexParameterIuivEXT := GLGetProcAddress('glTexParameterIuivEXT');
|
|
glGetTexParameterIivEXT := GLGetProcAddress('glGetTexParameterIivEXT');
|
|
glGetTexParameterIuivEXT := GLGetProcAddress('glGetTexParameterIuivEXT');
|
|
|
|
// GL_GREMEDY_frame_terminator (EXT #345)
|
|
glFrameTerminatorGREMEDY := GLGetProcAddress('glFrameTerminatorGREMEDY');
|
|
|
|
// GL_NV_conditional_render (#346)
|
|
glBeginConditionalRenderNV := GLGetProcAddress('glBeginConditionalRenderNV');
|
|
glEndConditionalRenderNV := GLGetProcAddress('glEndConditionalRenderNV');
|
|
|
|
// GL_EXT_transform_feedback (#352)
|
|
glBindBufferRangeEXT := GLGetProcAddress('glBindBufferRangeEXT');
|
|
glBindBufferOffsetEXT := GLGetProcAddress('glBindBufferOffsetEXT');
|
|
glBindBufferBaseEXT := GLGetProcAddress('glBindBufferBaseEXT');
|
|
glBeginTransformFeedbackEXT := GLGetProcAddress('glBeginTransformFeedbackEXT');
|
|
glEndTransformFeedbackEXT := GLGetProcAddress('glEndTransformFeedbackEXT');
|
|
glTransformFeedbackVaryingsEXT := GLGetProcAddress('glTransformFeedbackVaryingsEXT');
|
|
glGetTransformFeedbackVaryingEXT:= GLGetProcAddress('glGetTransformFeedbackVaryingEXT');
|
|
|
|
// GL_AMD_vertex_shader_tesselator (#363)
|
|
glTessellationFactorAMD := GLGetProcAddress('glTessellationFactorAMD');
|
|
glTessellationModeAMD := GLGetProcAddress('glTessellationModeAMD');
|
|
|
|
// GL_NV_copy_image (#376)
|
|
glCopyImageSubDataNV := GLGetProcAddress('glCopyImageSubDataNV');
|
|
|
|
// GL_NV_shader_buffer_load (#379)
|
|
glMakeBufferResidentNV := GLGetProcAddress('glMakeBufferResidentNV');
|
|
glMakeBufferNonResidentNV := GLGetProcAddress('glMakeBufferNonResidentNV');
|
|
glIsBufferResidentNV := GLGetProcAddress('glIsBufferResidentNV');
|
|
glMakeNamedBufferResidentNV := GLGetProcAddress('glMakeNamedBufferResidentNV');
|
|
glMakeNamedBufferNonResidentNV := GLGetProcAddress('glMakeNamedBufferNonResidentNV');
|
|
glIsNamedBufferResidentNV := GLGetProcAddress('glIsNamedBufferResidentNV');
|
|
glGetBufferParameterui64vNV := GLGetProcAddress('glGetBufferParameterui64vNV');
|
|
glGetNamedBufferParameterui64vNV := GLGetProcAddress('glGetNamedBufferParameterui64vNV');
|
|
glGetIntegerui64vNV := GLGetProcAddress('glGetIntegerui64vNV');
|
|
glUniformui64NV := GLGetProcAddress('glUniformui64NV');
|
|
glUniformui64vNV := GLGetProcAddress('glUniformui64vNV');
|
|
glGetUniformui64vNV := GLGetProcAddress('glGetUniformui64vNV');
|
|
glProgramUniformui64NV := GLGetProcAddress('glProgramUniformui64NV');
|
|
glProgramUniformui64vNV := GLGetProcAddress('glProgramUniformui64vNV');
|
|
|
|
// GL_NV_vertex_buffer_unified_memory (#380)
|
|
glBufferAddressRangeNV := GLGetProcAddress('glBufferAddressRangeNV');
|
|
glVertexFormatNV := GLGetProcAddress('glVertexFormatNV');
|
|
glNormalFormatNV := GLGetProcAddress('glNormalFormatNV');
|
|
glColorFormatNV := GLGetProcAddress('glColorFormatNV');
|
|
glIndexFormatNV := GLGetProcAddress('glIndexFormatNV');
|
|
glTexCoordFormatNV := GLGetProcAddress('glTexCoordFormatNV');
|
|
glEdgeFlagFormatNV := GLGetProcAddress('glEdgeFlagFormatNV');
|
|
glSecondaryColorFormatNV := GLGetProcAddress('glSecondaryColorFormatNV');
|
|
glFogCoordFormatNV := GLGetProcAddress('glFogCoordFormatNV');
|
|
glVertexAttribFormatNV := GLGetProcAddress('glVertexAttribFormatNV');
|
|
glVertexAttribIFormatNV := GLGetProcAddress('glVertexAttribIFormatNV');
|
|
glGetIntegerui64i_vNV := GLGetProcAddress('glGetIntegerui64i_vNV');
|
|
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures for Windows OpenGL (WGL) extensions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_WGL}
|
|
ReadWGLExtensions;
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
{$IFDEF GLS_REGIONS} {$region 'locate functions/procedures for GLX extensions'} {$ENDIF}
|
|
{$IFDEF SUPPORT_GLX}
|
|
ReadGLXExtensions;
|
|
{$ENDIF}
|
|
{$IFDEF GLS_REGIONS} {$endregion} {$ENDIF}
|
|
|
|
end;
|
|
|
|
{$IFDEF SUPPORT_WGL}
|
|
// ReadWGLExtensions
|
|
//
|
|
procedure ReadWGLExtensions;
|
|
begin
|
|
// ARB wgl extensions
|
|
|
|
// ###########################################################
|
|
// locating functions and procedures for
|
|
// ARB approved WGL extensions
|
|
// ###########################################################
|
|
|
|
// WGL_buffer_region (ARB #4)
|
|
wglCreateBufferRegionARB := GLGetProcAddress('wglCreateBufferRegionARB');
|
|
wglDeleteBufferRegionARB := GLGetProcAddress('wglDeleteBufferRegionARB');
|
|
wglSaveBufferRegionARB := GLGetProcAddress('wglSaveBufferRegionARB');
|
|
wglRestoreBufferRegionARB := GLGetProcAddress('wglRestoreBufferRegionARB');
|
|
|
|
// WGL_ARB_extensions_string (ARB #8)
|
|
wglGetExtensionsStringARB := GLGetProcAddress('wglGetExtensionsStringARB');
|
|
|
|
// WGL_ARB_pixel_format (ARB #9)
|
|
wglGetPixelFormatAttribivARB := GLGetProcAddress('wglGetPixelFormatAttribivARB');
|
|
wglGetPixelFormatAttribfvARB := GLGetProcAddress('wglGetPixelFormatAttribfvARB');
|
|
wglChoosePixelFormatARB := GLGetProcAddress('wglChoosePixelFormatARB');
|
|
|
|
// WGL_make_current_read (ARB #10)
|
|
wglMakeContextCurrentARB := GLGetProcAddress('wglMakeContextCurrentARB');
|
|
wglGetCurrentReadDCARB := GLGetProcAddress('wglGetCurrentReadDCARB');
|
|
|
|
// WGL_ARB_pbuffer (ARB #11)
|
|
wglCreatePbufferARB := GLGetProcAddress('wglCreatePbufferARB');
|
|
wglGetPbufferDCARB := GLGetProcAddress('wglGetPbufferDCARB');
|
|
wglReleasePbufferDCARB := GLGetProcAddress('wglReleasePbufferDCARB');
|
|
wglDestroyPbufferARB := GLGetProcAddress('wglDestroyPbufferARB');
|
|
wglQueryPbufferARB := GLGetProcAddress('wglQueryPbufferARB');
|
|
|
|
// WGL_ARB_render_texture (ARB #20)
|
|
wglBindTexImageARB := GLGetProcAddress('wglBindTexImageARB');
|
|
wglReleaseTexImageARB := GLGetProcAddress('wglReleaseTexImageARB');
|
|
wglSetPbufferAttribARB := GLGetProcAddress('wglSetPbufferAttribARB');
|
|
|
|
// WGL_ARB_create_context (ARB #55)
|
|
wglCreateContextAttribsARB := GLGetProcAddress('wglCreateContextAttribsARB');
|
|
|
|
// ###########################################################
|
|
// locating functions and procedures for
|
|
// Vendor/EXT WGL extensions
|
|
// ###########################################################
|
|
|
|
// WGL_EXT_swap_control (EXT #172)
|
|
wglSwapIntervalEXT := GLGetProcAddress('wglSwapIntervalEXT');
|
|
wglGetSwapIntervalEXT := GLGetProcAddress('wglGetSwapIntervalEXT');
|
|
|
|
// WGL_NV_gpu_affinity
|
|
wglEnumGpusNV := GLGetProcAddress('wglEnumGpusNV');
|
|
wglEnumGpuDevicesNV := GLGetProcAddress('wglEnumGpuDevicesNV');
|
|
wglCreateAffinityDCNV := GLGetProcAddress('wglCreateAffinityDCNV');
|
|
wglEnumGpusFromAffinityDCNV := GLGetProcAddress('wglEnumGpusFromAffinityDCNV');
|
|
wglDeleteDCNV := GLGetProcAddress('wglDeleteDCNV');
|
|
end;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF SUPPORT_GLX}
|
|
// ReadGLXExtensions
|
|
//
|
|
procedure ReadGLXExtensions;
|
|
begin
|
|
// ARB glx extensions
|
|
|
|
// ###########################################################
|
|
// locating functions and procedures for
|
|
// ARB approved GLX extensions
|
|
// ###########################################################
|
|
|
|
//loading first!
|
|
glXGetProcAddress := GLLibGetProcAddress('glXGetProcAddress');
|
|
glXGetProcAddressARB := GLLibGetProcAddress('glXGetProcAddressARB');
|
|
|
|
//GLX 1.3 and later
|
|
glXChooseFBConfig := GLGetProcAddress('glXChooseFBConfig');
|
|
glXGetFBConfigAttrib := GLGetProcAddress('glXGetFBConfigAttrib');
|
|
glXGetFBConfigs := GLGetProcAddress('glXGetFBConfigs');
|
|
glXGetVisualFromFBConfig := GLGetProcAddress('glXGetVisualFromFBConfig');
|
|
glXCreateWindow := GLGetProcAddress('glXCreateWindow');
|
|
glXDestroyWindow := GLGetProcAddress('glXDestroyWindow');
|
|
glXCreatePixmap := GLGetProcAddress('glXCreatePixmap');
|
|
glXDestroyPixmap := GLGetProcAddress('glXDestroyPixmap');
|
|
glXCreatePbuffer := GLGetProcAddress('glXCreatePbuffer');
|
|
glXDestroyPbuffer := GLGetProcAddress('glXDestroyPbuffer');
|
|
glXQueryDrawable := GLGetProcAddress('glXQueryDrawable');
|
|
glXCreateNewContext := GLGetProcAddress('glXCreateNewContext');
|
|
glXMakeContextCurrent := GLGetProcAddress('glXMakeContextCurrent');
|
|
glXGetCurrentReadDrawable := GLGetProcAddress('glXGetCurrentReadDrawable');
|
|
glXQueryContext := GLGetProcAddress('glXQueryContext');
|
|
glXSelectEvent := GLGetProcAddress('glXSelectEvent');
|
|
glXGetSelectedEvent := GLGetProcAddress('glXGetSelectedEvent');
|
|
glXBindTexImageARB := GLGetProcAddress('glXBindTexImageARB');
|
|
glXReleaseTexImageARB := GLGetProcAddress('glXReleaseTexImageARB');
|
|
glxDrawableAttribARB := GLGetProcAddress('glxDrawableAttribARB');
|
|
|
|
//GLX 1.4
|
|
// GLX_ARB_create_context (EXT #56)
|
|
glXCreateContextAttribsARB := GLGetProcAddress('glXCreateContextAttribsARB');
|
|
|
|
// ###########################################################
|
|
// locating functions and procedures for
|
|
// Vendor/EXT WGL extensions
|
|
// ###########################################################
|
|
|
|
// WGL_EXT_swap_control (EXT #172)
|
|
glXSwapIntervalSGI := GLGetProcAddress('glXSwapIntervalSGI');
|
|
glXGetVideoSyncSGI := GLGetProcAddress('glXGetVideoSyncSGI');
|
|
glXWaitVideoSyncSGI := GLGetProcAddress('glXWaitVideoSyncSGI');
|
|
glXFreeContextEXT := GLGetProcAddress('glXFreeContextEXT');
|
|
glXGetContextIDEXT := GLGetProcAddress('glXGetContextIDEXT');
|
|
glXGetCurrentDisplayEXT := GLGetProcAddress('glXGetCurrentDisplayEXT');
|
|
glXImportContextEXT := GLGetProcAddress('glXImportContextEXT');
|
|
glXQueryContextInfoEXT := GLGetProcAddress('glXQueryContextInfoEXT');
|
|
glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
|
|
glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
|
|
glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
|
|
glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
|
|
|
|
glXBindTexImageEXT := GLGetProcAddress('glXBindTexImageEXT');
|
|
glXReleaseTexImageEXT := GLGetProcAddress('glXReleaseTexImageEXT');
|
|
|
|
//GLX 1.4
|
|
glXMakeCurrentReadSGI := GLGetProcAddress('glXMakeCurrentReadSGI');
|
|
glXGetCurrentReadDrawableSGI := GLGetProcAddress('glXGetCurrentReadDrawableSGI');
|
|
glXGetFBConfigAttribSGIX := GLGetProcAddress('glXGetFBConfigAttribSGIX');
|
|
glXChooseFBConfigSGIX := GLGetProcAddress('glXChooseFBConfigSGIX');
|
|
glXCreateGLXPixmapWithConfigSGIX := GLGetProcAddress('glXCreateGLXPixmapWithConfigSGIX');
|
|
glXCreateContextWithConfigSGIX := GLGetProcAddress('glXCreateContextWithConfigSGIX');
|
|
glXGetVisualFromFBConfigSGIX := GLGetProcAddress('glXGetVisualFromFBConfigSGIX');
|
|
glXGetFBConfigFromVisualSGIX := GLGetProcAddress('glXGetFBConfigFromVisualSGIX');
|
|
glXCreateGLXPbufferSGIX := GLGetProcAddress('glXCreateGLXPbufferSGIX');
|
|
glXDestroyGLXPbufferSGIX := GLGetProcAddress('glXDestroyGLXPbufferSGIX');
|
|
glXQueryGLXPbufferSGIX := GLGetProcAddress('glXQueryGLXPbufferSGIX');
|
|
glXSelectEventSGIX := GLGetProcAddress('glXSelectEventSGIX');
|
|
glXGetSelectedEventSGIX := GLGetProcAddress('glXGetSelectedEventSGIX');
|
|
glXCushionSGI := GLGetProcAddress('glXCushionSGI');
|
|
glXBindChannelToWindowSGIX := GLGetProcAddress('glXBindChannelToWindowSGIX');
|
|
glXChannelRectSGIX := GLGetProcAddress('glXChannelRectSGIX');
|
|
glXQueryChannelRectSGIX := GLGetProcAddress('glXQueryChannelRectSGIX');
|
|
glXQueryChannelDeltasSGIX := GLGetProcAddress('glXQueryChannelDeltasSGIX');
|
|
glXChannelRectSyncSGIX := GLGetProcAddress('glXChannelRectSyncSGIX');
|
|
glXJoinSwapGroupSGIX := GLGetProcAddress('glXJoinSwapGroupSGIX');
|
|
glXBindSwapBarrierSGIX := GLGetProcAddress('glXBindSwapBarrierSGIX');
|
|
glXQueryMaxSwapBarriersSGIX := GLGetProcAddress('glXQueryMaxSwapBarriersSGIX');
|
|
glXQueryHyperpipeNetworkSGIX := GLGetProcAddress('glXQueryHyperpipeNetworkSGIX');
|
|
|
|
|
|
glXHyperpipeConfigSGIX := GLGetProcAddress('glXHyperpipeConfigSGIX');
|
|
glXQueryHyperpipeConfigSGIX := GLGetProcAddress('glXQueryHyperpipeConfigSGIX');
|
|
glXDestroyHyperpipeConfigSGIX := GLGetProcAddress('glXDestroyHyperpipeConfigSGIX');
|
|
glXBindHyperpipeSGIX := GLGetProcAddress('glXBindHyperpipeSGIX');
|
|
glXQueryHyperpipeBestAttribSGIX := GLGetProcAddress('glXQueryHyperpipeBestAttribSGIX');
|
|
glXHyperpipeAttribSGIX := GLGetProcAddress('glXHyperpipeAttribSGIX');
|
|
glXQueryHyperpipeAttribSGIX := GLGetProcAddress('glXQueryHyperpipeAttribSGIX');
|
|
glXGetAGPOffsetMESA := GLGetProcAddress('glXGetAGPOffsetMESA');
|
|
glXEnumerateVideoDevicesNV := GLGetProcAddress('glXEnumerateVideoDevicesNV');
|
|
glXBindVideoDeviceNV := GLGetProcAddress('glXBindVideoDeviceNV');
|
|
glxGetVideoDeviceNV := GLGetProcAddress('glxGetVideoDeviceNV');
|
|
glXCopySubBufferMESA := GLGetProcAddress('glXCopySubBufferMESA');
|
|
glXReleaseBuffersMESA := GLGetProcAddress('glXReleaseBuffersMESA');
|
|
glXCreateGLXPixmapMESA := GLGetProcAddress('glXCreateGLXPixmapMESA');
|
|
glXSet3DfxModeMESA := GLGetProcAddress('glXSet3DfxModeMESA');
|
|
|
|
glXAllocateMemoryNV := GLGetProcAddress('glXAllocateMemoryNV');
|
|
glXFreeMemoryNV := GLGetProcAddress('glXFreeMemoryNV');
|
|
|
|
glXReleaseVideoDeviceNV := GLGetProcAddress('glXReleaseVideoDeviceNV');
|
|
glXBindVideoImageNV := GLGetProcAddress('glXBindVideoImageNV');
|
|
glXReleaseVideoImageNV := GLGetProcAddress('glXReleaseVideoImageNV');
|
|
glXSendPbufferToVideoNV := GLGetProcAddress('glXSendPbufferToVideoNV');
|
|
glXGetVideoInfoNV := GLGetProcAddress('glXGetVideoInfoNV');
|
|
glXJoinSwapGroupNV := GLGetProcAddress('glXJoinSwapGroupNV');
|
|
glXBindSwapBarrierNV := GLGetProcAddress('glXBindSwapBarrierNV');
|
|
glXQuerySwapGroupNV := GLGetProcAddress('glXQuerySwapGroupNV');
|
|
glXQueryMaxSwapGroupsNV := GLGetProcAddress('glXQueryMaxSwapGroupsNV');
|
|
glXQueryFrameCountNV := GLGetProcAddress('glXQueryFrameCountNV');
|
|
glXResetFrameCountNV := GLGetProcAddress('glXResetFrameCountNV');
|
|
glXBindVideoCaptureDeviceNV := GLGetProcAddress('glXBindVideoCaptureDeviceNV');
|
|
glXEnumerateVideoCaptureDevicesNV := GLGetProcAddress('glXEnumerateVideoCaptureDevicesNV');
|
|
glxLockVideoCaptureDeviceNV := GLGetProcAddress('glxLockVideoCaptureDeviceNV');
|
|
glXQueryVideoCaptureDeviceNV := GLGetProcAddress('glXQueryVideoCaptureDeviceNV');
|
|
glXReleaseVideoCaptureDeviceNV := GLGetProcAddress('glXReleaseVideoCaptureDeviceNV');
|
|
glXSwapIntervalEXT := GLGetProcAddress('glXSwapIntervalEXT');
|
|
glXCopyImageSubDataNV := GLGetProcAddress('glXCopyImageSubDataNV');
|
|
end;
|
|
{$ENDIF}
|
|
|
|
// TrimAndSplitVersionString
|
|
//
|
|
procedure TrimAndSplitVersionString(Buffer: String; var Max, Min: Integer);
|
|
// Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text"
|
|
// at least however "Major.Minor".
|
|
var
|
|
Separator: Integer;
|
|
begin
|
|
try
|
|
// There must be at least one dot to separate major and minor version number.
|
|
Separator := Pos('.', Buffer);
|
|
// At least one number must be before and one after the dot.
|
|
if (Separator > 1) and (Separator < Length(Buffer)) and (AnsiChar(Buffer[Separator - 1]) in ['0'..'9']) and
|
|
(AnsiChar(Buffer[Separator + 1]) in ['0'..'9']) then
|
|
begin
|
|
// OK, it's a valid version string. Now remove unnecessary parts.
|
|
Dec(Separator);
|
|
// Find last non-numeric character before version number.
|
|
while (Separator > 0) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
|
|
Dec(Separator);
|
|
// Delete leading characters which do not belong to the version string.
|
|
Delete(Buffer, 1, Separator);
|
|
Separator := Pos('.', Buffer) + 1;
|
|
// Find first non-numeric character after version number
|
|
while (Separator <= Length(Buffer)) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do
|
|
Inc(Separator);
|
|
// delete trailing characters not belonging to the version string
|
|
Delete(Buffer, Separator, 255);
|
|
// Now translate the numbers.
|
|
Separator := Pos('.', Buffer); // This is necessary because the buffer length might have changed.
|
|
Max := StrToInt(Copy(Buffer, 1, Separator - 1));
|
|
Min := StrToInt(Copy(Buffer, Separator + 1, 255));
|
|
end
|
|
else
|
|
Abort;
|
|
except
|
|
Min := 0;
|
|
Max := 0;
|
|
end;
|
|
end;
|
|
|
|
function IsVersionMet(MajorVersion,MinorVersion,actualMajorVersion, actualMinorVersion:Integer): boolean;
|
|
begin
|
|
Result:=(actualMajorVersion>MajorVersion)or
|
|
((actualMajorVersion=MajorVersion)and(actualMinorVersion>=MinorVersion));
|
|
end;
|
|
|
|
// ReadImplementationProperties
|
|
//
|
|
procedure ReadImplementationProperties;
|
|
var
|
|
Buffer : String;
|
|
MajorVersion, MinorVersion: Integer;
|
|
|
|
// Checks if the given Extension string is in Buffer.
|
|
function CheckExtension(const Extension: string): Boolean;
|
|
var
|
|
ExtPos: Integer;
|
|
begin
|
|
// First find the position of the extension string as substring in Buffer.
|
|
ExtPos := Pos(Extension, Buffer);
|
|
Result := ExtPos > 0;
|
|
// Now check that it isn't only a substring of another extension.
|
|
if Result then
|
|
Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
|
|
or (Buffer[ExtPos + Length(Extension)]=' ');
|
|
end;
|
|
|
|
begin
|
|
// determine OpenGL versions supported
|
|
buffer:=String(glGetString(GL_VERSION));
|
|
TrimAndSplitVersionString(buffer, majorversion, minorVersion);
|
|
GL_VERSION_1_0:=True;
|
|
GL_VERSION_1_1:=IsVersionMet(1,1,majorVersion,minorVersion);
|
|
GL_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
|
|
GL_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
|
|
GL_VERSION_1_4:=IsVersionMet(1,4,majorVersion,minorVersion);
|
|
GL_VERSION_1_5:=IsVersionMet(1,5,majorVersion,minorVersion);
|
|
GL_VERSION_2_0:=IsVersionMet(2,0,majorVersion,minorVersion);
|
|
GL_VERSION_2_1:=IsVersionMet(2,1,majorVersion,minorVersion);
|
|
GL_VERSION_3_0:=IsVersionMet(3,0,majorVersion,minorVersion);
|
|
GL_VERSION_3_1:=IsVersionMet(3,1,majorVersion,minorVersion);
|
|
GL_VERSION_3_2:=IsVersionMet(3,2,majorVersion,minorVersion);
|
|
GL_VERSION_3_3:=IsVersionMet(3,3,majorVersion,minorVersion);
|
|
GL_VERSION_4_0:=IsVersionMet(4,0,majorVersion,minorVersion);
|
|
GL_VERSION_4_1:=IsVersionMet(4,1,majorVersion,minorVersion);
|
|
|
|
// determine GLU versions met
|
|
buffer:=String(gluGetString(GLU_VERSION));
|
|
TrimAndSplitVersionString(buffer, majorversion, minorVersion);
|
|
GLU_VERSION_1_1:=True; // won't load without at least GLU 1.1
|
|
GLU_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
|
|
GLU_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
|
|
|
|
// check supported OpenGL extensions
|
|
Buffer := String(glGetString(GL_EXTENSIONS));
|
|
// check ARB approved OpenGL extensions
|
|
GL_ARB_blend_func_extended := CheckExtension('GL_ARB_blend_func_extended');
|
|
GL_ARB_color_buffer_float := CheckExtension('GL_ARB_color_buffer_float');
|
|
GL_ARB_compatibility := CheckExtension('GL_ARB_compatibility');
|
|
GL_ARB_copy_buffer := CheckExtension('GL_ARB_copy_buffer');
|
|
GL_ARB_debug_output := CheckExtension('GL_ARB_debug_output');
|
|
GL_ARB_depth_buffer_float := CheckExtension('GL_ARB_depth_buffer_float');
|
|
GL_ARB_depth_clamp := CheckExtension('GL_ARB_depth_clamp');
|
|
GL_ARB_depth_texture := CheckExtension('GL_ARB_depth_texture');
|
|
GL_ARB_draw_buffers := CheckExtension('GL_ARB_draw_buffers');
|
|
GL_ARB_draw_buffers_blend := CheckExtension('GL_ARB_draw_buffers_blend');
|
|
GL_ARB_draw_elements_base_vertex := CheckExtension('GL_ARB_draw_elements_base_vertex');
|
|
GL_ARB_draw_indirect := CheckExtension('GL_ARB_draw_indirect');
|
|
GL_ARB_draw_instanced := CheckExtension('GL_ARB_draw_instanced');
|
|
GL_ARB_ES2_compatibility := CheckExtension('GL_ARB_ES2_compatibility');
|
|
GL_ARB_explicit_attrib_location := CheckExtension('GL_ARB_explicit_attrib_location');
|
|
GL_ARB_fragment_coord_conventions := CheckExtension('GL_ARB_fragment_coord_conventions');
|
|
GL_ARB_fragment_program := CheckExtension('GL_ARB_fragment_program');
|
|
GL_ARB_fragment_program_shadow := CheckExtension('GL_ARB_fragment_program_shadow');
|
|
GL_ARB_fragment_shader := CheckExtension('GL_ARB_fragment_shader');
|
|
GL_ARB_framebuffer_object := CheckExtension('GL_ARB_framebuffer_object');
|
|
GL_ARB_framebuffer_sRGB := CheckExtension('GL_ARB_framebuffer_sRGB');
|
|
GL_ARB_geometry_shader4 := CheckExtension('GL_ARB_geometry_shader4');
|
|
GL_ARB_get_program_binary := CheckExtension('GL_ARB_get_program_binary');
|
|
GL_ARB_gpu_shader_fp64 := CheckExtension('GL_ARB_gpu_shader_fp64');
|
|
GL_ARB_gpu_shader5 := CheckExtension('GL_ARB_gpu_shader5');
|
|
GL_ARB_half_float_pixel := CheckExtension('GL_ARB_half_float_pixel');
|
|
GL_ARB_half_float_vertex := CheckExtension('GL_ARB_half_float_vertex');
|
|
GL_ARB_imaging := CheckExtension('GL_ARB_imaging');
|
|
GL_ARB_instanced_arrays := CheckExtension('GL_ARB_instanced_arrays');
|
|
GL_ARB_map_buffer_range := CheckExtension('GL_ARB_map_buffer_range');
|
|
GL_ARB_matrix_palette := CheckExtension('GL_ARB_matrix_palette');
|
|
GL_ARB_multisample := CheckExtension(' GL_ARB_multisample'); // ' ' to avoid collision with WGL variant
|
|
GL_ARB_multitexture := CheckExtension('GL_ARB_multitexture');
|
|
GL_ARB_occlusion_query := CheckExtension('GL_ARB_occlusion_query');
|
|
GL_ARB_occlusion_query2 := CheckExtension('GL_ARB_occlusion_query2');
|
|
GL_ARB_pixel_buffer_object := CheckExtension('GL_ARB_pixel_buffer_object');
|
|
GL_ARB_point_parameters := CheckExtension('GL_ARB_point_parameters');
|
|
GL_ARB_point_sprite := CheckExtension('GL_ARB_point_sprite');
|
|
GL_ARB_provoking_vertex := CheckExtension('GL_ARB_provoking_vertex');
|
|
GL_ARB_robustness := CheckExtension('GL_ARB_robustness');
|
|
GL_ARB_sample_shading := CheckExtension('GL_ARB_sample_shading');
|
|
GL_ARB_sampler_objects := CheckExtension('GL_ARB_sampler_objects');
|
|
GL_ARB_seamless_cube_map := CheckExtension('GL_ARB_seamless_cube_map');
|
|
GL_ARB_separate_shader_objects := CheckExtension('GL_ARB_separate_shader_objects');
|
|
GL_ARB_shader_bit_encoding := CheckExtension('GL_ARB_shader_bit_encoding');
|
|
GL_ARB_shader_precision := CheckExtension('GL_ARB_shader_precision');
|
|
GL_ARB_shader_objects := CheckExtension('GL_ARB_shader_objects');
|
|
GL_ARB_shader_stencil_export := CheckExtension('GL_ARB_shader_stencil_export');
|
|
GL_ARB_shader_subroutine := CheckExtension('GL_ARB_shader_subroutine');
|
|
GL_ARB_shader_texture_lod := CheckExtension('GL_ARB_shader_texture_lod');
|
|
GL_ARB_shading_language_100 := CheckExtension('GL_ARB_shading_language_100');
|
|
GL_ARB_shadow := CheckExtension('GL_ARB_shadow');
|
|
GL_ARB_shadow_ambient := CheckExtension('GL_ARB_shadow_ambient');
|
|
GL_ARB_sync := CheckExtension('GL_ARB_sync');
|
|
GL_ARB_tessellation_shader := CheckExtension('GL_ARB_tessellation_shader');
|
|
GL_ARB_texture_border_clamp := CheckExtension('GL_ARB_texture_border_clamp');
|
|
GL_ARB_texture_buffer_object := CheckExtension('GL_ARB_texture_buffer_object');
|
|
GL_ARB_texture_buffer_object_rgb32 := CheckExtension('GL_ARB_texture_buffer_object_rgb32');
|
|
GL_ARB_texture_compression := CheckExtension('GL_ARB_texture_compression');
|
|
GL_ARB_texture_compression_rgtc := CheckExtension('GL_ARB_texture_compression_rgtc');
|
|
GL_ARB_texture_cube_map := CheckExtension('GL_ARB_texture_cube_map');
|
|
GL_ARB_texture_cube_map_array := CheckExtension('GL_ARB_texture_cube_map_array');
|
|
GL_ARB_texture_env_add := CheckExtension('GL_ARB_texture_env_add');
|
|
GL_ARB_texture_env_combine := CheckExtension('GL_ARB_texture_env_combine');
|
|
GL_ARB_texture_env_crossbar := CheckExtension('GL_ARB_texture_env_crossbar');
|
|
GL_ARB_texture_env_dot3 := CheckExtension('GL_ARB_texture_env_dot3');
|
|
GL_ARB_texture_float := CheckExtension('GL_ARB_texture_float');
|
|
GL_ARB_texture_gather := CheckExtension('GL_ARB_texture_gather');
|
|
GL_ARB_texture_mirrored_repeat := CheckExtension('GL_ARB_texture_mirrored_repeat');
|
|
GL_ARB_texture_multisample := CheckExtension('GL_ARB_texture_multisample');
|
|
GL_ARB_texture_non_power_of_two := CheckExtension('GL_ARB_texture_non_power_of_two');
|
|
GL_ARB_texture_query_lod := CheckExtension('GL_ARB_texture_query_lod');
|
|
GL_ARB_texture_rectangle := CheckExtension('GL_ARB_texture_rectangle');
|
|
GL_ARB_texture_rg := CheckExtension('GL_ARB_texture_rg');
|
|
GL_ARB_texture_rgb10_a2ui := CheckExtension('GL_ARB_texture_rgb10_a2ui');
|
|
GL_ARB_texture_swizzle := CheckExtension('GL_ARB_texture_swizzle');
|
|
GL_ARB_timer_query := CheckExtension('GL_ARB_timer_query');
|
|
GL_ARB_transform_feedback2 := CheckExtension('GL_ARB_transform_feedback2');
|
|
GL_ARB_transform_feedback3 := CheckExtension('GL_ARB_transform_feedback3');
|
|
GL_ARB_transpose_matrix := CheckExtension('GL_ARB_transpose_matrix');
|
|
GL_ARB_uniform_buffer_object := CheckExtension('GL_ARB_uniform_buffer_object');
|
|
GL_ARB_vertex_array_bgra := CheckExtension('GL_ARB_vertex_array_bgra');
|
|
GL_ARB_vertex_array_object := CheckExtension('GL_ARB_vertex_array_object');
|
|
GL_ARB_vertex_attrib_64bit := CheckExtension('GL_ARB_vertex_attrib_64bit');
|
|
GL_ARB_vertex_blend := CheckExtension('GL_ARB_vertex_blend');
|
|
GL_ARB_vertex_buffer_object := CheckExtension('GL_ARB_vertex_buffer_object');
|
|
GL_ARB_vertex_program := CheckExtension('GL_ARB_vertex_program');
|
|
GL_ARB_vertex_shader := CheckExtension('GL_ARB_vertex_shader');
|
|
GL_ARB_vertex_type_2_10_10_10_rev := CheckExtension('GL_ARB_vertex_type_2_10_10_10_rev');
|
|
GL_ARB_viewport_array := CheckExtension('GL_ARB_viewport_array');
|
|
GL_ARB_window_pos := CheckExtension('GL_ARB_window_pos');
|
|
GL_ARB_texture_compression_bptc := CheckExtension('GL_ARB_texture_compression_bptc');
|
|
|
|
// check Vendor/EXT OpenGL extensions
|
|
GL_3DFX_multisample := CheckExtension('GL_3DFX_multisample');
|
|
GL_3DFX_tbuffer := CheckExtension('GL_3DFX_tbuffer');
|
|
GL_3DFX_texture_compression_FXT1 := CheckExtension('GL_3DFX_texture_compression_FXT1');
|
|
GL_ATI_draw_buffers := CheckExtension('GL_ATI_draw_buffers');
|
|
GL_ATI_texture_compression_3dc := CheckExtension('GL_ATI_texture_compression_3dc');
|
|
GL_ATI_texture_float := CheckExtension('GL_ATI_texture_float');
|
|
GL_ATI_texture_mirror_once := CheckExtension('GL_ATI_texture_mirror_once');
|
|
|
|
GL_S3_s3tc := CheckExtension('GL_S3_s3tc');
|
|
|
|
GL_EXT_abgr := CheckExtension('GL_EXT_abgr');
|
|
GL_EXT_bgra := CheckExtension('GL_EXT_bgra');
|
|
GL_EXT_bindable_uniform := CheckExtension('GL_EXT_bindable_uniform');
|
|
GL_EXT_blend_color := CheckExtension('GL_EXT_blend_color');
|
|
GL_EXT_blend_equation_separate := CheckExtension('GL_EXT_blend_equation_separate');
|
|
GL_EXT_blend_func_separate := CheckExtension('GL_EXT_blend_func_separate');
|
|
GL_EXT_blend_logic_op := CheckExtension('GL_EXT_blend_logic_op');
|
|
GL_EXT_blend_minmax := CheckExtension('GL_EXT_blend_minmax');
|
|
GL_EXT_blend_subtract := CheckExtension('GL_EXT_blend_subtract');
|
|
GL_EXT_Cg_shader := CheckExtension('GL_EXT_Cg_shader');
|
|
GL_EXT_clip_volume_hint := CheckExtension('GL_EXT_clip_volume_hint');
|
|
GL_EXT_compiled_vertex_array := CheckExtension('GL_EXT_compiled_vertex_array');
|
|
GL_EXT_copy_texture := CheckExtension('GL_EXT_copy_texture');
|
|
GL_EXT_depth_bounds_test := CheckExtension('GL_EXT_depth_bounds_test');
|
|
GL_EXT_draw_buffers2 := CheckExtension('GL_EXT_draw_buffers2');
|
|
GL_EXT_draw_instanced := CheckExtension('GL_EXT_draw_instanced');
|
|
GL_EXT_draw_range_elements := CheckExtension('GL_EXT_draw_range_elements');
|
|
GL_EXT_fog_coord := CheckExtension('GL_EXT_fog_coord');
|
|
GL_EXT_framebuffer_blit := CheckExtension('GL_EXT_framebuffer_blit');
|
|
GL_EXT_framebuffer_multisample := CheckExtension('GL_EXT_framebuffer_multisample');
|
|
GL_EXT_framebuffer_object := CheckExtension('GL_EXT_framebuffer_object');
|
|
GL_EXT_framebuffer_sRGB := CheckExtension('GL_EXT_framebuffer_sRGB');
|
|
GL_EXT_geometry_shader4 := CheckExtension('GL_EXT_geometry_shader4');
|
|
GL_EXT_gpu_program_parameters := CheckExtension('GL_EXT_gpu_program_parameters');
|
|
GL_EXT_gpu_shader4 := CheckExtension('GL_EXT_gpu_shader4');
|
|
GL_EXT_multi_draw_arrays := CheckExtension('GL_EXT_multi_draw_arrays');
|
|
GL_EXT_multisample := CheckExtension('GL_EXT_multisample');
|
|
GL_EXT_packed_depth_stencil := CheckExtension('GL_EXT_packed_depth_stencil');
|
|
GL_EXT_packed_float := CheckExtension('GL_EXT_packed_float');
|
|
GL_EXT_packed_pixels := CheckExtension('GL_EXT_packed_pixels');
|
|
GL_EXT_paletted_texture := CheckExtension('GL_EXT_paletted_texture');
|
|
GL_EXT_pixel_buffer_object := CheckExtension('GL_EXT_pixel_buffer_object');
|
|
GL_EXT_polygon_offset := CheckExtension('GL_EXT_polygon_offset');
|
|
GL_EXT_rescale_normal := CheckExtension('GL_EXT_rescale_normal');
|
|
GL_EXT_secondary_color := CheckExtension('GL_EXT_secondary_color');
|
|
GL_EXT_separate_specular_color := CheckExtension('GL_EXT_separate_specular_color');
|
|
GL_EXT_shadow_funcs := CheckExtension('GL_EXT_shadow_funcs');
|
|
GL_EXT_shared_texture_palette := CheckExtension('GL_EXT_shared_texture_palette');
|
|
GL_EXT_stencil_clear_tag := CheckExtension('GL_EXT_stencil_clear_tag');
|
|
GL_EXT_stencil_two_side := CheckExtension('EXT_stencil_two_side');
|
|
GL_EXT_stencil_wrap := CheckExtension('GL_EXT_stencil_wrap');
|
|
GL_EXT_texture3D := CheckExtension('GL_EXT_texture3D');
|
|
GL_EXT_texture_array := CheckExtension('GL_EXT_texture_array');
|
|
GL_EXT_texture_buffer_object := CheckExtension('GL_EXT_texture_buffer_object');
|
|
GL_EXT_texture_compression_latc := CheckExtension('GL_EXT_texture_compression_latc');
|
|
GL_EXT_texture_compression_rgtc := CheckExtension('GL_EXT_texture_compression_rgtc');
|
|
GL_EXT_texture_compression_s3tc := CheckExtension('GL_EXT_texture_compression_s3tc');
|
|
GL_EXT_texture_cube_map := CheckExtension('GL_EXT_texture_cube_map');
|
|
GL_EXT_texture_edge_clamp := CheckExtension('GL_EXT_texture_edge_clamp');
|
|
GL_EXT_texture_env_add := CheckExtension('GL_EXT_texture_env_add');
|
|
GL_EXT_texture_env_combine := CheckExtension('GL_EXT_texture_env_combine');
|
|
GL_EXT_texture_env_dot3 := CheckExtension('GL_EXT_texture_env_dot3');
|
|
GL_EXT_texture_filter_anisotropic := CheckExtension('GL_EXT_texture_filter_anisotropic');
|
|
GL_EXT_texture_integer := CheckExtension('GL_EXT_texture_integer');
|
|
GL_EXT_texture_lod := CheckExtension('GL_EXT_texture_lod');
|
|
GL_EXT_texture_lod_bias := CheckExtension('GL_EXT_texture_lod_bias');
|
|
GL_EXT_texture_mirror_clamp := CheckExtension('GL_EXT_texture_mirror_clamp');
|
|
GL_EXT_texture_object := CheckExtension('GL_EXT_texture_object');
|
|
GL_EXT_texture_rectangle := CheckExtension('GL_EXT_texture_rectangle');
|
|
GL_EXT_texture_sRGB := CheckExtension('GL_EXT_texture_sRGB');
|
|
GL_EXT_texture_shared_exponent := CheckExtension('GL_EXT_texture_shared_exponent');
|
|
GL_EXT_timer_query := CheckExtension('GL_EXT_timer_query');
|
|
GL_EXT_transform_feedback := CheckExtension('GL_EXT_transform_feedback');
|
|
GL_EXT_vertex_array := CheckExtension('GL_EXT_vertex_array');
|
|
|
|
GL_HP_occlusion_test := CheckExtension('GL_HP_occlusion_test');
|
|
|
|
GL_IBM_rasterpos_clip := CheckExtension('GL_IBM_rasterpos_clip');
|
|
|
|
GL_KTX_buffer_region := CheckExtension('GL_KTX_buffer_region');
|
|
|
|
GL_MESA_resize_buffers := CheckExtension('GL_MESA_resize_buffers');
|
|
|
|
GL_NV_blend_square := CheckExtension('GL_NV_blend_square');
|
|
GL_NV_conditional_render := CheckExtension('GL_NV_conditional_render');
|
|
GL_NV_copy_image := CheckExtension('GL_NV_copy_image');
|
|
GL_NV_depth_buffer_float := CheckExtension('GL_NV_depth_buffer_float');
|
|
GL_NV_fence := CheckExtension('GL_NV_fence');
|
|
GL_NV_float_buffer := CheckExtension('GL_NV_float_buffer');
|
|
GL_NV_fog_distance := CheckExtension('GL_NV_fog_distance');
|
|
GL_NV_geometry_program4 := CheckExtension('GL_NV_geometry_program4');
|
|
GL_NV_light_max_exponent := CheckExtension('GL_NV_light_max_exponent');
|
|
GL_NV_multisample_filter_hint := CheckExtension('GL_NV_multisample_filter_hint');
|
|
GL_NV_occlusion_query := CheckExtension('GL_NV_occlusion_query');
|
|
GL_NV_point_sprite := CheckExtension('GL_NV_point_sprite');
|
|
GL_NV_primitive_restart := CheckExtension('GL_NV_primitive_restart');
|
|
GL_NV_register_combiners := CheckExtension('GL_NV_register_combiners');
|
|
GL_NV_shader_buffer_load := CheckExtension('GL_NV_shader_buffer_load');
|
|
GL_NV_texgen_reflection := CheckExtension('GL_NV_texgen_reflection');
|
|
GL_NV_texture_compression_vtc := CheckExtension('GL_NV_texture_compression_vtc');
|
|
GL_NV_texture_env_combine4 := CheckExtension('GL_NV_texture_env_combine4');
|
|
GL_NV_texture_rectangle := CheckExtension('GL_NV_texture_rectangle');
|
|
GL_NV_texture_shader := CheckExtension('GL_NV_texture_shader');
|
|
GL_NV_texture_shader2 := CheckExtension('GL_NV_texture_shader2');
|
|
GL_NV_texture_shader3 := CheckExtension('GL_NV_texture_shader3');
|
|
GL_NV_transform_feedback := CheckExtension('GL_NV_transform_feedback');
|
|
GL_NV_vertex_array_range := CheckExtension('GL_NV_vertex_array_range');
|
|
GL_NV_vertex_array_range2 := CheckExtension('GL_NV_vertex_array_range2');
|
|
GL_NV_vertex_buffer_unified_memory := CheckExtension('GL_NV_vertex_buffer_unified_memory');
|
|
GL_NV_vertex_program := CheckExtension('GL_NV_vertex_program');
|
|
|
|
GL_SGI_color_matrix := CheckExtension('GL_SGI_color_matrix');
|
|
|
|
GL_SGIS_generate_mipmap := CheckExtension('GL_SGIS_generate_mipmap');
|
|
GL_SGIS_multisample := CheckExtension('GL_SGIS_multisample');
|
|
GL_SGIS_texture_border_clamp := CheckExtension('GL_SGIS_texture_border_clamp');
|
|
GL_SGIS_texture_color_mask := CheckExtension('GL_SGIS_texture_color_mask');
|
|
GL_SGIS_texture_edge_clamp := CheckExtension('GL_SGIS_texture_edge_clamp');
|
|
GL_SGIS_texture_lod := CheckExtension('GL_SGIS_texture_lod');
|
|
|
|
GL_SGIX_depth_texture := CheckExtension('GL_SGIX_depth_texture');
|
|
GL_SGIX_shadow := CheckExtension('GL_SGIX_shadow');
|
|
GL_SGIX_shadow_ambient := CheckExtension('GL_SGIX_shadow_ambient');
|
|
|
|
GL_AMD_vertex_shader_tessellator := CheckExtension('GL_AMD_vertex_shader_tessellator');
|
|
|
|
GL_WIN_swap_hint := CheckExtension('GL_WIN_swap_hint');
|
|
|
|
GL_GREMEDY_frame_terminator := CheckExtension('GL_GREMEDY_frame_terminator');
|
|
GL_GREMEDY_string_marker := CheckExtension('GL_GREMEDY_string_marker');
|
|
|
|
// check supported GLU extensions
|
|
Buffer := String(gluGetString(GLU_EXTENSIONS));
|
|
GLU_EXT_nurbs_tessellator := CheckExtension('GLU_EXT_nurbs_tessellator');
|
|
GLU_EXT_object_space_tess := CheckExtension('GLU_EXT_object_space_tess');
|
|
GLU_EXT_TEXTURE := CheckExtension('GLU_EXT_TEXTURE');
|
|
|
|
{$IFDEF SUPPORT_WGL}
|
|
//check supported WGL extensions
|
|
ReadWGLImplementationProperties;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF SUPPORT_GLX}
|
|
//check supported GLX extensions
|
|
ReadGLXImplementationProperties;
|
|
{$ENDIF}
|
|
end;
|
|
|
|
{$IFDEF SUPPORT_WGL}
|
|
// ReadWGLImplementationProperties
|
|
//
|
|
procedure ReadWGLImplementationProperties;
|
|
var
|
|
Buffer: string;
|
|
|
|
// Checks if the given Extension string is in Buffer.
|
|
function CheckExtension(const Extension: string): Boolean;
|
|
var
|
|
ExtPos: Integer;
|
|
begin
|
|
// First find the position of the extension string as substring in Buffer.
|
|
ExtPos := Pos(Extension, Buffer);
|
|
Result := ExtPos > 0;
|
|
// Now check that it isn't only a substring of another extension.
|
|
if Result then
|
|
Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
|
|
or (Buffer[ExtPos + Length(Extension)]=' ');
|
|
end;
|
|
|
|
begin
|
|
// ARB wgl extensions
|
|
if Assigned(wglGetExtensionsStringARB) then
|
|
Buffer:=String(wglGetExtensionsStringARB(wglGetCurrentDC))
|
|
else Buffer:='';
|
|
WGL_ARB_buffer_region:=CheckExtension('WGL_ARB_buffer_region');
|
|
WGL_ARB_create_context := CheckExtension('WGL_ARB_create_context');
|
|
WGL_ARB_create_context_profile := CheckExtension('WGL_ARB_create_context_profile');
|
|
WGL_ARB_extensions_string:=CheckExtension('WGL_ARB_extensions_string');
|
|
WGL_ARB_framebuffer_sRGB := CheckExtension('WGL_ARB_framebuffer_sRGB');
|
|
WGL_ARB_make_current_read:=CheckExtension('WGL_ARB_make_current_read');
|
|
WGL_ARB_multisample:=CheckExtension('WGL_ARB_multisample');
|
|
WGL_ARB_pbuffer:=CheckExtension('WGL_ARB_pbuffer');
|
|
WGL_ARB_pixel_format:=CheckExtension('WGL_ARB_pixel_format');
|
|
WGL_ARB_pixel_format_float:=CheckExtension('WGL_ARB_pixel_format_float');
|
|
WGL_ARB_render_texture:=CheckExtension('WGL_ARB_render_texture');
|
|
// Vendor/EXT wgl extensions
|
|
WGL_ATI_pixel_format_float := CheckExtension('WGL_ATI_pixel_format_float');
|
|
WGL_EXT_framebuffer_sRGB := CheckExtension('WGL_EXT_framebuffer_sRGB');
|
|
WGL_EXT_pixel_format_packed_float := CheckExtension('WGL_EXT_pixel_format_packed_float');
|
|
WGL_EXT_swap_control := CheckExtension('WGL_EXT_swap_control');
|
|
WGL_NV_gpu_affinity := CheckExtension('WGL_NV_gpu_affinity');
|
|
end;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF SUPPORT_GLX}
|
|
// ReadGLXImplementationProperties
|
|
//
|
|
procedure ReadGLXImplementationProperties;
|
|
var
|
|
Buffer: string;
|
|
MajorVersion, MinorVersion: Integer;
|
|
Dpy: PDisplay;
|
|
// Checks if the given Extension string is in Buffer.
|
|
function CheckExtension(const Extension: string): Boolean;
|
|
var
|
|
ExtPos: Integer;
|
|
begin
|
|
// First find the position of the extension string as substring in Buffer.
|
|
ExtPos := Pos(Extension, Buffer);
|
|
Result := ExtPos > 0;
|
|
// Now check that it isn't only a substring of another extension.
|
|
if Result then
|
|
Result := ((ExtPos + Length(Extension) - 1)= Length(Buffer))
|
|
or (Buffer[ExtPos + Length(Extension)]=' ');
|
|
end;
|
|
begin
|
|
Dpy:=glXGetCurrentDisplay();
|
|
buffer:=String(glXQueryServerString(Dpy, XDefaultScreen(Dpy), GLX_VERSION));
|
|
TrimAndSplitVersionString(buffer, majorversion, minorVersion);
|
|
GLX_VERSION_1_1:=IsVersionMet(1,1,majorVersion,minorVersion);
|
|
GLX_VERSION_1_2:=IsVersionMet(1,2,majorVersion,minorVersion);
|
|
GLX_VERSION_1_3:=IsVersionMet(1,3,majorVersion,minorVersion);
|
|
GLX_VERSION_1_4:=IsVersionMet(1,4,majorVersion,minorVersion);
|
|
|
|
// This procedure will probably need changing, as totally untested
|
|
// This might only work if GLX functions/procedures are loaded dynamically
|
|
if Assigned(glXQueryExtensionsString) then
|
|
Buffer := glXQueryExtensionsString(Dpy, 0) //guess at a valid screen
|
|
else
|
|
Buffer:='';
|
|
GLX_ARB_create_context := CheckExtension('GLX_ARB_create_context');
|
|
GLX_ARB_create_context_profile := CheckExtension('GLX_ARB_create_context_profile');
|
|
GLX_ARB_framebuffer_sRGB := CheckExtension('GLX_ARB_framebuffer_sRGB');
|
|
GLX_EXT_framebuffer_sRGB := CheckExtension('GLX_EXT_framebuffer_sRGB');
|
|
GLX_EXT_fbconfig_packed_float := CheckExtension('GLX_EXT_fbconfig_packed_float');
|
|
GLX_SGI_swap_control := CheckExtension('GLX_SGI_swap_control');
|
|
GLX_ARB_multisample := CheckExtension('GLX_ARB_multisample');
|
|
|
|
GLX_SGIS_multisample := CheckExtension('GLX_SGIS_multisample');
|
|
GLX_EXT_visual_info := CheckExtension('GLX_EXT_visual_info');
|
|
GLX_SGI_video_sync := CheckExtension('GLX_SGI_video_sync');
|
|
GLX_SGI_make_current_read := CheckExtension('GLX_SGI_make_current_read');
|
|
GLX_SGIX_video_source := CheckExtension('GLX_SGIX_video_source');
|
|
GLX_EXT_visual_rating := CheckExtension('GLX_EXT_visual_rating');
|
|
GLX_EXT_import_context := CheckExtension('GLX_EXT_import_context');
|
|
GLX_SGIX_fbconfig := CheckExtension('GLX_SGIX_fbconfig');
|
|
GLX_SGIX_pbuffer := CheckExtension('GLX_SGIX_pbuffer');
|
|
GLX_SGI_cushion := CheckExtension('GLX_SGI_cushion');
|
|
GLX_SGIX_video_resize := CheckExtension('GLX_SGIX_video_resize');
|
|
GLX_SGIX_dmbuffer := CheckExtension('GLX_SGIX_dmbuffer');
|
|
GLX_SGIX_swap_group := CheckExtension('GLX_SGIX_swap_group');
|
|
GLX_SGIX_swap_barrier := CheckExtension('GLX_SGIX_swap_barrier');
|
|
GLX_SGIS_blended_overlay := CheckExtension('GLX_SGIS_blended_overlay');
|
|
GLX_SGIS_shared_multisample := CheckExtension('GLX_SGIS_shared_multisample');
|
|
GLX_SUN_get_transparent_index := CheckExtension('GLX_SUN_get_transparent_index');
|
|
GLX_3DFX_multisample := CheckExtension('GLX_3DFX_multisample');
|
|
GLX_MESA_copy_sub_buffer := CheckExtension('GLX_MESA_copy_sub_buffer');
|
|
GLX_MESA_pixmap_colormap := CheckExtension('GLX_MESA_pixmap_colormap');
|
|
GLX_MESA_release_buffers := CheckExtension('GLX_MESA_release_buffers');
|
|
GLX_MESA_set_3dfx_mode := CheckExtension('GLX_MESA_set_3dfx_mode');
|
|
GLX_SGIX_visual_select_group := CheckExtension('GLX_SGIX_visual_select_group');
|
|
GLX_SGIX_hyperpipe := CheckExtension('GLX_SGIX_hyperpipe');
|
|
end;
|
|
{$ENDIF}
|
|
|
|
// CloseOpenGL
|
|
//
|
|
procedure CloseOpenGL;
|
|
begin
|
|
if GLHandle<>INVALID_MODULEHANDLE then begin
|
|
FreeLibrary(Cardinal(GLHandle));
|
|
GLHandle:=INVALID_MODULEHANDLE;
|
|
end;
|
|
|
|
if GLUHandle<>INVALID_MODULEHANDLE then begin
|
|
FreeLibrary(Cardinal(GLUHandle));
|
|
GLUHandle:=INVALID_MODULEHANDLE;
|
|
end;
|
|
end;
|
|
|
|
// InitOpenGL
|
|
//
|
|
function InitOpenGL : Boolean;
|
|
begin
|
|
if (GLHandle=INVALID_MODULEHANDLE) or (GLUHandle=INVALID_MODULEHANDLE) then
|
|
Result:=InitOpenGLFromLibrary(opengl32, glu32)
|
|
else Result:=True;
|
|
end;
|
|
|
|
// InitOpenGLFromLibrary
|
|
//
|
|
function InitOpenGLFromLibrary(const GLName, GLUName : String) : Boolean;
|
|
begin
|
|
Result := False;
|
|
CloseOpenGL;
|
|
|
|
GLHandle:=LoadLibrary(PChar(GLName));
|
|
GLUHandle:=LoadLibrary(PChar(GLUName));
|
|
|
|
if (GLHandle<>INVALID_MODULEHANDLE) and (GLUHandle<>INVALID_MODULEHANDLE) then
|
|
Result:=True
|
|
else begin
|
|
if GLHandle<>INVALID_MODULEHANDLE then
|
|
FreeLibrary(Cardinal(GLHandle));
|
|
if GLUHandle<>INVALID_MODULEHANDLE then
|
|
FreeLibrary(Cardinal(GLUHandle));
|
|
end;
|
|
end;
|
|
|
|
// IsOpenGLInitialized
|
|
//
|
|
function IsOpenGLInitialized: Boolean;
|
|
begin
|
|
Result:=(GLHandle<>INVALID_MODULEHANDLE);
|
|
end;
|
|
|
|
// compatibility routines
|
|
|
|
// UnloadOpenGL
|
|
//
|
|
procedure UnloadOpenGL;
|
|
begin
|
|
CloseOpenGL;
|
|
end;
|
|
|
|
// LoadOpenGL
|
|
//
|
|
function LoadOpenGL: Boolean;
|
|
begin
|
|
Result := InitOpenGL;
|
|
end;
|
|
|
|
// LoadOpenGLFromLibrary
|
|
//
|
|
function LoadOpenGLFromLibrary(GLName, GLUName: String): Boolean;
|
|
begin
|
|
Result := InitOpenGLFromLibrary(GLName, GLUName);
|
|
end;
|
|
|
|
// IsOpenGLLoaded
|
|
//
|
|
function IsOpenGLLoaded: Boolean;
|
|
begin
|
|
Result := IsOpenGLInitialized();
|
|
end;
|
|
|
|
// IsMesaGL
|
|
//
|
|
function IsMesaGL : Boolean;
|
|
begin
|
|
Result:=GLGetProcAddress('glResizeBuffersMESA')<>nil;
|
|
end;
|
|
|
|
// IsOpenGLVersionMet
|
|
//
|
|
function IsOpenGLVersionMet(MajorVersion, MinorVersion: Integer): boolean;
|
|
var
|
|
Buffer : String;
|
|
GLMajorVersion, GLMinorVersion: Integer;
|
|
begin
|
|
buffer:=String(glGetString(GL_VERSION));
|
|
TrimAndSplitVersionString(buffer, GLMajorVersion, GLMinorVersion);
|
|
Result:=IsVersionMet(MajorVersion,MinorVersion,GLMajorVersion,GLMinorVersion);
|
|
end;
|
|
|
|
initialization
|
|
|
|
Set8087CW($133F);
|
|
|
|
finalization
|
|
|
|
CloseOpenGL;
|
|
|
|
end.
|
|
|