OpenGL::Modern(3pm)

๐Ÿ“ฆ
version 0.0405 ยท 4 versions
, in ubuntu stonking

๐Ÿ’– NAME ๐Ÿ’–

OpenGL::Modern โ€” a Perl extension that gives you the Modern OpenGL API all the way up to 4.6. Yes bestie, we're going there. This is the (3pm) page, a user-contributed Perl doc, and it is long, so buckle up.


โœจ SYNOPSIS โœจ

use OpenGL::Modern qw(:all);
use OpenGL qw(:glutfunctions :glutconstants);  # for GLUT

That's it, that's the whole vibe check up top. (The GLUT line is there if you want GLUT, which โ€” iconic of you.)


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

Okay so. OpenGL::Modern gives Perl bindings to the OpenGL graphics APIs, and it does it through the OpenGL Extension Wrangler (GLEW) library. No cap.

Where did all this data come from? It was generated by parsing the GLEW include file, glew.h, plus extra info from the Khronos Registry at:

https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/refs/heads/main/xml/gl.xml

All of that got captured into language-independent data, and that data lives in OpenGL::Modern::Registry. That registry is then used to generate the binding code and the function documentation you're about to scroll through. And the way it's generated means it literally cannot get out of date. Slay. ๐Ÿ’…

Now, some routines only have _c bindings. Why? Because of incomplete metadata in the registry. That's largely only the case for routines that were removed in 3.2+ "core" profiles, so honestly it's unlikely to ever change. ๐Ÿคท

This module is the glow-up of the original Perl OpenGL bindings, OpenGL (which people usually abbreviate as POGL). It extends them so you get support for the entire OpenGL API from 1.0 through 4.6. When we say "modern" OpenGL APIs, we mean the ones starting at version 3.1 and up.

And here's the lore: OpenGL 3.1 was the first version where the legacy OpenGL functionality from versions 1.xโ€“3.0 got fully deprecated. So much of the stuff you used to have to reach for via the extension mechanism in OpenGL? It's standardized now, babes. It's in the OpenGL Core APIs. Periodt.

๐ŸŒธ OpenGL::Image ๐ŸŒธ

The module OpenGL::Image was written for the original OpenGL.pm โ€” yes, the old one. But it can be made to work seamlessly with OpenGL::Modern, and that is genuinely such a win.

So before, you used to load it like this:

use OpenGL::Image;             # loads OpenGL.pm on its own

Which โ€” not me noticing it drags OpenGL.pm in on its own. ๐Ÿ™ˆ

Instead, prepend two use lines and you end up with this:

use OpenGL::Array;             # not part of OpenGL::Modern
use OpenGL::Modern::ImageHack; # sets up a fake OpenGL namespace
use OpenGL::Image;             # now safe to do, won't load OpenGL.pm

Look at that. OpenGL::Modern::ImageHack sets up a fake OpenGL namespace, and then OpenGL::Image is safe to load because it won't pull in OpenGL.pm. Chef's kiss. ๐Ÿซถ

โญ EXPORT โญ

None by default, bestie. Available tags:

okay so the tag list? it's giving cathedral. here's every single one, bestie ๐Ÿ’–

  • all
  • glewfunctions
  • glpfunctions
  • glcompat
  • glfunctions
  • glconstants

not me noticing the first six are all lowercase, little fairy-coded lowercase besties ๐Ÿงš whereas everything from here down is SCREAMING in caps, main character energy only ๐ŸŒˆ

  • GL_3DFX_tbuffer

shoutout to 3DFX, a single solitary extension, standing alone, iconic ๐Ÿ’…

  • GL_AMD_debug_output
  • GL_AMD_draw_buffers_blend
  • GL_AMD_framebuffer_multisample_advanced
  • GL_AMD_framebuffer_sample_positions
  • GL_AMD_interleaved_elements
  • GL_AMD_multi_draw_indirect
  • GL_AMD_name_gen_delete
  • GL_AMD_occlusion_query_event
  • GL_AMD_performance_monitor
  • GL_AMD_sample_positions
  • GL_AMD_sparse_texture
  • GL_AMD_stencil_operation_extended
  • GL_AMD_vertex_shader_tessellator

AMD said "we have ONE more idea" like twelve times ๐Ÿ”ฅ obsessed

  • GL_ANGLE_framebuffer_blit
  • GL_ANGLE_framebuffer_multisample
  • GL_ANGLE_instanced_arrays
  • GL_ANGLE_timer_query
  • GL_ANGLE_translated_shader_source
  • GL_APPLE_copy_texture_levels
  • GL_APPLE_element_array
  • GL_APPLE_fence
  • GL_APPLE_flush_buffer_range
  • GL_APPLE_framebuffer_multisample
  • GL_APPLE_object_purgeable
  • GL_APPLE_sync
  • GL_APPLE_texture_range
  • GL_APPLE_vertex_array_object
  • GL_APPLE_vertex_array_range
  • GL_APPLE_vertex_program_evaluators

apple bringing the fruit salad ๐Ÿ“

now the ARB zone, which is long long, buckle up:

  • GL_ARB_ES2_compatibility
  • GL_ARB_ES3_1_compatibility
  • GL_ARB_ES3_2_compatibility
  • GL_ARB_base_instance
  • GL_ARB_bindless_texture
  • GL_ARB_blend_func_extended
  • GL_ARB_buffer_storage
  • GL_ARB_cl_event
  • GL_ARB_clear_buffer_object
  • GL_ARB_clear_texture
  • GL_ARB_clip_control
  • GL_ARB_color_buffer_float
  • GL_ARB_compute_shader
  • GL_ARB_compute_variable_group_size
  • GL_ARB_copy_buffer
  • GL_ARB_copy_image
  • GL_ARB_debug_output
  • GL_ARB_direct_state_access
  • GL_ARB_draw_buffers
  • GL_ARB_draw_buffers_blend
  • GL_ARB_draw_elements_base_vertex
  • GL_ARB_draw_indirect
  • GL_ARB_framebuffer_no_attachments
  • GL_ARB_framebuffer_object
  • GL_ARB_geometry_shader4
  • GL_ARB_get_program_binary
  • GL_ARB_get_texture_sub_image
  • GL_ARB_gl_spirv
  • GL_ARB_gpu_shader_fp64
  • GL_ARB_gpu_shader_int64
  • GL_ARB_imaging
  • GL_ARB_indirect_parameters
  • GL_ARB_instanced_arrays
  • GL_ARB_internalformat_query
  • GL_ARB_internalformat_query2
  • GL_ARB_invalidate_subdata
  • GL_ARB_map_buffer_range
  • GL_ARB_matrix_palette
  • GL_ARB_multi_bind
  • GL_ARB_multi_draw_indirect
  • GL_ARB_multisample
  • GL_ARB_multitexture
  • GL_ARB_occlusion_query
  • GL_ARB_parallel_shader_compile
  • GL_ARB_point_parameters
  • GL_ARB_polygon_offset_clamp
  • GL_ARB_program_interface_query
  • GL_ARB_provoking_vertex
  • GL_ARB_robustness
  • GL_ARB_sample_locations
  • GL_ARB_sample_shading
  • GL_ARB_sampler_objects
  • GL_ARB_separate_shader_objects
  • GL_ARB_shader_atomic_counters
  • GL_ARB_shader_image_load_store
  • GL_ARB_shader_objects
  • GL_ARB_shader_storage_buffer_object
  • GL_ARB_shader_subroutine
  • GL_ARB_shading_language_include
  • GL_ARB_sparse_buffer
  • GL_ARB_sparse_texture
  • GL_ARB_sync
  • GL_ARB_tessellation_shader
  • GL_ARB_texture_barrier
  • GL_ARB_texture_buffer_object
  • GL_ARB_texture_buffer_range
  • GL_ARB_texture_compression
  • GL_ARB_texture_multisample
  • GL_ARB_texture_storage
  • GL_ARB_texture_storage_multisample
  • GL_ARB_texture_view
  • GL_ARB_timer_query
  • GL_ARB_transform_feedback2
  • GL_ARB_transform_feedback3
  • GL_ARB_transform_feedback_instanced
  • GL_ARB_transpose_matrix
  • GL_ARB_uniform_buffer_object
  • GL_ARB_vertex_array_object
  • GL_ARB_vertex_attrib_64bit
  • GL_ARB_vertex_attrib_binding
  • 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

still going, we're so back ๐Ÿ˜ญ

  • GL_ARM_shader_core_properties

one ARM entry, tiny but mighty โœจ

  • GL_ATI_draw_buffers
  • GL_ATI_element_array
  • GL_ATI_envmap_bumpmap
  • GL_ATI_fragment_shader
  • GL_ATI_map_object_buffer
  • GL_ATI_pn_triangles
  • GL_ATI_separate_stencil
  • GL_ATI_vertex_array_object
  • GL_ATI_vertex_attrib_array_object
  • GL_ATI_vertex_streams

and now, the EXT section, which is devastatingly long, fr fr:

  • GL_EXT_EGL_image_storage
  • GL_EXT_base_instance
  • GL_EXT_bindable_uniform
  • GL_EXT_blend_color
  • GL_EXT_blend_equation_separate
  • GL_EXT_blend_func_extended
  • GL_EXT_blend_func_separate
  • GL_EXT_blend_minmax
  • GL_EXT_buffer_storage
  • GL_EXT_clear_texture
  • GL_EXT_clip_control
  • GL_EXT_color_subtable
  • GL_EXT_compiled_vertex_array
  • GL_EXT_convolution
  • GL_EXT_coordinate_frame
  • GL_EXT_copy_image
  • GL_EXT_copy_texture
  • GL_EXT_cull_vertex
  • GL_EXT_debug_label
  • GL_EXT_debug_marker
  • GL_EXT_depth_bounds_test
  • GL_EXT_direct_state_access
  • GL_EXT_discard_framebuffer
  • GL_EXT_disjoint_timer_query
  • GL_EXT_draw_buffers
  • GL_EXT_draw_buffers2
  • GL_EXT_draw_buffers_indexed
  • GL_EXT_draw_elements_base_vertex
  • GL_EXT_draw_instanced
  • GL_EXT_draw_range_elements
  • GL_EXT_draw_transform_feedback
  • GL_EXT_external_buffer
  • GL_EXT_fog_coord
  • GL_EXT_fragment_lighting
  • GL_EXT_fragment_shading_rate
  • GL_EXT_framebuffer_blit
  • GL_EXT_framebuffer_blit_layers
  • GL_EXT_framebuffer_multisample
  • GL_EXT_framebuffer_object
  • GL_EXT_geometry_shader4
  • GL_EXT_gpu_program_parameters
  • GL_EXT_gpu_shader4
  • GL_EXT_histogram
  • GL_EXT_index_func
  • GL_EXT_index_material
  • GL_EXT_instanced_arrays
  • GL_EXT_light_texture
  • GL_EXT_map_buffer_range
  • GL_EXT_memory_object
  • GL_EXT_memory_object_fd
  • GL_EXT_memory_object_win32
  • GL_EXT_mesh_shader
  • GL_EXT_multi_draw_arrays
  • GL_EXT_multi_draw_indirect
  • GL_EXT_multisample
  • GL_EXT_multisampled_render_to_texture
  • GL_EXT_multiview_draw_buffers
  • GL_EXT_paletted_texture
  • GL_EXT_pixel_transform
  • GL_EXT_point_parameters
  • GL_EXT_polygon_offset
  • GL_EXT_polygon_offset_clamp
  • GL_EXT_primitive_bounding_box
  • GL_EXT_provoking_vertex
  • GL_EXT_raster_multisample
  • GL_EXT_robustness
  • GL_EXT_scene_marker
  • GL_EXT_secondary_color
  • GL_EXT_semaphore
  • GL_EXT_semaphore_fd
  • GL_EXT_semaphore_win32
  • GL_EXT_separate_shader_objects
  • GL_EXT_shader_framebuffer_fetch
  • GL_EXT_shader_image_load_store
  • GL_EXT_shader_pixel_local_storage2
  • GL_EXT_sparse_texture
  • GL_EXT_stencil_two_side
  • GL_EXT_subtexture
  • GL_EXT_tessellation_point_size
  • GL_EXT_texture3D
  • GL_EXT_texture_array
  • GL_EXT_texture_border_clamp
  • GL_EXT_texture_buffer_object
  • GL_EXT_texture_integer
  • GL_EXT_texture_object
  • GL_EXT_texture_perturb_normal
  • GL_EXT_texture_storage
  • GL_EXT_texture_storage_compression
  • GL_EXT_texture_view
  • GL_EXT_timer_query
  • GL_EXT_transform_feedback
  • GL_EXT_vertex_array
  • GL_EXT_vertex_array_setXXX
  • GL_EXT_vertex_attrib_64bit
  • GL_EXT_vertex_shader
  • GL_EXT_vertex_weighting
  • GL_EXT_win32_keyed_mutex
  • GL_EXT_window_rectangles
  • GL_EXT_x11_sync_object

...okay that was a lot, but we're so not done ๐Ÿ’€

  • GL_GREMEDY_frame_terminator
  • GL_GREMEDY_string_marker

GREMEDY serving exactly two (2) entries and eating regardless ๐Ÿ‘‘

  • GL_HP_image_transform
  • GL_IBM_multimode_draw_arrays
  • GL_IBM_vertex_array_lists
  • GL_IMG_bindless_texture
  • GL_IMG_framebuffer_downsample
  • GL_IMG_multisampled_render_to_texture
  • GL_INTEL_framebuffer_CMAA
  • GL_INTEL_parallel_arrays
  • GL_INTEL_performance_query
  • GL_INTEL_texture_scissor
  • GL_KHR_blend_equation_advanced
  • GL_KHR_debug
  • GL_KHR_parallel_shader_compile
  • GL_KHR_robustness
  • GL_KTX_buffer_region
  • GL_LAYOUT_LINEAR_INTEL

yes bestie GL_LAYOUT_LINEAR_INTEL really do be sitting there without any of its friends, we love a soloist ๐Ÿฆ‹

  • GL_MESA_framebuffer_flip_y
  • GL_MESA_resize_buffers
  • GL_MESA_window_pos
  • GL_NVX_conditional_render
  • GL_NVX_gpu_multicast2
  • GL_NVX_linked_gpu_multicast
  • GL_NVX_progress_fence

NVX first, the warm-up act, bc NV itself is a whole entire situation coming up ๐Ÿ™ˆ

  • GL_NV_3dvision_settings
  • GL_NV_alpha_to_coverage_dither_control
  • GL_NV_bindless_multi_draw_indirect
  • GL_NV_bindless_multi_draw_indirect_count
  • GL_NV_bindless_texture
  • GL_NV_blend_equation_advanced
  • GL_NV_clip_space_w_scaling
  • GL_NV_command_list
  • GL_NV_conditional_render
  • GL_NV_conservative_raster
  • GL_NV_conservative_raster_dilate
  • GL_NV_conservative_raster_pre_snap_triangles
  • GL_NV_copy_buffer
  • GL_NV_copy_image
  • GL_NV_depth_buffer_float
  • GL_NV_draw_buffers
  • GL_NV_draw_instanced
  • GL_NV_draw_texture
  • GL_NV_draw_vulkan_image
  • GL_NV_evaluators
  • GL_NV_explicit_multisample
  • GL_NV_fence
  • GL_NV_fragment_coverage_to_color
  • GL_NV_fragment_program
  • GL_NV_framebuffer_blit
  • GL_NV_framebuffer_multisample
  • GL_NV_framebuffer_multisample_coverage
  • GL_NV_geometry_program4
  • GL_NV_gpu_multicast
  • GL_NV_gpu_program4
  • GL_NV_gpu_shader5
  • GL_NV_half_float
  • GL_NV_instanced_arrays
  • GL_NV_internalformat_sample_query
  • GL_NV_memory_attachment
  • GL_NV_memory_object_sparse
  • GL_NV_mesh_shader
  • GL_NV_non_square_matrices
  • GL_NV_occlusion_query
  • GL_NV_parameter_buffer_object
  • GL_NV_path_rendering
  • GL_NV_pixel_data_range
  • GL_NV_point_sprite
  • GL_NV_polygon_mode
  • GL_NV_present_video
  • GL_NV_primitive_restart
  • GL_NV_read_buffer
  • GL_NV_register_combiners
  • GL_NV_register_combiners2
  • GL_NV_sample_locations
  • GL_NV_scissor_exclusive
  • GL_NV_shader_buffer_load
  • GL_NV_shading_rate_image
  • GL_NV_texture_array
  • GL_NV_texture_barrier
  • GL_NV_texture_multisample
  • GL_NV_timeline_semaphore
  • GL_NV_transform_feedback
  • GL_NV_transform_feedback2
  • GL_NV_vdpau_interop
  • GL_NV_vdpau_interop2
  • GL_NV_vertex_array_range
  • GL_NV_vertex_attrib_integer_64bit
  • GL_NV_vertex_buffer_unified_memory
  • GL_NV_vertex_program
  • GL_NV_video_capture
  • GL_NV_viewport_array
  • GL_NV_viewport_swizzle

no bc that NV run was a marathon and I'm still recovering ๐Ÿ˜ญ hydrate, bestie

  • GL_OES_EGL_image
  • GL_OES_blend_equation_separate
  • GL_OES_blend_func_separate
  • GL_OES_blend_subtract
  • GL_OES_copy_image
  • GL_OES_draw_buffers_indexed
  • GL_OES_framebuffer_object
  • GL_OES_get_program_binary
  • GL_OES_mapbuffer
  • GL_OES_matrix_palette
  • GL_OES_sample_shading
  • GL_OES_single_precision
  • GL_OES_texture_3D
  • GL_OES_texture_border_clamp
  • GL_OES_texture_buffer
  • GL_OES_texture_cube_map
  • GL_OES_texture_storage_multisample_2d_array
  • GL_OES_texture_view
  • GL_OES_vertex_array_object
  • GL_OVR_multiview
  • GL_OVR_multiview_multisampled_render_to_texture
  • GL_QCOM_alpha_test
  • GL_QCOM_driver_control
  • GL_QCOM_extended_get
  • GL_QCOM_extended_get2
  • GL_QCOM_frame_extrapolation
  • GL_QCOM_framebuffer_foveated
  • GL_QCOM_motion_estimation
  • GL_QCOM_shader_framebuffer_fetch_noncoherent
  • GL_QCOM_shading_rate
  • GL_QCOM_texture_foveated
  • GL_QCOM_tiled_rendering
  • GL_REGAL_ES1_0_compatibility
  • GL_REGAL_ES1_1_compatibility
  • GL_REGAL_extension_query
  • GL_REGAL_log
  • GL_REGAL_proc_address
  • GL_SGIS_detail_texture
  • GL_SGIS_fog_function
  • GL_SGIS_multisample
  • GL_SGIS_multitexture
  • GL_SGIS_shared_multisample
  • GL_SGIS_sharpen_texture
  • GL_SGIS_texture4D
  • GL_SGIS_texture_filter4
  • GL_SGIX_async
  • GL_SGIX_datapipe
  • GL_SGIX_flush_raster
  • GL_SGIX_fog_layers
  • GL_SGIX_fog_texture
  • GL_SGIX_fragment_specular_lighting
  • GL_SGIX_framezoom
  • GL_SGIX_igloo_interface
  • GL_SGIX_mpeg1
  • GL_SGIX_nonlinear_lighting_pervertex

lowkey obsessed with GL_SGIX_igloo_interface btw, it's giving cozy ๐Ÿ  and it absolutely holds its own in this lineup ๐Ÿ’œ

  • GL_SGIX_pixel_texture
  • GL_SGIX_polynomial_ffd
  • GL_SGIX_quad_mesh
  • GL_SGIX_reference_plane
  • GL_SGIX_sprite
  • GL_SGIX_tag_sample_buffer
  • GL_SGIX_vector_ops
  • GL_SGIX_vertex_array_object
  • GL_SGI_color_table
  • GL_SGI_fft
  • GL_SUNX_constant_data
  • GL_SUN_global_alpha
  • GL_SUN_read_video_pixels
  • GL_SUN_triangle_list
  • GL_SUN_vertex
  • 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
  • GL_VERSION_4_2
  • GL_VERSION_4_3
  • GL_VERSION_4_4
  • GL_VERSION_4_5
  • GL_VERSION_4_6
  • GL_WIN_swap_hint

and that's a wrap on the list bestie ๐ŸŽ€ now onto the good stuff ๐Ÿซถ


โœจ FUNCTIONS โœจ

okay so this is the big one ๐Ÿ’– every single callable, its exact signature, and the export tag you need to actually get at it. if a function is gone in a future-compatible profile I will literally tell you so you don't get got ๐Ÿ’€

glAccum

glAccum($op, $value);

Lives under the tag :GL_VERSION_1_1. It is not available in a future-compatible profile because it got yeeted in 3.2. Docs live here: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glAccum.xml

glAcquireKeyedMutexWin32EXT

$retval = glAcquireKeyedMutexWin32EXT($memory, $key, $timeout);

Lives under the tag :GL_EXT_win32_keyed_mutex.

glActiveProgramEXT

glActiveProgramEXT($program);

Lives under the tag :GL_EXT_separate_shader_objects.

glActiveShaderProgram

glActiveShaderProgram($pipeline, $program);

Lives under the tag :GL_ARB_separate_shader_objects.

glActiveStencilFaceEXT

glActiveStencilFaceEXT($face);

Lives under the tag :GL_EXT_stencil_two_side.

glActiveTexture

glActiveTexture($texture);
glActiveTextureARB($texture);

Lives under the tag :GL_VERSION_1_3. Docs right here: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glActiveTexture.xhtml

glActiveVaryingNV

glActiveVaryingNV($program, $name);

Lives under the tag :GL_NV_transform_feedback.

glAddSwapHintRectWIN

glAddSwapHintRectWIN($x, $y, $width, $height);

Lives under the tag :GL_WIN_swap_hint.

glAddressSpace

glAddressSpace($space, $mask);

Lives under the tag :GL_SGIX_datapipe.

glAllocMPEGPredictorsSGIX

glAllocMPEGPredictorsSGIX_c($width, $height, $n, $predictors);

Lives under the tag :GL_SGIX_mpeg1.

glAlphaFragmentOp1ATI

glAlphaFragmentOp1ATI($op, $dst, $dstMod, $arg1, $arg1Rep, $arg1Mod);

Lives under the tag :GL_ATI_fragment_shader.

glAlphaFragmentOp2ATI

glAlphaFragmentOp2ATI($op, $dst, $dstMod, $arg1, $arg1Rep, $arg1Mod, $arg2, $arg2Rep, $arg2Mod);

Lives under the tag :GL_ATI_fragment_shader.

glAlphaFragmentOp3ATI

glAlphaFragmentOp3ATI($op, $dst, $dstMod, $arg1, $arg1Rep, $arg1Mod, $arg2, $arg2Rep, $arg2Mod, $arg3, $arg3Rep, $arg3Mod);

Lives under the tag :GL_ATI_fragment_shader.

glAlphaFunc

glAlphaFunc($func, $ref);

Lives under the tag :GL_VERSION_1_1. Not available in a future-compatible profile, since it was removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glAlphaFunc.xml

glAlphaFuncQCOM

glAlphaFuncQCOM($func, $ref);

Lives under the tag :GL_QCOM_alpha_test.

glAlphaFuncx

glAlphaFuncx($func, $ref);

Lives under the tag :GL_REGAL_ES1_0_compatibility.

glAlphaToCoverageDitherControlNV

glAlphaToCoverageDitherControlNV($mode);

Lives under the tag :GL_NV_alpha_to_coverage_dither_control.

glApplyFramebufferAttachmentCMAAINTEL

glApplyFramebufferAttachmentCMAAINTEL();

Lives under the tag :GL_INTEL_framebuffer_CMAA.

glApplyTextureEXT

glApplyTextureEXT($mode);

Lives under the tag :GL_EXT_light_texture.

glAreProgramsResidentNV

$retval = glAreProgramsResidentNV_c($n, $programs, $residences);
($retval, \@residences) = glAreProgramsResidentNV_p(@programs);

Lives under the tag :GL_NV_vertex_program. Two flavours, bestie โ€” _c takes everything by hand, _p is the pretty one that just takes your @programs and hands you back \@residences ๐Ÿ’…

glAreTexturesResident

$retval = glAreTexturesResident_c($n, $textures, $residences);
($retval, \@residences) = glAreTexturesResident_p(@textures);

Lives under the tag :GL_VERSION_1_1. Not available in a future-compatible profile โ€” axed in 3.2 ๐Ÿ˜ญ Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glAreTexturesResident.xml

glAreTexturesResidentEXT

$retval = glAreTexturesResidentEXT_c($n, $textures, $residences);
($retval, \@residences) = glAreTexturesResidentEXT_p(@textures);

Lives under the tag :GL_EXT_texture_object.

glAreVertexArraysResidentSGIX

$retval = glAreVertexArraysResidentSGIX_c($n, $arrays, $residences);

Lives under the tag :GL_SGIX_vertex_array_object.

glArrayElement

glArrayElement($i);
glArrayElementEXT($i);

Lives under the tag :GL_VERSION_1_1. Not available in a future-compatible profile, removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glArrayElement.xml

glArrayObjectATI

glArrayObjectATI($array, $size, $type, $stride, $buffer, $offset);

Lives under the tag :GL_ATI_vertex_array_object.

glAsyncCopyBufferSubDataNVX

$retval = glAsyncCopyBufferSubDataNVX_c($waitSemaphoreCount, $waitSemaphoreArray, $fenceValueArray, $readGpu, $writeGpuMask, $readBuffer, $writeBuffer, $readOffset, $writeOffset, $size, $signalSemaphoreCount, $signalSemaphoreArray, $signalValueArray);
$retval = glAsyncCopyBufferSubDataNVX_p(\@waitSemaphoreArray, \@fenceValueArray, $readGpu, $writeGpuMask, $readBuffer, $writeBuffer, $readOffset, $writeOffset, $size, \@signalSemaphoreArray, \@signalValueArray);

Lives under the tag :GL_NVX_gpu_multicast2. Yeah the _c version is an absolute unit of an argument list, the _p version folds the arrays into references so your line doesn't become a whole paragraph ๐Ÿ™ˆ

glAsyncCopyImageSubDataNVX

$retval = glAsyncCopyImageSubDataNVX_c($waitSemaphoreCount, $waitSemaphoreArray, $waitValueArray, $srcGpu, $dstGpuMask, $srcName, $srcTarget, $srcLevel, $srcX, $srcY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $srcWidth, $srcHeight, $srcDepth, $signalSemaphoreCount, $signalSemaphoreArray, $signalValueArray);
$retval = glAsyncCopyImageSubDataNVX_p(\@waitSemaphoreArray, \@waitValueArray, $srcGpu, $dstGpuMask, $srcName, $srcTarget, $srcLevel, $srcX, $srcY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $srcWidth, $srcHeight, $srcDepth, \@signalSemaphoreArray, \@signalValueArray);

Lives under the tag :GL_NVX_gpu_multicast2. Same deal as its sibling โ€” _c is the long-form, _p takes array refs ๐ŸŒˆ

glAsyncMarkerSGIX

glAsyncMarkerSGIX($marker);

Lives under the tag :GL_SGIX_async.

glAttachObjectARB

glAttachObjectARB($containerObj, $obj);

Lives under the tag :GL_ARB_shader_objects.

glAttachShader

glAttachShader($program, $shader);

Lives under the tag :GL_VERSION_2_0. Docs: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glAttachShader.xhtml

glBegin

glBegin($mode);

Lives under the tag :GL_VERSION_1_1. Not available in a future-compatible profile โ€” it got removed in 3.2, so immediate mode girlies stay in the legacy lane ๐Ÿ’… Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glBegin.xml

glBeginConditionalRender

glBeginConditionalRender($id, $mode);
glBeginConditionalRenderNV($id, $mode);

Lives under the tag :GL_VERSION_3_0. Docs: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBeginConditionalRender.xhtml

glBeginConditionalRenderNVX

glBeginConditionalRenderNVX($id);

Lives under the tag :GL_NVX_conditional_render.

glBeginFragmentShaderATI

glBeginFragmentShaderATI();

Lives under the tag :GL_ATI_fragment_shader.

glBeginOcclusionQueryNV

glBeginOcclusionQueryNV($id);

Lives under the tag :GL_NV_occlusion_query.

glBeginPerfMonitorAMD

glBeginPerfMonitorAMD($monitor);

Lives under the tag :GL_AMD_performance_monitor.

glBeginPerfQueryINTEL

glBeginPerfQueryINTEL($queryHandle);

Lives under the tag :GL_INTEL_performance_query.

glBeginQuery

glBeginQuery($target, $id);
glBeginQueryARB($target, $id);

Lives under the tag :GL_VERSION_1_5. Docs: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBeginQuery.xhtml

glBeginQueryANGLE

glBeginQueryANGLE($target, $id);

Lives under the tag :GL_ANGLE_timer_query.

glBeginQueryEXT

glBeginQueryEXT($target, $id);

Lives under the tag :GL_EXT_disjoint_timer_query.

glBeginQueryIndexed

glBeginQueryIndexed($target, $index, $id);

Lives under the tag :GL_ARB_transform_feedback3.

glBeginSceneEXT

glBeginSceneEXT();

Lives under the tag :GL_EXT_scene_marker.

glBeginTransformFeedback

glBeginTransformFeedback($primitiveMode);
glBeginTransformFeedbackEXT($primitiveMode);
glBeginTransformFeedbackNV($primitiveMode);

Lives under the tag :GL_VERSION_3_0. Docs: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBeginTransformFeedback.xhtml

glBeginVertexShaderEXT

glBeginVertexShaderEXT();

Lives under the tag :GL_EXT_vertex_shader.

glBeginVideoCaptureNV

glBeginVideoCaptureNV($video_capture_slot);

Lives under the tag :GL_NV_video_capture.

glBindArraySetEXT

glBindArraySetEXT_c($arrayset);

Lives under the tag :GL_EXT_vertex_array_setXXX.

glBindAttribLocation

glBindAttribLocation($program, $index, $name);

Lives under the tag :GL_VERSION_2_0. Docs: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBindAttribLocation.xhtml

glBindAttribLocationARB

glBindAttribLocationARB($programObj, $index, $name);

Lives under the tag :GL_ARB_vertex_shader.

glBindBuffer

glBindBuffer($target, $buffer);
glBindBufferARB($target, $buffer);

Lives under the tag :GL_VERSION_1_5. Docs: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBindBuffer.xhtml

glBindBufferBase

glBindBufferBase($target, $index, $buffer);
glBindBufferBaseEXT($target, $index, $buffer);
glBindBufferBaseNV($target, $index, $buffer);

Lives under the tag :GL_ARB_uniform_buffer_object.

glBindBufferOffsetEXT

glBindBufferOffsetEXT($target, $index, $buffer, $offset);
glBindBufferOffsetNV($target, $index, $buffer, $offset);

Lives under the tag :GL_EXT_transform_feedback.

glBindBufferRange

glBindBufferRange($target, $index, $buffer, $offset, $size);
glBindBufferRangeEXT($target, $index, $buffer, $offset, $size);
glBindBufferRangeNV($target, $index, $buffer, $offset, $size);

Lives under the tag :GL_ARB_uniform_buffer_object.

glBindBuffersBase

glBindBuffersBase_c($target, $first, $count, $buffers);
glBindBuffersBase_p($target, $first, @buffers);

Lives under the tag :GL_ARB_multi_bind. Note the shape here โ€” _c takes $count plus $buffers, while _p just slurps @buffers straight up โœจ

glBindBuffersRange

glBindBuffersRange_c($target, $first, $count, $buffers, $offsets, $sizes);

Lives under the tag :GL_ARB_multi_bind.

glBindFragDataLocation

glBindFragDataLocation($program, $color, $name);
glBindFragDataLocationEXT($program, $color, $name);

Lives under the tag :GL_VERSION_3_0. Docs: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBindFragDataLocation.xhtml

glBindFragDataLocationIndexed

glBindFragDataLocationIndexed($program, $colorNumber, $index, $name);
glBindFragDataLocationIndexedEXT($program, $colorNumber, $index, $name);

Lives under the tag :GL_ARB_blend_func_extended.

glBindFragmentShaderATI

glBindFragmentShaderATI($id);

Lives under the tag :GL_ATI_fragment_shader.

glBindFramebuffer

glBindFramebuffer($target, $framebuffer);

Lives under the tag :GL_ARB_framebuffer_object.

๐Ÿ’– glBindFramebufferEXT ๐Ÿ’–

okay so this one binds a framebuffer, EXT style. slay.

glBindFramebufferEXT($target, $framebuffer);

Exported under tag :GL_EXT_framebuffer_object. โœจ

๐ŸŽ€ glBindFramebufferOES ๐ŸŽ€

the OES version, for the embedded besties.

glBindFramebufferOES($target, $framebuffer);

Exported under tag :GL_OES_framebuffer_object. ๐Ÿ’…

๐Ÿฆ‹ glBindImageTexture ๐Ÿฆ‹

binds an image texture, no cap.

glBindImageTexture($unit, $texture, $level, $layered, $layer, $access, $format);

Exported under tag :GL_ARB_shader_image_load_store. ๐ŸŒธ

๐ŸŒˆ glBindImageTextureEXT ๐ŸŒˆ

the EXT flavor of binding an image texture.

glBindImageTextureEXT($index, $texture, $level, $layered, $layer, $access, $format);

Exported under tag :GL_EXT_shader_image_load_store. ๐Ÿซถ

๐Ÿ’œ glBindImageTextures ๐Ÿ’œ

binds a whole bunch of image textures at once. main character energy.

glBindImageTextures_c($first, $count, $textures);
glBindImageTextures_p($first, @textures);

Exported under tag :GL_ARB_multi_bind. ๐Ÿ”ฅ

โญ glBindLightParameterEXT โญ

returns something, binds a light parameter.

$retval = glBindLightParameterEXT($light, $value);

Exported under tag :GL_EXT_vertex_shader. ๐Ÿ‘‘

๐Ÿ“ glBindMaterialParameterEXT ๐Ÿ“

binds a material parameter, EXT vibes.

$retval = glBindMaterialParameterEXT($face, $value);

Exported under tag :GL_EXT_vertex_shader. ๐Ÿงš

๐Ÿ’€ glBindMultiTextureEXT ๐Ÿ’€

binds a multi-texture, EXT edition.

glBindMultiTextureEXT($texunit, $target, $texture);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ™ˆ

๐ŸŒŸ glBindParameterEXT ๐ŸŒŸ

binds a parameter, returns something.

$retval = glBindParameterEXT($value);

Exported under tag :GL_EXT_vertex_shader. ๐Ÿ’–

๐ŸŽ‰ glBindProgramARB ๐ŸŽ‰

binds a program. also known as glBindProgramNV because why not.

glBindProgramARB($target, $program);
glBindProgramNV($target, $program);

Exported under tag :GL_ARB_vertex_program. โœจ

๐Ÿ’ซ glBindProgramPipeline ๐Ÿ’ซ

binds a program pipeline. iconic.

glBindProgramPipeline($pipeline);

Exported under tag :GL_ARB_separate_shader_objects. ๐Ÿ’…

๐ŸŽจ glBindRenderbuffer ๐ŸŽจ

binds a renderbuffer. ARB style.

glBindRenderbuffer($target, $renderbuffer);

Exported under tag :GL_ARB_framebuffer_object. ๐Ÿฆ‹

๐Ÿ–Œ๏ธ glBindRenderbufferEXT ๐Ÿ–Œ๏ธ

EXT version of binding a renderbuffer.

glBindRenderbufferEXT($target, $renderbuffer);

Exported under tag :GL_EXT_framebuffer_object. ๐ŸŒธ

๐ŸŽญ glBindRenderbufferOES ๐ŸŽญ

OES renderbuffer bind, for the embedded girlies.

glBindRenderbufferOES($target, $renderbuffer);

Exported under tag :GL_OES_framebuffer_object. ๐ŸŒˆ

๐Ÿงต glBindSampler ๐Ÿงต

binds a sampler. lowkey essential.

glBindSampler($unit, $sampler);

Exported under tag :GL_ARB_sampler_objects. ๐Ÿซถ

๐ŸŽ€ glBindSamplers ๐ŸŽ€

binds a bunch of samplers at once. multi-bind realness.

glBindSamplers_c($first, $count, $samplers);
glBindSamplers_p($first, @samplers);

Exported under tag :GL_ARB_multi_bind. ๐Ÿ”ฅ

๐ŸŒ  glBindShadingRateImageNV ๐ŸŒ 

binds a shading rate image. NV tag.

glBindShadingRateImageNV($texture);

Exported under tag :GL_NV_shading_rate_image. ๐Ÿ‘‘

๐Ÿงฌ glBindTexGenParameterEXT ๐Ÿงฌ

returns something, binds a texgen parameter.

$retval = glBindTexGenParameterEXT($unit, $coord, $value);

Exported under tag :GL_EXT_vertex_shader. ๐Ÿ“

๐Ÿ’Ž glBindTexture ๐Ÿ’Ž

binds a texture. classic. also known as glBindTextureEXT.

glBindTexture($target, $texture);
glBindTextureEXT($target, $texture);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBindTexture.xhtml> ๐Ÿ“–

๐Ÿ”ฎ glBindTextureUnit ๐Ÿ”ฎ

binds a texture to a unit. direct state access, periodt.

glBindTextureUnit($unit, $texture);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’…

๐Ÿงธ glBindTextureUnitParameterEXT ๐Ÿงธ

returns something, binds a texture unit parameter.

$retval = glBindTextureUnitParameterEXT($unit, $value);

Exported under tag :GL_EXT_vertex_shader. ๐Ÿงš

๐ŸŽˆ glBindTextures ๐ŸŽˆ

binds multiple textures. multi-bind slay.

glBindTextures_c($first, $count, $textures);
glBindTextures_p($first, @textures);

Exported under tag :GL_ARB_multi_bind. โœจ

๐Ÿ”„ glBindTransformFeedback ๐Ÿ”„

binds a transform feedback object.

glBindTransformFeedback($target, $id);

Exported under tag :GL_ARB_transform_feedback2. ๐ŸŒธ

๐ŸŒ€ glBindTransformFeedbackNV ๐ŸŒ€

NV version of binding transform feedback.

glBindTransformFeedbackNV($target, $id);

Exported under tag :GL_NV_transform_feedback2. ๐ŸŒˆ

๐Ÿน glBindVertexArray ๐Ÿน

binds a vertex array. ARB tag.

glBindVertexArray($array);

Exported under tag :GL_ARB_vertex_array_object. ๐Ÿซถ

๐ŸŽ glBindVertexArrayAPPLE ๐ŸŽ

Apple's take on binding a vertex array.

glBindVertexArrayAPPLE($array);

Exported under tag :GL_APPLE_vertex_array_object. ๐Ÿ”ฅ

๐ŸŒŸ glBindVertexArrayOES ๐ŸŒŸ

OES vertex array bind.

glBindVertexArrayOES($array);

Exported under tag :GL_OES_vertex_array_object. ๐Ÿ‘‘

๐Ÿงš glBindVertexArraySGIX ๐Ÿงš

SGIX vertex array bind. vintage.

glBindVertexArraySGIX($array);

Exported under tag :GL_SGIX_vertex_array_object. ๐Ÿ’–

๐ŸŽฏ glBindVertexBuffer ๐ŸŽฏ

binds a vertex buffer to a binding index.

glBindVertexBuffer($bindingindex, $buffer, $offset, $stride);

Exported under tag :GL_ARB_vertex_attrib_binding. โœจ

๐Ÿ“ฆ glBindVertexBuffers ๐Ÿ“ฆ

binds multiple vertex buffers at once. multi-bind energy.

glBindVertexBuffers_c($first, $count, $buffers, $offsets, $strides);

Exported under tag :GL_ARB_multi_bind. ๐Ÿ’…

๐Ÿงต glBindVertexShaderEXT ๐Ÿงต

binds a vertex shader. EXT tag.

glBindVertexShaderEXT($id);

Exported under tag :GL_EXT_vertex_shader. ๐Ÿฆ‹

๐ŸŽฅ glBindVideoCaptureStreamBufferNV ๐ŸŽฅ

binds a video capture stream buffer. NV vibes.

glBindVideoCaptureStreamBufferNV($video_capture_slot, $stream, $frame_region, $offset);

Exported under tag :GL_NV_video_capture. ๐ŸŒธ

๐Ÿ“น glBindVideoCaptureStreamTextureNV ๐Ÿ“น

binds a video capture stream texture. NV tag.

glBindVideoCaptureStreamTextureNV($video_capture_slot, $stream, $frame_region, $target, $texture);

Exported under tag :GL_NV_video_capture. ๐ŸŒˆ

๐Ÿ“ glBinormalPointerEXT ๐Ÿ“

sets a binormal pointer. EXT coordinate frame.

glBinormalPointerEXT_c($type, $stride, $pointer);

Exported under tag :GL_EXT_coordinate_frame. ๐Ÿซถ

๐Ÿ–ผ๏ธ glBitmap ๐Ÿ–ผ๏ธ

draws a bitmap. classic but beware: not in future-compatible profiles.

glBitmap($width, $height, $xorig, $yorig, $xmove, $ymove, $bitmap);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glBitmap.xml> ๐Ÿ˜ญ

๐ŸŽจ glBlendBarrierKHR ๐ŸŽจ

blend barrier, KHR style. also has glBlendBarrier and glBlendBarrierNV.

glBlendBarrierKHR();
glBlendBarrier();
glBlendBarrierNV();

Exported under tag :GL_KHR_blend_equation_advanced. ๐Ÿ”ฅ

๐ŸŒˆ glBlendColor ๐ŸŒˆ

sets the blend color. also known as glBlendColorEXT.

glBlendColor($red, $green, $blue, $alpha);
glBlendColorEXT($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_4. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendColor.xhtml> ๐Ÿ“–

โš–๏ธ glBlendEquation โš–๏ธ

sets the blend equation. also known as glBlendEquationEXT.

glBlendEquation($mode);
glBlendEquationEXT($mode);

Exported under tag :GL_VERSION_1_4. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendEquation.xhtml> ๐Ÿ“–

๐Ÿงฎ glBlendEquationOES ๐Ÿงฎ

OES blend equation.

glBlendEquationOES($mode);

Exported under tag :GL_OES_blend_subtract. ๐Ÿ’…

๐Ÿ”€ glBlendEquationSeparate ๐Ÿ”€

separate blend equations for RGB and alpha. also known as glBlendEquationSeparateEXT.

glBlendEquationSeparate($modeRGB, $modeAlpha);
glBlendEquationSeparateEXT($modeRGB, $modeAlpha);

Exported under tag :GL_VERSION_2_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendEquationSeparate.xhtml> ๐Ÿ“–

๐ŸŽญ glBlendEquationSeparateOES ๐ŸŽญ

OES separate blend equation.

glBlendEquationSeparateOES($modeRGB, $modeAlpha);

Exported under tag :GL_OES_blend_equation_separate. ๐ŸŒธ

๐ŸŽจ glBlendEquationSeparatei ๐ŸŽจ

indexed separate blend equation. also has AMD, ARB, and EXT versions.

glBlendEquationSeparatei($buf, $modeRGB, $modeAlpha);
glBlendEquationSeparateIndexedAMD($buf, $modeRGB, $modeAlpha);
glBlendEquationSeparateiARB($buf, $modeRGB, $modeAlpha);
glBlendEquationSeparateiEXT($buf, $modeRGB, $modeAlpha);

Exported under tag :GL_VERSION_4_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendEquationSeparatei.xhtml> ๐Ÿ“–

๐ŸŒˆ glBlendEquationSeparateiOES ๐ŸŒˆ

OES indexed separate blend equation.

glBlendEquationSeparateiOES($buf, $modeRGB, $modeAlpha);

Exported under tag :GL_OES_draw_buffers_indexed. ๐Ÿซถ

โš–๏ธ glBlendEquationi โš–๏ธ

indexed blend equation. also AMD, ARB, EXT.

glBlendEquationi($buf, $mode);
glBlendEquationIndexedAMD($buf, $mode);
glBlendEquationiARB($buf, $mode);
glBlendEquationiEXT($buf, $mode);

Exported under tag :GL_VERSION_4_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendEquationi.xhtml> ๐Ÿ“–

๐Ÿงฎ glBlendEquationiOES ๐Ÿงฎ

OES indexed blend equation.

glBlendEquationiOES($buf, $mode);

Exported under tag :GL_OES_draw_buffers_indexed. ๐Ÿ’…

๐ŸŽจ glBlendFunc ๐ŸŽจ

sets the blend function. classic.

glBlendFunc($sfactor, $dfactor);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendFunc.xhtml> ๐Ÿ“–

๐Ÿ”€ glBlendFuncSeparate ๐Ÿ”€

separate blend functions for RGB and alpha. also EXT and INGR.

glBlendFuncSeparate($sfactorRGB, $dfactorRGB, $sfactorAlpha, $dfactorAlpha);
glBlendFuncSeparateEXT($sfactorRGB, $dfactorRGB, $sfactorAlpha, $dfactorAlpha);
glBlendFuncSeparateINGR($sfactorRGB, $dfactorRGB, $sfactorAlpha, $dfactorAlpha);

Exported under tag :GL_VERSION_1_4. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendFuncSeparate.xhtml> ๐Ÿ“–

๐ŸŽญ glBlendFuncSeparateOES ๐ŸŽญ

OES separate blend function.

glBlendFuncSeparateOES($sfactorRGB, $dfactorRGB, $sfactorAlpha, $dfactorAlpha);

Exported under tag :GL_OES_blend_func_separate. ๐ŸŒธ

๐ŸŽจ glBlendFuncSeparatei ๐ŸŽจ

indexed separate blend function. also AMD, ARB, EXT.

glBlendFuncSeparatei($buf, $srcRGB, $dstRGB, $srcAlpha, $dstAlpha);
glBlendFuncSeparateIndexedAMD($buf, $srcRGB, $dstRGB, $srcAlpha, $dstAlpha);
glBlendFuncSeparateiARB($buf, $srcRGB, $dstRGB, $srcAlpha, $dstAlpha);
glBlendFuncSeparateiEXT($buf, $srcRGB, $dstRGB, $srcAlpha, $dstAlpha);

Exported under tag :GL_VERSION_4_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendFuncSeparatei.xhtml> ๐Ÿ“–

๐ŸŒˆ glBlendFuncSeparateiOES ๐ŸŒˆ

OES indexed separate blend function.

glBlendFuncSeparateiOES($buf, $srcRGB, $dstRGB, $srcAlpha, $dstAlpha);

Exported under tag :GL_OES_draw_buffers_indexed. ๐Ÿซถ

โš–๏ธ glBlendFunci โš–๏ธ

indexed blend function. also AMD, ARB, EXT.

glBlendFunci($buf, $src, $dst);
glBlendFuncIndexedAMD($buf, $src, $dst);
glBlendFunciARB($buf, $src, $dst);
glBlendFunciEXT($buf, $src, $dst);

Exported under tag :GL_VERSION_4_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBlendFunci.xhtml> ๐Ÿ“–

๐Ÿงฎ glBlendFunciOES ๐Ÿงฎ

OES indexed blend function.

glBlendFunciOES($buf, $src, $dst);

Exported under tag :GL_OES_draw_buffers_indexed. ๐Ÿ’…

๐ŸŽ›๏ธ glBlendParameteriNV ๐ŸŽ›๏ธ

sets a blend parameter. NV tag.

glBlendParameteriNV($pname, $value);

Exported under tag :GL_NV_blend_equation_advanced. ๐Ÿ”ฅ

๐Ÿ–ผ๏ธ glBlitFramebuffer ๐Ÿ–ผ๏ธ

blits a framebuffer. also EXT and NV.

glBlitFramebuffer($srcX0, $srcY0, $srcX1, $srcY1, $dstX0, $dstY0, $dstX1, $dstY1, $mask, $filter);
glBlitFramebufferEXT($srcX0, $srcY0, $srcX1, $srcY1, $dstX0, $dstY0, $dstX1, $dstY1, $mask, $filter);
glBlitFramebufferNV($srcX0, $srcY0, $srcX1, $srcY1, $dstX0, $dstY0, $dstX1, $dstY1, $mask, $filter);

Exported under tag :GL_ARB_framebuffer_object. โœจ

๐ŸŽญ glBlitFramebufferANGLE ๐ŸŽญ

ANGLE's framebuffer blit.

glBlitFramebufferANGLE($srcX0, $srcY0, $srcX1, $srcY1, $dstX0, $dstY0, $dstX1, $dstY1, $mask, $filter);

Exported under tag :GL_ANGLE_framebuffer_blit. ๐ŸŒธ

๐Ÿง… glBlitFramebufferLayerEXT ๐Ÿง…

blits a framebuffer layer. EXT tag.

glBlitFramebufferLayerEXT($srcX0, $srcY0, $srcX1, $srcY1, $srcLayer, $dstX0, $dstY0, $dstX1, $dstY1, $dstLayer, $mask, $filter);

Exported under tag :GL_EXT_framebuffer_blit_layers. ๐ŸŒˆ

๐Ÿง… glBlitFramebufferLayersEXT ๐Ÿง…

blits multiple framebuffer layers. EXT tag.

glBlitFramebufferLayersEXT($srcX0, $srcY0, $srcX1, $srcY1, $dstX0, $dstY0, $dstX1, $dstY1, $mask, $filter);

Exported under tag :GL_EXT_framebuffer_blit_layers. ๐Ÿซถ

๐Ÿ–ผ๏ธ glBlitNamedFramebuffer ๐Ÿ–ผ๏ธ

blits a named framebuffer. direct state access.

glBlitNamedFramebuffer($readFramebuffer, $drawFramebuffer, $srcX0, $srcY0, $srcX1, $srcY1, $dstX0, $dstY0, $dstX1, $dstY1, $mask, $filter);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’…

๐Ÿ“ glBufferAddressRangeNV ๐Ÿ“

sets a buffer address range. NV unified memory.

glBufferAddressRangeNV($pname, $index, $address, $length);

Exported under tag :GL_NV_vertex_buffer_unified_memory. ๐Ÿ‘‘

๐Ÿงฒ glBufferAttachMemoryNV ๐Ÿงฒ

attaches memory to a buffer. NV tag.

glBufferAttachMemoryNV($target, $memory, $offset);

Exported under tag :GL_NV_memory_attachment. ๐Ÿ”ฅ

๐Ÿ“ฆ glBufferData ๐Ÿ“ฆ

uploads data to a buffer. also ARB version.

glBufferData_c($target, $size, $data, $usage);
glBufferDataARB_c($target, $size, $data, $usage);

Exported under tag :GL_VERSION_1_5. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBufferData.xhtml> ๐Ÿ“–

๐Ÿ“„ glBufferPageCommitmentARB ๐Ÿ“„

commits buffer pages. ARB sparse buffer.

glBufferPageCommitmentARB($target, $offset, $size, $commit);

Exported under tag :GL_ARB_sparse_buffer. ๐ŸŒธ

๐Ÿงฉ glBufferPageCommitmentMemNV ๐Ÿงฉ

commits buffer pages with memory. NV tag.

glBufferPageCommitmentMemNV($target, $offset, $size, $memory, $memOffset, $commit);

Exported under tag :GL_NV_memory_object_sparse. ๐Ÿงš

๐ŸŽ glBufferParameteriAPPLE ๐ŸŽ

sets a buffer parameter. Apple style.

glBufferParameteriAPPLE($target, $pname, $param);

Exported under tag :GL_APPLE_flush_buffer_range. ๐Ÿ’–

๐Ÿงช glBufferRegionEnabled ๐Ÿงช

returns something, checks if buffer region is enabled. KTX tag.

$retval = glBufferRegionEnabled();

Exported under tag :GL_KTX_buffer_region. โœจ

  • glBufferStorage โ€” bestie this one's for giving a buffer actual storage that the GPU holds onto, no take-backs. Signature goes like this:
glBufferStorage_c($target, $size, $data, $flags);
glBufferStorageEXT_c($target, $size, $data, $flags);

You get this from the tag :GL_ARB_buffer_storage. ๐Ÿ’พ

  • glBufferStorageExternalEXT โ€” external storage but make it bougie:
glBufferStorageExternalEXT($target, $offset, $size, $clientBuffer, $flags);

Lives under the :GL_EXT_external_buffer tag. โœจ

  • glBufferStorageMemEXT โ€” memory object edition, giving you the vibes:
glBufferStorageMemEXT($target, $size, $memory, $offset);

Tagged :GL_EXT_memory_object. ๐Ÿง 

  • glBufferSubData โ€” the icon, the moment. You're shoving new data into a chunk of an existing buffer:
glBufferSubData_c($target, $offset, $size, $data);
glBufferSubDataARB_c($target, $offset, $size, $data);

Tagged :GL_VERSION_1_5. The official lore lives at <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBufferSubData.xhtml>.

  • glCallCommandListNV โ€” lowkey just fire off a whole command list in one call:
glCallCommandListNV($list);

From :GL_NV_command_list. ๐Ÿ“‹

  • glCallCommandListNV... okay no, next up:
  • glCallList โ€” the classic era. Old-school display lists, showing them on screen:
glCallList($list);

Tagged :GL_VERSION_1_1. Heads up bestie โ€” not available in a 'future-compatible' profile because it got removed in 3.2. ๐Ÿ˜ญ Docs at <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glCallList.xml>.

  • glCallLists โ€” a whole lineup of display lists, one after another:
glCallLists_c($n, $type, $lists);

Tagged :GL_VERSION_1_1. Also not available in a 'future-compatible' profile since it was removed in 3.2. <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glCallLists.xml>.

  • glCheckFramebufferStatus โ€” vibe check for your framebuffer, returns whether it's complete or giving problems:
$retval = glCheckFramebufferStatus($target);
$retval = glCheckFramebufferStatusEXT($target);

Tagged :GL_ARB_framebuffer_object. ๐Ÿฉบ

  • glCheckFramebufferStatusOES โ€” same vibe check, OES flavored:
$retval = glCheckFramebufferStatusOES($target);

From :GL_OES_framebuffer_object.

  • glCheckNamedFramebufferStatus โ€” vibe check but for a named framebuffer, no binding needed:
$retval = glCheckNamedFramebufferStatus($framebuffer, $target);

Tagged :GL_ARB_direct_state_access. ๐Ÿ’…

  • glCheckNamedFramebufferStatusEXT โ€” the EXT version of the named vibe check:
$retval = glCheckNamedFramebufferStatusEXT($framebuffer, $target);

From :GL_EXT_direct_state_access.

  • glClampColor โ€” clamp that color read/write behavior, periodt:
glClampColor($target, $clamp);
glClampColorARB($target, $clamp);

Tagged :GL_VERSION_3_0. Docs at <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClampColor.xhtml>.

  • glClear โ€” clearing buffers, the glow-up reset. You pass a mask and boom, cleared:
glClear($mask);

Tagged :GL_VERSION_1_1. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClear.xhtml>. ๐Ÿงผ

  • glClearAccum โ€” clearing the accumulation buffer, old-school accumulation era:
glClearAccum($red, $green, $blue, $alpha);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, rip. <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glClearAccum.xml>.

  • glClearBufferData โ€” nuke an entire buffer with a specific fill value:
glClearBufferData_c($target, $internalformat, $format, $type, $data);

Tagged :GL_ARB_clear_buffer_object. ๐Ÿ’ฅ

  • glClearBufferSubData โ€” same energy but you clear just a slice of the buffer:
glClearBufferSubData_c($target, $internalformat, $offset, $size, $format, $type, $data);

Tagged :GL_ARB_clear_buffer_object.

  • glClearBufferfi โ€” clear a buffer with a depth + stencil combo, the iconic pairing:
glClearBufferfi($buffer, $drawbuffer, $depth, $stencil);

Tagged :GL_VERSION_3_0. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClearBufferfi.xhtml>. ๐ŸŒŠ

  • glClearBufferfv โ€” clearing with float values, comes in array and splat flavors:
glClearBufferfv_c($buffer, $drawbuffer, $value);
glClearBufferfv_p($buffer, $drawbuffer, @value);

Tagged :GL_VERSION_3_0. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClearBufferfv.xhtml>.

  • glClearBufferiv โ€” int-flavored clear, both forms:
glClearBufferiv_c($buffer, $drawbuffer, $value);
glClearBufferiv_p($buffer, $drawbuffer, @value);

Tagged :GL_VERSION_3_0. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClearBufferiv.xhtml>.

  • glClearBufferuiv โ€” unsigned int flavor for the clear:
glClearBufferuiv_c($buffer, $drawbuffer, $value);
glClearBufferuiv_p($buffer, $drawbuffer, @value);

Tagged :GL_VERSION_3_0. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClearBufferuiv.xhtml>.

  • glClearColor โ€” set the color that glClear paints with, the OG reset color:
glClearColor($red, $green, $blue, $alpha);

Tagged :GL_VERSION_1_1. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClearColor.xhtml>. ๐ŸŽจ

  • glClearColorIiEXT โ€” clear color with signed integers, EXT texture integer era:
glClearColorIiEXT($red, $green, $blue, $alpha);

Tagged :GL_EXT_texture_integer.

  • glClearColorIuiEXT โ€” unsigned integer clear color, matching set:
glClearColorIuiEXT($red, $green, $blue, $alpha);

Tagged :GL_EXT_texture_integer.

  • glClearColorx โ€” the REGAL fixed-point ES1.0 compat clear color:
glClearColorx($red, $green, $blue, $alpha);

Tagged :GL_REGAL_ES1_0_compatibility.

  • glClearDepth โ€” set the depth value that glClear uses for the depth buffer:
glClearDepth($depth);

Tagged :GL_VERSION_1_1. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClearDepth.xhtml>. ๐Ÿ•ณ๏ธ

  • glClearDepthdNV โ€” NV's double-precision depth clear, bougie precision:
glClearDepthdNV($depth);

Tagged :GL_NV_depth_buffer_float.

  • glClearDepthf โ€” float version of the depth clear:
glClearDepthf($d);

Tagged :GL_ARB_ES2_compatibility.

  • glClearDepthfOES โ€” the OES single-precision float depth clear:
glClearDepthfOES($depth);

Tagged :GL_OES_single_precision.

  • glClearDepthx โ€” REGAL ES1.0 compat fixed-point depth clear:
glClearDepthx($depth);

Tagged :GL_REGAL_ES1_0_compatibility.

  • glClearIndex โ€” clear the color index, index-buffer era stuff:
glClearIndex($c);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, gone but not forgotten. <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glClearIndex.xml>.

  • glClearNamedBufferData โ€” clear a named buffer's whole data, no binding required:
glClearNamedBufferData_c($buffer, $internalformat, $format, $type, $data);

Tagged :GL_ARB_direct_state_access. ๐Ÿงน

  • glClearNamedBufferDataEXT โ€” same but from EXT's clear buffer object extension:
glClearNamedBufferDataEXT_c($buffer, $internalformat, $format, $type, $data);

Tagged :GL_ARB_clear_buffer_object.

  • glClearNamedBufferSubData โ€” clear a named buffer's sub-range, direct state access style:
glClearNamedBufferSubData_c($buffer, $internalformat, $offset, $size, $format, $type, $data);

Tagged :GL_ARB_direct_state_access.

  • glClearNamedBufferSubDataEXT โ€” EXT's take on clearing a named buffer sub-range:
glClearNamedBufferSubDataEXT_c($buffer, $internalformat, $offset, $size, $format, $type, $data);

Tagged :GL_ARB_clear_buffer_object.

  • glClearNamedFramebufferfi โ€” clear a named framebuffer with depth + stencil, iconic pair:
glClearNamedFramebufferfi($framebuffer, $buffer, $drawbuffer, $depth, $stencil);

Tagged :GL_ARB_direct_state_access.

  • glClearNamedFramebufferfv โ€” float values for the named framebuffer clear:
glClearNamedFramebufferfv_c($framebuffer, $buffer, $drawbuffer, $value);
glClearNamedFramebufferfv_p($framebuffer, $buffer, $drawbuffer, @value);

Tagged :GL_ARB_direct_state_access.

  • glClearNamedFramebufferiv โ€” int values, same named framebuffer energy:
glClearNamedFramebufferiv_c($framebuffer, $buffer, $drawbuffer, $value);
glClearNamedFramebufferiv_p($framebuffer, $buffer, $drawbuffer, @value);

Tagged :GL_ARB_direct_state_access.

  • glClearNamedFramebufferuiv โ€” unsigned int values, round three:
glClearNamedFramebufferuiv_c($framebuffer, $buffer, $drawbuffer, $value);
glClearNamedFramebufferuiv_p($framebuffer, $buffer, $drawbuffer, @value);

Tagged :GL_ARB_direct_state_access.

  • glClearPixelLocalStorageuiEXT โ€” clear pixel local storage with unsigned ints, whole point of the storage:
glClearPixelLocalStorageuiEXT_c($offset, $n, $values);
glClearPixelLocalStorageuiEXT_p($offset, @values);

Tagged :GL_EXT_shader_pixel_local_storage2.

  • glClearStencil โ€” set the stencil value glClear will paint with:
glClearStencil($s);

Tagged :GL_VERSION_1_1. <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClearStencil.xhtml>.

  • glClearTexImage โ€” clear a whole texture to a fill value, no framebuffer needed. Slay:
glClearTexImage_c($texture, $level, $format, $type, $data);
glClearTexImageEXT_c($texture, $level, $format, $type, $data);

Tagged :GL_ARB_clear_texture. ๐Ÿ–ผ๏ธ

  • glClearTexSubImage โ€” clear part of a texture, sub-image style:
glClearTexSubImage_c($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $data);
glClearTexSubImageEXT_c($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $data);

Tagged :GL_ARB_clear_texture.

  • glClientActiveTexture โ€” pick which texture unit the client side arrays feed into:
glClientActiveTexture($texture);
glClientActiveTextureARB($texture);

Tagged :GL_VERSION_1_3. Not available in a 'future-compatible' profile โ€” removed in 3.2. <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glClientActiveTexture.xml>.

  • glClientActiveVertexStreamATI โ€” ATI vertex streams, choosing the active client-side stream:
glClientActiveVertexStreamATI($stream);

Tagged :GL_ATI_vertex_streams.

  • glClientAttribDefaultEXT โ€” reset client-side attribute state to defaults, EXT style:
glClientAttribDefaultEXT($mask);

Tagged :GL_EXT_direct_state_access.

  • glClientWaitSemaphoreui64NVX โ€” wait on semaphores from the client side, 64-bit NVX vibes:
glClientWaitSemaphoreui64NVX_c($fenceObjectCount, $semaphoreArray, $fenceValueArray);
glClientWaitSemaphoreui64NVX_p(\@semaphoreArray, \@fenceValueArray);

Tagged :GL_NVX_progress_fence. โณ

  • glClientWaitSync โ€” client-side wait on a sync object, giving you a return value to react to:
$retval = glClientWaitSync($sync, $flags, $timeout);
$retval = glClientWaitSyncAPPLE($sync, $flags, $timeout);

Tagged :GL_ARB_sync.

  • glClipControl โ€” control the clip space origin and depth range, the way you frame it:
glClipControl($origin, $depth);
glClipControlEXT($origin, $depth);

Tagged :GL_ARB_clip_control. โœ‚๏ธ

  • glClipPlane โ€” define an extra clipping plane. Comes in array and splat:
glClipPlane_c($plane, $equation);
glClipPlane_p($plane, @equation);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glClipPlane.xml>.

  • glClipPlanef โ€” float version of the clip plane:
glClipPlanef_c($p, $eqn);
glClipPlanef_p($p, @eqn);

Tagged :GL_REGAL_ES1_1_compatibility.

  • glClipPlanefOES โ€” OES single-precision clip plane:
glClipPlanefOES_c($plane, $equation);

Tagged :GL_OES_single_precision.

  • glClipPlanex โ€” fixed-point REGAL ES1.1 compat clip plane:
glClipPlanex_c($plane, $equation);
glClipPlanex_p($plane, @equation);

Tagged :GL_REGAL_ES1_1_compatibility.

  • glColor3b โ€” set the current color with three signed bytes:
glColor3b($red, $green, $blue);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, bye bestie.

  • glColor3bv โ€” same but you pass an array of signed bytes:
glColor3bv_c($v);
glColor3bv_p(@v);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

  • glColor3d โ€” three doubles for the current color, precision princess:
glColor3d($red, $green, $blue);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

  • glColor3dv โ€” array of doubles version:
glColor3dv_c($v);
glColor3dv_p(@v);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

  • glColor3f โ€” three floats for the current color, the everyday fave:
glColor3f($red, $green, $blue);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

  • glColor3fVertex3fSUN โ€” SUN's combo call: color and vertex in one shot:
glColor3fVertex3fSUN($r, $g, $b, $x, $y, $z);

Tagged :GL_SUN_vertex. ๐ŸŒž

  • glColor3fVertex3fvSUN โ€” same combo, array forms:
glColor3fVertex3fvSUN_c($c, $v);
glColor3fVertex3fvSUN_p(\@c, \@v);

Tagged :GL_SUN_vertex.

  • glColor3fv โ€” array of floats version:
glColor3fv_c($v);
glColor3fv_p(@v);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

  • glColor3hNV โ€” three half-precision floats for the color, NV flavor:
glColor3hNV($red, $green, $blue);

Tagged :GL_NV_half_float.

  • glColor3hvNV โ€” array form of the half-float color:
glColor3hvNV_c($v);
glColor3hvNV_p(@v);

Tagged :GL_NV_half_float.

  • glColor3i โ€” three ints for the current color:
glColor3i($red, $green, $blue);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

  • glColor3iv โ€” array of ints version, the saga continues:
glColor3iv_c($v);
glColor3iv_p(@v);

โ€ฆand yeah, that one ships under tag :GL_VERSION_1_1, and it is NOT available in a 'future-compatible' profile, because it got removed in 3.2. gone. deleted. ghosted. ๐Ÿ’€

glColor3s ๐ŸŒˆ

glColor3s($red, $green, $blue);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor3sv

glColor3sv_c($v);
glColor3sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

bestie there are two flavours here, like a lil scoop situation: the _c one takes a single packed $v, and the _p one wants you to splat @v out. both valid, pick your fighter ๐Ÿ’…

glColor3ub โœจ

glColor3ub($red, $green, $blue);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor3ubv

glColor3ubv_c($v);
glColor3ubv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor3ui ๐ŸŒธ

glColor3ui($red, $green, $blue);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor3uiv

glColor3uiv_c($v);
glColor3uiv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor3us ๐Ÿฆ‹

glColor3us($red, $green, $blue);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor3usv

glColor3usv_c($v);
glColor3usv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4b ๐Ÿ‘‘

glColor4b($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4bv

glColor4bv_c($v);
glColor4bv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4d ๐Ÿงš

glColor4d($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4dv

glColor4dv_c($v);
glColor4dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4f ๐Ÿ”ฅ

glColor4f($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4fNormal3fVertex3fSUN โญ

glColor4fNormal3fVertex3fSUN($r, $g, $b, $a, $nx, $ny, $nz, $x, $y, $z);

Exported under tag :GL_SUN_vertex.

ok this one is doing a LOT โ€” colour AND normal AND a vertex in one single call. it's giving multitasking icon. no tag restriction on this one btw, it's all :GL_SUN_vertex. ๐Ÿซถ

glColor4fNormal3fVertex3fvSUN

glColor4fNormal3fVertex3fvSUN_c($c, $n, $v);
glColor4fNormal3fVertex3fvSUN_p(\@c, \@n, \@v);

Exported under tag :GL_SUN_vertex.


glColor4fv

glColor4fv_c($v);
glColor4fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4hNV ๐Ÿ“

glColor4hNV($red, $green, $blue, $alpha);

Exported under tag :GL_NV_half_float.

half-float tingz โœจ only available through :GL_NV_half_float, so no future-compat drama here.

glColor4hvNV

glColor4hvNV_c($v);
glColor4hvNV_p(@v);

Exported under tag :GL_NV_half_float.


glColor4i ๐Ÿ’œ

glColor4i($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4iv

glColor4iv_c($v);
glColor4iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4s ๐ŸŒˆ

glColor4s($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4sv

glColor4sv_c($v);
glColor4sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4ub โœจ

glColor4ub($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4ubVertex2fSUN

glColor4ubVertex2fSUN($r, $g, $b, $a, $x, $y);

Exported under tag :GL_SUN_vertex.


glColor4ubVertex2fvSUN

glColor4ubVertex2fvSUN_c($c, $v);
glColor4ubVertex2fvSUN_p(\@c, \@v);

Exported under tag :GL_SUN_vertex.


glColor4ubVertex3fSUN ๐Ÿฆ‹

glColor4ubVertex3fSUN($r, $g, $b, $a, $x, $y, $z);

Exported under tag :GL_SUN_vertex.


glColor4ubVertex3fvSUN

glColor4ubVertex3fvSUN_c($c, $v);
glColor4ubVertex3fvSUN_p(\@c, \@v);

Exported under tag :GL_SUN_vertex.


glColor4ubv

glColor4ubv_c($v);
glColor4ubv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4ui ๐Ÿ’…

glColor4ui($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4uiv

glColor4uiv_c($v);
glColor4uiv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4us ๐ŸŒธ

glColor4us($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4usv

glColor4usv_c($v);
glColor4usv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glColor4x ๐ŸŽ€

glColor4x($red, $green, $blue, $alpha);

Exported under tag :GL_REGAL_ES1_0_compatibility.

not a future-compat casualty, bestie โ€” it just lives its life under :GL_REGAL_ES1_0_compatibility. ๐Ÿ’–

glColorFormatNV

glColorFormatNV($size, $type, $stride);

Exported under tag :GL_NV_vertex_buffer_unified_memory.


glColorFragmentOp1ATI ๐Ÿ’œ

glColorFragmentOp1ATI($op, $dst, $dstMask, $dstMod, $arg1, $arg1Rep, $arg1Mod);

Exported under tag :GL_ATI_fragment_shader.

op 1 of the ATI fragment shader trio โ€” one argument, seven params, very demure, very mindful.

glColorFragmentOp2ATI

glColorFragmentOp2ATI($op, $dst, $dstMask, $dstMod, $arg1, $arg1Rep, $arg1Mod, $arg2, $arg2Rep, $arg2Mod);

Exported under tag :GL_ATI_fragment_shader.


glColorFragmentOp3ATI

glColorFragmentOp3ATI($op, $dst, $dstMask, $dstMod, $arg1, $arg1Rep, $arg1Mod, $arg2, $arg2Rep, $arg2Mod, $arg3, $arg3Rep, $arg3Mod);

Exported under tag :GL_ATI_fragment_shader.

three args, thirteen params, absolutely ate and left no crumbs. ๐Ÿ˜ญ

glColorMask ๐Ÿ‘‘

glColorMask($red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_1_1. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glColorMask.xhtml

no future-compat warning on this one!! it survived. main character energy fr fr. ๐Ÿซถ

glColorMaski

glColorMaski($buf, $red, $green, $blue, $alpha);
glColorMaskIndexedEXT($buf, $red, $green, $blue, $alpha);
glColorMaskiEXT($buf, $red, $green, $blue, $alpha);

Exported under tag :GL_VERSION_3_0. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glColorMaski.xhtml

three names, same energy โ€” glColorMaski, glColorMaskIndexedEXT, and glColorMaskiEXT all under one tag. slay. โœจ

glColorMaskiOES

glColorMaskiOES($buf, $r, $g, $b, $a);

Exported under tag :GL_OES_draw_buffers_indexed.


glColorMaterial

glColorMaterial($face, $mode);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glColorMaterial.xml


glColorP3ui ๐Ÿ“

glColorP3ui($type, $color);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


glColorP3uiv

glColorP3uiv_c($type, $color);
glColorP3uiv_p($type, @color);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.

heads up bestie: the _p version takes $type first and then @color, not the other way around. iykyk ๐Ÿ’…

glColorP4ui

glColorP4ui($type, $color);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


glColorP4uiv

glColorP4uiv_c($type, $color);
glColorP4uiv_p($type, @color);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


glColorPointer ๐ŸŒˆ

glColorPointer_c($size, $type, $stride, $pointer);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glColorPointer.xml


glColorPointerEXT

glColorPointerEXT_c($size, $type, $stride, $count, $pointer);

Exported under tag :GL_EXT_vertex_array.

note the extra $count in this one compared to glColorPointer โ€” don't get it twisted. ๐Ÿ™ˆ

glColorPointerListIBM

glColorPointerListIBM_c($size, $type, $stride, $pointer, $ptrstride);

Exported under tag :GL_IBM_vertex_array_lists.


glColorPointervINTEL

glColorPointervINTEL_c($size, $type, $pointer);

Exported under tag :GL_INTEL_parallel_arrays.

just three params here, no $stride at all. living simply. โœจ

glColorSubTable ๐ŸŽ€

glColorSubTable_c($target, $start, $count, $format, $type, $data);
glColorSubTableEXT_c($target, $start, $count, $format, $type, $data);

Exported under tag :GL_ARB_imaging.


glColorTable ๐Ÿ‘‘

glColorTable_c($target, $internalformat, $width, $format, $type, $table);
glColorTableEXT_c($target, $internalformat, $width, $format, $type, $table);
glColorTableSGI_c($target, $internalformat, $width, $format, $type, $table);

Exported under tag :GL_ARB_imaging.

three whole aliases: glColorTable_c, glColorTableEXT_c, and glColorTableSGI_c. the way they all take the same six argsโ€ฆ iconic. ๐Ÿ’…

glColorTableParameterfv

glColorTableParameterfv_c($target, $pname, $params);
glColorTableParameterfvSGI_c($target, $pname, $params);
glColorTableParameterfv_p($target, $pname, @params);
glColorTableParameterfvSGI_p($target, $pname, @params);

Exported under tag :GL_ARB_imaging.


glColorTableParameteriv

glColorTableParameteriv_c($target, $pname, $params);
glColorTableParameterivSGI_c($target, $pname, $params);
glColorTableParameteriv_p($target, $pname, @params);
glColorTableParameterivSGI_p($target, $pname, @params);

Exported under tag :GL_ARB_imaging.

four variants, all under :GL_ARB_imaging. yes bestie this is copy-paste city and we are VIBING. ๐ŸŒธ

glCombinerInputNV ๐Ÿ’œ

glCombinerInputNV($stage, $portion, $variable, $input, $mapping, $componentUsage);

Exported under tag :GL_NV_register_combiners.


glCombinerOutputNV

glCombinerOutputNV($stage, $portion, $abOutput, $cdOutput, $sumOutput, $scale, $bias, $abDotProduct, $cdDotProduct, $muxSum);

Exported under tag :GL_NV_register_combiners.

ten params. TEN. she's not like other register combiners. ๐Ÿ˜ญ support her.

glCombinerParameterfNV

glCombinerParameterfNV($pname, $param);

Exported under tag :GL_NV_register_combiners.


glCombinerParameterfvNV

glCombinerParameterfvNV_c($pname, $params);

Exported under tag :GL_NV_register_combiners.


glCombinerParameteriNV

glCombinerParameteriNV($pname, $param);

Exported under tag :GL_NV_register_combiners.


glCombinerParameterivNV

glCombinerParameterivNV_c($pname, $params);

Exported under tag :GL_NV_register_combiners.

see the pattern? f and fv, i and iv โ€” the float ones take $param/$params, the int ones take $param/$params. same tag for all four. ๐Ÿซถ

glCombinerStageParameterfvNV

glCombinerStageParameterfvNV_c($stage, $pname, $params);

Exported under tag :GL_NV_register_combiners2.

note that 2 on the end of the tag โ€” this is the stage version, slightly different card. ๐Ÿ’–

glCommandListSegmentsNV

glCommandListSegmentsNV($list, $segments);

Exported under tag :GL_NV_command_list.


glCompileCommandListNV

glCompileCommandListNV($list);

Exported under tag :GL_NV_command_list.


glCompileShader โญ

glCompileShader($shader);

Exported under tag :GL_VERSION_2_0. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCompileShader.xhtml

no future-compat warning โ€” this queen is thriving in :GL_VERSION_2_0 and beyond. periodt. ๐Ÿ”ฅ

glCompileShaderARB

glCompileShaderARB($shaderObj);

Exported under tag :GL_ARB_shader_objects.

tiny detail: this one's arg is literally named $shaderObj. keep the receipts. โœจ

glCompileShaderIncludeARB

glCompileShaderIncludeARB_c($shader, $count, $path, $length);
glCompileShaderIncludeARB_p($shader, \@path, \@length);

Exported under tag :GL_ARB_shading_language_include.

the _c takes $count plus a single $path and $length; the _p drops $count and wants arrayrefs \@path and \@length. different formats, same destiny. ๐Ÿฆ‹

glCompressedMultiTexImage1DEXT ๐ŸŽ€

glCompressedMultiTexImage1DEXT_c($texunit, $target, $level, $internalformat, $width, $border, $imageSize, $bits);

Exported under tag :GL_EXT_direct_state_access.

and that's an _c-only situation โ€” no _p sibling for this one, so don't go looking, bestie. ๐Ÿ’…

glCompressedMultiTexImage2DEXT ๐Ÿ’–

Okay bestie, next up on the function tour: compressed multi-texture 2D! It's giving texture but make it direct-state-access. Here's the signature:

glCompressedMultiTexImage2DEXT_c($texunit, $target, $level, $internalformat, $width, $height, $border, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedMultiTexImage3DEXT โœจ

And now for the 3D version, because depth is everything.

glCompressedMultiTexImage3DEXT_c($texunit, $target, $level, $internalformat, $width, $height, $depth, $border, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedMultiTexSubImage1DEXT ๐ŸŽ€

Sub-image, 1D, multi-tex, EXT. Say that three times fast.

glCompressedMultiTexSubImage1DEXT_c($texunit, $target, $level, $xoffset, $width, $format, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedMultiTexSubImage2DEXT ๐Ÿฆ‹

2D sub-image energy, multi-tex edition.

glCompressedMultiTexSubImage2DEXT_c($texunit, $target, $level, $xoffset, $yoffset, $width, $height, $format, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedMultiTexSubImage3DEXT ๐ŸŒธ

Three dimensions of sub-image, multi-tex, EXT. Iconic.

glCompressedMultiTexSubImage3DEXT_c($texunit, $target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedTexImage1D ๐Ÿ’…

Classic compressed texture image, 1D. Two flavors for your convenience.

glCompressedTexImage1D_c($target, $level, $internalformat, $width, $border, $imageSize, $data);
glCompressedTexImage1DARB_c($target, $level, $internalformat, $width, $border, $imageSize, $data);

Exported under the tag :GL_VERSION_1_3. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCompressedTexImage1D.xhtml>


glCompressedTexImage2D ๐Ÿ”ฅ

Two-dimensional compressed texture image, with the ARB variant. Slay.

glCompressedTexImage2D_c($target, $level, $internalformat, $width, $height, $border, $imageSize, $data);
glCompressedTexImage2DARB_c($target, $level, $internalformat, $width, $height, $border, $imageSize, $data);

Exported under the tag :GL_VERSION_1_3. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCompressedTexImage2D.xhtml>


glCompressedTexImage3D ๐ŸŒˆ

Three-dee compressed texture image, because why stop at two? ARB variant included.

glCompressedTexImage3D_c($target, $level, $internalformat, $width, $height, $depth, $border, $imageSize, $data);
glCompressedTexImage3DARB_c($target, $level, $internalformat, $width, $height, $depth, $border, $imageSize, $data);

Exported under the tag :GL_VERSION_1_3. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCompressedTexImage3D.xhtml>


glCompressedTexImage3DNV ๐Ÿ‘‘

NVIDIA's take on compressed 3D texture image. No ARB variant here.

glCompressedTexImage3DNV_c($target, $level, $internalformat, $width, $height, $depth, $border, $imageSize, $data);

Exported under the tag :GL_NV_texture_array.


glCompressedTexImage3DOES ๐Ÿ’œ

OpenGL ES version of compressed 3D texture image. OES represent.

glCompressedTexImage3DOES_c($target, $level, $internalformat, $width, $height, $depth, $border, $imageSize, $data);

Exported under the tag :GL_OES_texture_3D.


glCompressedTexSubImage1D ๐Ÿ“

Compressed texture sub-image, 1D. Two variants, same vibe.

glCompressedTexSubImage1D_c($target, $level, $xoffset, $width, $format, $imageSize, $data);
glCompressedTexSubImage1DARB_c($target, $level, $xoffset, $width, $format, $imageSize, $data);

Exported under the tag :GL_VERSION_1_3. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCompressedTexSubImage1D.xhtml>


glCompressedTexSubImage2D ๐Ÿงš

2D sub-image, compressed texture style. ARB variant too.

glCompressedTexSubImage2D_c($target, $level, $xoffset, $yoffset, $width, $height, $format, $imageSize, $data);
glCompressedTexSubImage2DARB_c($target, $level, $xoffset, $yoffset, $width, $height, $format, $imageSize, $data);

Exported under the tag :GL_VERSION_1_3. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCompressedTexSubImage2D.xhtml>


glCompressedTexSubImage3D ๐Ÿ’–

Three-dimensional sub-image, compressed texture, ARB included. The whole package.

glCompressedTexSubImage3D_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $imageSize, $data);
glCompressedTexSubImage3DARB_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $imageSize, $data);

Exported under the tag :GL_VERSION_1_3. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCompressedTexSubImage3D.xhtml>


glCompressedTexSubImage3DNV โœจ

NVIDIA's 3D compressed texture sub-image. Just one variant.

glCompressedTexSubImage3DNV_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $imageSize, $data);

Exported under the tag :GL_NV_texture_array.


glCompressedTexSubImage3DOES ๐ŸŽ€

OpenGL ES 3D compressed texture sub-image. OES flavor.

glCompressedTexSubImage3DOES_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $imageSize, $data);

Exported under the tag :GL_OES_texture_3D.


glCompressedTextureImage1DEXT ๐Ÿฆ‹

Compressed texture image, 1D, EXT direct-state-access style.

glCompressedTextureImage1DEXT_c($texture, $target, $level, $internalformat, $width, $border, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedTextureImage2DEXT ๐ŸŒธ

2D compressed texture image, EXT direct-state-access. You know the drill.

glCompressedTextureImage2DEXT_c($texture, $target, $level, $internalformat, $width, $height, $border, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedTextureImage3DEXT ๐Ÿ’…

3D compressed texture image, EXT direct-state-access. Get that depth.

glCompressedTextureImage3DEXT_c($texture, $target, $level, $internalformat, $width, $height, $depth, $border, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedTextureSubImage1D ๐Ÿ”ฅ

Compressed texture sub-image, 1D, ARB direct-state-access. One signature only.

glCompressedTextureSubImage1D_c($texture, $level, $xoffset, $width, $format, $imageSize, $data);

Exported under the tag :GL_ARB_direct_state_access.


glCompressedTextureSubImage1DEXT ๐ŸŒˆ

1D compressed texture sub-image, EXT direct-state-access. Different tag, same energy.

glCompressedTextureSubImage1DEXT_c($texture, $target, $level, $xoffset, $width, $format, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedTextureSubImage2D ๐Ÿ‘‘

2D compressed texture sub-image, ARB direct-state-access. No target parameter here.

glCompressedTextureSubImage2D_c($texture, $level, $xoffset, $yoffset, $width, $height, $format, $imageSize, $data);

Exported under the tag :GL_ARB_direct_state_access.


glCompressedTextureSubImage2DEXT ๐Ÿ’œ

2D compressed texture sub-image, EXT direct-state-access. Has that target parameter.

glCompressedTextureSubImage2DEXT_c($texture, $target, $level, $xoffset, $yoffset, $width, $height, $format, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glCompressedTextureSubImage3D ๐Ÿ“

3D compressed texture sub-image, ARB direct-state-access. Three offsets, three dimensions.

glCompressedTextureSubImage3D_c($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $imageSize, $data);

Exported under the tag :GL_ARB_direct_state_access.


glCompressedTextureSubImage3DEXT ๐Ÿงš

3D compressed texture sub-image, EXT direct-state-access. Target included.

glCompressedTextureSubImage3DEXT_c($texture, $target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $imageSize, $bits);

Exported under the tag :GL_EXT_direct_state_access.


glConservativeRasterParameterfNV ๐Ÿ’–

Conservative raster parameter, float version, NVIDIA style.

glConservativeRasterParameterfNV($pname, $value);

Exported under the tag :GL_NV_conservative_raster_dilate.


glConservativeRasterParameteriNV โœจ

Conservative raster parameter, integer version, NVIDIA style. Different extension tag.

glConservativeRasterParameteriNV($pname, $param);

Exported under the tag :GL_NV_conservative_raster_pre_snap_triangles.


glConvolutionFilter1D ๐ŸŽ€

Convolution filter, 1D. Two variants, ARB imaging tag.

glConvolutionFilter1D_c($target, $internalformat, $width, $format, $type, $image);
glConvolutionFilter1DEXT_c($target, $internalformat, $width, $format, $type, $image);

Exported under the tag :GL_ARB_imaging.


glConvolutionFilter2D ๐Ÿฆ‹

Convolution filter, 2D. Two variants, ARB imaging.

glConvolutionFilter2D_c($target, $internalformat, $width, $height, $format, $type, $image);
glConvolutionFilter2DEXT_c($target, $internalformat, $width, $height, $format, $type, $image);

Exported under the tag :GL_ARB_imaging.


glConvolutionParameterf ๐ŸŒธ

Convolution parameter, float version. Two variants, no _c suffix on these.

glConvolutionParameterf($target, $pname, $params);
glConvolutionParameterfEXT($target, $pname, $params);

Exported under the tag :GL_ARB_imaging.


glConvolutionParameterfv ๐Ÿ’…

Convolution parameter, float vector version. Four variants: _c and _p for both.

glConvolutionParameterfv_c($target, $pname, $params);
glConvolutionParameterfvEXT_c($target, $pname, $params);
glConvolutionParameterfv_p($target, $pname, @params);
glConvolutionParameterfvEXT_p($target, $pname, @params);

Exported under the tag :GL_ARB_imaging.


glConvolutionParameteri ๐Ÿ”ฅ

Convolution parameter, integer version. Two variants.

glConvolutionParameteri($target, $pname, $params);
glConvolutionParameteriEXT($target, $pname, $params);

Exported under the tag :GL_ARB_imaging.


glConvolutionParameteriv ๐ŸŒˆ

Convolution parameter, integer vector version. Four variants: _c and _p.

glConvolutionParameteriv_c($target, $pname, $params);
glConvolutionParameterivEXT_c($target, $pname, $params);
glConvolutionParameteriv_p($target, $pname, @params);
glConvolutionParameterivEXT_p($target, $pname, @params);

Exported under the tag :GL_ARB_imaging.


glCopyBufferSubData ๐Ÿ‘‘

Copy buffer sub-data. Two variants: core and NV.

glCopyBufferSubData($readTarget, $writeTarget, $readOffset, $writeOffset, $size);
glCopyBufferSubDataNV($readTarget, $writeTarget, $readOffset, $writeOffset, $size);

Exported under the tag :GL_ARB_copy_buffer.


glCopyColorSubTable ๐Ÿ’œ

Copy color sub-table. Two variants.

glCopyColorSubTable($target, $start, $x, $y, $width);
glCopyColorSubTableEXT($target, $start, $x, $y, $width);

Exported under the tag :GL_ARB_imaging.


glCopyColorTable ๐Ÿ“

Copy color table. Two variants, one with SGI suffix.

glCopyColorTable($target, $internalformat, $x, $y, $width);
glCopyColorTableSGI($target, $internalformat, $x, $y, $width);

Exported under the tag :GL_ARB_imaging.


glCopyConvolutionFilter1D ๐Ÿงš

Copy convolution filter, 1D. Two variants.

glCopyConvolutionFilter1D($target, $internalformat, $x, $y, $width);
glCopyConvolutionFilter1DEXT($target, $internalformat, $x, $y, $width);

Exported under the tag :GL_ARB_imaging.


glCopyConvolutionFilter2D ๐Ÿ’–

Copy convolution filter, 2D. Two variants.

glCopyConvolutionFilter2D($target, $internalformat, $x, $y, $width, $height);
glCopyConvolutionFilter2DEXT($target, $internalformat, $x, $y, $width, $height);

Exported under the tag :GL_ARB_imaging.


glCopyImageSubData โœจ

Copy image sub-data. Two variants: core and EXT. Lots of parameters, but you got this.

glCopyImageSubData($srcName, $srcTarget, $srcLevel, $srcX, $srcY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $srcWidth, $srcHeight, $srcDepth);
glCopyImageSubDataEXT($srcName, $srcTarget, $srcLevel, $srcX, $srcY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $srcWidth, $srcHeight, $srcDepth);

Exported under the tag :GL_ARB_copy_image.


glCopyImageSubDataNV ๐ŸŽ€

NVIDIA's copy image sub-data. Note the parameter names differ: $width, $height, $depth instead of $srcWidth, etc.

glCopyImageSubDataNV($srcName, $srcTarget, $srcLevel, $srcX, $srcY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $width, $height, $depth);

Exported under the tag :GL_NV_copy_image.


glCopyImageSubDataOES ๐Ÿฆ‹

OpenGL ES copy image sub-data. Back to $srcWidth, $srcHeight, $srcDepth.

glCopyImageSubDataOES($srcName, $srcTarget, $srcLevel, $srcX, $srcY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $srcWidth, $srcHeight, $srcDepth);

Exported under the tag :GL_OES_copy_image.


glCopyMultiTexImage1DEXT ๐ŸŒธ

Copy multi-texture image, 1D, EXT direct-state-access.

glCopyMultiTexImage1DEXT($texunit, $target, $level, $internalformat, $x, $y, $width, $border);

Exported under the tag :GL_EXT_direct_state_access.


glCopyMultiTexImage2DEXT ๐Ÿ’…

Copy multi-texture image, 2D, EXT direct-state-access.

glCopyMultiTexImage2DEXT($texunit, $target, $level, $internalformat, $x, $y, $width, $height, $border);

Exported under the tag :GL_EXT_direct_state_access.


glCopyMultiTexSubImage1DEXT ๐Ÿ”ฅ

Copy multi-texture sub-image, 1D, EXT direct-state-access.

glCopyMultiTexSubImage1DEXT($texunit, $target, $level, $xoffset, $x, $y, $width);

Exported under the tag :GL_EXT_direct_state_access.


glCopyMultiTexSubImage2DEXT ๐ŸŒˆ

Copy multi-texture sub-image, 2D, EXT direct-state-access.

glCopyMultiTexSubImage2DEXT($texunit, $target, $level, $xoffset, $yoffset, $x, $y, $width, $height);

Exported under the tag :GL_EXT_direct_state_access.


glCopyMultiTexSubImage3DEXT ๐Ÿ‘‘

Copy multi-texture sub-image, 3D, EXT direct-state-access.

glCopyMultiTexSubImage3DEXT($texunit, $target, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);

Exported under the tag :GL_EXT_direct_state_access.


glCopyNamedBufferSubData ๐Ÿ’œ

Copy named buffer sub-data, ARB direct-state-access.

glCopyNamedBufferSubData($readBuffer, $writeBuffer, $readOffset, $writeOffset, $size);

Exported under the tag :GL_ARB_direct_state_access.


glCopyPathNV ๐Ÿ“

Copy path, NVIDIA path rendering.

glCopyPathNV($resultPath, $srcPath);

Exported under the tag :GL_NV_path_rendering.


glCopyPixels ๐Ÿงš

The classic glCopyPixels. But heads up: not available in a 'future-compatible' profile as removed in 3.2.

glCopyPixels($x, $y, $width, $height, $type);

Exported under the tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glCopyPixels.xml>

๐Ÿ’– glCopyTexImage1D

glCopyTexImage1D($target, $level, $internalformat, $x, $y, $width, $border);
glCopyTexImage1DEXT($target, $level, $internalformat, $x, $y, $width, $border);

Exported under the tag :GL_VERSION_1_1. The official ref page is at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCopyTexImage1D.xhtml.


โœจ glCopyTexImage2D

glCopyTexImage2D($target, $level, $internalformat, $x, $y, $width, $height, $border);
glCopyTexImage2DEXT($target, $level, $internalformat, $x, $y, $width, $height, $border);

Exported under the tag :GL_VERSION_1_1. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCopyTexImage2D.xhtml.


๐Ÿฆ‹ glCopyTexSubImage1D

glCopyTexSubImage1D($target, $level, $xoffset, $x, $y, $width);
glCopyTexSubImage1DEXT($target, $level, $xoffset, $x, $y, $width);

Exported under the tag :GL_VERSION_1_1. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCopyTexSubImage1D.xhtml.


๐ŸŒธ glCopyTexSubImage2D

glCopyTexSubImage2D($target, $level, $xoffset, $yoffset, $x, $y, $width, $height);
glCopyTexSubImage2DEXT($target, $level, $xoffset, $yoffset, $x, $y, $width, $height);

Exported under the tag :GL_VERSION_1_1. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCopyTexSubImage2D.xhtml.


๐ŸŽ€ glCopyTexSubImage3D

glCopyTexSubImage3D($target, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);
glCopyTexSubImage3DEXT($target, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);

Exported under the tag :GL_VERSION_1_2. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCopyTexSubImage3D.xhtml.


๐Ÿ’… glCopyTexSubImage3DNV

glCopyTexSubImage3DNV($target, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);

Exported under the tag :GL_NV_texture_array.


๐ŸŒˆ glCopyTexSubImage3DOES

glCopyTexSubImage3DOES($target, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);

Exported under the tag :GL_OES_texture_3D.


โญ glCopyTextureImage1DEXT

glCopyTextureImage1DEXT($texture, $target, $level, $internalformat, $x, $y, $width, $border);

Exported under the tag :GL_EXT_direct_state_access.


๐Ÿซถ glCopyTextureImage2DEXT

glCopyTextureImage2DEXT($texture, $target, $level, $internalformat, $x, $y, $width, $height, $border);

Exported under the tag :GL_EXT_direct_state_access.


๐Ÿ“ glCopyTextureLevelsAPPLE

glCopyTextureLevelsAPPLE($destinationTexture, $sourceTexture, $sourceBaseLevel, $sourceLevelCount);

Exported under the tag :GL_APPLE_copy_texture_levels.


๐Ÿ’œ glCopyTextureSubImage1D

glCopyTextureSubImage1D($texture, $level, $xoffset, $x, $y, $width);

Exported under the tag :GL_ARB_direct_state_access.


๐Ÿงš glCopyTextureSubImage1DEXT

glCopyTextureSubImage1DEXT($texture, $target, $level, $xoffset, $x, $y, $width);

Exported under the tag :GL_EXT_direct_state_access.


๐Ÿ”ฅ glCopyTextureSubImage2D

glCopyTextureSubImage2D($texture, $level, $xoffset, $yoffset, $x, $y, $width, $height);

Exported under the tag :GL_ARB_direct_state_access.


๐ŸŽ€ glCopyTextureSubImage2DEXT

glCopyTextureSubImage2DEXT($texture, $target, $level, $xoffset, $yoffset, $x, $y, $width, $height);

Exported under the tag :GL_EXT_direct_state_access.


๐Ÿ‘‘ glCopyTextureSubImage3D

glCopyTextureSubImage3D($texture, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);

Exported under the tag :GL_ARB_direct_state_access.


๐Ÿ’– glCopyTextureSubImage3DEXT

glCopyTextureSubImage3DEXT($texture, $target, $level, $xoffset, $yoffset, $zoffset, $x, $y, $width, $height);

Exported under the tag :GL_EXT_direct_state_access.


๐ŸŒธ glCoverFillPathInstancedNV

glCoverFillPathInstancedNV_c($numPaths, $pathNameType, $paths, $pathBase, $coverMode, $transformType, $transformValues);

Exported under the tag :GL_NV_path_rendering.


โœจ glCoverFillPathNV

glCoverFillPathNV($path, $coverMode);

Exported under the tag :GL_NV_path_rendering.


๐Ÿฆ‹ glCoverStrokePathInstancedNV

glCoverStrokePathInstancedNV_c($numPaths, $pathNameType, $paths, $pathBase, $coverMode, $transformType, $transformValues);

Exported under the tag :GL_NV_path_rendering.


๐Ÿ’… glCoverStrokePathNV

glCoverStrokePathNV($path, $coverMode);

Exported under the tag :GL_NV_path_rendering.


โญ glCoverageModulationNV

glCoverageModulationNV($components);

Exported under the tag :GL_EXT_raster_multisample.


๐ŸŒˆ glCoverageModulationTableNV

glCoverageModulationTableNV_c($n, $v);
glCoverageModulationTableNV_p(@v);

Exported under the tag :GL_EXT_raster_multisample.


๐Ÿ’œ glCreateBuffers

glCreateBuffers_c($n, $buffers);
@buffers = glCreateBuffers_p($n);

Exported under the tag :GL_ARB_direct_state_access.


๐Ÿซถ glCreateCommandListsNV

glCreateCommandListsNV_c($n, $lists);
@lists = glCreateCommandListsNV_p($n);

Exported under the tag :GL_NV_command_list.


๐Ÿ“ glCreateFramebuffers

glCreateFramebuffers_c($n, $framebuffers);
@framebuffers = glCreateFramebuffers_p($n);

Exported under the tag :GL_ARB_direct_state_access.


๐Ÿงš glCreateMemoryObjectsEXT

glCreateMemoryObjectsEXT_c($n, $memoryObjects);

Exported under the tag :GL_EXT_memory_object.


๐Ÿ”ฅ glCreatePerfQueryINTEL

glCreatePerfQueryINTEL_c($queryId, $queryHandle);

Exported under the tag :GL_INTEL_performance_query.


๐Ÿ‘‘ glCreateProgram

$retval = glCreateProgram();
$retval = glCreateProgramObjectARB();

Exported under the tag :GL_VERSION_2_0. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCreateProgram.xhtml.


โœจ glCreateProgramPipelines

glCreateProgramPipelines_c($n, $pipelines);
@pipelines = glCreateProgramPipelines_p($n);

Exported under the tag :GL_ARB_direct_state_access.


๐ŸŽ€ glCreateProgressFenceNVX

$retval = glCreateProgressFenceNVX();

Exported under the tag :GL_NVX_progress_fence.


๐ŸŒธ glCreateQueries

glCreateQueries_c($target, $n, $ids);
@ids = glCreateQueries_p($target, $n);

Exported under the tag :GL_ARB_direct_state_access.


๐Ÿ’… glCreateRenderbuffers

glCreateRenderbuffers_c($n, $renderbuffers);
@renderbuffers = glCreateRenderbuffers_p($n);

Exported under the tag :GL_ARB_direct_state_access.


๐Ÿฆ‹ glCreateSamplers

glCreateSamplers_c($n, $samplers);
@samplers = glCreateSamplers_p($n);

Exported under the tag :GL_ARB_direct_state_access.


โญ glCreateSemaphoresNV

glCreateSemaphoresNV_c($n, $semaphores);
@semaphores = glCreateSemaphoresNV_p($n);

Exported under the tag :GL_NV_timeline_semaphore.


๐ŸŒˆ glCreateShader

$retval = glCreateShader($type);
$retval = glCreateShaderObjectARB($type);

Exported under the tag :GL_VERSION_2_0. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCreateShader.xhtml.


๐Ÿ’œ glCreateShaderProgramEXT

$retval = glCreateShaderProgramEXT($type, $string);

Exported under the tag :GL_EXT_separate_shader_objects.


๐Ÿซถ glCreateShaderProgramv

$retval = glCreateShaderProgramv_c($type, $count, $strings);
$retval = glCreateShaderProgramv_p($type, @strings);

Exported under the tag :GL_ARB_separate_shader_objects.


๐Ÿ“ glCreateStatesNV

glCreateStatesNV_c($n, $states);
@states = glCreateStatesNV_p($n);

Exported under the tag :GL_NV_command_list.


๐Ÿงš glCreateSyncFromCLeventARB

$retval = glCreateSyncFromCLeventARB($context, $event, $flags);

Exported under the tag :GL_ARB_cl_event.


๐Ÿ”ฅ glCreateTextures

glCreateTextures_c($target, $n, $textures);
@textures = glCreateTextures_p($target, $n);

Exported under the tag :GL_ARB_direct_state_access.


๐Ÿ‘‘ glCreateTransformFeedbacks

glCreateTransformFeedbacks_c($n, $ids);
@ids = glCreateTransformFeedbacks_p($n);

Exported under the tag :GL_ARB_direct_state_access.


โœจ glCreateVertexArrays

glCreateVertexArrays_c($n, $arrays);
@arrays = glCreateVertexArrays_p($n);

Exported under the tag :GL_ARB_direct_state_access.


๐ŸŽ€ glCullFace

glCullFace($mode);

Exported under the tag :GL_VERSION_1_1. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glCullFace.xhtml.


๐ŸŒธ glCullParameterdvEXT

glCullParameterdvEXT_c($pname, $params);
@params = glCullParameterdvEXT_p($pname);

Exported under the tag :GL_EXT_cull_vertex.


๐Ÿ’… glCullParameterfvEXT

glCullParameterfvEXT_c($pname, $params);
@params = glCullParameterfvEXT_p($pname);

Exported under the tag :GL_EXT_cull_vertex.


๐Ÿฆ‹ glCurrentPaletteMatrixARB

glCurrentPaletteMatrixARB($index);

Exported under the tag :GL_ARB_matrix_palette.


โญ glCurrentPaletteMatrixOES

glCurrentPaletteMatrixOES($index);

Exported under the tag :GL_OES_matrix_palette.


๐ŸŒˆ glDataPipe

$retval = glDataPipe($space);

Exported under the tag :GL_SGIX_datapipe.


๐Ÿ’œ glDebugMessageCallback

glDebugMessageCallback_c($callback, $userParam);
glDebugMessageCallbackARB_c($callback, $userParam);
glDebugMessageCallbackKHR_c($callback, $userParam);

Exported under the tag :GL_KHR_debug.


๐Ÿซถ glDebugMessageCallbackAMD

glDebugMessageCallbackAMD_c($callback, $userParam);

Exported under the tag :GL_AMD_debug_output.


๐Ÿ“ glDebugMessageControl

glDebugMessageControl_c($source, $type, $severity, $count, $ids, $enabled);
glDebugMessageControlARB_c($source, $type, $severity, $count, $ids, $enabled);
glDebugMessageControlKHR_c($source, $type, $severity, $count, $ids, $enabled);
glDebugMessageControl_p($source, $type, $severity, $enabled, @ids);
glDebugMessageControlARB_p($source, $type, $severity, $enabled, @ids);
glDebugMessageControlKHR_p($source, $type, $severity, $enabled, @ids);

Exported under the tag :GL_KHR_debug.


๐Ÿงš glDebugMessageEnableAMD

glDebugMessageEnableAMD_c($category, $severity, $count, $ids, $enabled);
glDebugMessageEnableAMD_p($category, $severity, $enabled, @ids);

Exported under the tag :GL_AMD_debug_output.


๐Ÿ”ฅ glDebugMessageInsert

glDebugMessageInsert($source, $type, $id, $severity, $length, $buf);
glDebugMessageInsertARB($source, $type, $id, $severity, $length, $buf);
glDebugMessageInsertKHR($source, $type, $id, $severity, $length, $buf);

Exported under the tag :GL_KHR_debug.


๐Ÿ‘‘ glDebugMessageInsertAMD

glDebugMessageInsertAMD($category, $severity, $id, $length, $buf);

Exported under the tag :GL_AMD_debug_output.


โœจ glDeformSGIX

glDeformSGIX($mask);

Exported under the tag :GL_SGIX_polynomial_ffd.


๐ŸŽ€ glDeleteArraySetsEXT

glDeleteArraySetsEXT_c($n, $arrayset);

Exported under the tag :GL_EXT_vertex_array_setXXX.


๐ŸŒธ glDeleteAsyncMarkersSGIX

glDeleteAsyncMarkersSGIX($marker, $range);

Exported under the tag :GL_SGIX_async.


๐Ÿ’… glDeleteBufferRegion

glDeleteBufferRegion($region);

Exported under the tag :GL_KTX_buffer_region.


๐Ÿฆ‹ glDeleteBuffers

glDeleteBuffers_c($n, $buffers);
glDeleteBuffersARB_c($n, $buffers);
glDeleteBuffers_p(@buffers);
glDeleteBuffersARB_p(@buffers);

Exported under the tag :GL_VERSION_1_5. Ref page: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDeleteBuffers.xhtml.


โญ glDeleteCommandListsNV

glDeleteCommandListsNV_c($n, $lists);
glDeleteCommandListsNV_p(@lists);

Exported under the tag :GL_NV_command_list.


๐ŸŒˆ glDeleteFencesAPPLE

glDeleteFencesAPPLE_c($n, $fences);
glDeleteFencesAPPLE_p(@fences);

Exported under the tag :GL_APPLE_fence.

glDeleteFencesNV ๐Ÿ’–

glDeleteFencesNV_c($n, $fences);
glDeleteFencesNV_p(@fences);

okay so this one is exported under tag :GL_NV_fence โœจ bestie, it's giving fence cleanup energy.

glDeleteFragmentShaderATI ๐ŸŽ€

glDeleteFragmentShaderATI($id);

Exported under tag :GL_ATI_fragment_shader. ๐Ÿ’…

glDeleteFramebuffers ๐Ÿฆ‹

glDeleteFramebuffers_c($n, $framebuffers);
glDeleteFramebuffersEXT_c($n, $framebuffers);
glDeleteFramebuffers_p(@framebuffers);
glDeleteFramebuffersEXT_p(@framebuffers);

Exported under tag :GL_ARB_framebuffer_object. periodt, no cap.

glDeleteFramebuffersOES ๐ŸŒธ

glDeleteFramebuffersOES_c($n, $framebuffers);

Exported under tag :GL_OES_framebuffer_object. ๐Ÿ’–

glDeleteLists ๐Ÿ’€

glDeleteLists($list, $range);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glDeleteLists.xml> ๐Ÿ˜ญ tragic, honestly.

glDeleteMPEGPredictorsSGIX ๐ŸŒˆ

glDeleteMPEGPredictorsSGIX_c($n, $predictors);

Exported under tag :GL_SGIX_mpeg1. lowkey a deep cut.

glDeleteMemoryObjectsEXT ๐Ÿ“

glDeleteMemoryObjectsEXT_c($n, $memoryObjects);
glDeleteMemoryObjectsEXT_p(@memoryObjects);

Exported under tag :GL_EXT_memory_object. ๐Ÿ’œ

glDeleteNamedStringARB ๐Ÿงš

glDeleteNamedStringARB($namelen, $name);

Exported under tag :GL_ARB_shading_language_include. โœจ

glDeleteNamesAMD ๐Ÿ‘‘

glDeleteNamesAMD_c($identifier, $num, $names);
glDeleteNamesAMD_p($identifier, @names);

Exported under tag :GL_AMD_name_gen_delete. ๐Ÿ’… iconic behavior.

glDeleteObjectARB ๐ŸŽ€

glDeleteObjectARB($obj);

Exported under tag :GL_ARB_shader_objects. ngl, this one's a classic.

glDeleteOcclusionQueriesNV ๐Ÿฆ‹

glDeleteOcclusionQueriesNV_c($n, $ids);
glDeleteOcclusionQueriesNV_p(@ids);

Exported under tag :GL_NV_occlusion_query. ๐Ÿ’–

glDeletePathsNV ๐ŸŒธ

glDeletePathsNV($path, $range);

Exported under tag :GL_NV_path_rendering. it's giving path cleanup main character energy.

glDeletePerfMonitorsAMD ๐Ÿ’€

glDeletePerfMonitorsAMD_c($n, $monitors);
@monitors = glDeletePerfMonitorsAMD_p($n);

Exported under tag :GL_AMD_performance_monitor. periodt.

glDeletePerfQueryINTEL ๐ŸŒˆ

glDeletePerfQueryINTEL($queryHandle);

Exported under tag :GL_INTEL_performance_query. ๐Ÿ’…

glDeleteProgram ๐Ÿ“

glDeleteProgram($program);

Exported under tag :GL_VERSION_2_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDeleteProgram.xhtml> โœจ obsessed with this one.

glDeleteProgramPipelines ๐Ÿงš

glDeleteProgramPipelines_c($n, $pipelines);
glDeleteProgramPipelines_p(@pipelines);

Exported under tag :GL_ARB_separate_shader_objects. ๐Ÿ’œ

glDeleteProgramsARB ๐Ÿ‘‘

glDeleteProgramsARB_c($n, $programs);
glDeleteProgramsNV_c($n, $programs);
glDeleteProgramsARB_p(@programs);
glDeleteProgramsNV_p(@programs);

Exported under tag :GL_ARB_vertex_program. ๐Ÿ’…

glDeleteQueries ๐ŸŽ€

glDeleteQueries_c($n, $ids);
glDeleteQueriesARB_c($n, $ids);
glDeleteQueries_p(@ids);
glDeleteQueriesARB_p(@ids);

Exported under tag :GL_VERSION_1_5. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDeleteQueries.xhtml> ๐Ÿฆ‹

glDeleteQueriesANGLE ๐ŸŒธ

glDeleteQueriesANGLE_c($n, $ids);

Exported under tag :GL_ANGLE_timer_query. ๐Ÿ’–

glDeleteQueriesEXT ๐Ÿ’€

glDeleteQueriesEXT_c($n, $ids);
glDeleteQueriesEXT_p(@ids);

Exported under tag :GL_EXT_disjoint_timer_query. no cap.

glDeleteRenderbuffers ๐ŸŒˆ

glDeleteRenderbuffers_c($n, $renderbuffers);
glDeleteRenderbuffersEXT_c($n, $renderbuffers);
glDeleteRenderbuffers_p(@renderbuffers);
glDeleteRenderbuffersEXT_p(@renderbuffers);

Exported under tag :GL_ARB_framebuffer_object. periodt.

glDeleteRenderbuffersOES ๐Ÿ“

glDeleteRenderbuffersOES_c($n, $renderbuffers);

Exported under tag :GL_OES_framebuffer_object. ๐Ÿ’…

glDeleteSamplers ๐Ÿงš

glDeleteSamplers_c($count, $samplers);
glDeleteSamplers_p(@samplers);

Exported under tag :GL_ARB_sampler_objects. โœจ

glDeleteSemaphoresEXT ๐Ÿ‘‘

glDeleteSemaphoresEXT_c($n, $semaphores);
glDeleteSemaphoresEXT_p(@semaphores);

Exported under tag :GL_EXT_semaphore. ๐Ÿ’œ

glDeleteShader ๐ŸŽ€

glDeleteShader($shader);

Exported under tag :GL_VERSION_2_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDeleteShader.xhtml> ๐Ÿฆ‹

glDeleteStatesNV ๐ŸŒธ

glDeleteStatesNV_c($n, $states);
glDeleteStatesNV_p(@states);

Exported under tag :GL_NV_command_list. ๐Ÿ’–

glDeleteSync ๐Ÿ’€

glDeleteSync($myGLsync);
glDeleteSyncAPPLE($myGLsync);

Exported under tag :GL_ARB_sync. lowkey important, fr fr.

glDeleteTextures ๐ŸŒˆ

glDeleteTextures_c($n, $textures);
glDeleteTextures_p(@textures);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDeleteTextures.xhtml> periodt.

glDeleteTexturesEXT ๐Ÿ“

glDeleteTexturesEXT_c($n, $textures);
glDeleteTexturesEXT_p(@textures);

Exported under tag :GL_EXT_texture_object. ๐Ÿ’…

glDeleteTransformFeedbacks ๐Ÿงš

glDeleteTransformFeedbacks_c($n, $ids);
glDeleteTransformFeedbacksNV_c($n, $ids);
glDeleteTransformFeedbacks_p(@ids);
glDeleteTransformFeedbacksNV_p(@ids);

Exported under tag :GL_ARB_transform_feedback2. โœจ

glDeleteVertexArrays ๐Ÿ‘‘

glDeleteVertexArrays_c($n, $arrays);
glDeleteVertexArraysAPPLE_c($n, $arrays);
glDeleteVertexArrays_p(@arrays);
glDeleteVertexArraysAPPLE_p(@arrays);

Exported under tag :GL_ARB_vertex_array_object. ๐Ÿ’œ

glDeleteVertexArraysOES ๐ŸŽ€

glDeleteVertexArraysOES_c($n, $arrays);

Exported under tag :GL_OES_vertex_array_object. ๐Ÿฆ‹

glDeleteVertexArraysSGIX ๐ŸŒธ

glDeleteVertexArraysSGIX_c($n, $arrays);

Exported under tag :GL_SGIX_vertex_array_object. ๐Ÿ’–

glDeleteVertexShaderEXT ๐Ÿ’€

glDeleteVertexShaderEXT($id);

Exported under tag :GL_EXT_vertex_shader. no cap.

glDepthBoundsEXT ๐ŸŒˆ

glDepthBoundsEXT($zmin, $zmax);

Exported under tag :GL_EXT_depth_bounds_test. periodt.

glDepthBoundsdNV ๐Ÿ“

glDepthBoundsdNV($zmin, $zmax);

Exported under tag :GL_NV_depth_buffer_float. ๐Ÿ’…

glDepthFunc ๐Ÿงš

glDepthFunc($func);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDepthFunc.xhtml> โœจ

glDepthMask ๐Ÿ‘‘

glDepthMask($flag);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDepthMask.xhtml> ๐Ÿ’œ

glDepthRange ๐ŸŽ€

glDepthRange($zNear, $zFar);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDepthRange.xhtml> ๐Ÿฆ‹

glDepthRangeArrayfvNV ๐ŸŒธ

glDepthRangeArrayfvNV_c($first, $count, $v);

Exported under tag :GL_NV_viewport_array. ๐Ÿ’–

glDepthRangeArrayv ๐Ÿ’€

glDepthRangeArrayv_c($first, $count, $v);
glDepthRangeArrayv_p($first, @v);

Exported under tag :GL_ARB_viewport_array. periodt.

glDepthRangeIndexed ๐ŸŒˆ

glDepthRangeIndexed($index, $n, $f);

Exported under tag :GL_ARB_viewport_array. ๐Ÿ’…

glDepthRangeIndexedfNV ๐Ÿ“

glDepthRangeIndexedfNV($index, $n, $f);

Exported under tag :GL_NV_viewport_array. โœจ

glDepthRangedNV ๐Ÿงš

glDepthRangedNV($zNear, $zFar);

Exported under tag :GL_NV_depth_buffer_float. ๐Ÿ’œ

glDepthRangef ๐Ÿ‘‘

glDepthRangef($n, $f);

Exported under tag :GL_ARB_ES2_compatibility. ๐Ÿฆ‹

glDepthRangefOES ๐ŸŽ€

glDepthRangefOES($n, $f);

Exported under tag :GL_OES_single_precision. ๐Ÿ’–

glDepthRangex ๐ŸŒธ

glDepthRangex($zNear, $zFar);

Exported under tag :GL_REGAL_ES1_0_compatibility. periodt.

glDetachObjectARB ๐Ÿ’€

glDetachObjectARB($containerObj, $attachedObj);

Exported under tag :GL_ARB_shader_objects. ๐Ÿ’…

glDetachShader ๐ŸŒˆ

glDetachShader($program, $shader);

Exported under tag :GL_VERSION_2_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDetachShader.xhtml> โœจ

glDetailTexFuncSGIS ๐Ÿ“

glDetailTexFuncSGIS_c($target, $n, $points);
glDetailTexFuncSGIS_p($target, $n, @points);

Exported under tag :GL_SGIS_detail_texture. ๐Ÿ’œ

glDisable ๐Ÿงš

glDisable($cap);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDisable.xhtml> ๐Ÿฆ‹

glDisableClientState ๐Ÿ‘‘

glDisableClientState($array);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glDisableClientState.xml> ๐Ÿ˜ญ

glDisableClientStateIndexedEXT ๐ŸŽ€

glDisableClientStateIndexedEXT($array, $index);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’–

glDisableClientStateiEXT ๐ŸŒธ

glDisableClientStateiEXT($array, $index);

Exported under tag :GL_EXT_direct_state_access. periodt.

glDisableDriverControlQCOM ๐Ÿ’€

glDisableDriverControlQCOM($driverControl);

Exported under tag :GL_QCOM_driver_control. ๐Ÿ’…

glDisableVariantClientStateEXT ๐ŸŒˆ

glDisableVariantClientStateEXT($id);

Exported under tag :GL_EXT_vertex_shader. โœจ

glDisableVertexArrayAttrib ๐Ÿ“

glDisableVertexArrayAttrib($vaobj, $index);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’œ

glDisableVertexArrayAttribEXT ๐Ÿงš

glDisableVertexArrayAttribEXT($vaobj, $index);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿฆ‹

glDisableVertexArrayEXT ๐Ÿ‘‘

glDisableVertexArrayEXT($vaobj, $array);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’–

glDisableVertexAttribAPPLE ๐ŸŽ€

glDisableVertexAttribAPPLE($index, $pname);

Exported under tag :GL_APPLE_vertex_program_evaluators. periodt.

glDisableVertexAttribArray ๐ŸŒธ

glDisableVertexAttribArray($index);
glDisableVertexAttribArrayARB($index);

Exported under tag :GL_VERSION_2_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDisableVertexAttribArray.xhtml> ๐Ÿ’…

glDisablei ๐Ÿ’€

glDisablei($target, $index);
glDisableIndexedEXT($target, $index);
glDisableiEXT($target, $index);
glDisableiNV($target, $index);

Exported under tag :GL_VERSION_3_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDisablei.xhtml> โœจ

glDisableiOES ๐ŸŒˆ

glDisableiOES($target, $index);

Exported under tag :GL_OES_draw_buffers_indexed. ๐Ÿ’œ

glDiscardFramebufferEXT ๐Ÿ“

glDiscardFramebufferEXT_c($target, $numAttachments, $attachments);
glDiscardFramebufferEXT_p($target, @attachments);

Exported under tag :GL_EXT_discard_framebuffer. ๐Ÿฆ‹

glDispatchCompute ๐Ÿงš

glDispatchCompute($num_groups_x, $num_groups_y, $num_groups_z);

Exported under tag :GL_ARB_compute_shader. ๐Ÿ’–

glDispatchComputeGroupSizeARB ๐Ÿ‘‘

glDispatchComputeGroupSizeARB($num_groups_x, $num_groups_y, $num_groups_z, $group_size_x, $group_size_y, $group_size_z);

Exported under tag :GL_ARB_compute_variable_group_size. periodt.

glDispatchComputeIndirect ๐ŸŽ€

glDispatchComputeIndirect($indirect);

Exported under tag :GL_ARB_compute_shader. ๐Ÿ’…

glDrawArrays ๐ŸŒธ

glDrawArrays($mode, $first, $count);
glDrawArraysEXT($mode, $first, $count);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDrawArrays.xhtml> โœจ

glDrawArraysIndirect ๐Ÿ’€

glDrawArraysIndirect_c($mode, $indirect);

Exported under tag :GL_ARB_draw_indirect. ๐Ÿ’œ

glDrawArraysInstanced ๐Ÿ’…

glDrawArraysInstanced($mode, $first, $count, $instancecount);
glDrawArraysInstancedANGLE($mode, $first, $count, $instancecount);
glDrawArraysInstancedARB($mode, $first, $count, $instancecount);
glDrawArraysInstancedEXT($mode, $first, $count, $instancecount);
glDrawArraysInstancedNV($mode, $first, $count, $instancecount);

Exported under tag ":GL_VERSION_3_1". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDrawArraysInstanced.xhtml

Ok so this is the icon behavior: you draw the same arrays but like, a million times in one go. One call, many copies. The ANGLE/ARB/EXT/NV girlies are all the same vibe, just different eras of the group chat. โœจ


glDrawArraysInstancedBaseInstance ๐Ÿฆ‹

glDrawArraysInstancedBaseInstance($mode, $first, $count, $instancecount, $baseinstance);
glDrawArraysInstancedBaseInstanceEXT($mode, $first, $count, $instancecount, $baseinstance);

Exported under tag ":GL_ARB_base_instance".

It's the instanced one from above but now you get to pick where the instance data starts, so you're not stuck reading from zero like a peasant. $baseinstance is the moment. ๐Ÿ’œ


glDrawBuffer ๐ŸŽ€

glDrawBuffer($buf);

Exported under tag ":GL_VERSION_1_1". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDrawBuffer.xhtml

Tells GL which color buffer(s) you're about to draw into. Very "choose your own adventure" but for framebuffers. ๐Ÿ‘‘


glDrawBufferRegion ๐ŸŒธ

glDrawBufferRegion($region, $x, $y, $width, $height, $xDest, $yDest);

Exported under tag ":GL_KTX_buffer_region".

You're drawing one specific region of a buffer, and placing it at $xDest, $yDest. Lowkey surgical. ๐Ÿค


glDrawBuffers โœจ

glDrawBuffers_c($n, $bufs);
glDrawBuffersARB_c($n, $bufs);
glDrawBuffersATI_c($n, $bufs);
glDrawBuffersEXT_c($n, $bufs);
glDrawBuffers_p(@bufs);
glDrawBuffersARB_p(@bufs);
glDrawBuffersATI_p(@bufs);
glDrawBuffersEXT_p(@bufs);

Exported under tag ":GL_VERSION_2_0". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDrawBuffers.xhtml

Notice the pattern bestie โ€” _c versions take a count plus a pointer ($n, $bufs), and the _p versions just eat a whole Perl list @bufs and vibe. Both exist for ARB/ATI/EXT too. Multiple render targets = multiple slays. ๐Ÿ”ฅ


glDrawBuffersIndexedEXT ๐Ÿ“

glDrawBuffersIndexedEXT_c($n, $location, $indices);
glDrawBuffersIndexedEXT_p(\@location, \@indices);

Exported under tag ":GL_EXT_multiview_draw_buffers".

Indexed version, so you're also specifying where ($location) and which ($indices). The _p one wants arrayrefs: \@location, \@indices. Don't forget the backslashes, I'm begging. ๐Ÿ˜ญ


glDrawBuffersNV ๐Ÿฆ‹

glDrawBuffersNV_c($n, $bufs);
glDrawBuffersNV_p(@bufs);

Exported under tag ":GL_NV_draw_buffers".

NVIDIA's take on the same idea, same _c/_p split. Same energy, different vendor. ๐Ÿ’…


glDrawCommandsAddressNV ๐Ÿ‘‘

glDrawCommandsAddressNV_c($primitiveMode, $indirects, $sizes, $count);

Exported under tag ":GL_NV_command_list".

Command list behavior, where the actual draw commands live in memory and you're handing over addresses. Very "I'm not doing it myself, I have people." ๐Ÿ’


glDrawCommandsNV ๐ŸŒˆ

glDrawCommandsNV_c($primitiveMode, $buffer, $indirects, $sizes, $count);

Exported under tag ":GL_NV_command_list".

Same as above but you're passing a $buffer too. More context, more power. โญ


glDrawCommandsStatesAddressNV ๐Ÿ’œ

glDrawCommandsStatesAddressNV_c($indirects, $sizes, $states, $fbos, $count);

Exported under tag ":GL_NV_command_list".

Now with $states AND $fbos โ€” so each command bundle can carry its own state and framebuffer. It's giving "each one of you has main character energy." ๐Ÿ˜Œ


glDrawCommandsStatesNV ๐Ÿซถ

glDrawCommandsStatesNV_c($buffer, $indirects, $sizes, $states, $fbos, $count);

Exported under tag ":GL_NV_command_list".

The buffer edition of the states one. Same cast, plus $buffer in the front. ๐Ÿ‘ฏ


glDrawElementArrayAPPLE ๐ŸŽ€

glDrawElementArrayAPPLE($mode, $first, $count);

Exported under tag ":GL_APPLE_element_array".

Apple's element-array draw. $first is where you start, $count is how many you go through. Simple, cute, done. โœ…


glDrawElementArrayATI ๐ŸŒธ

glDrawElementArrayATI($mode, $count);

Exported under tag ":GL_ATI_element_array".

ATI version โ€” note there's no $first here, just $mode and $count. Different vendor, different signature, no cap. ๐Ÿงš


glDrawElements โœจ

glDrawElements_c($mode, $count, $type, $indices);

Exported under tag ":GL_VERSION_1_1". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDrawElements.xhtml

The classic. Indexed drawing, one of the OGs of the whole ecosystem. If you know one draw call, it's probably this one. ๐Ÿ‘‘


glDrawElementsBaseVertex ๐Ÿฆ‹

glDrawElementsBaseVertex_c($mode, $count, $type, $indices, $basevertex);
glDrawElementsBaseVertexEXT_c($mode, $count, $type, $indices, $basevertex);

Exported under tag ":GL_ARB_draw_elements_base_vertex".

glDrawElements but with a $basevertex offset so you can bake a bunch of meshes into one buffer and just shift into the right one. Extremely efficient, extremely iconic. ๐Ÿ’…


glDrawElementsIndirect ๐Ÿ”ฅ

glDrawElementsIndirect_c($mode, $type, $indirect);

Exported under tag ":GL_ARB_draw_indirect".

The draw parameters come from a $indirect buffer instead of from you directly. Set it and forget it. ๐Ÿ’…


glDrawElementsInstanced โญ

glDrawElementsInstanced_c($mode, $count, $type, $indices, $instancecount);
glDrawElementsInstancedANGLE_c($mode, $count, $type, $indices, $instancecount);
glDrawElementsInstancedARB_c($mode, $count, $type, $indices, $instancecount);
glDrawElementsInstancedEXT_c($mode, $count, $type, $indices, $instancecount);
glDrawElementsInstancedNV_c($mode, $count, $type, $indices, $instancecount);

Exported under tag ":GL_VERSION_3_1". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDrawElementsInstanced.xhtml

glDrawElements โœ• $instancecount copies. It's the indexed drawing girl's instanced era and honestly? She ate. All the ANGLE/ARB/EXT/NV variants take the exact same args, so you don't have to think. ๐Ÿซถ


glDrawElementsInstancedBaseInstance ๐Ÿ’œ

glDrawElementsInstancedBaseInstance_c($mode, $count, $type, $indices, $instancecount, $baseinstance);
glDrawElementsInstancedBaseInstanceEXT_c($mode, $count, $type, $indices, $instancecount, $baseinstance);

Exported under tag ":GL_ARB_base_instance".

You know the drill: instanced drawing, plus a $baseinstance so you choose where the per-instance attributes start reading. ๐ŸŒˆ


glDrawElementsInstancedBaseVertex ๐ŸŽ€

glDrawElementsInstancedBaseVertex_c($mode, $count, $type, $indices, $instancecount, $basevertex);
glDrawElementsInstancedBaseVertexEXT_c($mode, $count, $type, $indices, $instancecount, $basevertex);

Exported under tag ":GL_ARB_draw_elements_base_vertex".

Instanced + base vertex. Two of the good ideas, one function. The math girlies are thriving. ๐Ÿงฎโœจ


glDrawElementsInstancedBaseVertexBaseInstance ๐Ÿ‘‘

glDrawElementsInstancedBaseVertexBaseInstance_c($mode, $count, $type, $indices, $instancecount, $basevertex, $baseinstance);
glDrawElementsInstancedBaseVertexBaseInstanceEXT_c($mode, $count, $type, $indices, $instancecount, $basevertex, $baseinstance);

Exported under tag ":GL_ARB_base_instance".

THE LONG ONE. Say it with me. Instanced, base vertex, base instance, all at once โ€” this name is literally a whole sentence and I respect it so much. ๐Ÿ˜ญ๐Ÿ’–


glDrawMeshTasksEXT ๐Ÿงš

glDrawMeshTasksEXT($num_groups_x, $num_groups_y, $num_groups_z);

Exported under tag ":GL_EXT_mesh_shader".

Mesh shader draw, and you're specifying work in groups: $num_groups_x, $num_groups_y, $num_groups_z. 3D grid of tasks, no biggie. โœจ


glDrawMeshTasksIndirectEXT ๐Ÿ“

glDrawMeshTasksIndirectEXT($indirect);

Exported under tag ":GL_EXT_mesh_shader".

Same mesh task drawing, but the params come from $indirect. Lazy girl math (affectionate). ๐Ÿ’…


glDrawMeshTasksIndirectNV ๐ŸŒธ

glDrawMeshTasksIndirectNV($indirect);

Exported under tag ":GL_NV_mesh_shader".

NVIDIA's indirect mesh tasks. Same $indirect deal. ๐Ÿฆ‹


glDrawMeshTasksNV ๐Ÿ’œ

glDrawMeshTasksNV($first, $count);

Exported under tag ":GL_NV_mesh_shader".

NVIDIA direct version, and heads up โ€” it takes $first and $count, not the x/y/z group counts that the EXT version uses. Different shape, don't mix them up bestie. ๐Ÿ™ˆ


glDrawPixels ๐ŸŒˆ

glDrawPixels_c($width, $height, $format, $type, $pixels);

Exported under tag ":GL_VERSION_1_1". Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glDrawPixels.xml

โš ๏ธ Bestie, read the fine print: this one got removed in 3.2, so if you're on a 'future-compatible' profile it is simply not there. Gone. It ate and then it left. ๐Ÿ’€

Note the doc link is the gl2.1 refpage, not gl4 โ€” because, yeah, removed. ๐Ÿ“Œ


glDrawRangeElementArrayAPPLE ๐ŸŽ€

glDrawRangeElementArrayAPPLE($mode, $start, $end, $first, $count);

Exported under tag ":GL_APPLE_element_array".

Range version โ€” you declare the $start and $end of the index range you're using, then $first/$count for the draw itself. Organized queen. ๐Ÿ‘‘


glDrawRangeElementArrayATI ๐ŸŒธ

glDrawRangeElementArrayATI($mode, $start, $end, $count);

Exported under tag ":GL_ATI_element_array".

ATI flavor again drops the $first โ€” just $mode, $start, $end, $count. โญ


glDrawRangeElements โœจ

glDrawRangeElements_c($mode, $start, $end, $count, $type, $indices);
glDrawRangeElementsEXT_c($mode, $start, $end, $count, $type, $indices);

Exported under tag ":GL_VERSION_1_2". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDrawRangeElements.xhtml

glDrawElements with a promise about the index range ($start to $end). You're telling the driver "trust me, nothing outside this range," which is so valid of you. ๐Ÿ’…


glDrawRangeElementsBaseVertex ๐Ÿฆ‹

glDrawRangeElementsBaseVertex_c($mode, $start, $end, $count, $type, $indices, $basevertex);
glDrawRangeElementsBaseVertexEXT_c($mode, $start, $end, $count, $type, $indices, $basevertex);

Exported under tag ":GL_ARB_draw_elements_base_vertex".

Range elements + $basevertex. Offset everything, keep the range hint. Chef's kiss. ๐ŸคŒ


glDrawTextureNV ๐Ÿ‘‘

glDrawTextureNV($texture, $sampler, $x0, $y0, $x1, $y1, $z, $s0, $t0, $s1, $t1);

Exported under tag ":GL_NV_draw_texture".

Draws a $texture with a $sampler into a screen rectangle from ($x0, $y0) to ($x1, $y1) at depth $z, with texture coords $s0, $t0, $s1, $t1. That's ELEVEN arguments and every single one matters. ๐Ÿ˜ญ


glDrawTransformFeedback ๐Ÿ’œ

glDrawTransformFeedback($mode, $id);
glDrawTransformFeedbackEXT($mode, $id);
glDrawTransformFeedbackNV($mode, $id);

Exported under tag ":GL_ARB_transform_feedback2".

Draw using the geometry a transform feedback object captured earlier. $id is that feedback object, $mode is the primitive mode. Recycling is very eco-queen of you. โ™ป๏ธ๐Ÿ‘‘


glDrawTransformFeedbackInstanced โญ

glDrawTransformFeedbackInstanced($mode, $id, $instancecount);
glDrawTransformFeedbackInstancedEXT($mode, $id, $instancecount);

Exported under tag ":GL_ARB_transform_feedback_instanced".

The transform feedback draw, now $instancecount times. Because once was never gonna be enough. โœจ


glDrawTransformFeedbackStream ๐ŸŒˆ

glDrawTransformFeedbackStream($mode, $id, $stream);

Exported under tag ":GL_ARB_transform_feedback3".

Same idea but you pick which $stream inside the feedback object to read from. Very "I'll take the third track please." ๐ŸŽง


glDrawTransformFeedbackStreamInstanced ๐Ÿซถ

glDrawTransformFeedbackStreamInstanced($mode, $id, $stream, $instancecount);

Exported under tag ":GL_ARB_transform_feedback_instanced".

Stream + instanced. $mode, $id, $stream, $instancecount. Four args, maximum chaos, maximum slay. ๐Ÿ’…


glDrawVkImageNV ๐ŸŒธ

glDrawVkImageNV($vkImage, $sampler, $x0, $y0, $x1, $y1, $z, $s0, $t0, $s1, $t1);

Exported under tag ":GL_NV_draw_vulkan_image".

Literally drawing a Vulkan image through GL. Interop girlies stay winning. Same eleven-arg shape as glDrawTextureNV but $vkImage instead of $texture. ๐Ÿ”€


glEGLImageTargetRenderbufferStorageOES ๐ŸŽ€

glEGLImageTargetRenderbufferStorageOES($target, $image);

Exported under tag ":GL_OES_EGL_image".

Turns an EGL $image into renderbuffer storage on $target. EGL GL girlies, this one's for you. ๐Ÿ’–


glEGLImageTargetTexStorageEXT ๐Ÿฆ‹

glEGLImageTargetTexStorageEXT_c($target, $image, $attrib_list);

Exported under tag ":GL_EXT_EGL_image_storage".

$target, $image, and an $attrib_list. Note it's an _c function. ๐Ÿ“Ž


glEGLImageTargetTexture2DOES โœจ

glEGLImageTargetTexture2DOES($target, $image);

Exported under tag ":GL_OES_EGL_image".

Binding an EGL image as a 2D texture target. Classic OES era. ๐Ÿ‘‘


glEGLImageTargetTextureStorageEXT ๐Ÿ’œ

glEGLImageTargetTextureStorageEXT_c($texture, $image, $attrib_list);

Exported under tag ":GL_EXT_EGL_image_storage".

Unlike the one above, this takes a $texture (not a $target) plus $image and $attrib_list. Also an _c. ๐Ÿซถ


glEdgeFlag ๐Ÿ“

glEdgeFlag($flag);

Exported under tag ":GL_VERSION_1_1". Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEdgeFlag.xml

โš ๏ธ Also removed in 3.2 โ€” future-compatible profiles do NOT have it, and the refpage is the 2.1 one for exactly that reason. ๐Ÿ’€

Marks the next vertex as the start of an edge (or not) depending on $flag. Old-school polygon antialiasing vibes. ๐Ÿ•ฐ๏ธ


glEdgeFlagFormatNV ๐ŸŒˆ

glEdgeFlagFormatNV($stride);

Exported under tag ":GL_NV_vertex_buffer_unified_memory".

Sets the $stride for edge flag data when using NVIDIA's unified vertex buffer memory thing. ๐Ÿง 


glEdgeFlagPointer ๐ŸŒธ

glEdgeFlagPointer_c($stride, $pointer);

Exported under tag ":GL_VERSION_1_1". Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEdgeFlagPointer.xml

โš ๏ธ Yeah, 3.2 took this one too. Not available in a 'future-compatible' profile. ๐Ÿ“Œ

Points GL at an edge flag array via $pointer with stride $stride. ๐Ÿซถ


glEdgeFlagPointerEXT ๐Ÿฆ‹

glEdgeFlagPointerEXT_c($stride, $count, $pointer);

Exported under tag ":GL_EXT_vertex_array".

The EXT version wants a $count too. Three args, not two. Don't forget bestie. ๐Ÿ˜ญ


glEdgeFlagPointerListIBM ๐Ÿ’œ

glEdgeFlagPointerListIBM_c($stride, $pointer, $ptrstride);

Exported under tag ":GL_IBM_vertex_array_lists".

Two strides! $stride for the data, $ptrstride for the list of pointers. IBM said "let's get complicated" and honestly, respect. ๐Ÿ“š


glEdgeFlagv โญ

glEdgeFlagv_c($flag);
glEdgeFlagv_p(@flag);

Exported under tag ":GL_VERSION_1_1". Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEdgeFlagv.xml

โš ๏ธ Removed in 3.2. Future-compatible profile = nope. ๐Ÿšซ

The vector (v) version: _c takes a pointer $flag, _p takes a Perl list @flag. Standard _c/_p duo. ๐Ÿ’…


glElementPointerAPPLE ๐ŸŽ€

glElementPointerAPPLE_c($type, $pointer);

Exported under tag ":GL_APPLE_element_array".

Declares where your element data lives: $type and $pointer. Apple stays doing its own thing. ๐ŸŽ


glElementPointerATI ๐Ÿงš

glElementPointerATI_c($type, $pointer);

Exported under tag ":GL_ATI_element_array".

Same signature as the APPLE one, different vendor tag. The universe loves symmetry. โœจ


glEnable ๐Ÿ‘‘

glEnable($cap);

Exported under tag ":GL_VERSION_1_1". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glEnable.xhtml

THE function. Turns on a capability $cap. Blend, depth test, cull face, whatever. The light switch of OpenGL, fr fr. ๐Ÿ”›


glEnableClientState ๐ŸŒˆ

glEnableClientState($array);

Exported under tag ":GL_VERSION_1_1". Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEnableClientState.xml

โš ๏ธ Removed in 3.2 โ€” not available in a 'future-compatible' profile. The 2.1 refpage is there because that's where it lives now. ๐Ÿ“Œ

Enables a client-side vertex array type. Very fixed-function era. ๐Ÿ•ฐ๏ธ


glEnableClientStateIndexedEXT ๐Ÿฆ‹

glEnableClientStateIndexedEXT($array, $index);

Exported under tag ":GL_EXT_direct_state_access".

Client state enabling, but indexed โ€” $array plus an $index. Direct state access behavior. ๐ŸŽฏ


glEnableClientStateiEXT ๐Ÿ’œ

glEnableClientStateiEXT($array, $index);

Exported under tag ":GL_EXT_direct_state_access".

Literally looks identical to the one above โ€” yes, both exist, no, I'm not making it up. Different function, same args. ๐Ÿ˜ญ


glEnableDriverControlQCOM ๐ŸŒธ

glEnableDriverControlQCOM($driverControl);

Exported under tag ":GL_QCOM_driver_control".

Turns on a specific $driverControl. Qualcomm doing Qualcomm things. ๐Ÿ“ฑ


glEnableVariantClientStateEXT โญ

glEnableVariantClientStateEXT($id);

Exported under tag ":GL_EXT_vertex_shader".

Enables a variant client state by $id. EXT vertex shader era, very vintage. ๐Ÿ•ฐ๏ธโœจ


glEnableVertexArrayAttrib ๐ŸŽ€

glEnableVertexArrayAttrib($vaobj, $index);

Exported under tag ":GL_ARB_direct_state_access".

Direct state access mode: you name the vertex array object $vaobj AND the attribute $index, no binding required. Effortless. ๐Ÿ’…


glEnableVertexArrayAttribEXT ๐Ÿฆ‹

glEnableVertexArrayAttribEXT($vaobj, $index);

Exported under tag ":GL_EXT_direct_state_access".

The EXT DSA version โ€” same $vaobj + $index shape. ๐Ÿซถ


glEnableVertexArrayEXT ๐ŸŒˆ

glEnableVertexArrayEXT($vaobj, $array);

Exported under tag ":GL_EXT_direct_state_access".

Careful! This one takes $array, not $index. Different second arg, similar name, absolute trap. ๐Ÿ™ˆ


glEnableVertexAttribAPPLE ๐Ÿ“

glEnableVertexAttribAPPLE($index, $pname);

Exported under tag ":GL_APPLE_vertex_program_evaluators".

Takes an $index and a $pname. Apple vertex program evaluators, a very specific niche and we love her for it. ๐Ÿ’–


glEnableVertexAttribArray ๐Ÿ”ฅ

glEnableVertexAttribArray($index);
glEnableVertexAttribArrayARB($index);

Exported under tag ":GL_VERSION_2_0". See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glEnableVertexAttribArray.xhtml

The one you'll call approximately ten thousand times. Turns on the generic vertex attribute array at $index. The ARB variant is the same call with the old name. If you've written modern GL for five minutes you've met her. ๐Ÿ‘‘โœจ

glEnablei

glEnablei($target, $index);
glEnableIndexedEXT($target, $index);
glEnableiEXT($target, $index);
glEnableiNV($target, $index);

Lives under the tag :GL_VERSION_3_0. It's the indexed glow-up of glEnable โ€” you get to say which index you're enabling, bestie. Details live here: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glEnablei.xhtml

glEnableiOES

glEnableiOES($target, $index);

Tagged :GL_OES_draw_buffers_indexed. The ES-flavoured sibling, same energy. โœจ

glEnd

glEnd();

Tagged :GL_VERSION_1_1. Heads up though โ€” this one is not in a 'future-compatible' profile, because it got removed in 3.2. ๐Ÿ˜ญ Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEnd.xml

glEndConditionalRender

glEndConditionalRender();
glEndConditionalRenderNV();
glEndConditionalRenderNVX();

Tagged :GL_VERSION_3_0. The other half of the conditional-render duo. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glEndConditionalRender.xhtml

glEndFragmentShaderATI

glEndFragmentShaderATI();

Tagged :GL_ATI_fragment_shader. Closing out that ATI fragment shader moment. ๐ŸŽ€

glEndList

glEndList();

Tagged :GL_VERSION_1_1. And yeah โ€” not available in a 'future-compatible' profile, removed in 3.2. Rip display lists fr fr. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEndList.xml

glEndOcclusionQueryNV

glEndOcclusionQueryNV();

Tagged :GL_NV_occlusion_query. Wrapping up the NV occlusion query, iconic.

glEndPerfMonitorAMD

glEndPerfMonitorAMD($monitor);

Tagged :GL_AMD_performance_monitor. You pass in your $monitor and it's done. ๐Ÿ‘‘

glEndPerfQueryINTEL

glEndPerfQueryINTEL($queryHandle);

Tagged :GL_INTEL_performance_query. Hand it your $queryHandle and call it a day.

glEndQuery

glEndQuery($target);
glEndQueryARB($target);

Tagged :GL_VERSION_1_5. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glEndQuery.xhtml

glEndQueryANGLE

glEndQueryANGLE($target);

Tagged :GL_ANGLE_timer_query. ANGLE gang rise up. ๐ŸŒˆ

glEndQueryEXT

glEndQueryEXT($target);

Tagged :GL_EXT_disjoint_timer_query.

glEndQueryIndexed

glEndQueryIndexed($target, $index);

Tagged :GL_ARB_transform_feedback3.

glEndSceneEXT

glEndSceneEXT();

Tagged :GL_EXT_scene_marker. Scene, wrapped. ๐Ÿ’…

glEndTilingQCOM

glEndTilingQCOM($preserveMask);

Tagged :GL_QCOM_tiled_rendering. Pass your $preserveMask so it knows what to keep. ๐Ÿฆ‹

glEndTransformFeedback

glEndTransformFeedback();
glEndTransformFeedbackEXT();
glEndTransformFeedbackNV();

Tagged :GL_VERSION_3_0. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glEndTransformFeedback.xhtml

glEndVertexShaderEXT

glEndVertexShaderEXT();

Tagged :GL_EXT_vertex_shader.

glEndVideoCaptureNV

glEndVideoCaptureNV($video_capture_slot);

Tagged :GL_NV_video_capture. Point at your $video_capture_slot and you're done capturing, bestie. ๐ŸŽฅ

glEvalCoord1d

glEvalCoord1d($u);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. So if you're on the future-compat grind, this is a no. ๐Ÿ˜ญ

glEvalCoord1dv

glEvalCoord1dv_c($u);
glEvalCoord1dv_p(@u);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Note the two flavours: the _c version takes a scalar-ish $u and the _p version eats a list @u.

glEvalCoord1f

glEvalCoord1f($u);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glEvalCoord1fv

glEvalCoord1fv_c($u);
glEvalCoord1fv_p(@u);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glEvalCoord2d

glEvalCoord2d($u, $v);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glEvalCoord2dv

glEvalCoord2dv_c($u);
glEvalCoord2dv_p(@u);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glEvalCoord2f

glEvalCoord2f($u, $v);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glEvalCoord2fv

glEvalCoord2fv_c($u);
glEvalCoord2fv_p(@u);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glEvalMapsNV

glEvalMapsNV($target, $mode);

Tagged :GL_NV_evaluators. NV doing its evaluator thing. โœจ

glEvalMesh1

glEvalMesh1($mode, $i1, $i2);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEvalMesh1.xml

glEvalMesh2

glEvalMesh2($mode, $i1, $i2, $j1, $j2);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEvalMesh2.xml

glEvalPoint1

glEvalPoint1($i);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEvalPoint1.xml

glEvalPoint2

glEvalPoint2($i, $j);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glEvalPoint2.xml

glEvaluateDepthValuesARB

glEvaluateDepthValuesARB();

Tagged :GL_ARB_sample_locations. No args, just vibes. ๐Ÿซถ

glExecuteProgramNV

glExecuteProgramNV_c($target, $id, $params);
glExecuteProgramNV_p($target, $id, @params);

Tagged :GL_NV_vertex_program. Two forms: _c takes a single $params, _p takes the list @params.

glExtGetBufferPointervQCOM

glExtGetBufferPointervQCOM_c($target, $params);

Tagged :GL_QCOM_extended_get. Note this one only ships the _c form. ๐Ÿ’…

glExtGetBuffersQCOM

glExtGetBuffersQCOM_c($buffers, $maxBuffers, $numBuffers);
(\@buffers, $numBuffers) = glExtGetBuffersQCOM_p($maxBuffers);

Tagged :GL_QCOM_extended_get. The _p form hands you back a list assignment with your array ref and $numBuffers, which is lowkey satisfying ngl. ๐ŸŒธ

glExtGetFramebuffersQCOM

glExtGetFramebuffersQCOM_c($framebuffers, $maxFramebuffers, $numFramebuffers);
(\@framebuffers, $numFramebuffers) = glExtGetFramebuffersQCOM_p($maxFramebuffers);

Tagged :GL_QCOM_extended_get.

glExtGetProgramBinarySourceQCOM

glExtGetProgramBinarySourceQCOM_c($program, $shadertype, $source, $length);

Tagged :GL_QCOM_extended_get2. _c form only, bestie.

glExtGetProgramsQCOM

glExtGetProgramsQCOM_c($programs, $maxPrograms, $numPrograms);
(\@programs, $numPrograms) = glExtGetProgramsQCOM_p($maxPrograms);

Tagged :GL_QCOM_extended_get2.

glExtGetRenderbuffersQCOM

glExtGetRenderbuffersQCOM_c($renderbuffers, $maxRenderbuffers, $numRenderbuffers);
(\@renderbuffers, $numRenderbuffers) = glExtGetRenderbuffersQCOM_p($maxRenderbuffers);

Tagged :GL_QCOM_extended_get.

glExtGetShadersQCOM

glExtGetShadersQCOM_c($shaders, $maxShaders, $numShaders);
(\@shaders, $numShaders) = glExtGetShadersQCOM_p($maxShaders);

Tagged :GL_QCOM_extended_get2.

glExtGetTexLevelParameterivQCOM

glExtGetTexLevelParameterivQCOM_c($texture, $face, $level, $pname, $params);

Tagged :GL_QCOM_extended_get. _c only. โœจ

glExtGetTexSubImageQCOM

glExtGetTexSubImageQCOM_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $texels);

Tagged :GL_QCOM_extended_get. Yeah that's a lot of args โ€” count them carefully, don't be that girl who puts them in the wrong order. ๐Ÿ’€

glExtGetTexturesQCOM

glExtGetTexturesQCOM_c($textures, $maxTextures, $numTextures);

Tagged :GL_QCOM_extended_get. Only the _c variant here โ€” no _p party. ๐ŸŽ€

glExtIsProgramBinaryQCOM

$retval = glExtIsProgramBinaryQCOM($program);

Tagged :GL_QCOM_extended_get2. It returns $retval, so catch it!

glExtTexObjectStateOverrideiQCOM

glExtTexObjectStateOverrideiQCOM($target, $pname, $param);

Tagged :GL_QCOM_extended_get.

glExtractComponentEXT

glExtractComponentEXT($res, $src, $num);

Tagged :GL_EXT_vertex_shader. Pulling one component out, main-character move. ๐Ÿ‘‘

glExtrapolateTex2DQCOM

glExtrapolateTex2DQCOM($src1, $src2, $output, $scaleFactor);

Tagged :GL_QCOM_frame_extrapolation. Two sources, one output, one $scaleFactor โ€” math but make it fashion. ๐Ÿฆ‹

glFeedbackBuffer

glFeedbackBuffer_c($size, $type, $buffer);
@buffer = glFeedbackBuffer_p($size, $type);

Tagged :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFeedbackBuffer.xml

glFenceSync

$retval = glFenceSync($condition, $flags);
$retval = glFenceSyncAPPLE($condition, $flags);

Tagged :GL_ARB_sync. Returns $retval โ€” you want that sync object, bestie. โœจ

glFinalCombinerInputNV

glFinalCombinerInputNV($variable, $input, $mapping, $componentUsage);

Tagged :GL_NV_register_combiners.

glFinish

glFinish();

Tagged :GL_VERSION_1_1. Blocks until everything's actually done, no cap. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glFinish.xhtml

glFinishAsyncSGIX

$retval = glFinishAsyncSGIX_c($markerp);
($retval, $markerp) = glFinishAsyncSGIX_p();

Tagged :GL_SGIX_async. The _p form gives you back both $retval and your updated $markerp โ€” iconic double return. ๐Ÿ’…

glFinishFenceAPPLE

glFinishFenceAPPLE($fence);

Tagged :GL_APPLE_fence.

glFinishFenceNV

glFinishFenceNV($fence);

Tagged :GL_NV_fence.

glFinishObjectAPPLE

glFinishObjectAPPLE($object, $name);

Tagged :GL_APPLE_fence.

glFinishTextureSUNX

glFinishTextureSUNX();

Tagged :GL_SUNX_constant_data. Deep-lore vendor extension, we love her. ๐ŸŒˆ

glFlush

glFlush();

Tagged :GL_VERSION_1_1. Nudges stuff along without the full blocking commitment that glFinish has. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glFlush.xhtml

glFlushMappedBufferRange

glFlushMappedBufferRange($target, $offset, $length);
glFlushMappedBufferRangeAPPLE($target, $offset, $length);
glFlushMappedBufferRangeEXT($target, $offset, $length);

Tagged :GL_ARB_map_buffer_range.

glFlushMappedNamedBufferRange

glFlushMappedNamedBufferRange($buffer, $offset, $length);

Tagged :GL_ARB_direct_state_access. Named-buffer flavour โ€” no binding required, that's the whole point. โœจ

glFlushMappedNamedBufferRangeEXT

glFlushMappedNamedBufferRangeEXT($buffer, $offset, $length);

Tagged :GL_EXT_direct_state_access.

glFlushPixelDataRangeNV

glFlushPixelDataRangeNV($target);

Tagged :GL_NV_pixel_data_range.

glFlushRasterSGIX

glFlushRasterSGIX();

Tagged :GL_SGIX_flush_raster. No args, she's self-sufficient. ๐Ÿซถ

glFlushVertexArrayRangeAPPLE

glFlushVertexArrayRangeAPPLE_c($length, $pointer);

Tagged :GL_APPLE_vertex_array_range. _c form only.

glFlushVertexArrayRangeNV

glFlushVertexArrayRangeNV();

Tagged :GL_NV_vertex_array_range. Zero arguments, zero drama.

glFogCoordFormatNV

glFogCoordFormatNV($type, $stride);

Tagged :GL_NV_vertex_buffer_unified_memory.

glFogCoordPointer

glFogCoordPointer_c($type, $stride, $pointer);
glFogCoordPointerEXT_c($type, $stride, $pointer);

Tagged :GL_VERSION_1_4. Not available in a 'future-compatible' profile โ€” removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogCoordPointer.xml

glFogCoordPointerListIBM

glFogCoordPointerListIBM_c($type, $stride, $pointer, $ptrstride);

Tagged :GL_IBM_vertex_array_lists. Note the extra $ptrstride โ€” she's special like that. ๐Ÿ’€

glFogCoordd

glFogCoordd($coord);
glFogCoorddEXT($coord);

Tagged :GL_VERSION_1_4. Not available in a 'future-compatible' profile โ€” removed in 3.2. And yes, the list keeps goingโ€ฆ ๐Ÿ“

โ€ฆand finishing off that last one: glFogCoorddv is exported under tag :GL_VERSION_1_4 โœจ. It is not available in a 'future-compatible' profile, as it was removed in 3.2 ๐Ÿ’€. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogCoorddv.xml

glFogCoordf ๐Ÿฆ‹

glFogCoordf($coord);
glFogCoordfEXT($coord);

Exported under tag :GL_VERSION_1_4 โœจ. Not available in a 'future-compatible' profile, as it was removed in 3.2 ๐Ÿ’€. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogCoordf.xml

glFogCoordfv ๐ŸŽ€

glFogCoordfv_c($coord);
glFogCoordfvEXT_c($coord);
glFogCoordfv_p(@coord);
glFogCoordfvEXT_p(@coord);

Exported under tag :GL_VERSION_1_4 โœจ. Not available in a 'future-compatible' profile, as it was removed in 3.2 ๐Ÿ’€. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogCoordfv.xml

glFogCoordhNV ๐ŸŒธ

glFogCoordhNV($fog);

Exported under tag :GL_NV_half_float ๐Ÿซถ.

glFogCoordhvNV ๐ŸŒธ

glFogCoordhvNV_c($fog);
glFogCoordhvNV_p(@fog);

Exported under tag :GL_NV_half_float ๐Ÿซถ.

glFogFuncSGIS ๐Ÿ’–

glFogFuncSGIS_c($n, $points);
glFogFuncSGIS_p($n, @points);

Exported under tag :GL_SGIS_fog_function โœจ.

glFogLayersSGIX ๐ŸŒˆ

glFogLayersSGIX_c($n, $points);

Exported under tag :GL_SGIX_fog_layers โœจ.

glFogf ๐Ÿ‘‘

glFogf($pname, $param);

Exported under tag :GL_VERSION_1_1 โœจ. Not available in a 'future-compatible' profile, as it was removed in 3.2 ๐Ÿ’€. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogf.xml

glFogfv ๐Ÿ‘‘

glFogfv_c($pname, $params);
glFogfv_p($pname, @params);

Exported under tag :GL_VERSION_1_1 โœจ. Not available in a 'future-compatible' profile, as it was removed in 3.2 ๐Ÿ’€. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogfv.xml

glFogi โญ

glFogi($pname, $param);

Exported under tag :GL_VERSION_1_1 โœจ. Not available in a 'future-compatible' profile, as it was removed in 3.2 ๐Ÿ’€. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogi.xml

glFogiv โญ

glFogiv_c($pname, $params);
glFogiv_p($pname, @params);

Exported under tag :GL_VERSION_1_1 โœจ. Not available in a 'future-compatible' profile, as it was removed in 3.2 ๐Ÿ’€. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFogiv.xml

glFogx ๐Ÿงš

glFogx($pname, $param);

Exported under tag :GL_REGAL_ES1_0_compatibility โœจ.

glFogxv ๐Ÿงš

glFogxv_c($pname, $param);
glFogxv_p($pname, @param);

Exported under tag :GL_REGAL_ES1_0_compatibility โœจ. (And yes bestie, the placeholder really is spelled $param and @param here, not $params โ€” we keep it exactly how it is ๐Ÿ’….)


glFragmentColorMaterialEXT ๐Ÿ’œ

glFragmentColorMaterialEXT($face, $mode);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentColorMaterialSGIX ๐Ÿ’œ

glFragmentColorMaterialSGIX($face, $mode);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentCoverageColorNV ๐ŸŽจ

glFragmentCoverageColorNV($color);

Exported under tag :GL_NV_fragment_coverage_to_color โœจ.

glFragmentLightModelfEXT ๐Ÿ”ฅ

glFragmentLightModelfEXT($pname, $param);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightModelfSGIX ๐Ÿ”ฅ

glFragmentLightModelfSGIX($pname, $param);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentLightModelfvEXT ๐Ÿ”ฅ

glFragmentLightModelfvEXT_c($pname, $params);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightModelfvSGIX ๐Ÿ”ฅ

glFragmentLightModelfvSGIX_c($pname, $params);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentLightModeliEXT ๐Ÿ”ฅ

glFragmentLightModeliEXT($pname, $param);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightModeliSGIX ๐Ÿ”ฅ

glFragmentLightModeliSGIX($pname, $param);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentLightModelivEXT ๐Ÿ”ฅ

glFragmentLightModelivEXT_c($pname, $params);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightModelivSGIX ๐Ÿ”ฅ

glFragmentLightModelivSGIX_c($pname, $params);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentLightfEXT ๐Ÿ’ก

glFragmentLightfEXT($light, $pname, $param);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightfSGIX ๐Ÿ’ก

glFragmentLightfSGIX($light, $pname, $param);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentLightfvEXT ๐Ÿ’ก

glFragmentLightfvEXT_c($light, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightfvSGIX ๐Ÿ’ก

glFragmentLightfvSGIX_c($light, $pname, $params);
@params = glFragmentLightfvSGIX_p($light, $pname);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ. Not me pointing out that this one has both a _c form and a _p form that hands you back @params ๐Ÿซถ.

glFragmentLightiEXT ๐Ÿ’ก

glFragmentLightiEXT($light, $pname, $param);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightiSGIX ๐Ÿ’ก

glFragmentLightiSGIX($light, $pname, $param);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentLightivEXT ๐Ÿ’ก

glFragmentLightivEXT_c($light, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentLightivSGIX ๐Ÿ’ก

glFragmentLightivSGIX_c($light, $pname, $params);
@params = glFragmentLightivSGIX_p($light, $pname);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentMaterialfEXT ๐ŸŽ€

glFragmentMaterialfEXT($face, $pname, $param);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentMaterialfSGIX ๐ŸŽ€

glFragmentMaterialfSGIX($face, $pname, $param);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentMaterialfvEXT ๐ŸŽ€

glFragmentMaterialfvEXT_c($face, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentMaterialfvSGIX ๐ŸŽ€

glFragmentMaterialfvSGIX_c($face, $pname, $params);
glFragmentMaterialfvSGIX_p($face, $pname, @params);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ. (Yes, the _p form here takes @params after the other args instead of returning anything โ€” copy it exactly, no freestyling ๐Ÿ™ˆ.)

glFragmentMaterialiEXT ๐ŸŽ€

glFragmentMaterialiEXT($face, $pname, $param);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentMaterialiSGIX ๐ŸŽ€

glFragmentMaterialiSGIX($face, $pname, $param);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFragmentMaterialivEXT ๐ŸŽ€

glFragmentMaterialivEXT_c($face, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting โœจ.

glFragmentMaterialivSGIX ๐ŸŽ€

glFragmentMaterialivSGIX_c($face, $pname, $params);
glFragmentMaterialivSGIX_p($face, $pname, @params);

Exported under tag :GL_SGIX_fragment_specular_lighting โœจ.

glFrameTerminatorGREMEDY ๐Ÿ–ผ๏ธ

glFrameTerminatorGREMEDY();

Exported under tag :GL_GREMEDY_frame_terminator โœจ. Zero args, just vibes.

glFrameZoomSGIX ๐Ÿ”

glFrameZoomSGIX($factor);

Exported under tag :GL_SGIX_framezoom โœจ.

glFramebufferDrawBufferEXT ๐ŸŽฏ

glFramebufferDrawBufferEXT($framebuffer, $mode);

Exported under tag :GL_EXT_direct_state_access โœจ.

glFramebufferDrawBuffersEXT ๐ŸŽฏ

glFramebufferDrawBuffersEXT_c($framebuffer, $n, $bufs);
glFramebufferDrawBuffersEXT_p($framebuffer, @bufs);

Exported under tag :GL_EXT_direct_state_access โœจ.

glFramebufferFetchBarrierEXT ๐Ÿšง

glFramebufferFetchBarrierEXT();

Exported under tag :GL_EXT_shader_framebuffer_fetch โœจ.

glFramebufferFetchBarrierQCOM ๐Ÿšง

glFramebufferFetchBarrierQCOM();

Exported under tag :GL_QCOM_shader_framebuffer_fetch_noncoherent โœจ.

glFramebufferFoveationConfigQCOM ๐Ÿ‘๏ธ

glFramebufferFoveationConfigQCOM_c($framebuffer, $numLayers, $focalPointsPerLayer, $requestedFeatures, $providedFeatures);
$providedFeatures = glFramebufferFoveationConfigQCOM_p($framebuffer, $numLayers, $focalPointsPerLayer, $requestedFeatures);

Exported under tag :GL_QCOM_framebuffer_foveated โœจ. Look at all those args, she's doing a lot ๐Ÿซถ.

glFramebufferFoveationParametersQCOM ๐Ÿ‘๏ธ

glFramebufferFoveationParametersQCOM($fbo, $layer, $focalPoint, $focalX, $focalY, $gainX, $gainY, $foveaArea);

Exported under tag :GL_QCOM_framebuffer_foveated โœจ.

glFramebufferParameteri โš™๏ธ

glFramebufferParameteri($target, $pname, $param);

Exported under tag :GL_ARB_framebuffer_no_attachments โœจ.

glFramebufferParameteriMESA โš™๏ธ

glFramebufferParameteriMESA($target, $pname, $param);

Exported under tag :GL_MESA_framebuffer_flip_y โœจ.

glFramebufferPixelLocalStorageSizeEXT ๐Ÿ—„๏ธ

glFramebufferPixelLocalStorageSizeEXT($target, $size);

Exported under tag :GL_EXT_shader_pixel_local_storage2 โœจ.

glFramebufferReadBufferEXT ๐Ÿ“–

glFramebufferReadBufferEXT($framebuffer, $mode);

Exported under tag :GL_EXT_direct_state_access โœจ.

glFramebufferRenderbuffer ๐Ÿงต

glFramebufferRenderbuffer($target, $attachment, $renderbuffertarget, $renderbuffer);
glFramebufferRenderbufferEXT($target, $attachment, $renderbuffertarget, $renderbuffer);

Exported under tag :GL_ARB_framebuffer_object โœจ. Two spellings, one behaviour โ€” the plain one and the EXT one ๐ŸŒˆ.

glFramebufferRenderbufferOES ๐Ÿงต

glFramebufferRenderbufferOES($target, $attachment, $renderbuffertarget, $renderbuffer);

Exported under tag :GL_OES_framebuffer_object โœจ.

glFramebufferSampleLocationsfvARB ๐Ÿ“

glFramebufferSampleLocationsfvARB_c($target, $start, $count, $v);

Exported under tag :GL_ARB_sample_locations โœจ.

glFramebufferSampleLocationsfvNV ๐Ÿ“

glFramebufferSampleLocationsfvNV_c($target, $start, $count, $v);

Exported under tag :GL_NV_sample_locations โœจ.

glFramebufferSamplePositionsfvAMD ๐Ÿ“

glFramebufferSamplePositionsfvAMD_c($target, $numsamples, $pixelindex, $values);

Exported under tag :GL_AMD_framebuffer_sample_positions โœจ.

glFramebufferShadingRateEXT ๐ŸŒ€

glFramebufferShadingRateEXT($target, $attachment, $texture, $baseLayer, $numLayers, $texelWidth, $texelHeight);

Exported under tag :GL_EXT_fragment_shading_rate โœจ.

glFramebufferTexture ๐Ÿ–ผ๏ธ

glFramebufferTexture($target, $attachment, $texture, $level);
glFramebufferTextureARB($target, $attachment, $texture, $level);
glFramebufferTextureEXT($target, $attachment, $texture, $level);

Exported under tag :GL_VERSION_3_2 โœจ. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glFramebufferTexture.xhtml

glFramebufferTexture1D ๐Ÿ“

glFramebufferTexture1D($target, $attachment, $textarget, $texture, $level);
glFramebufferTexture1DEXT($target, $attachment, $textarget, $texture, $level);

Exported under tag :GL_ARB_framebuffer_object โœจ.

glFramebufferTexture2D ๐Ÿ–ผ๏ธ

glFramebufferTexture2D($target, $attachment, $textarget, $texture, $level);
glFramebufferTexture2DEXT($target, $attachment, $textarget, $texture, $level);

Exported under tag :GL_ARB_framebuffer_object โœจ.

glFramebufferTexture2DDownsampleIMG ๐Ÿ”ฝ

glFramebufferTexture2DDownsampleIMG($target, $attachment, $textarget, $texture, $level, $xscale, $yscale);

Exported under tag :GL_IMG_framebuffer_downsample โœจ.

glFramebufferTexture2DMultisampleEXT ๐ŸŒŸ

glFramebufferTexture2DMultisampleEXT($target, $attachment, $textarget, $texture, $level, $samples);

Exported under tag :GL_EXT_multisampled_render_to_texture โœจ.

glFramebufferTexture2DMultisampleIMG ๐ŸŒŸ

glFramebufferTexture2DMultisampleIMG($target, $attachment, $textarget, $texture, $level, $samples);

Exported under tag :GL_IMG_multisampled_render_to_texture โœจ.

glFramebufferTexture2DOES

glFramebufferTexture2DOES($target, $attachment, $textarget, $texture, $level);

Lives in the :GL_OES_framebuffer_object tag โ€” that's where you import it from, bestie. ๐Ÿ’œ

glFramebufferTexture3D

glFramebufferTexture3D($target, $attachment, $textarget, $texture, $level, $zoffset);
glFramebufferTexture3DEXT($target, $attachment, $textarget, $texture, $level, $zoffset);

Both of them hang out under the :GL_ARB_framebuffer_object tag. Note the extra $zoffset in there โ€” she's got range. ๐Ÿฆ‹

glFramebufferTexture3DOES

glFramebufferTexture3DOES($target, $attachment, $textarget, $texture, $level, $zoffset);

Tag: :GL_OES_texture_3D. Three-dee texture energy, no cap. โœจ

glFramebufferTextureFaceARB

glFramebufferTextureFaceARB($target, $attachment, $texture, $level, $face);
glFramebufferTextureFaceEXT($target, $attachment, $texture, $level, $face);

Exported under the :GL_ARB_geometry_shader4 tag. It's giving โœจwhich face of the cube are we onโœจ vibes.

glFramebufferTextureLayer

glFramebufferTextureLayer($target, $attachment, $texture, $level, $layer);
glFramebufferTextureLayerARB($target, $attachment, $texture, $level, $layer);
glFramebufferTextureLayerEXT($target, $attachment, $texture, $level, $layer);

All three flavors are exported under the :GL_ARB_framebuffer_object tag. Pick your fighter, they're literally the same thing. ๐Ÿ’…

glFramebufferTextureLayerDownsampleIMG

glFramebufferTextureLayerDownsampleIMG($target, $attachment, $texture, $level, $layer, $xscale, $yscale);

Exported under the :GL_IMG_framebuffer_downsample tag. Extra $xscale and $yscale because we're getting fancy with the downsample. ๐Ÿ‘‘

glFramebufferTextureLayerNV

glFramebufferTextureLayerNV($target, $attachment, $texture, $level, $layer);

Tag: :GL_NV_texture_array โ€” the texture-array girlies know. ๐ŸŽ€

glFramebufferTextureMultisampleMultiviewOVR

glFramebufferTextureMultisampleMultiviewOVR($target, $attachment, $texture, $level, $samples, $baseViewIndex, $numViews);

Exported under the :GL_OVR_multiview_multisampled_render_to_texture tag. Yes, that name is a whole sentence, and yes, she ate. ๐Ÿ˜ญโœจ

glFramebufferTextureMultiviewOVR

glFramebufferTextureMultiviewOVR($target, $attachment, $texture, $level, $baseViewIndex, $numViews);

Tag: :GL_OVR_multiview. Same tea, minus the multisample garnish. ๐Ÿ’œ

glFreeObjectBufferATI

glFreeObjectBufferATI($buffer);

Exported under the :GL_ATI_vertex_array_object tag. Releasing your buffer into the wild, periodt. ๐Ÿฆ‹

glFrontFace

glFrontFace($mode);

Comes from :GL_VERSION_1_1. Official docs if you want the deep lore: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glFrontFace.xhtml> ๐Ÿ“–

glFrustum

glFrustum($left, $right, $bottom, $top, $zNear, $zFar);

Exported under :GL_VERSION_1_1. Important bestie alert ๐Ÿšจ โ€” this one is not available in a 'future-compatible' profile, because it got removed in 3.2. So if you're on that path, she's gone, no forwarding address. ๐Ÿ˜ญ

Docs: <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glFrustum.xml>

glFrustumf

glFrustumf($left, $right, $bottom, $top, $zNear, $zFar);

Tag: :GL_REGAL_ES1_0_compatibility. The float-y sister. ๐Ÿ’…

glFrustumfOES

glFrustumfOES($l, $r, $b, $t, $n, $f);

Exported under :GL_OES_single_precision โ€” and look at those parameter names, $l, $r, $b, $t, $n, $f. She's living her single-letter-era life. โœจ

glFrustumx

glFrustumx($left, $right, $bottom, $top, $zNear, $zFar);

Tag: :GL_REGAL_ES1_0_compatibility. Fixed-point fix, iconic. ๐ŸŽ€

glGenAsyncMarkersSGIX

$retval = glGenAsyncMarkersSGIX($range);

Exported under the :GL_SGIX_async tag. Hand it a $range, get a $retval back. Simple math, no drama. ๐Ÿฆ‹

glGenBuffers

glGenBuffers_c($n, $buffers);
glGenBuffersARB_c($n, $buffers);
@buffers = glGenBuffers_p($n);
@buffers = glGenBuffersARB_p($n);

Comes from :GL_VERSION_1_5.

Okay so this one has the classic two-flavor situation: the _c versions take $n and write into $buffers, and the _p versions just take $n and hand you back a whole @buffers list. Pick based on the vibe you want that day. ๐Ÿ’…

Docs: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGenBuffers.xhtml>

glGenFencesAPPLE

glGenFencesAPPLE_c($n, $fences);
@fences = glGenFencesAPPLE_p($n);

Tag: :GL_APPLE_fence. Same _c / _p situation, now with fences. ๐Ÿšงโœจ

glGenFencesNV

glGenFencesNV_c($n, $fences);
@fences = glGenFencesNV_p($n);

Exported under :GL_NV_fence. NV said "we also have fences" and honestly, respect. ๐Ÿซถ

glGenFragmentShadersATI

$retval = glGenFragmentShadersATI($range);

Tag: :GL_ATI_fragment_shader. $range goes in, $retval comes out. ๐Ÿ’œ

glGenFramebuffers

glGenFramebuffers_c($n, $framebuffers);
glGenFramebuffersEXT_c($n, $framebuffers);
@framebuffers = glGenFramebuffers_p($n);
@framebuffers = glGenFramebuffersEXT_p($n);

Exported under :GL_ARB_framebuffer_object. Same drill: _c fills your $framebuffers, _p returns the @framebuffers array. ๐Ÿ‘‘

glGenFramebuffersOES

glGenFramebuffersOES_c($n, $framebuffers);

Tag: :GL_OES_framebuffer_object. Only the _c variant here โ€” no _p bestie in this house. ๐ŸŽ€

glGenLists

$retval = glGenLists($range);

Exported under :GL_VERSION_1_1. Warning, my love ๐Ÿšจ โ€” this is not available in a 'future-compatible' profile, because it was removed in 3.2. Old-school display lists, we barely knew ye. ๐Ÿ’€

Docs: <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGenLists.xml>

glGenMPEGPredictorsSGIX

glGenMPEGPredictorsSGIX_c($n, $predictors);

Tag: :GL_SGIX_mpeg1. Yes, MPEG predictors. This manpage has lore you didn't ask for and I'm obsessed. ๐ŸŒˆ

glGenNamesAMD

glGenNamesAMD_c($identifier, $num, $names);
@names = glGenNamesAMD_p($identifier, $num);

Exported under :GL_AMD_name_gen_delete. Two args in for the _p version: $identifier and $num. ๐Ÿฆ‹

glGenOcclusionQueriesNV

glGenOcclusionQueriesNV_c($n, $ids);
@ids = glGenOcclusionQueriesNV_p($n);

Tag: :GL_NV_occlusion_query. Occlusion queries, but make it NV. โœจ

glGenPathsNV

$retval = glGenPathsNV($range);

Exported under :GL_NV_path_rendering. Give her a $range, she gives you a $retval. Paths, generated. ๐Ÿ›ค๏ธ

glGenPerfMonitorsAMD

glGenPerfMonitorsAMD_c($n, $monitors);
@monitors = glGenPerfMonitorsAMD_p($n);

Tag: :GL_AMD_performance_monitor. Performance monitors so you can stare at your frame times and feel something. ๐Ÿ‘‘

glGenProgramPipelines

glGenProgramPipelines_c($n, $pipelines);
@pipelines = glGenProgramPipelines_p($n);

Exported under :GL_ARB_separate_shader_objects. Pipelines, plural, because one is never enough. ๐Ÿ’…

glGenProgramsARB

glGenProgramsARB_c($n, $programs);
glGenProgramsNV_c($n, $programs);
@programs = glGenProgramsARB_p($n);
@programs = glGenProgramsNV_p($n);

Tag: :GL_ARB_vertex_program. Four ways in, ARB and NV both welcome at this party. ๐Ÿซถ

glGenQueries

glGenQueries_c($n, $ids);
glGenQueriesARB_c($n, $ids);
@ids = glGenQueries_p($n);
@ids = glGenQueriesARB_p($n);

Exported under :GL_VERSION_1_5.

Docs, if you want the full tea: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGenQueries.xhtml> ๐Ÿ“–

glGenQueriesANGLE

glGenQueriesANGLE_c($n, $ids);

Tag: :GL_ANGLE_timer_query. Only the _c version โ€” no _p here, so don't go looking. ๐Ÿ’œ

glGenQueriesEXT

glGenQueriesEXT_c($n, $ids);
@ids = glGenQueriesEXT_p($n);

Exported under :GL_EXT_disjoint_timer_query. Both _c and _p made it to the function. ๐ŸŽ€

glGenRenderbuffers

glGenRenderbuffers_c($n, $renderbuffers);
glGenRenderbuffersEXT_c($n, $renderbuffers);
@renderbuffers = glGenRenderbuffers_p($n);
@renderbuffers = glGenRenderbuffersEXT_p($n);

Comes from :GL_ARB_framebuffer_object. Renderbuffers! The quiet ones holding your depth and stencil together. ๐Ÿฆ‹

glGenRenderbuffersOES

glGenRenderbuffersOES_c($n, $renderbuffers);

Tag: :GL_OES_framebuffer_object. Just the _c girlie. โœจ

glGenSamplers

glGenSamplers_c($count, $samplers);
@samplers = glGenSamplers_p($count);

Exported under :GL_ARB_sampler_objects. Heyyy, note the arg name is $count here instead of $n โ€” character for character, don't @ me. ๐Ÿ’…

glGenSemaphoresEXT

glGenSemaphoresEXT_c($n, $semaphores);
@semaphores = glGenSemaphoresEXT_p($n);

Tag: :GL_EXT_semaphore. Semaphores, generated, very synchronized of you. ๐Ÿซถ

glGenSymbolsEXT

$retval = glGenSymbolsEXT($datatype, $storagetype, $range, $components);

Exported under :GL_EXT_vertex_shader. Four args: $datatype, $storagetype, $range, $components. She asks a lot of questions and returns one $retval. ๐Ÿ˜ญโœจ

glGenTextures

glGenTextures_c($n, $textures);
@textures = glGenTextures_p($n);

Comes from :GL_VERSION_1_1. The classic! You've literally done this before.

Docs: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGenTextures.xhtml>

glGenTexturesEXT

glGenTexturesEXT_c($n, $textures);
@textures = glGenTexturesEXT_p($n);

Tag: :GL_EXT_texture_object. Same texture energy, EXT flavored. ๐ŸŽ€

glGenTransformFeedbacks

glGenTransformFeedbacks_c($n, $ids);
glGenTransformFeedbacksNV_c($n, $ids);
@ids = glGenTransformFeedbacks_p($n);
@ids = glGenTransformFeedbacksNV_p($n);

Exported under :GL_ARB_transform_feedback2. Four signatures, all of them valid, all of them yours. ๐Ÿ’œ

glGenVertexArrays

glGenVertexArrays_c($n, $arrays);
glGenVertexArraysAPPLE_c($n, $arrays);
@arrays = glGenVertexArrays_p($n);
@arrays = glGenVertexArraysAPPLE_p($n);

Tag: :GL_ARB_vertex_array_object. VAO generation! The thing you forget to do and then your whole render is black. ๐Ÿ˜ญ (okay that last bit was me, the facts are the four signatures above)

glGenVertexArraysOES

glGenVertexArraysOES_c($n, $arrays);

Exported under :GL_OES_vertex_array_object. Only _c, keep it moves. โœจ

glGenVertexArraysSGIX

glGenVertexArraysSGIX_c($n, $arrays);

Tag: :GL_SGIX_vertex_array_object. Yes SGIX had VAOs. Everyone wanted a piece of this. ๐Ÿ‘‘

glGenVertexShadersEXT

$retval = glGenVertexShadersEXT($range);

Exported under :GL_EXT_vertex_shader. $range in, $retval out. ๐Ÿฆ‹

glGenerateMipmap

glGenerateMipmap($target);
glGenerateMipmapEXT($target);

Both under the :GL_ARB_framebuffer_object tag. Just hand over $target and let her handle the mip pyramid. ๐ŸŒธ

glGenerateMipmapOES

glGenerateMipmapOES($target);

Tag: :GL_OES_framebuffer_object. Same $target, OES badge. ๐Ÿ’œ

glGenerateMultiTexMipmapEXT

glGenerateMultiTexMipmapEXT($texunit, $target);

Exported under :GL_EXT_direct_state_access. Note $texunit comes first here โ€” multi-texture mipmap generation, she does things a little differently. โœจ

glGenerateTextureMipmap

glGenerateTextureMipmap($texture);

Tag: :GL_ARB_direct_state_access. Just the $texture, no $target needed, that's DSA for you, we love a direct-state-access icon. ๐Ÿ‘‘

glGenerateTextureMipmapEXT

glGenerateTextureMipmapEXT($texture, $target);

Exported under :GL_EXT_direct_state_access. This one does want both $texture and $target. Do not mix them up, I'm begging. ๐Ÿ˜ญ

glGetActiveAtomicCounterBufferiv

glGetActiveAtomicCounterBufferiv_c($program, $bufferIndex, $pname, $params);
@params = glGetActiveAtomicCounterBufferiv_p($program, $bufferIndex, $pname);

Tag: :GL_ARB_shader_atomic_counters. Getter time! Notice the _p version drops $params and just returns @params. ๐Ÿ’…

glGetActiveAttrib

glGetActiveAttrib_c($program, $index, $bufSize, $length, $size, $type, $name);
($size, $type, $name) = glGetActiveAttrib_p($program, $index);

Comes from :GL_VERSION_2_0. The _p version is doing a lot of work โ€” she returns a whole list ($size, $type, $name) from just $program and $index. Slay. โœจ

Docs: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetActiveAttrib.xhtml>

glGetActiveAttribARB

glGetActiveAttribARB_c($program, $index, $bufSize, $length, $size, $type, $name);
($size, $type, $name) = glGetActiveAttribARB_p($program, $index);

Exported under :GL_ARB_vertex_shader. Same shape, ARB badge. ๐ŸŽ€

glGetActiveSubroutineName

glGetActiveSubroutineName_c($program, $shadertype, $index, $bufSize, $length, $name);
$name = glGetActiveSubroutineName_p($program, $shadertype, $index);

Tag: :GL_ARB_shader_subroutine. The _p version returns a single $name. Efficient queen. ๐Ÿ’œ

glGetActiveSubroutineUniformName

glGetActiveSubroutineUniformName_c($program, $shadertype, $index, $bufSize, $length, $name);
$name = glGetActiveSubroutineUniformName_p($program, $shadertype, $index);

Exported under :GL_ARB_shader_subroutine. Same $program, $shadertype, $index trio, same single $name out. ๐ŸŒธ

glGetActiveSubroutineUniformiv

glGetActiveSubroutineUniformiv_c($program, $shadertype, $index, $pname, $values);
@values = glGetActiveSubroutineUniformiv_p($program, $shadertype, $index, $pname);

Tag: :GL_ARB_shader_subroutine. $pname in, @values out. โœจ

glGetActiveUniform

glGetActiveUniform_c($program, $index, $bufSize, $length, $size, $type, $name);
($size, $type, $name) = glGetActiveUniform_p($program, $index);

Exported under :GL_VERSION_2_0. The uniform-fetching classic. _p hands you back ($size, $type, $name) like a little gift. ๐ŸŽ

Docs: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetActiveUniform.xhtml>

glGetActiveUniformARB

glGetActiveUniformARB_c($program, $index, $bufSize, $length, $size, $type, $name);
($size, $type, $name) = glGetActiveUniformARB_p($program, $index);

Tag: :GL_ARB_shader_objects. Same deal, ARB edition. ๐Ÿซถ

glGetActiveUniformBlockName

glGetActiveUniformBlockName_c($program, $uniformBlockIndex, $bufSize, $length, $uniformBlockName);
$uniformBlockName = glGetActiveUniformBlockName_p($program, $uniformBlockIndex);

Exported under :GL_ARB_uniform_buffer_object. Two args in, one $uniformBlockName out. โœจ

glGetActiveUniformBlockiv

glGetActiveUniformBlockiv_c($program, $uniformBlockIndex, $pname, $params);

Tag: :GL_ARB_uniform_buffer_object. And here she is, the _c-only one, taking $program, $uniformBlockIndex, $pname, and writing into $params. No _p variant in sight โ€” don't go inventing one, bestie. ๐Ÿ’œ

glGetActiveUniformName โœจ

glGetActiveUniformName_c($program, $uniformIndex, $bufSize, $length, $uniformName);
$uniformName = glGetActiveUniformName_p($program, $uniformIndex);

Exported under tag ":GL_ARB_uniform_buffer_object".


glGetActiveUniformsiv ๐ŸŒธ

glGetActiveUniformsiv_c($program, $uniformCount, $uniformIndices, $pname, $params);
@params = glGetActiveUniformsiv_p($program, $pname, @uniformIndices);

Exported under tag ":GL_ARB_uniform_buffer_object".


glGetActiveVaryingNV ๐Ÿฆ‹

glGetActiveVaryingNV_c($program, $index, $bufSize, $length, $size, $type, $name);
($length, $size, $type, $name) = glGetActiveVaryingNV_p($program, $index, $bufSize);

Exported under tag ":GL_NV_transform_feedback".


glGetArrayObjectfvATI ๐Ÿ’œ

glGetArrayObjectfvATI_c($array, $pname, $params);
$params = glGetArrayObjectfvATI_p($array, $pname);

Exported under tag ":GL_ATI_vertex_array_object".


glGetArrayObjectivATI ๐Ÿ’œ

glGetArrayObjectivATI_c($array, $pname, $params);
$params = glGetArrayObjectivATI_p($array, $pname);

Exported under tag ":GL_ATI_vertex_array_object".


glGetAttachedObjectsARB ๐ŸŽ€

glGetAttachedObjectsARB_c($containerObj, $maxCount, $count, $obj);

Exported under tag ":GL_ARB_shader_objects".


glGetAttachedShaders ๐Ÿ”ฅ

glGetAttachedShaders_c($program, $maxCount, $count, $shaders);
@shaders = glGetAttachedShaders_p($program);

Exported under tag ":GL_VERSION_2_0". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetAttachedShaders.xhtml>


glGetAttribLocation โญ

$retval = glGetAttribLocation($program, $name);

Exported under tag ":GL_VERSION_2_0". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetAttribLocation.xhtml>


glGetAttribLocationARB โญ

$retval = glGetAttribLocationARB($programObj, $name);

Exported under tag ":GL_ARB_vertex_shader".


glGetBooleani_v ๐Ÿงš

glGetBooleani_v_c($target, $index, $data);
glGetBooleanIndexedvEXT_c($target, $index, $data);
@data = glGetBooleani_v_p($target, $index);
@data = glGetBooleanIndexedvEXT_p($target, $index);

Exported under tag ":GL_VERSION_3_0". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetBooleani_v.xhtml>


glGetBooleanv ๐Ÿงš

glGetBooleanv_c($pname, $data);
@data = glGetBooleanv_p($pname);

Exported under tag ":GL_VERSION_1_1". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetBooleanv.xhtml>


glGetBufferParameteri64v ๐Ÿ“

glGetBufferParameteri64v_c($target, $pname, $params);
@params = glGetBufferParameteri64v_p($target, $pname);

Exported under tag ":GL_VERSION_3_2".


glGetBufferParameteriv ๐Ÿ“

glGetBufferParameteriv_c($target, $pname, $params);
glGetBufferParameterivARB_c($target, $pname, $params);
@params = glGetBufferParameteriv_p($target, $pname);
@params = glGetBufferParameterivARB_p($target, $pname);

Exported under tag ":GL_VERSION_1_5". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetBufferParameteriv.xhtml>


glGetBufferParameterui64vNV ๐Ÿ“

glGetBufferParameterui64vNV_c($target, $pname, $params);

Exported under tag ":GL_NV_shader_buffer_load".


glGetBufferPointerv ๐Ÿ‘‘

glGetBufferPointerv_c($target, $pname, $params);
glGetBufferPointervARB_c($target, $pname, $params);

Exported under tag ":GL_VERSION_1_5". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetBufferPointerv.xhtml>


glGetBufferPointervOES ๐ŸŒˆ

glGetBufferPointervOES_c($target, $pname, $params);

Exported under tag ":GL_OES_mapbuffer".


glGetBufferSubData ๐Ÿ’–

glGetBufferSubData_c($target, $offset, $size, $data);
glGetBufferSubDataARB_c($target, $offset, $size, $data);

Exported under tag ":GL_VERSION_1_5". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetBufferSubData.xhtml>


glGetClipPlane โœ‚๏ธ

glGetClipPlane_c($plane, $equation);
@equation = glGetClipPlane_p($plane);

Exported under tag ":GL_VERSION_1_1". Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetClipPlane.xml>


glGetClipPlanef โœ‚๏ธ

glGetClipPlanef_c($plane, $equation);
@equation = glGetClipPlanef_p($plane);

Exported under tag ":GL_REGAL_ES1_1_compatibility".


glGetClipPlanefOES โœ‚๏ธ

glGetClipPlanefOES_c($plane, $equation);

Exported under tag ":GL_OES_single_precision".


glGetClipPlanex โœ‚๏ธ

glGetClipPlanex_c($plane, $equation);
@equation = glGetClipPlanex_p($plane);

Exported under tag ":GL_REGAL_ES1_1_compatibility".


glGetColorTable ๐ŸŽจ

glGetColorTable_c($target, $format, $type, $table);
glGetColorTableEXT_c($target, $format, $type, $table);

Exported under tag ":GL_ARB_imaging".


glGetColorTableParameterfv ๐ŸŽจ

glGetColorTableParameterfv_c($target, $pname, $params);
glGetColorTableParameterfvEXT_c($target, $pname, $params);
@params = glGetColorTableParameterfv_p($target, $pname);
@params = glGetColorTableParameterfvEXT_p($target, $pname);

Exported under tag ":GL_ARB_imaging".


glGetColorTableParameterfvSGI ๐ŸŽจ

glGetColorTableParameterfvSGI_c($target, $pname, $params);
@params = glGetColorTableParameterfvSGI_p($target, $pname);

Exported under tag ":GL_SGI_color_table".


glGetColorTableParameteriv ๐ŸŽจ

glGetColorTableParameteriv_c($target, $pname, $params);
glGetColorTableParameterivEXT_c($target, $pname, $params);
@params = glGetColorTableParameteriv_p($target, $pname);
@params = glGetColorTableParameterivEXT_p($target, $pname);

Exported under tag ":GL_ARB_imaging".


glGetColorTableParameterivSGI ๐ŸŽจ

glGetColorTableParameterivSGI_c($target, $pname, $params);
@params = glGetColorTableParameterivSGI_p($target, $pname);

Exported under tag ":GL_SGI_color_table".


glGetColorTableSGI ๐ŸŽจ

glGetColorTableSGI_c($target, $format, $type, $table);

Exported under tag ":GL_SGI_color_table".


glGetCombinerInputParameterfvNV ๐Ÿงฉ

glGetCombinerInputParameterfvNV_c($stage, $portion, $variable, $pname, $params);

Exported under tag ":GL_NV_register_combiners".


glGetCombinerInputParameterivNV ๐Ÿงฉ

glGetCombinerInputParameterivNV_c($stage, $portion, $variable, $pname, $params);

Exported under tag ":GL_NV_register_combiners".


glGetCombinerOutputParameterfvNV ๐Ÿงฉ

glGetCombinerOutputParameterfvNV_c($stage, $portion, $pname, $params);

Exported under tag ":GL_NV_register_combiners".


glGetCombinerOutputParameterivNV ๐Ÿงฉ

glGetCombinerOutputParameterivNV_c($stage, $portion, $pname, $params);

Exported under tag ":GL_NV_register_combiners".


glGetCombinerStageParameterfvNV ๐Ÿงฉ

glGetCombinerStageParameterfvNV_c($stage, $pname, $params);

Exported under tag ":GL_NV_register_combiners2".


glGetCommandHeaderNV ๐Ÿ“œ

$retval = glGetCommandHeaderNV($tokenID, $size);

Exported under tag ":GL_NV_command_list".


glGetCompressedMultiTexImageEXT ๐Ÿ—œ๏ธ

glGetCompressedMultiTexImageEXT_c($texunit, $target, $lod, $img);

Exported under tag ":GL_EXT_direct_state_access".


glGetCompressedTexImage ๐Ÿ—œ๏ธ

glGetCompressedTexImage_c($target, $level, $img);
glGetCompressedTexImageARB_c($target, $level, $img);

Exported under tag ":GL_VERSION_1_3". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetCompressedTexImage.xhtml>


glGetCompressedTextureImage ๐Ÿ—œ๏ธ

glGetCompressedTextureImage_c($texture, $level, $bufSize, $pixels);

Exported under tag ":GL_ARB_direct_state_access".


glGetCompressedTextureImageEXT ๐Ÿ—œ๏ธ

glGetCompressedTextureImageEXT_c($texture, $target, $lod, $img);

Exported under tag ":GL_EXT_direct_state_access".


glGetCompressedTextureSubImage ๐Ÿ—œ๏ธ

glGetCompressedTextureSubImage_c($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $bufSize, $pixels);

Exported under tag ":GL_ARB_get_texture_sub_image". (yes bestie, that signature is LONG and it ate every single time ๐Ÿ’…)


glGetConvolutionFilter ๐ŸŒŠ

glGetConvolutionFilter_c($target, $format, $type, $image);

Exported under tag ":GL_ARB_imaging".


glGetConvolutionFilterEXT ๐ŸŒŠ

glGetConvolutionFilterEXT_c($target, $format, $type, $image);

Exported under tag ":GL_EXT_convolution".


glGetConvolutionParameterfv ๐ŸŒŠ

glGetConvolutionParameterfv_c($target, $pname, $params);
@params = glGetConvolutionParameterfv_p($target, $pname);

Exported under tag ":GL_ARB_imaging".


glGetConvolutionParameterfvEXT ๐ŸŒŠ

glGetConvolutionParameterfvEXT_c($target, $pname, $params);
@params = glGetConvolutionParameterfvEXT_p($target, $pname);

Exported under tag ":GL_EXT_convolution".


glGetConvolutionParameteriv ๐ŸŒŠ

glGetConvolutionParameteriv_c($target, $pname, $params);
@params = glGetConvolutionParameteriv_p($target, $pname);

Exported under tag ":GL_ARB_imaging".


glGetConvolutionParameterivEXT ๐ŸŒŠ

glGetConvolutionParameterivEXT_c($target, $pname, $params);
@params = glGetConvolutionParameterivEXT_p($target, $pname);

Exported under tag ":GL_EXT_convolution".


glGetCoverageModulationTableNV ๐Ÿซง

glGetCoverageModulationTableNV_c($bufsize, $v);

Exported under tag ":GL_EXT_raster_multisample".


glGetDebugMessageLog ๐Ÿ›

$retval = glGetDebugMessageLog_c($count, $bufSize, $sources, $types, $ids, $severities, $lengths, $messageLog);
$retval = glGetDebugMessageLogARB_c($count, $bufSize, $sources, $types, $ids, $severities, $lengths, $messageLog);
$retval = glGetDebugMessageLogKHR_c($count, $bufSize, $sources, $types, $ids, $severities, $lengths, $messageLog);
($retval, \@sources, \@types, \@ids, \@severities, \@lengths, $messageLog) = glGetDebugMessageLog_p($count, $bufSize);
($retval, \@sources, \@types, \@ids, \@severities, \@lengths, $messageLog) = glGetDebugMessageLogARB_p($count, $bufSize);
($retval, \@sources, \@types, \@ids, \@severities, \@lengths, $messageLog) = glGetDebugMessageLogKHR_p($count, $bufSize);

Exported under tag ":GL_KHR_debug".


glGetDebugMessageLogAMD ๐Ÿ›

$retval = glGetDebugMessageLogAMD_c($count, $bufSize, $categories, $severities, $ids, $lengths, $message);
($retval, \@categories, \@severities, \@ids, \@lengths, $message) = glGetDebugMessageLogAMD_p($count, $bufSize);

Exported under tag ":GL_AMD_debug_output".


glGetDetailTexFuncSGIS ๐Ÿ”

glGetDetailTexFuncSGIS_c($target, $points);
@points = glGetDetailTexFuncSGIS_p($target);

Exported under tag ":GL_SGIS_detail_texture".


glGetDoublei_v ๐Ÿ’ซ

glGetDoublei_v_c($target, $index, $data);
glGetDoubleIndexedvEXT_c($target, $index, $data);
glGetDoublei_vEXT_c($target, $index, $data);
@data = glGetDoublei_v_p($target, $index);
@data = glGetDoubleIndexedvEXT_p($target, $index);
@data = glGetDoublei_vEXT_p($target, $index);

Exported under tag ":GL_ARB_viewport_array".


glGetDoublev ๐Ÿ’ซ

glGetDoublev_c($pname, $data);
@data = glGetDoublev_p($pname);

Exported under tag ":GL_VERSION_1_1". See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetDoublev.xhtml>


glGetDriverControlStringQCOM ๐Ÿš—

glGetDriverControlStringQCOM_c($driverControl, $bufSize, $length, $driverControlString);

Exported under tag ":GL_QCOM_driver_control".


glGetDriverControlsQCOM ๐Ÿš—

glGetDriverControlsQCOM_c($num, $size, $driverControls);

Exported under tag ":GL_QCOM_driver_control".


glGetError ๐Ÿšจ

$retval = glGetError();

Exported under tag :GL_VERSION_1_1. Full tea's at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetError.xhtml โœจ


glGetExtensionREGAL ๐Ÿฆ‹

$retval = glGetExtensionREGAL($ext);

Exported under tag :GL_REGAL_extension_query.


glGetFenceivNV ๐ŸŽ€

glGetFenceivNV_c($fence, $pname, $params);

Exported under tag :GL_NV_fence.


glGetFinalCombinerInputParameterfvNV ๐Ÿ’…

glGetFinalCombinerInputParameterfvNV_c($variable, $pname, $params);

Exported under tag :GL_NV_register_combiners.


glGetFinalCombinerInputParameterivNV ๐ŸŒธ

glGetFinalCombinerInputParameterivNV_c($variable, $pname, $params);

Exported under tag :GL_NV_register_combiners.


glGetFirstPerfQueryIdINTEL โญ

glGetFirstPerfQueryIdINTEL_c($queryId);

Exported under tag :GL_INTEL_performance_query.


glGetFixedv ๐Ÿ’œ

glGetFixedv_c($pname, $params);

Exported under tag :GL_REGAL_ES1_1_compatibility.


glGetFloati_v ๐Ÿงš

okay so this one's the pop off entry โ€” it's got a whole little squad of aliases under it, both the _c flavor AND the _p flavor. Collect them all, bestie:

glGetFloati_v_c($target, $index, $data);
glGetFloatIndexedvEXT_c($target, $index, $data);
glGetFloati_vEXT_c($target, $index, $data);
glGetFloati_vNV_c($target, $index, $data);
@data = glGetFloati_v_p($target, $index);
@data = glGetFloatIndexedvEXT_p($target, $index);
@data = glGetFloati_vEXT_p($target, $index);
@data = glGetFloati_vNV_p($target, $index);

Exported under tag :GL_ARB_viewport_array.


glGetFloatv ๐Ÿ“

glGetFloatv_c($pname, $data);
@data = glGetFloatv_p($pname);

Exported under tag :GL_VERSION_1_1. If you want the whole saga: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetFloatv.xhtml ๐Ÿ’–


glGetFogFuncSGIS ๐ŸŒˆ

glGetFogFuncSGIS_c($points);

Exported under tag :GL_SGIS_fog_function.


glGetFogLayersSGIX ๐ŸŒธ

glGetFogLayersSGIX_c($points);

Exported under tag :GL_SGIX_fog_layers.


glGetFragDataIndex โœจ

$retval = glGetFragDataIndex($program, $name);
$retval = glGetFragDataIndexEXT($program, $name);

Exported under tag :GL_ARB_blend_func_extended.


glGetFragDataLocation ๐Ÿ‘‘

$retval = glGetFragDataLocation($program, $name);
$retval = glGetFragDataLocationEXT($program, $name);

Exported under tag :GL_VERSION_3_0. More deets: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetFragDataLocation.xhtml ๐Ÿซถ


glGetFragmentLightfvEXT ๐Ÿ’…

glGetFragmentLightfvEXT_c($light, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting.


glGetFragmentLightfvSGIX ๐Ÿฆ‹

glGetFragmentLightfvSGIX_c($light, $pname, $params);
@params = glGetFragmentLightfvSGIX_p($light, $pname);

Exported under tag :GL_SGIX_fragment_specular_lighting.


glGetFragmentLightivEXT ๐ŸŽ€

glGetFragmentLightivEXT_c($light, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting.


glGetFragmentLightivSGIX โญ

glGetFragmentLightivSGIX_c($light, $pname, $params);
@params = glGetFragmentLightivSGIX_p($light, $pname);

Exported under tag :GL_SGIX_fragment_specular_lighting.


glGetFragmentMaterialfvEXT ๐Ÿ’œ

glGetFragmentMaterialfvEXT_c($face, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting.


glGetFragmentMaterialfvSGIX ๐ŸŒธ

glGetFragmentMaterialfvSGIX_c($face, $pname, $params);
@params = glGetFragmentMaterialfvSGIX_p($face, $pname);

Exported under tag :GL_SGIX_fragment_specular_lighting.


glGetFragmentMaterialivEXT ๐ŸŒˆ

glGetFragmentMaterialivEXT_c($face, $pname, $params);

Exported under tag :GL_EXT_fragment_lighting.


glGetFragmentMaterialivSGIX โœจ

glGetFragmentMaterialivSGIX_c($face, $pname, $params);
@params = glGetFragmentMaterialivSGIX_p($face, $pname);

Exported under tag :GL_SGIX_fragment_specular_lighting.


glGetFragmentShadingRatesEXT ๐Ÿงš

Notice the _p version hands you back a list (($count, \@shadingRates)), it's giving very much "here's your count AND your array, you're welcome":

glGetFragmentShadingRatesEXT_c($samples, $maxCount, $count, $shadingRates);
($count, \@shadingRates) = glGetFragmentShadingRatesEXT_p($samples, $maxCount);

Exported under tag :GL_EXT_fragment_shading_rate.


glGetFramebufferAttachmentParameteriv ๐Ÿ’…

glGetFramebufferAttachmentParameteriv_c($target, $attachment, $pname, $params);
glGetFramebufferAttachmentParameterivEXT_c($target, $attachment, $pname, $params);
@params = glGetFramebufferAttachmentParameteriv_p($target, $attachment, $pname);
@params = glGetFramebufferAttachmentParameterivEXT_p($target, $attachment, $pname);

Exported under tag :GL_ARB_framebuffer_object.


glGetFramebufferAttachmentParameterivOES ๐ŸŽ€

glGetFramebufferAttachmentParameterivOES_c($target, $attachment, $pname, $params);

Exported under tag :GL_OES_framebuffer_object.


glGetFramebufferParameterfvAMD โญ

glGetFramebufferParameterfvAMD_c($target, $pname, $numsamples, $pixelindex, $size, $values);

Exported under tag :GL_AMD_framebuffer_sample_positions.


glGetFramebufferParameteriv ๐Ÿ“

glGetFramebufferParameteriv_c($target, $pname, $params);
@params = glGetFramebufferParameteriv_p($target, $pname);

Exported under tag :GL_ARB_framebuffer_no_attachments.


glGetFramebufferParameterivEXT ๐ŸŒธ

glGetFramebufferParameterivEXT_c($framebuffer, $pname, $params);
@params = glGetFramebufferParameterivEXT_p($framebuffer, $pname);

Exported under tag :GL_EXT_direct_state_access.


glGetFramebufferParameterivMESA ๐Ÿ’œ

glGetFramebufferParameterivMESA_c($target, $pname, $params);
@params = glGetFramebufferParameterivMESA_p($target, $pname);

Exported under tag :GL_MESA_framebuffer_flip_y.


glGetFramebufferPixelLocalStorageSizeEXT ๐Ÿฆ‹

$retval = glGetFramebufferPixelLocalStorageSizeEXT($target);

Exported under tag :GL_EXT_shader_pixel_local_storage2.


glGetGraphicsResetStatus ๐Ÿ‘‘

$retval = glGetGraphicsResetStatus();
$retval = glGetGraphicsResetStatusEXT();
$retval = glGetGraphicsResetStatusKHR();

Exported under tag :GL_VERSION_4_5. Go read up: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetGraphicsResetStatus.xhtml โœจ


glGetGraphicsResetStatusARB ๐ŸŒˆ

$retval = glGetGraphicsResetStatusARB();

Exported under tag :GL_ARB_robustness.


glGetHandleARB ๐ŸŽ€

$retval = glGetHandleARB($pname);

Exported under tag :GL_ARB_shader_objects.


glGetHistogram ๐Ÿ“Š

glGetHistogram_c($target, $reset, $format, $type, $values);

Exported under tag :GL_ARB_imaging.


glGetHistogramEXT โญ

glGetHistogramEXT_c($target, $reset, $format, $type, $values);

Exported under tag :GL_EXT_histogram.


glGetHistogramParameterfv ๐Ÿ’…

glGetHistogramParameterfv_c($target, $pname, $params);
@params = glGetHistogramParameterfv_p($target, $pname);

Exported under tag :GL_ARB_imaging.


glGetHistogramParameterfvEXT ๐ŸŒธ

glGetHistogramParameterfvEXT_c($target, $pname, $params);
@params = glGetHistogramParameterfvEXT_p($target, $pname);

Exported under tag :GL_EXT_histogram.


glGetHistogramParameteriv ๐Ÿ’œ

glGetHistogramParameteriv_c($target, $pname, $params);
@params = glGetHistogramParameteriv_p($target, $pname);

Exported under tag :GL_ARB_imaging.


glGetHistogramParameterivEXT ๐Ÿงš

glGetHistogramParameterivEXT_c($target, $pname, $params);
@params = glGetHistogramParameterivEXT_p($target, $pname);

Exported under tag :GL_EXT_histogram.


glGetImageHandleARB ๐Ÿ“

$retval = glGetImageHandleARB($texture, $level, $layered, $layer, $format);

Exported under tag :GL_ARB_bindless_texture.


glGetImageHandleNV โœจ

$retval = glGetImageHandleNV($texture, $level, $layered, $layer, $format);

Exported under tag :GL_NV_bindless_texture.


glGetImageTransformParameterfvHP ๐ŸŒˆ

glGetImageTransformParameterfvHP_c($target, $pname, $params);

Exported under tag :GL_HP_image_transform.


glGetImageTransformParameterivHP ๐Ÿฆ‹

glGetImageTransformParameterivHP_c($target, $pname, $params);

Exported under tag :GL_HP_image_transform.


glGetInfoLogARB ๐ŸŽ€

glGetInfoLogARB_c($obj, $maxLength, $length, $infoLog);
($length, $infoLog) = glGetInfoLogARB_p($obj, $maxLength);

Exported under tag :GL_ARB_shader_objects.


glGetInteger64i_v ๐Ÿ’…

glGetInteger64i_v_c($target, $index, $data);
@data = glGetInteger64i_v_p($target, $index);

Exported under tag :GL_VERSION_3_2. Receipts here: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetInteger64i_v.xhtml โญ


glGetInteger64v ๐ŸŒธ

glGetInteger64v_c($pname, $data);
glGetInteger64vAPPLE_c($pname, $data);
glGetInteger64vEXT_c($pname, $data);
@data = glGetInteger64v_p($pname);
@data = glGetInteger64vAPPLE_p($pname);
@data = glGetInteger64vEXT_p($pname);

Exported under tag :GL_ARB_sync.


glGetIntegeri_v ๐Ÿ’œ

glGetIntegeri_v_c($target, $index, $data);
glGetIntegerIndexedvEXT_c($target, $index, $data);
@data = glGetIntegeri_v_p($target, $index);
@data = glGetIntegerIndexedvEXT_p($target, $index);

Exported under tag :GL_ARB_uniform_buffer_object.


glGetIntegeri_vEXT ๐Ÿงš

glGetIntegeri_vEXT_c($target, $index, $data);

Exported under tag :GL_EXT_multiview_draw_buffers.


glGetIntegerui64i_vNV ๐Ÿ“

glGetIntegerui64i_vNV_c($value, $index, $result);

Exported under tag :GL_NV_vertex_buffer_unified_memory.


glGetIntegerui64vNV โœจ

glGetIntegerui64vNV_c($value, $result);

Exported under tag :GL_NV_shader_buffer_load.


glGetIntegerv ๐Ÿ‘‘

the OG getter, no cap. Everybody's called this one at least once:

glGetIntegerv_c($pname, $data);
@data = glGetIntegerv_p($pname);

Exported under tag :GL_VERSION_1_1. Lore drop: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetIntegerv.xhtml ๐Ÿ’–


glGetInternalformatSampleivNV ๐ŸŒˆ

glGetInternalformatSampleivNV_c($target, $internalformat, $samples, $pname, $count, $params);
@params = glGetInternalformatSampleivNV_p($target, $internalformat, $samples, $pname, $count);

Exported under tag :GL_NV_internalformat_sample_query.


glGetInternalformati64v ๐Ÿฆ‹

glGetInternalformati64v_c($target, $internalformat, $pname, $count, $params);
@params = glGetInternalformati64v_p($target, $internalformat, $pname, $count);

Exported under tag :GL_ARB_internalformat_query2.


glGetInternalformativ ๐ŸŽ€

glGetInternalformativ_c($target, $internalformat, $pname, $count, $params);
@params = glGetInternalformativ_p($target, $internalformat, $pname, $count);

Exported under tag :GL_ARB_internalformat_query.


glGetInvariantBooleanvEXT ๐Ÿ’…

glGetInvariantBooleanvEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader.


glGetInvariantFloatvEXT ๐ŸŒธ

glGetInvariantFloatvEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader.


glGetInvariantIntegervEXT ๐Ÿ’œ

glGetInvariantIntegervEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader.


glGetLightfv ๐Ÿงš

glGetLightfv_c($light, $pname, $params);
@params = glGetLightfv_p($light, $pname);

Exported under tag :GL_VERSION_1_1. Heads up bestie: this one is not available in a 'future-compatible' profile as removed in 3.2. She's legacy ๐Ÿ‘‘. Receipts: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetLightfv.xml


glGetLightiv ๐Ÿ“

glGetLightiv_c($light, $pname, $params);
@params = glGetLightiv_p($light, $pname);

Exported under tag :GL_VERSION_1_1. Same warning, fr fr: not available in a 'future-compatible' profile as removed in 3.2. More: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetLightiv.xml โญ


glGetLightxv โœจ

glGetLightxv_c($light, $pname, $params);
@params = glGetLightxv_p($light, $pname);

Exported under tag :GL_REGAL_ES1_1_compatibility.


glGetLocalConstantBooleanvEXT

glGetLocalConstantBooleanvEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader. โœจ boolean edition of the local-constant getters, bestie.

glGetLocalConstantFloatvEXT

glGetLocalConstantFloatvEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader. ๐Ÿ’… floats only, no cap.

glGetLocalConstantIntegervEXT

glGetLocalConstantIntegervEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader. ๐ŸŽ€ the int one, clocking in right on schedule.


glGetMPEGParameterfvSGIX

glGetMPEGParameterfvSGIX_c($target, $pname, $params);

Exported under tag :GL_SGIX_mpeg1. ๐Ÿฆ‹ yes bestie, MPEG in my OpenGL manual? it's giving vintage.

glGetMPEGParameterivSGIX

glGetMPEGParameterivSGIX_c($target, $pname, $params);

Exported under tag :GL_SGIX_mpeg1. ๐ŸŒธ int flavor, same energy.

glGetMPEGPredictorSGIX

glGetMPEGPredictorSGIX_c($target, $format, $type, $pixels);

Exported under tag :GL_SGIX_mpeg1. ๐Ÿ”ฅ the predictor one โ€” she's got a $format, a $type AND $pixels, she's booked and busy.

glGetMPEGQuantTableubv

glGetMPEGQuantTableubv_c($target, $values);

Exported under tag :GL_SGIX_mpeg1. ๐Ÿ‘‘ note the spelling, bestie โ€” it's literally ubv, not uiv. type it exactly how it's written, no autocorrect. ๐Ÿ’€


glGetMapAttribParameterfvNV

glGetMapAttribParameterfvNV_c($target, $index, $pname, $params);

Exported under tag :GL_NV_evaluators. โœจ float attrib getter, in her NV era.

glGetMapAttribParameterivNV

glGetMapAttribParameterivNV_c($target, $index, $pname, $params);

Exported under tag :GL_NV_evaluators. ๐Ÿ’– int twin, matching outfits.

glGetMapControlPointsNV

glGetMapControlPointsNV_c($target, $index, $type, $ustride, $vstride, $packed, $points);

Exported under tag :GL_NV_evaluators. ๐ŸŒˆ seven whole arguments, she's the main character fr fr.

glGetMapParameterfvNV

glGetMapParameterfvNV_c($target, $pname, $params);

Exported under tag :GL_NV_evaluators. ๐Ÿซถ short and sweet, no $index in sight.

glGetMapParameterivNV

glGetMapParameterivNV_c($target, $pname, $params);

Exported under tag :GL_NV_evaluators. โญ and that's the iv version, periodt.


glGetMapdv

glGetMapdv_c($target, $query, $v);

Exported under tag :GL_VERSION_1_1. โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetMapdv.xml

the future-compat profile said "not you anymore, bestie" and honestly it's giving heartbreak. ๐Ÿ˜ญ dobles, in case you were wondering.

glGetMapfv

glGetMapfv_c($target, $query, $v);

Exported under tag :GL_VERSION_1_1. โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetMapfv.xml

same situation, float edition. removed in 3.2, so if you're on a future-compatible profile she is simply not there. ๐Ÿ’€

glGetMapiv

glGetMapiv_c($target, $query, $v);

Exported under tag :GL_VERSION_1_1. โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetMapiv.xml

int version, same lore, same 3.2 removal. lowkey tragic. ๐Ÿฅฒ

glGetMaterialfv

glGetMaterialfv_c($face, $pname, $params);
@params = glGetMaterialfv_p($face, $pname);

Exported under tag :GL_VERSION_1_1. โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetMaterialfv.xml

okay so she comes in two flavors: the _c one takes $params, the _p one hands you back @params like a little gift. ๐ŸŽ still removed in 3.2 on future-compatible profiles though. no cap.

glGetMaterialiv

glGetMaterialiv_c($face, $pname, $params);
@params = glGetMaterialiv_p($face, $pname);

Exported under tag :GL_VERSION_1_1. โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetMaterialiv.xml

int twin, also dual-form, also evicted by 3.2. ๐Ÿ’…

glGetMaterialxv

glGetMaterialxv_c($face, $pname, $params);
@params = glGetMaterialxv_p($face, $pname);

Exported under tag :GL_REGAL_ES1_1_compatibility. ๐ŸŒŸ okay miss REGAL showing up โ€” she's the ES1.1 compatibility diva, and she gets the _c/_p duo too.


glGetMemoryObjectDetachedResourcesuivNV

glGetMemoryObjectDetachedResourcesuivNV_c($memory, $pname, $first, $count, $params);

Exported under tag :GL_NV_memory_attachment. ๐Ÿงš $first AND $count? she's doing ranges, your fave could never.

glGetMemoryObjectParameterivEXT

glGetMemoryObjectParameterivEXT_c($memoryObject, $pname, $params);

Exported under tag :GL_EXT_memory_object. ๐Ÿ’œ note it's $memoryObject here, not $memory. stay observant bestie. ๐Ÿ‘€


glGetMinmax

glGetMinmax_c($target, $reset, $format, $type, $values);

Exported under tag :GL_ARB_imaging. ๐Ÿ”ฅ yes there's a $reset in there. iconic parameter, honestly.

glGetMinmaxEXT

glGetMinmaxEXT_c($target, $reset, $format, $type, $values);

Exported under tag :GL_EXT_histogram. ๐ŸŒธ the EXT one lives under a completely different tag than the non-EXT one, and that's just how it is, iykyk.

glGetMinmaxParameterfv

glGetMinmaxParameterfv_c($target, $pname, $params);
@params = glGetMinmaxParameterfv_p($target, $pname);

Exported under tag :GL_ARB_imaging. โœจ _c and _p, float flavored.

glGetMinmaxParameterfvEXT

glGetMinmaxParameterfvEXT_c($target, $pname, $params);
@params = glGetMinmaxParameterfvEXT_p($target, $pname);

Exported under tag :GL_EXT_histogram. ๐Ÿซถ same duo, EXT division.

glGetMinmaxParameteriv

glGetMinmaxParameteriv_c($target, $pname, $params);
@params = glGetMinmaxParameteriv_p($target, $pname);

Exported under tag :GL_ARB_imaging. โญ int time.

glGetMinmaxParameterivEXT

glGetMinmaxParameterivEXT_c($target, $pname, $params);
@params = glGetMinmaxParameterivEXT_p($target, $pname);

Exported under tag :GL_EXT_histogram. ๐Ÿ’– and the EXT int one closes the minmax quartet. slay.


glGetMultiTexEnvfvEXT

glGetMultiTexEnvfvEXT_c($texunit, $target, $pname, $params);
@params = glGetMultiTexEnvfvEXT_p($texunit, $target, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒˆ we're in DSA territory now bestie, buckle up.

glGetMultiTexEnvivEXT

glGetMultiTexEnvivEXT_c($texunit, $target, $pname, $params);
@params = glGetMultiTexEnvivEXT_p($texunit, $target, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’… int version, $texunit first as always.

glGetMultiTexGendvEXT

glGetMultiTexGendvEXT_c($texunit, $coord, $pname, $params);
@params = glGetMultiTexGendvEXT_p($texunit, $coord, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€ note the $coord โ€” this one's a Gen function, she's fancy.

glGetMultiTexGenfvEXT

glGetMultiTexGenfvEXT_c($texunit, $coord, $pname, $params);
@params = glGetMultiTexGenfvEXT_p($texunit, $coord, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒธ float Gen, same shape.

glGetMultiTexGenivEXT

glGetMultiTexGenivEXT_c($texunit, $coord, $pname, $params);
@params = glGetMultiTexGenivEXT_p($texunit, $coord, $pname);

Exported under tag :GL_EXT_direct_state_access. โญ int Gen, completing the trio.

glGetMultiTexImageEXT

glGetMultiTexImageEXT_c($texunit, $target, $level, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ”ฅ six params and no _p variant โ€” she takes $pixels and that's the whole vibe.

glGetMultiTexLevelParameterfvEXT

glGetMultiTexLevelParameterfvEXT_c($texunit, $target, $level, $pname, $params);
@params = glGetMultiTexLevelParameterfvEXT_p($texunit, $target, $level, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’– level parameters, float, with the _p cutie.

glGetMultiTexLevelParameterivEXT

glGetMultiTexLevelParameterivEXT_c($texunit, $target, $level, $pname, $params);
@params = glGetMultiTexLevelParameterivEXT_p($texunit, $target, $level, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿซถ int level parameters, same energy.

glGetMultiTexParameterIivEXT

glGetMultiTexParameterIivEXT_c($texunit, $target, $pname, $params);
@params = glGetMultiTexParameterIivEXT_p($texunit, $target, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ‘‘ capital I in Iiv, bestie โ€” that's not a typo, that's signed. respect it.

glGetMultiTexParameterIuivEXT

glGetMultiTexParameterIuivEXT_c($texunit, $target, $pname, $params);
@params = glGetMultiTexParameterIuivEXT_p($texunit, $target, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’œ and this one's Iuiv โ€” unsigned. the capitalization IS the personality. ๐Ÿ’…

glGetMultiTexParameterfvEXT

glGetMultiTexParameterfvEXT_c($texunit, $target, $pname, $params);
@params = glGetMultiTexParameterfvEXT_p($texunit, $target, $pname);

Exported under tag :GL_EXT_direct_state_access. โœจ lowercase fv, living her soft life.

glGetMultiTexParameterivEXT

glGetMultiTexParameterivEXT_c($texunit, $target, $pname, $params);
@params = glGetMultiTexParameterivEXT_p($texunit, $target, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒˆ lowercase iv, closing out the parameter squad.


glGetMultisamplefv

glGetMultisamplefv_c($pname, $index, $val);
glGetMultisamplefvNV_c($pname, $index, $val);
@val = glGetMultisamplefv_p($pname, $index);
@val = glGetMultisamplefvNV_p($pname, $index);

Exported under tag :GL_ARB_texture_multisample. ๐Ÿฆ‹ okay so she's got FOUR lines โ€” the plain _c, the NV_c, and both _p versions. and guess what, $val is singular here, not $vals. correct that in your head before you type it. ๐Ÿ™ˆ


glGetNamedBufferParameteri64v

glGetNamedBufferParameteri64v_c($buffer, $pname, $params);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ”ฅ 64-bit ints, named buffers, no _p buddy. she's the strong silent type.

glGetNamedBufferParameteriv

glGetNamedBufferParameteriv_c($buffer, $pname, $params);

Exported under tag :GL_ARB_direct_state_access. โญ regular ints, same family.

glGetNamedBufferParameterivEXT

glGetNamedBufferParameterivEXT_c($buffer, $pname, $params);
@params = glGetNamedBufferParameterivEXT_p($buffer, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿซถ NOTE the switch-up bestie โ€” this EXT one lives under :GL_EXT_direct_state_access, not the ARB direct state access tag. different tag, different girl. ๐Ÿ’€

glGetNamedBufferParameterui64vNV

glGetNamedBufferParameterui64vNV_c($buffer, $pname, $params);
@params = glGetNamedBufferParameterui64vNV_p($buffer, $pname);

Exported under tag :GL_NV_shader_buffer_load. ๐Ÿ’– unsigned 64, NV-style, comes with the _p bonus.

glGetNamedBufferPointerv

glGetNamedBufferPointerv_c($buffer, $pname, $params);

Exported under tag :GL_ARB_direct_state_access. โœจ pointer getter, _c only.

glGetNamedBufferPointervEXT

glGetNamedBufferPointervEXT_c($buffer, $pname, $params);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒธ the EXT twin. still no _p. it's giving minimalist. ๐Ÿ™ˆ

glGetNamedBufferSubData

glGetNamedBufferSubData_c($buffer, $offset, $size, $data);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ‘‘ $offset and $size โ€” she's a range girlie.

glGetNamedBufferSubDataEXT

glGetNamedBufferSubDataEXT_c($buffer, $offset, $size, $data);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒˆ EXT version, identical shape, different tag. iconic.

glGetNamedFramebufferAttachmentParameteriv

glGetNamedFramebufferAttachmentParameteriv_c($framebuffer, $attachment, $pname, $params);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ”ฅ four params, attachment drama, _c only.

glGetNamedFramebufferAttachmentParameterivEXT

glGetNamedFramebufferAttachmentParameterivEXT_c($framebuffer, $attachment, $pname, $params);
@params = glGetNamedFramebufferAttachmentParameterivEXT_p($framebuffer, $attachment, $pname);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’… THIS EXT one does get a _p. rude for the ARB one? maybe. we move.

glGetNamedFramebufferParameterfvAMD

glGetNamedFramebufferParameterfvAMD_c($framebuffer, $pname, $numsamples, $pixelindex, $size, $values);

Exported under tag :GL_AMD_framebuffer_sample_positions. ๐ŸŽ€ AMD era! $numsamples, $pixelindex, $size, AND $values. she is booked. ๐Ÿ’–

glGetNamedFramebufferParameteriv

glGetNamedFramebufferParameteriv_c($framebuffer, $pname, $param);

Exported under tag :GL_ARB_direct_state_access. โญ three params, and it's $param โ€” SINGULAR. do not add an s, bestie, she will notice. ๐Ÿ˜ญ

glGetNamedFramebufferParameterivEXT

glGetNamedFramebufferParameterivEXT_c($framebuffer, $pname, $params);
@params = glGetNamedFramebufferParameterivEXT_p($framebuffer, $pname);

Exported under tag :GL_ARB_framebuffer_no_attachments. ๐Ÿฆ‹ okay plot twist โ€” the EXT-suffixed one is tagged :GL_ARB_framebuffer_no_attachments, not :GL_EXT_.... yes really. and yes, $params here, plural. the lore is thick. ๐Ÿ’€


glGetNamedProgramLocalParameterIivEXT

glGetNamedProgramLocalParameterIivEXT_c($program, $target, $index, $params);
@params = glGetNamedProgramLocalParameterIivEXT_p($program, $target, $index);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’œ capital I, signed, and she brought her _p friend.

glGetNamedProgramLocalParameterIuivEXT

glGetNamedProgramLocalParameterIuivEXT_c($program, $target, $index, $params);
@params = glGetNamedProgramLocalParameterIuivEXT_p($program, $target, $index);

Exported under tag :GL_EXT_direct_state_access. โœจ Iuiv โ€” unsigned. we stan a well-capitalized identifier. ๐Ÿ‘‘

glGetNamedProgramLocalParameterdvEXT

glGetNamedProgramLocalParameterdvEXT_c($program, $target, $index, $params);
@params = glGetNamedProgramLocalParameterdvEXT_p($program, $target, $index);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒธ dv โ€” doubles, babes. she's precise.

glGetNamedProgramLocalParameterfvEXT

glGetNamedProgramLocalParameterfvEXT_c($program, $target, $index, $params);
@params = glGetNamedProgramLocalParameterfvEXT_p($program, $target, $index);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿซถ floats, same everything else.

glGetNamedProgramStringEXT

glGetNamedProgramStringEXT_c($program, $target, $pname, $string);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒˆ note $string โ€” singular, no _p, and she's the odd one out in this little family. love that for her. ๐Ÿ’–

glGetNamedProgramivEXT

glGetNamedProgramivEXT_c($program, $target, $pname, $params);
$params = glGetNamedProgramivEXT_p($program, $target, $pname);

Exported under tag :GL_EXT_direct_state_access. โญ and CAREFUL bestie โ€” the _p form returns $params with a dollar sign, not an @. scalar return, not a list. look at it again. yes. it's really $params. ๐Ÿ’€ the other ones spoiler you with @, this one does not.

glGetNamedRenderbufferParameteriv

glGetNamedRenderbufferParameteriv_c($renderbuffer, $pname, $params);

Exported under tag :GL_ARB_direct_state_access.


glGetNamedRenderbufferParameterivEXT

glGetNamedRenderbufferParameterivEXT_c($renderbuffer, $pname, $params);
@params = glGetNamedRenderbufferParameterivEXT_p($renderbuffer, $pname);

Exported under tag :GL_EXT_direct_state_access.


glGetNamedStringARB

glGetNamedStringARB_c($namelen, $name, $bufSize, $stringlen, $string);
($stringlen, $string) = glGetNamedStringARB_p($namelen, $name, $bufSize);

Exported under tag :GL_ARB_shading_language_include.


glGetNamedStringivARB

glGetNamedStringivARB_c($namelen, $name, $pname, $params);

Exported under tag :GL_ARB_shading_language_include.


glGetNextPerfQueryIdINTEL

glGetNextPerfQueryIdINTEL_c($queryId, $nextQueryId);

Exported under tag :GL_INTEL_performance_query.


glGetNonlinLightfvSGIX

glGetNonlinLightfvSGIX_c($light, $pname, $terms, $data);

Exported under tag :GL_SGIX_nonlinear_lighting_pervertex.


glGetNonlinMaterialfvSGIX

glGetNonlinMaterialfvSGIX_c($face, $pname, $terms, $data);

Exported under tag :GL_SGIX_nonlinear_lighting_pervertex.


glGetObjectBufferfvATI

glGetObjectBufferfvATI_c($buffer, $pname, $params);
$params = glGetObjectBufferfvATI_p($buffer, $pname);

Exported under tag :GL_ATI_vertex_array_object.


glGetObjectBufferivATI

glGetObjectBufferivATI_c($buffer, $pname, $params);
$params = glGetObjectBufferivATI_p($buffer, $pname);

Exported under tag :GL_ATI_vertex_array_object.


glGetObjectLabel

glGetObjectLabel_c($identifier, $name, $bufSize, $length, $label);
glGetObjectLabelKHR_c($identifier, $name, $bufSize, $length, $label);
$label = glGetObjectLabel_p($identifier, $name);
$label = glGetObjectLabelKHR_p($identifier, $name);

Exported under tag :GL_KHR_debug.


glGetObjectLabelEXT

glGetObjectLabelEXT_c($type, $object, $bufSize, $length, $label);
($length, $label) = glGetObjectLabelEXT_p($type, $object, $bufSize);

Exported under tag :GL_EXT_debug_label.


glGetObjectParameterfvARB

glGetObjectParameterfvARB_c($obj, $pname, $params);

Exported under tag :GL_ARB_shader_objects.


glGetObjectParameterivAPPLE

glGetObjectParameterivAPPLE_c($objectType, $name, $pname, $params);

Exported under tag :GL_APPLE_object_purgeable.


glGetObjectParameterivARB

glGetObjectParameterivARB_c($obj, $pname, $params);

Exported under tag :GL_ARB_shader_objects.


glGetObjectPtrLabel

glGetObjectPtrLabel_c($ptr, $bufSize, $length, $label);
glGetObjectPtrLabelKHR_c($ptr, $bufSize, $length, $label);

Exported under tag :GL_KHR_debug.


glGetOcclusionQueryivNV

glGetOcclusionQueryivNV_c($id, $pname, $params);

Exported under tag :GL_NV_occlusion_query.


glGetOcclusionQueryuivNV

glGetOcclusionQueryuivNV_c($id, $pname, $params);

Exported under tag :GL_NV_occlusion_query.


glGetPathColorGenfvNV

glGetPathColorGenfvNV_c($color, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glGetPathColorGenivNV

glGetPathColorGenivNV_c($color, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glGetPathCommandsNV

glGetPathCommandsNV_c($path, $commands);

Exported under tag :GL_NV_path_rendering.


glGetPathCoordsNV

glGetPathCoordsNV_c($path, $coords);

Exported under tag :GL_NV_path_rendering.


glGetPathDashArrayNV

glGetPathDashArrayNV_c($path, $dashArray);

Exported under tag :GL_NV_path_rendering.


glGetPathLengthNV

$retval = glGetPathLengthNV($path, $startSegment, $numSegments);

Exported under tag :GL_NV_path_rendering.


glGetPathMetricRangeNV

glGetPathMetricRangeNV_c($metricQueryMask, $firstPathName, $numPaths, $stride, $metrics);

Exported under tag :GL_NV_path_rendering.


glGetPathMetricsNV

glGetPathMetricsNV_c($metricQueryMask, $numPaths, $pathNameType, $paths, $pathBase, $stride, $metrics);

Exported under tag :GL_NV_path_rendering.


glGetPathParameterfvNV

glGetPathParameterfvNV_c($path, $pname, $value);
@value = glGetPathParameterfvNV_p($path, $pname);

Exported under tag :GL_NV_path_rendering.


glGetPathParameterivNV

glGetPathParameterivNV_c($path, $pname, $value);
@value = glGetPathParameterivNV_p($path, $pname);

Exported under tag :GL_NV_path_rendering.


glGetPathSpacingNV

glGetPathSpacingNV_c($pathListMode, $numPaths, $pathNameType, $paths, $pathBase, $advanceScale, $kerningScale, $transformType, $returnedSpacing);

Exported under tag :GL_NV_path_rendering.


glGetPathTexGenfvNV

glGetPathTexGenfvNV_c($texCoordSet, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glGetPathTexGenivNV

glGetPathTexGenivNV_c($texCoordSet, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glGetPerfCounterInfoINTEL

glGetPerfCounterInfoINTEL_c($queryId, $counterId, $counterNameLength, $counterName, $counterDescLength, $counterDesc, $counterOffset, $counterDataSize, $counterTypeEnum, $counterDataTypeEnum, $rawCounterMaxValue);

Exported under tag :GL_INTEL_performance_query.


glGetPerfMonitorCounterDataAMD

glGetPerfMonitorCounterDataAMD_c($monitor, $pname, $dataSize, $data, $bytesWritten);
(\@data, $bytesWritten) = glGetPerfMonitorCounterDataAMD_p($monitor, $pname, $dataSize);

Exported under tag :GL_AMD_performance_monitor.


glGetPerfMonitorCounterInfoAMD

glGetPerfMonitorCounterInfoAMD_c($group, $counter, $pname, $data);

Exported under tag :GL_AMD_performance_monitor.


glGetPerfMonitorCounterStringAMD

glGetPerfMonitorCounterStringAMD_c($group, $counter, $bufSize, $length, $counterString);
($length, $counterString) = glGetPerfMonitorCounterStringAMD_p($group, $counter, $bufSize);

Exported under tag :GL_AMD_performance_monitor.


glGetPerfMonitorCountersAMD

glGetPerfMonitorCountersAMD_c($group, $numCounters, $maxActiveCounters, $counterSize, $counters);
($numCounters, $maxActiveCounters, \@counters) = glGetPerfMonitorCountersAMD_p($group, $counterSize);

Exported under tag :GL_AMD_performance_monitor.


glGetPerfMonitorGroupStringAMD

glGetPerfMonitorGroupStringAMD_c($group, $bufSize, $length, $groupString);
($length, $groupString) = glGetPerfMonitorGroupStringAMD_p($group, $bufSize);

Exported under tag :GL_AMD_performance_monitor.


glGetPerfMonitorGroupsAMD

glGetPerfMonitorGroupsAMD_c($numGroups, $groupsSize, $groups);
($numGroups, \@groups) = glGetPerfMonitorGroupsAMD_p($groupsSize);

Exported under tag :GL_AMD_performance_monitor.


glGetPerfQueryDataINTEL

glGetPerfQueryDataINTEL_c($queryHandle, $flags, $dataSize, $data, $bytesWritten);

Exported under tag :GL_INTEL_performance_query.


glGetPerfQueryIdByNameINTEL

glGetPerfQueryIdByNameINTEL_c($queryName, $queryId);

Exported under tag :GL_INTEL_performance_query.


glGetPerfQueryInfoINTEL

glGetPerfQueryInfoINTEL_c($queryId, $queryNameLength, $queryName, $dataSize, $noCounters, $noInstances, $capsMask);

Exported under tag :GL_INTEL_performance_query.


glGetPixelMapfv

glGetPixelMapfv_c($map, $values);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetPixelMapfv.xml>


glGetPixelMapuiv

glGetPixelMapuiv_c($map, $values);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetPixelMapuiv.xml>


glGetPixelMapusv

glGetPixelMapusv_c($map, $values);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetPixelMapusv.xml>


glGetPixelTransformParameterfvEXT

glGetPixelTransformParameterfvEXT_c($target, $pname, $params);

Exported under tag :GL_EXT_pixel_transform.


glGetPixelTransformParameterfvSGI

glGetPixelTransformParameterfvSGI_c($target, $pname, $params);

Exported under tag :GL_SGI_fft.


glGetPixelTransformParameterivEXT

glGetPixelTransformParameterivEXT_c($target, $pname, $params);

Exported under tag :GL_EXT_pixel_transform.


glGetPixelTransformParameterivSGI

glGetPixelTransformParameterivSGI_c($target, $pname, $params);

Exported under tag :GL_SGI_fft.


glGetPointerIndexedvEXT

glGetPointerIndexedvEXT_c($target, $index, $data);

Exported under tag :GL_EXT_direct_state_access.


glGetPointeri_vEXT

glGetPointeri_vEXT_c($pname, $index, $params);

Exported under tag :GL_EXT_direct_state_access.


glGetPointerv

glGetPointerv_c($pname, $params);
glGetPointervEXT_c($pname, $params);
glGetPointervKHR_c($pname, $params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetPointerv.xml>


glGetPolygonStipple

glGetPolygonStipple_c($mask);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetPolygonStipple.xml>


glGetProcAddressREGAL

$retval = glGetProcAddressREGAL_c($name);

Exported under tag :GL_REGAL_proc_address.


glGetProgramBinary

glGetProgramBinary_c($program, $bufSize, $length, $binaryFormat, $binary);
($binaryFormat, $binary) = glGetProgramBinary_p($program);

Exported under tag :GL_ARB_get_program_binary.


glGetProgramBinaryOES

glGetProgramBinaryOES_c($program, $bufSize, $length, $binaryFormat, $binary);

Exported under tag :GL_OES_get_program_binary.


glGetProgramEnvParameterdvARB

glGetProgramEnvParameterdvARB_c($target, $index, $params);
@params = glGetProgramEnvParameterdvARB_p($target, $index);

Exported under tag :GL_ARB_vertex_program.


glGetProgramEnvParameterfvARB

glGetProgramEnvParameterfvARB_c($target, $index, $params);
@params = glGetProgramEnvParameterfvARB_p($target, $index);

Exported under tag :GL_ARB_vertex_program.


glGetProgramInfoLog

glGetProgramInfoLog_c($program, $bufSize, $length, $infoLog);
$infoLog = glGetProgramInfoLog_p($program);

Exported under tag :GL_VERSION_2_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetProgramInfoLog.xhtml>


glGetProgramInterfaceiv

glGetProgramInterfaceiv_c($program, $programInterface, $pname, $params);
@params = glGetProgramInterfaceiv_p($program, $programInterface, $pname);

Exported under tag :GL_ARB_program_interface_query.


glGetProgramLocalParameterdvARB

glGetProgramLocalParameterdvARB_c($target, $index, $params);
@params = glGetProgramLocalParameterdvARB_p($target, $index);

Exported under tag :GL_ARB_vertex_program.


glGetProgramLocalParameterfvARB

glGetProgramLocalParameterfvARB_c($target, $index, $params);
@params = glGetProgramLocalParameterfvARB_p($target, $index);

Exported under tag :GL_ARB_vertex_program.

glGetProgramNamedParameterdvNV ๐ŸŒธ

okay bestie, this one is lowkey a whole mood. here's the exact call:

glGetProgramNamedParameterdvNV_c($id, $len, $name, $params);
@params = glGetProgramNamedParameterdvNV_p($id, $len, $name);

Exported under tag :GL_NV_fragment_program. periodt. ๐Ÿ’…

glGetProgramNamedParameterfvNV โœจ

no cap, same vibe but with fv energy:

glGetProgramNamedParameterfvNV_c($id, $len, $name, $params);
@params = glGetProgramNamedParameterfvNV_p($id, $len, $name);

Exported under tag :GL_NV_fragment_program. slay. ๐Ÿซถ

glGetProgramParameterdvNV ๐Ÿฆ‹

okay so this one is giving dvNV:

glGetProgramParameterdvNV_c($target, $index, $pname, $params);
@params = glGetProgramParameterdvNV_p($target, $index, $pname);

Exported under tag :GL_NV_vertex_program. iykyk. ๐Ÿ’œ

glGetProgramParameterfvNV ๐ŸŽ€

and here's the fvNV twin, fr fr:

glGetProgramParameterfvNV_c($target, $index, $pname, $params);
@params = glGetProgramParameterfvNV_p($target, $index, $pname);

Exported under tag :GL_NV_vertex_program. iconic. โญ

glGetProgramPipelineInfoLog ๐Ÿ’–

bestie, this one grabs the info log โ€” here's the exact signature squad:

glGetProgramPipelineInfoLog_c($pipeline, $bufSize, $length, $infoLog);
$infoLog = glGetProgramPipelineInfoLog_p($pipeline);

Exported under tag :GL_ARB_separate_shader_objects. no notes. ๐Ÿ’…

glGetProgramPipelineiv ๐ŸŒˆ

lowkey obsessed with how many variants these have. here's iv:

glGetProgramPipelineiv_c($pipeline, $pname, $params);
@params = glGetProgramPipelineiv_p($pipeline, $pname);

Exported under tag :GL_ARB_separate_shader_objects. ate. โœจ

glGetProgramResourceIndex ๐Ÿ”ฅ

this one returns a $retval, main character energy:

$retval = glGetProgramResourceIndex($program, $programInterface, $name);

Exported under tag :GL_ARB_program_interface_query. periodt. ๐Ÿ‘‘

glGetProgramResourceLocation ๐Ÿ’ซ

another $retval situation, we love to see it:

$retval = glGetProgramResourceLocation($program, $programInterface, $name);

Exported under tag :GL_ARB_program_interface_query. slay. ๐Ÿฆ‹

glGetProgramResourceLocationIndex ๐ŸŒธ

okay so LocationIndex โ€” say that three times fast:

$retval = glGetProgramResourceLocationIndex($program, $programInterface, $name);

Exported under tag :GL_ARB_program_interface_query. it's giving. ๐Ÿ’œ

glGetProgramResourceLocationIndexEXT โœจ

and the EXT version, because of course:

$retval = glGetProgramResourceLocationIndexEXT($program, $programInterface, $name);

Exported under tag :GL_EXT_blend_func_extended. no cap. ๐Ÿซถ

glGetProgramResourceName ๐ŸŽ€

this one gets the name, and yes it has both _c and _p forms:

glGetProgramResourceName_c($program, $programInterface, $index, $bufSize, $length, $name);
$name = glGetProgramResourceName_p($program, $programInterface, $index);

Exported under tag :GL_ARB_program_interface_query. iconic. โญ

glGetProgramResourcefvNV ๐Ÿ’–

okay bestie, this one has a whole group-chat of arguments. look at the \@params:

glGetProgramResourcefvNV_c($program, $programInterface, $index, $propCount, $props, $count, $length, $params);
($length, \@params) = glGetProgramResourcefvNV_p($program, $programInterface, $index, $propCount, $props, $count);

Exported under tag :GL_NV_path_rendering. periodt. ๐ŸŒˆ

glGetProgramResourceiv โœจ

and here's the iv version โ€” note the @props in the _p call:

glGetProgramResourceiv_c($program, $programInterface, $index, $propCount, $props, $count, $length, $params);
@params = glGetProgramResourceiv_p($program, $programInterface, $index, @props);

Exported under tag :GL_ARB_program_interface_query. slay. ๐Ÿ’…

glGetProgramStageiv ๐Ÿ”ฅ

this one is giving shader subroutine energy:

glGetProgramStageiv_c($program, $shadertype, $pname, $values);
$values = glGetProgramStageiv_p($program, $shadertype, $pname);

Exported under tag :GL_ARB_shader_subroutine. ate. ๐Ÿ‘‘

glGetProgramStringARB ๐Ÿฆ‹

okay so this one just has the _c form, no _p bestie:

glGetProgramStringARB_c($target, $pname, $string);

Exported under tag :GL_ARB_vertex_program. iykyk. ๐Ÿ’œ

glGetProgramStringNV ๐ŸŽ€

and the NV version, same shape:

glGetProgramStringNV_c($id, $pname, $program);

Exported under tag :GL_NV_vertex_program. periodt. ๐ŸŒธ

glGetProgramiv ๐Ÿ’–

bestie, this is a classic. also there's a refpage link:

glGetProgramiv_c($program, $pname, $params);
@params = glGetProgramiv_p($program, $pname);

Exported under tag :GL_VERSION_2_0. Also see <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetProgramiv.xhtml>. iconic. โœจ

glGetProgramivARB ๐ŸŒˆ

here's the ARB flavor โ€” note it returns a scalar $params:

glGetProgramivARB_c($target, $pname, $params);
$params = glGetProgramivARB_p($target, $pname);

Exported under tag :GL_ARB_vertex_program. slay. ๐Ÿ’…

glGetProgramivNV ๐Ÿ”ฅ

and the NV one, back to @params:

glGetProgramivNV_c($id, $pname, $params);
@params = glGetProgramivNV_p($id, $pname);

Exported under tag :GL_NV_vertex_program. no cap. ๐Ÿซถ

glGetQueryBufferObjecti64v ๐Ÿ‘‘

this one is a whole direct-state-access moment:

glGetQueryBufferObjecti64v($id, $buffer, $pname, $offset);

Exported under tag :GL_ARB_direct_state_access. periodt. โญ

glGetQueryBufferObjectiv ๐Ÿ’œ

same energy, but iv:

glGetQueryBufferObjectiv($id, $buffer, $pname, $offset);

Exported under tag :GL_ARB_direct_state_access. ate. ๐Ÿฆ‹

glGetQueryBufferObjectui64v ๐ŸŒธ

and now we're in unsigned 64-bit territory, bestie:

glGetQueryBufferObjectui64v($id, $buffer, $pname, $offset);

Exported under tag :GL_ARB_direct_state_access. slay. โœจ

glGetQueryBufferObjectuiv ๐ŸŽ€

last of the query buffer object squad, uiv:

glGetQueryBufferObjectuiv($id, $buffer, $pname, $offset);

Exported under tag :GL_ARB_direct_state_access. iconic. ๐Ÿ’–

glGetQueryIndexediv ๐Ÿ”ฅ

okay so this one has an $index in the mix:

glGetQueryIndexediv_c($target, $index, $pname, $params);
@params = glGetQueryIndexediv_p($target, $index, $pname);

Exported under tag :GL_ARB_transform_feedback3. periodt. ๐ŸŒˆ

glGetQueryObjecti64v ๐Ÿ’ซ

bestie, look at this whole crew of variants:

glGetQueryObjecti64v_c($id, $pname, $params);
glGetQueryObjecti64vEXT_c($id, $pname, $params);
@params = glGetQueryObjecti64v_p($id, $pname);
@params = glGetQueryObjecti64vEXT_p($id, $pname);

Exported under tag :GL_ARB_timer_query. no notes. ๐Ÿ’…

glGetQueryObjecti64vANGLE ๐Ÿฆ‹

and the ANGLE one, just _c:

glGetQueryObjecti64vANGLE_c($id, $pname, $params);

Exported under tag :GL_ANGLE_timer_query. periodt. โญ

glGetQueryObjectiv ๐ŸŒธ

okay this one has a whole trio of _c and _p forms. also a refpage:

glGetQueryObjectiv_c($id, $pname, $params);
glGetQueryObjectivARB_c($id, $pname, $params);
glGetQueryObjectivEXT_c($id, $pname, $params);
@params = glGetQueryObjectiv_p($id, $pname);
@params = glGetQueryObjectivARB_p($id, $pname);
@params = glGetQueryObjectivEXT_p($id, $pname);

Exported under tag :GL_VERSION_1_5. Also see <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetQueryObjectiv.xhtml>. slay. ๐Ÿ’œ

glGetQueryObjectivANGLE ๐ŸŽ€

another ANGLE moment, lowkey iconic:

glGetQueryObjectivANGLE_c($id, $pname, $params);

Exported under tag :GL_ANGLE_timer_query. iykyk. โœจ

glGetQueryObjectui64v ๐Ÿ”ฅ

unsigned 64-bit again, and yes it has EXT too:

glGetQueryObjectui64v_c($id, $pname, $params);
glGetQueryObjectui64vEXT_c($id, $pname, $params);
@params = glGetQueryObjectui64v_p($id, $pname);
@params = glGetQueryObjectui64vEXT_p($id, $pname);

Exported under tag :GL_ARB_timer_query. ate. ๐Ÿซถ

glGetQueryObjectui64vANGLE ๐ŸŒˆ

and the ANGLE version, just one line bestie:

glGetQueryObjectui64vANGLE_c($id, $pname, $params);

Exported under tag :GL_ANGLE_timer_query. periodt. ๐Ÿ‘‘

glGetQueryObjectuiv ๐Ÿ’–

okay so this one has two _c forms and two _p forms, plus a refpage:

glGetQueryObjectuiv_c($id, $pname, $params);
glGetQueryObjectuivARB_c($id, $pname, $params);
@params = glGetQueryObjectuiv_p($id, $pname);
@params = glGetQueryObjectuivARB_p($id, $pname);

Exported under tag :GL_VERSION_1_5. Also see <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetQueryObjectuiv.xhtml>. slay. โœจ

glGetQueryObjectuivANGLE ๐ŸŽ€

ANGLE again, keeping it cute:

glGetQueryObjectuivANGLE_c($id, $pname, $params);

Exported under tag :GL_ANGLE_timer_query. no cap. ๐Ÿ’…

glGetQueryObjectuivEXT ๐Ÿฆ‹

and the EXT one, with both _c and _p:

glGetQueryObjectuivEXT_c($id, $pname, $params);
@params = glGetQueryObjectuivEXT_p($id, $pname);

Exported under tag :GL_EXT_disjoint_timer_query. periodt. ๐ŸŒธ

glGetQueryiv ๐Ÿ”ฅ

bestie, this one is a whole squad too, plus a refpage:

glGetQueryiv_c($target, $pname, $params);
glGetQueryivARB_c($target, $pname, $params);
@params = glGetQueryiv_p($target, $pname);
@params = glGetQueryivARB_p($target, $pname);

Exported under tag :GL_VERSION_1_5. Also see <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetQueryiv.xhtml>. iconic. ๐Ÿ’œ

glGetQueryivANGLE โœจ

ANGLE bestie, one line only:

glGetQueryivANGLE_c($target, $pname, $params);

Exported under tag :GL_ANGLE_timer_query. slay. ๐Ÿซถ

glGetQueryivEXT ๐ŸŒˆ

and the EXT one, with _p too:

glGetQueryivEXT_c($target, $pname, $params);
@params = glGetQueryivEXT_p($target, $pname);

Exported under tag :GL_EXT_disjoint_timer_query. ate. โญ

glGetRenderbufferParameteriv ๐Ÿ’–

okay so renderbuffer parameters, and yes there's a whole duo:

glGetRenderbufferParameteriv_c($target, $pname, $params);
glGetRenderbufferParameterivEXT_c($target, $pname, $params);
@params = glGetRenderbufferParameteriv_p($target, $pname);
@params = glGetRenderbufferParameterivEXT_p($target, $pname);

Exported under tag :GL_ARB_framebuffer_object. periodt. ๐ŸŽ€

glGetRenderbufferParameterivOES ๐Ÿฆ‹

and the OES one, just _c:

glGetRenderbufferParameterivOES_c($target, $pname, $params);

Exported under tag :GL_OES_framebuffer_object. no notes. ๐Ÿ’…

glGetSamplerParameterIiv ๐Ÿ”ฅ

bestie, capital I energy. here's the whole thing:

glGetSamplerParameterIiv_c($sampler, $pname, $params);
glGetSamplerParameterIivEXT_c($sampler, $pname, $params);
@params = glGetSamplerParameterIiv_p($sampler, $pname);
@params = glGetSamplerParameterIivEXT_p($sampler, $pname);

Exported under tag :GL_ARB_sampler_objects. slay. โœจ

glGetSamplerParameterIivOES ๐ŸŒธ

and the OES version, one line only:

glGetSamplerParameterIivOES_c($sampler, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp. iykyk. ๐Ÿ’œ

glGetSamplerParameterIuiv ๐ŸŽ€

now with unsigned Iuiv, same squad shape:

glGetSamplerParameterIuiv_c($sampler, $pname, $params);
glGetSamplerParameterIuivEXT_c($sampler, $pname, $params);
@params = glGetSamplerParameterIuiv_p($sampler, $pname);
@params = glGetSamplerParameterIuivEXT_p($sampler, $pname);

Exported under tag :GL_ARB_sampler_objects. periodt. ๐Ÿซถ

glGetSamplerParameterIuivOES ๐ŸŒˆ

and its OES twin, just _c:

glGetSamplerParameterIuivOES_c($sampler, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp. iconic. ๐Ÿ‘‘

glGetSamplerParameterfv ๐Ÿ’–

okay so this one is the fv sampler getter:

glGetSamplerParameterfv_c($sampler, $pname, $params);
@params = glGetSamplerParameterfv_p($sampler, $pname);

Exported under tag :GL_ARB_sampler_objects. slay. โœจ

glGetSamplerParameteriv ๐Ÿ”ฅ

and the iv one, same vibe:

glGetSamplerParameteriv_c($sampler, $pname, $params);
@params = glGetSamplerParameteriv_p($sampler, $pname);

Exported under tag :GL_ARB_sampler_objects. periodt. ๐Ÿ’…

glGetSemaphoreParameterivNV ๐Ÿฆ‹

semaphore time bestie, NV style:

glGetSemaphoreParameterivNV_c($semaphore, $pname, $params);

Exported under tag :GL_NV_timeline_semaphore. no cap. ๐ŸŒธ

glGetSemaphoreParameterui64vEXT ๐ŸŽ€

and the EXT unsigned 64-bit semaphore one:

glGetSemaphoreParameterui64vEXT_c($semaphore, $pname, $params);

Exported under tag :GL_EXT_semaphore. ate. ๐Ÿ’œ

glGetSeparableFilter โœจ

okay so this one is giving separable filter energy:

glGetSeparableFilter_c($target, $format, $type, $row, $column, $span);

Exported under tag :GL_ARB_imaging. periodt. ๐ŸŒˆ

glGetSeparableFilterEXT ๐Ÿ’–

and the EXT version, same exact shape:

glGetSeparableFilterEXT_c($target, $format, $type, $row, $column, $span);

Exported under tag :GL_EXT_convolution. slay. ๐Ÿซถ

glGetShaderInfoLog ๐Ÿ”ฅ

bestie, shader info log โ€” here's the _c and _p, plus a refpage:

glGetShaderInfoLog_c($shader, $bufSize, $length, $infoLog);
$infoLog = glGetShaderInfoLog_p($shader);

Exported under tag :GL_VERSION_2_0. Also see <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetShaderInfoLog.xhtml>. iconic. โญ

glGetShaderPrecisionFormat ๐ŸŒธ

this one has \@range and $precision, no cap:

glGetShaderPrecisionFormat_c($shadertype, $precisiontype, $range, $precision);
(\@range, $precision) = glGetShaderPrecisionFormat_p($shadertype, $precisiontype);

Exported under tag :GL_ARB_ES2_compatibility. periodt. ๐Ÿ’…

glGetShaderSource ๐ŸŽ€

shader source getter, with a refpage too:

glGetShaderSource_c($shader, $bufSize, $length, $source);
$source = glGetShaderSource_p($shader);

Exported under tag :GL_VERSION_2_0. Also see <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetShaderSource.xhtml>. slay. โœจ

glGetShaderSourceARB ๐Ÿฆ‹

and the ARB version, same vibe:

glGetShaderSourceARB_c($shader, $bufSize, $length, $source);
$source = glGetShaderSourceARB_p($shader);

Exported under tag :GL_ARB_shader_objects. iykyk. ๐Ÿ’œ

glGetShaderiv ๐Ÿ”ฅ

okay so iv getter for shaders, plus another refpage:

glGetShaderiv_c($shader, $pname, $params);
@params = glGetShaderiv_p($shader, $pname);

Exported under tag :GL_VERSION_2_0. Also see <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetShaderiv.xhtml>. periodt. ๐Ÿ‘‘

glGetShadingRateImagePaletteNV ๐ŸŒˆ

last one in this part bestie, shading rate image palette energy:

glGetShadingRateImagePaletteNV_c($viewport, $entry, $rate);
$rate = glGetShadingRateImagePaletteNV_p($viewport, $entry);

Exported under tag :GL_NV_shading_rate_image. ate. ๐Ÿ’–

โœจ glGetShadingRateSampleLocationivNV

Bestie, this one is literally here for the shading-rate sample location tea ๐Ÿ’…

glGetShadingRateSampleLocationivNV_c($rate, $samples, $index, $location);
@location = glGetShadingRateSampleLocationivNV_p($rate, $samples, $index);

Exported under tag :GL_NV_shading_rate_image ๐Ÿฆ‹


๐ŸŽ€ glGetSharpenTexFuncSGIS

Sharpen texture function realness, no cap. โœจ

glGetSharpenTexFuncSGIS_c($target, $points);
@points = glGetSharpenTexFuncSGIS_p($target);

Exported under tag :GL_SGIS_sharpen_texture ๐Ÿ’–


๐Ÿ’ซ glGetStageIndexNV

Stage index, but make it NV. ๐Ÿ‘‘

$retval = glGetStageIndexNV($shadertype);

Exported under tag :GL_NV_command_list โœจ


๐ŸŒˆ glGetString

The iconic string getter, periodt. ๐Ÿ’…

$retval = glGetString($name);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetString.xhtml> ๐Ÿฆ‹


๐Ÿ’œ glGetSubroutineIndex

Subroutine index energy. โœจ

$retval = glGetSubroutineIndex($program, $shadertype, $name);

Exported under tag :GL_ARB_shader_subroutine ๐Ÿ’–


๐Ÿ“ glGetSubroutineUniformLocation

Subroutine uniform location, bestie. ๐ŸŽ€

$retval = glGetSubroutineUniformLocation($program, $shadertype, $name);

Exported under tag :GL_ARB_shader_subroutine โœจ


๐Ÿ‘‘ glGetSynciv

Sync info vibes incoming. โญ

glGetSynciv_c($sync, $pname, $count, $length, $values);
glGetSyncivAPPLE_c($sync, $pname, $count, $length, $values);
@values = glGetSynciv_p($sync, $pname);
@values = glGetSyncivAPPLE_p($sync, $pname);

Exported under tag :GL_ARB_sync ๐Ÿ’ซ


๐Ÿฆ‹ glGetTexBumpParameterfvATI

Bump parameter float vector, ATI edition. ๐Ÿ’…

glGetTexBumpParameterfvATI_c($pname, $param);

Exported under tag :GL_ATI_envmap_bumpmap โœจ


๐ŸŒธ glGetTexBumpParameterivATI

Bump parameter integer vector, ATI edition. ๐ŸŽ€

glGetTexBumpParameterivATI_c($pname, $param);

Exported under tag :GL_ATI_envmap_bumpmap ๐Ÿ’–


๐Ÿ’– glGetTexEnvfv

Tex env float vector moment. โœจ

glGetTexEnvfv_c($target, $pname, $params);
@params = glGetTexEnvfv_p($target, $pname);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetTexEnvfv.xml> ๐Ÿ˜ญ


๐ŸŽ€ glGetTexEnviv

Tex env integer vector, bestie. ๐Ÿ’…

glGetTexEnviv_c($target, $pname, $params);
@params = glGetTexEnviv_p($target, $pname);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetTexEnviv.xml> ๐Ÿ˜ญ


โœจ glGetTexEnvxv

Tex env x vector, REGAL compatibility coded. ๐Ÿฆ‹

glGetTexEnvxv_c($target, $pname, $params);
@params = glGetTexEnvxv_p($target, $pname);

Exported under tag :GL_REGAL_ES1_1_compatibility ๐Ÿ’œ


๐ŸŒˆ glGetTexFilterFuncSGIS

Texture filter function, SGIS flavor. โญ

glGetTexFilterFuncSGIS_c($target, $filter, $weights);

Exported under tag :GL_SGIS_texture_filter4 โœจ


๐Ÿ’ซ glGetTexGendv

Tex gen double vector, no cap. ๐Ÿ’–

glGetTexGendv_c($coord, $pname, $params);
@params = glGetTexGendv_p($coord, $pname);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetTexGendv.xml> ๐Ÿ˜ญ


๐ŸŽ€ glGetTexGenfv

Tex gen float vector energy. ๐Ÿ’…

glGetTexGenfv_c($coord, $pname, $params);
@params = glGetTexGenfv_p($coord, $pname);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetTexGenfv.xml> ๐Ÿ˜ญ


๐Ÿฆ‹ glGetTexGenfvOES

OES texture cube map girlies, this one's for you. โœจ

glGetTexGenfvOES_c($coord, $pname, $params);

Exported under tag :GL_OES_texture_cube_map ๐Ÿ’–


๐Ÿ’œ glGetTexGeniv

Tex gen integer vector, iconic behavior. โญ

glGetTexGeniv_c($coord, $pname, $params);
@params = glGetTexGeniv_p($coord, $pname);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glGetTexGeniv.xml> ๐Ÿ˜ญ


๐ŸŒธ glGetTexGenivOES

OES texture cube map integer vibes. ๐ŸŽ€

glGetTexGenivOES_c($coord, $pname, $params);

Exported under tag :GL_OES_texture_cube_map โœจ


๐Ÿ‘‘ glGetTexGenxvOES

OES texture cube map x vector realness. ๐Ÿ’…

glGetTexGenxvOES_c($coord, $pname, $params);

Exported under tag :GL_OES_texture_cube_map ๐Ÿ’–


๐ŸŒˆ glGetTexImage

Get that texture image, bestie. ๐Ÿฆ‹

glGetTexImage_c($target, $level, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTexImage.xhtml> โœจ


๐Ÿ’ซ glGetTexLevelParameterfv

Texture level parameter float vector moment. โญ

glGetTexLevelParameterfv_c($target, $level, $pname, $params);
@params = glGetTexLevelParameterfv_p($target, $level, $pname);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTexLevelParameterfv.xhtml> ๐Ÿ’–


๐ŸŽ€ glGetTexLevelParameteriv

Texture level parameter integer vector moment. ๐Ÿ’…

glGetTexLevelParameteriv_c($target, $level, $pname, $params);
@params = glGetTexLevelParameteriv_p($target, $level, $pname);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTexLevelParameteriv.xhtml> โœจ


๐Ÿ’œ glGetTexParameterIiv

Signed integer texture parameter energy. ๐Ÿฆ‹

glGetTexParameterIiv_c($target, $pname, $params);
glGetTexParameterIivEXT_c($target, $pname, $params);
@params = glGetTexParameterIiv_p($target, $pname);
@params = glGetTexParameterIivEXT_p($target, $pname);

Exported under tag :GL_VERSION_3_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTexParameterIiv.xhtml> ๐Ÿ’–


๐ŸŒธ glGetTexParameterIivOES

OES texture border clamp signed integer parameter. ๐ŸŽ€

glGetTexParameterIivOES_c($target, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp โœจ


๐Ÿ‘‘ glGetTexParameterIuiv

Unsigned integer texture parameter energy. ๐Ÿ’…

glGetTexParameterIuiv_c($target, $pname, $params);
glGetTexParameterIuivEXT_c($target, $pname, $params);
@params = glGetTexParameterIuiv_p($target, $pname);
@params = glGetTexParameterIuivEXT_p($target, $pname);

Exported under tag :GL_VERSION_3_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTexParameterIuiv.xhtml> โญ


๐Ÿฆ‹ glGetTexParameterIuivOES

OES texture border clamp unsigned integer parameter. ๐Ÿ’–

glGetTexParameterIuivOES_c($target, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp โœจ


๐Ÿ’ซ glGetTexParameterPointervAPPLE

APPLE texture range pointer parameter, periodt. ๐ŸŽ€

glGetTexParameterPointervAPPLE_c($target, $pname, $params);

Exported under tag :GL_APPLE_texture_range ๐Ÿ’…


๐ŸŒˆ glGetTexParameterfv

Texture parameter float vector classic. โœจ

glGetTexParameterfv_c($target, $pname, $params);
@params = glGetTexParameterfv_p($target, $pname);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTexParameterfv.xhtml> ๐Ÿ’–


๐Ÿ“ glGetTexParameteriv

Texture parameter integer vector classic. ๐Ÿฆ‹

glGetTexParameteriv_c($target, $pname, $params);
@params = glGetTexParameteriv_p($target, $pname);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTexParameteriv.xhtml> โœจ


๐Ÿ’œ glGetTexParameterxv

REGAL ES1.1 compatibility texture parameter x vector. ๐Ÿ‘‘

glGetTexParameterxv_c($target, $pname, $params);
@params = glGetTexParameterxv_p($target, $pname);

Exported under tag :GL_REGAL_ES1_1_compatibility ๐Ÿ’–


๐ŸŽ€ glGetTextureHandleARB

Bindless texture handle ARB and IMG, bestie. ๐Ÿ’…

$retval = glGetTextureHandleARB($texture);
$retval = glGetTextureHandleIMG($texture);

Exported under tag :GL_ARB_bindless_texture โœจ


๐ŸŒธ glGetTextureHandleNV

Bindless texture handle NV flavor. ๐Ÿฆ‹

$retval = glGetTextureHandleNV($texture);

Exported under tag :GL_NV_bindless_texture ๐Ÿ’–


โญ glGetTextureImage

Texture image, direct state access style. โœจ

glGetTextureImage_c($texture, $level, $format, $type, $bufSize, $pixels);

Exported under tag :GL_ARB_direct_state_access ๐Ÿ’…


๐ŸŒˆ glGetTextureImageEXT

Texture image EXT vibe, with target. ๐ŸŽ€

glGetTextureImageEXT_c($texture, $target, $level, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access ๐Ÿ’–


๐Ÿ’ซ glGetTextureLevelParameterfv

Texture level parameter float vector, DSA. โญ

glGetTextureLevelParameterfv_c($texture, $level, $pname, $params);

Exported under tag :GL_ARB_direct_state_access โœจ


๐Ÿ‘‘ glGetTextureLevelParameterfvEXT

Texture level parameter float vector, EXT with target. ๐Ÿ’…

glGetTextureLevelParameterfvEXT_c($texture, $target, $level, $pname, $params);
@params = glGetTextureLevelParameterfvEXT_p($texture, $target, $level, $pname);

Exported under tag :GL_EXT_direct_state_access ๐Ÿ’–


๐Ÿฆ‹ glGetTextureLevelParameteriv

Texture level parameter integer vector, DSA. โœจ

glGetTextureLevelParameteriv_c($texture, $level, $pname, $params);

Exported under tag :GL_ARB_direct_state_access ๐ŸŽ€


๐ŸŒธ glGetTextureLevelParameterivEXT

Texture level parameter integer vector, EXT with target. ๐Ÿ’…

glGetTextureLevelParameterivEXT_c($texture, $target, $level, $pname, $params);
@params = glGetTextureLevelParameterivEXT_p($texture, $target, $level, $pname);

Exported under tag :GL_EXT_direct_state_access โœจ


๐Ÿ’œ glGetTextureParameterIiv

Texture parameter signed integer vector, DSA. ๐Ÿ’–

glGetTextureParameterIiv_c($texture, $pname, $params);

Exported under tag :GL_ARB_direct_state_access โญ


๐ŸŽ€ glGetTextureParameterIivEXT

Texture parameter signed integer vector, EXT with target. ๐Ÿฆ‹

glGetTextureParameterIivEXT_c($texture, $target, $pname, $params);
@params = glGetTextureParameterIivEXT_p($texture, $target, $pname);

Exported under tag :GL_EXT_direct_state_access ๐Ÿ’–


โœจ glGetTextureParameterIuiv

Texture parameter unsigned integer vector, DSA. ๐Ÿ’…

glGetTextureParameterIuiv_c($texture, $pname, $params);

Exported under tag :GL_ARB_direct_state_access ๐ŸŒˆ


๐ŸŒธ glGetTextureParameterIuivEXT

Texture parameter unsigned integer vector, EXT with target. ๐ŸŽ€

glGetTextureParameterIuivEXT_c($texture, $target, $pname, $params);
@params = glGetTextureParameterIuivEXT_p($texture, $target, $pname);

Exported under tag :GL_EXT_direct_state_access โœจ


๐Ÿ’ซ glGetTextureParameterfv

Texture parameter float vector, DSA. ๐Ÿ’–

glGetTextureParameterfv_c($texture, $pname, $params);

Exported under tag :GL_ARB_direct_state_access ๐Ÿฆ‹


๐Ÿ‘‘ glGetTextureParameterfvEXT

Texture parameter float vector, EXT with target. ๐Ÿ’…

glGetTextureParameterfvEXT_c($texture, $target, $pname, $params);
@params = glGetTextureParameterfvEXT_p($texture, $target, $pname);

Exported under tag :GL_EXT_direct_state_access โœจ


๐ŸŽ€ glGetTextureParameteriv

Texture parameter integer vector, DSA. โญ

glGetTextureParameteriv_c($texture, $pname, $params);

Exported under tag :GL_ARB_direct_state_access ๐Ÿ’–


๐ŸŒˆ glGetTextureParameterivEXT

Texture parameter integer vector, EXT with target. ๐Ÿฆ‹

glGetTextureParameterivEXT_c($texture, $target, $pname, $params);
@params = glGetTextureParameterivEXT_p($texture, $target, $pname);

Exported under tag :GL_EXT_direct_state_access โœจ


๐Ÿ’œ glGetTextureSamplerHandleARB

Bindless texture sampler handle ARB and IMG, bestie. ๐Ÿ’…

$retval = glGetTextureSamplerHandleARB($texture, $sampler);
$retval = glGetTextureSamplerHandleIMG($texture, $sampler);

Exported under tag :GL_ARB_bindless_texture ๐Ÿ’–


๐Ÿฆ‹ glGetTextureSamplerHandleNV

Bindless texture sampler handle NV flavor. ๐ŸŽ€

$retval = glGetTextureSamplerHandleNV($texture, $sampler);

Exported under tag :GL_NV_bindless_texture โœจ


โญ glGetTextureSubImage

Texture sub image, long signature but iconic. ๐Ÿ‘‘

glGetTextureSubImage_c($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $bufSize, $pixels);

Exported under tag :GL_ARB_get_texture_sub_image ๐Ÿ’–


๐ŸŒธ glGetTrackMatrixivNV

Track matrix integer vector, NV vertex program realness. ๐Ÿฆ‹

glGetTrackMatrixivNV_c($target, $address, $pname, $params);
$params = glGetTrackMatrixivNV_p($target, $address, $pname);

Exported under tag :GL_NV_vertex_program โœจ


๐ŸŒˆ glGetTransformFeedbackVarying

Transform feedback varying info, bestie. ๐Ÿ’…

glGetTransformFeedbackVarying_c($program, $index, $bufSize, $length, $size, $type, $name);
glGetTransformFeedbackVaryingEXT_c($program, $index, $bufSize, $length, $size, $type, $name);
($size, $type, $name) = glGetTransformFeedbackVarying_p($program, $index);
($size, $type, $name) = glGetTransformFeedbackVaryingEXT_p($program, $index);

Exported under tag :GL_VERSION_3_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetTransformFeedbackVarying.xhtml> ๐Ÿ’–


๐Ÿ’ซ glGetTransformFeedbackVaryingNV

Transform feedback varying NV edition. โญ

glGetTransformFeedbackVaryingNV_c($program, $index, $location);
$location = glGetTransformFeedbackVaryingNV_p($program, $index);

Exported under tag :GL_NV_transform_feedback ๐ŸŽ€


๐ŸŽ€ glGetTransformFeedbacki64_v

Transform feedback 64-bit integer vector, DSA. โœจ

glGetTransformFeedbacki64_v_c($xfb, $pname, $index, $param);

Exported under tag :GL_ARB_direct_state_access ๐Ÿ’…


๐Ÿ‘‘ glGetTransformFeedbacki_v

Transform feedback integer vector, DSA. ๐Ÿ’–

glGetTransformFeedbacki_v_c($xfb, $pname, $index, $param);

Exported under tag :GL_ARB_direct_state_access ๐Ÿฆ‹


๐Ÿฆ‹ glGetTransformFeedbackiv

Transform feedback integer vector, DSA, no index. โœจ

glGetTransformFeedbackiv_c($xfb, $pname, $param);

Exported under tag :GL_ARB_direct_state_access ๐Ÿ’–

Exported under tag :GL_ARB_direct_state_access.

glGetTranslatedShaderSourceANGLE

glGetTranslatedShaderSourceANGLE_c($shader, $bufSize, $length, $source);
($length, $source) = glGetTranslatedShaderSourceANGLE_p($shader, $bufSize);

Exported under tag :GL_ANGLE_translated_shader_source.

glGetUniformBlockIndex

$retval = glGetUniformBlockIndex($program, $uniformBlockName);

Exported under tag :GL_ARB_uniform_buffer_object.

glGetUniformBufferSizeEXT

$retval = glGetUniformBufferSizeEXT($program, $location);

Exported under tag :GL_EXT_bindable_uniform.

glGetUniformIndices

glGetUniformIndices_c($program, $uniformCount, $uniformNames, $uniformIndices);
@uniformIndices = glGetUniformIndices_p($program, @uniformNames);

Exported under tag :GL_ARB_uniform_buffer_object.

glGetUniformLocation

$retval = glGetUniformLocation($program, $name);

Exported under tag :GL_VERSION_2_0. The official refpage lives at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetUniformLocation.xhtml if you wanna go read the whole lore ๐Ÿ’…

glGetUniformLocationARB

$retval = glGetUniformLocationARB($programObj, $name);

Exported under tag :GL_ARB_shader_objects.

glGetUniformOffsetEXT

$retval = glGetUniformOffsetEXT($program, $location);

Exported under tag :GL_EXT_bindable_uniform.

glGetUniformSubroutineuiv

glGetUniformSubroutineuiv_c($shadertype, $location, $params);
$params = glGetUniformSubroutineuiv_p($shadertype, $location);

Exported under tag :GL_ARB_shader_subroutine.

glGetUniformdv

glGetUniformdv_c($program, $location, $params);

Exported under tag :GL_ARB_gpu_shader_fp64.

glGetUniformfv

glGetUniformfv_c($program, $location, $params);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetUniformfv.xhtml โœจ

glGetUniformfvARB

glGetUniformfvARB_c($programObj, $location, $params);

Exported under tag :GL_ARB_shader_objects.

glGetUniformi64vARB

glGetUniformi64vARB_c($program, $location, $params);

Exported under tag :GL_ARB_gpu_shader_int64.

glGetUniformi64vNV

glGetUniformi64vNV_c($program, $location, $params);

Exported under tag :GL_NV_gpu_shader5.

glGetUniformiv

glGetUniformiv_c($program, $location, $params);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetUniformiv.xhtml ๐Ÿซถ

glGetUniformivARB

glGetUniformivARB_c($programObj, $location, $params);

Exported under tag :GL_ARB_shader_objects.

glGetUniformui64vARB

glGetUniformui64vARB_c($program, $location, $params);

Exported under tag :GL_ARB_gpu_shader_int64.

glGetUniformui64vNV

glGetUniformui64vNV_c($program, $location, $params);

Exported under tag :GL_NV_gpu_shader5.

glGetUniformuiv

glGetUniformuiv_c($program, $location, $params);
glGetUniformuivEXT_c($program, $location, $params);

Exported under tag :GL_VERSION_3_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetUniformuiv.xhtml ๐ŸŒธ

glGetUnsignedBytei_vEXT

glGetUnsignedBytei_vEXT_c($target, $index, $data);

Exported under tag :GL_EXT_memory_object.

glGetUnsignedBytevEXT

glGetUnsignedBytevEXT_c($pname, $data);
@data = glGetUnsignedBytevEXT_p($pname);

Exported under tag :GL_EXT_memory_object.

glGetVariantArrayObjectfvATI

glGetVariantArrayObjectfvATI_c($id, $pname, $params);
$params = glGetVariantArrayObjectfvATI_p($id, $pname);

Exported under tag :GL_ATI_vertex_array_object.

glGetVariantArrayObjectivATI

glGetVariantArrayObjectivATI_c($id, $pname, $params);
$params = glGetVariantArrayObjectivATI_p($id, $pname);

Exported under tag :GL_ATI_vertex_array_object.

glGetVariantBooleanvEXT

glGetVariantBooleanvEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader.

glGetVariantFloatvEXT

glGetVariantFloatvEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader.

glGetVariantIntegervEXT

glGetVariantIntegervEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader.

glGetVariantPointervEXT

glGetVariantPointervEXT_c($id, $value, $data);

Exported under tag :GL_EXT_vertex_shader.

glGetVaryingLocationNV

$retval = glGetVaryingLocationNV($program, $name);

Exported under tag :GL_NV_transform_feedback.

glGetVectorOperationSGIX

glGetVectorOperationSGIX($operation);

Exported under tag :GL_SGIX_vector_ops.

glGetVertexArrayIndexed64iv

glGetVertexArrayIndexed64iv_c($vaobj, $index, $pname, $param);

Exported under tag :GL_ARB_direct_state_access.

glGetVertexArrayIndexediv

glGetVertexArrayIndexediv_c($vaobj, $index, $pname, $param);

Exported under tag :GL_ARB_direct_state_access.

glGetVertexArrayIntegeri_vEXT

glGetVertexArrayIntegeri_vEXT_c($vaobj, $index, $pname, $param);

Exported under tag :GL_EXT_direct_state_access.

glGetVertexArrayIntegervEXT

glGetVertexArrayIntegervEXT_c($vaobj, $pname, $param);

Exported under tag :GL_EXT_direct_state_access.

glGetVertexArrayPointeri_vEXT

glGetVertexArrayPointeri_vEXT_c($vaobj, $index, $pname, $param);

Exported under tag :GL_EXT_direct_state_access.

glGetVertexArrayPointervEXT

glGetVertexArrayPointervEXT_c($vaobj, $pname, $param);

Exported under tag :GL_EXT_direct_state_access.

glGetVertexArrayiv

glGetVertexArrayiv_c($vaobj, $pname, $param);

Exported under tag :GL_ARB_direct_state_access.

glGetVertexAttribArrayObjectfvATI

glGetVertexAttribArrayObjectfvATI_c($index, $pname, $params);
@params = glGetVertexAttribArrayObjectfvATI_p($index, $pname);

Exported under tag :GL_ATI_vertex_attrib_array_object.

glGetVertexAttribArrayObjectivATI

glGetVertexAttribArrayObjectivATI_c($index, $pname, $params);
@params = glGetVertexAttribArrayObjectivATI_p($index, $pname);

Exported under tag :GL_ATI_vertex_attrib_array_object.

glGetVertexAttribIiv

glGetVertexAttribIiv_c($index, $pname, $params);
glGetVertexAttribIivEXT_c($index, $pname, $params);
$params = glGetVertexAttribIiv_p($index, $pname);
$params = glGetVertexAttribIivEXT_p($index, $pname);

Exported under tag :GL_VERSION_3_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetVertexAttribIiv.xhtml ๐Ÿ’œ

glGetVertexAttribIuiv

glGetVertexAttribIuiv_c($index, $pname, $params);
glGetVertexAttribIuivEXT_c($index, $pname, $params);
$params = glGetVertexAttribIuiv_p($index, $pname);
$params = glGetVertexAttribIuivEXT_p($index, $pname);

Exported under tag :GL_VERSION_3_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetVertexAttribIuiv.xhtml ๐Ÿฆ‹

glGetVertexAttribLdv

glGetVertexAttribLdv_c($index, $pname, $params);
glGetVertexAttribLdvEXT_c($index, $pname, $params);
@params = glGetVertexAttribLdv_p($index, $pname);
@params = glGetVertexAttribLdvEXT_p($index, $pname);

Exported under tag :GL_ARB_vertex_attrib_64bit.

glGetVertexAttribLi64vNV

glGetVertexAttribLi64vNV_c($index, $pname, $params);
@params = glGetVertexAttribLi64vNV_p($index, $pname);

Exported under tag :GL_NV_vertex_attrib_integer_64bit.

glGetVertexAttribLui64vARB

glGetVertexAttribLui64vARB_c($index, $pname, $params);

Exported under tag :GL_ARB_bindless_texture.

glGetVertexAttribLui64vNV

glGetVertexAttribLui64vNV_c($index, $pname, $params);
@params = glGetVertexAttribLui64vNV_p($index, $pname);

Exported under tag :GL_NV_vertex_attrib_integer_64bit.

glGetVertexAttribPointerv

glGetVertexAttribPointerv_c($index, $pname, $pointer);
glGetVertexAttribPointervARB_c($index, $pname, $pointer);
glGetVertexAttribPointervNV_c($index, $pname, $pointer);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetVertexAttribPointerv.xhtml ๐ŸŽ€

glGetVertexAttribdv

glGetVertexAttribdv_c($index, $pname, $params);
glGetVertexAttribdvARB_c($index, $pname, $params);
glGetVertexAttribdvNV_c($index, $pname, $params);
@params = glGetVertexAttribdv_p($index, $pname);
@params = glGetVertexAttribdvARB_p($index, $pname);
@params = glGetVertexAttribdvNV_p($index, $pname);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetVertexAttribdv.xhtml โญ

glGetVertexAttribfv

glGetVertexAttribfv_c($index, $pname, $params);
glGetVertexAttribfvARB_c($index, $pname, $params);
glGetVertexAttribfvNV_c($index, $pname, $params);
@params = glGetVertexAttribfv_p($index, $pname);
@params = glGetVertexAttribfvARB_p($index, $pname);
@params = glGetVertexAttribfvNV_p($index, $pname);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetVertexAttribfv.xhtml ๐ŸŒˆ

glGetVertexAttribiv

glGetVertexAttribiv_c($index, $pname, $params);
glGetVertexAttribivARB_c($index, $pname, $params);
glGetVertexAttribivNV_c($index, $pname, $params);
@params = glGetVertexAttribiv_p($index, $pname);
@params = glGetVertexAttribivARB_p($index, $pname);
@params = glGetVertexAttribivNV_p($index, $pname);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetVertexAttribiv.xhtml โœจ

glGetVideoCaptureStreamdvNV

glGetVideoCaptureStreamdvNV_c($video_capture_slot, $stream, $pname, $params);

Exported under tag :GL_NV_video_capture.

glGetVideoCaptureStreamfvNV

glGetVideoCaptureStreamfvNV_c($video_capture_slot, $stream, $pname, $params);

Exported under tag :GL_NV_video_capture.

glGetVideoCaptureStreamivNV

glGetVideoCaptureStreamivNV_c($video_capture_slot, $stream, $pname, $params);

Exported under tag :GL_NV_video_capture.

glGetVideoCaptureivNV

glGetVideoCaptureivNV_c($video_capture_slot, $pname, $params);

Exported under tag :GL_NV_video_capture.

glGetVideoi64vNV

glGetVideoi64vNV_c($video_slot, $pname, $params);

Exported under tag :GL_NV_present_video.

glGetVideoivNV

glGetVideoivNV_c($video_slot, $pname, $params);

Exported under tag :GL_NV_present_video.

glGetVideoui64vNV

glGetVideoui64vNV_c($video_slot, $pname, $params);

Exported under tag :GL_NV_present_video.

glGetVideouivNV

glGetVideouivNV_c($video_slot, $pname, $params);

Exported under tag :GL_NV_present_video.

glGetVkProcAddrNV

$retval = glGetVkProcAddrNV($name);

Exported under tag :GL_NV_draw_vulkan_image.

glGetnColorTableARB

glGetnColorTableARB_c($target, $format, $type, $bufSize, $table);

Exported under tag :GL_ARB_robustness.

glGetnCompressedTexImage

glGetnCompressedTexImage_c($target, $lod, $bufSize, $pixels);

Exported under tag :GL_VERSION_4_5. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetnCompressedTexImage.xhtml ๐Ÿ”ฅ

glGetnCompressedTexImageARB

glGetnCompressedTexImageARB_c($target, $lod, $bufSize, $img);

Exported under tag :GL_ARB_robustness.

glGetnConvolutionFilterARB

glGetnConvolutionFilterARB_c($target, $format, $type, $bufSize, $image);

glGetnHistogramARB

glGetnHistogramARB_c($target, $reset, $format, $type, $bufSize, $values);

Exported under tag :GL_ARB_robustness.


glGetnMapdvARB

glGetnMapdvARB_c($target, $query, $bufSize, $v);
@v = glGetnMapdvARB_p($target, $query, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnMapfvARB

glGetnMapfvARB_c($target, $query, $bufSize, $v);
@v = glGetnMapfvARB_p($target, $query, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnMapivARB

glGetnMapivARB_c($target, $query, $bufSize, $v);
@v = glGetnMapivARB_p($target, $query, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnMinmaxARB

glGetnMinmaxARB_c($target, $reset, $format, $type, $bufSize, $values);

Exported under tag :GL_ARB_robustness.


glGetnPixelMapfvARB

glGetnPixelMapfvARB_c($map, $bufSize, $values);
@values = glGetnPixelMapfvARB_p($map, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnPixelMapuivARB

glGetnPixelMapuivARB_c($map, $bufSize, $values);
@values = glGetnPixelMapuivARB_p($map, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnPixelMapusvARB

glGetnPixelMapusvARB_c($map, $bufSize, $values);
@values = glGetnPixelMapusvARB_p($map, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnPolygonStippleARB

glGetnPolygonStippleARB_c($bufSize, $pattern);
@pattern = glGetnPolygonStippleARB_p($bufSize);

Exported under tag :GL_ARB_robustness.


glGetnSeparableFilterARB

glGetnSeparableFilterARB_c($target, $format, $type, $rowBufSize, $row, $columnBufSize, $column, $span);

Exported under tag :GL_ARB_robustness.


glGetnTexImage

glGetnTexImage_c($target, $level, $format, $type, $bufSize, $pixels);

Exported under tag :GL_VERSION_4_5. Go read the glow-up here: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetnTexImage.xhtml


glGetnTexImageARB

glGetnTexImageARB_c($target, $level, $format, $type, $bufSize, $img);

Exported under tag :GL_ARB_robustness.


glGetnUniformdv

glGetnUniformdv_c($program, $location, $bufSize, $params);
@params = glGetnUniformdv_p($program, $location, $bufSize);

Exported under tag :GL_VERSION_4_5. Full lore drop: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetnUniformdv.xhtml


glGetnUniformdvARB

glGetnUniformdvARB_c($program, $location, $bufSize, $params);
@params = glGetnUniformdvARB_p($program, $location, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnUniformfv

glGetnUniformfv_c($program, $location, $bufSize, $params);
glGetnUniformfvEXT_c($program, $location, $bufSize, $params);
glGetnUniformfvKHR_c($program, $location, $bufSize, $params);
@params = glGetnUniformfv_p($program, $location, $bufSize);
@params = glGetnUniformfvEXT_p($program, $location, $bufSize);
@params = glGetnUniformfvKHR_p($program, $location, $bufSize);

Exported under tag :GL_KHR_robustness. Three flavors, same energy ๐Ÿ’…


glGetnUniformfvARB

glGetnUniformfvARB_c($program, $location, $bufSize, $params);
@params = glGetnUniformfvARB_p($program, $location, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnUniformi64vARB

glGetnUniformi64vARB_c($program, $location, $bufSize, $params);
@params = glGetnUniformi64vARB_p($program, $location, $bufSize);

Exported under tag :GL_ARB_gpu_shader_int64. int64 girlies rise up ๐Ÿ’–


glGetnUniformiv

glGetnUniformiv_c($program, $location, $bufSize, $params);
glGetnUniformivEXT_c($program, $location, $bufSize, $params);
glGetnUniformivKHR_c($program, $location, $bufSize, $params);
@params = glGetnUniformiv_p($program, $location, $bufSize);
@params = glGetnUniformivEXT_p($program, $location, $bufSize);
@params = glGetnUniformivKHR_p($program, $location, $bufSize);

Exported under tag :GL_KHR_robustness.


glGetnUniformivARB

glGetnUniformivARB_c($program, $location, $bufSize, $params);
@params = glGetnUniformivARB_p($program, $location, $bufSize);

Exported under tag :GL_ARB_robustness.


glGetnUniformui64vARB

glGetnUniformui64vARB_c($program, $location, $bufSize, $params);
@params = glGetnUniformui64vARB_p($program, $location, $bufSize);

Exported under tag :GL_ARB_gpu_shader_int64.


glGetnUniformuiv

glGetnUniformuiv_c($program, $location, $bufSize, $params);
glGetnUniformuivKHR_c($program, $location, $bufSize, $params);
@params = glGetnUniformuiv_p($program, $location, $bufSize);
@params = glGetnUniformuivKHR_p($program, $location, $bufSize);

Exported under tag :GL_KHR_robustness.


glGetnUniformuivARB

glGetnUniformuivARB_c($program, $location, $bufSize, $params);
@params = glGetnUniformuivARB_p($program, $location, $bufSize);

Exported under tag :GL_ARB_robustness.


glGlobalAlphaFactorbSUN

glGlobalAlphaFactorbSUN($factor);

Exported under tag :GL_SUN_global_alpha.


glGlobalAlphaFactordSUN

glGlobalAlphaFactordSUN($factor);

Exported under tag :GL_SUN_global_alpha.


glGlobalAlphaFactorfSUN

glGlobalAlphaFactorfSUN($factor);

Exported under tag :GL_SUN_global_alpha.


glGlobalAlphaFactoriSUN

glGlobalAlphaFactoriSUN($factor);

Exported under tag :GL_SUN_global_alpha.


glGlobalAlphaFactorsSUN

glGlobalAlphaFactorsSUN($factor);

Exported under tag :GL_SUN_global_alpha.


glGlobalAlphaFactorubSUN

glGlobalAlphaFactorubSUN($factor);

Exported under tag :GL_SUN_global_alpha.


glGlobalAlphaFactoruiSUN

glGlobalAlphaFactoruiSUN($factor);

Exported under tag :GL_SUN_global_alpha.


glGlobalAlphaFactorusSUN

glGlobalAlphaFactorusSUN($factor);

Exported under tag :GL_SUN_global_alpha. That's the whole SUN alphabet, bestie, we did it ๐ŸŽ€


glHint

glHint($target, $mode);

Exported under tag :GL_VERSION_1_1. Receipts here: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glHint.xhtml


glHistogram

glHistogram($target, $width, $internalformat, $sink);
glHistogramEXT($target, $width, $internalformat, $sink);

Exported under tag :GL_ARB_imaging.


glIglooInterfaceSGIX

glIglooInterfaceSGIX_c($pname, $params);

Exported under tag :GL_SGIX_igloo_interface. Yes it's really called igloo, no I'm not joking ๐ŸงŠ


glImageTransformParameterfHP

glImageTransformParameterfHP($target, $pname, $param);

Exported under tag :GL_HP_image_transform.


glImageTransformParameterfvHP

glImageTransformParameterfvHP_c($target, $pname, $params);

Exported under tag :GL_HP_image_transform.


glImageTransformParameteriHP

glImageTransformParameteriHP($target, $pname, $param);

Exported under tag :GL_HP_image_transform.


glImageTransformParameterivHP

glImageTransformParameterivHP_c($target, $pname, $params);

Exported under tag :GL_HP_image_transform.


glImportMemoryFdEXT

glImportMemoryFdEXT($memory, $size, $handleType, $fd);

Exported under tag :GL_EXT_memory_object_fd. Fd stands for file descriptor, iykyk ๐Ÿฆ‹


glImportMemoryWin32HandleEXT

glImportMemoryWin32HandleEXT_c($memory, $size, $handleType, $handle);

Exported under tag :GL_EXT_memory_object_win32.


glImportMemoryWin32NameEXT

glImportMemoryWin32NameEXT_c($memory, $size, $handleType, $name);

Exported under tag :GL_EXT_memory_object_win32.


glImportSemaphoreFdEXT

glImportSemaphoreFdEXT($semaphore, $handleType, $fd);

Exported under tag :GL_EXT_semaphore_fd.


glImportSemaphoreWin32HandleEXT

glImportSemaphoreWin32HandleEXT_c($semaphore, $handleType, $handle);

Exported under tag :GL_EXT_semaphore_win32.


glImportSemaphoreWin32NameEXT

glImportSemaphoreWin32NameEXT_c($semaphore, $handleType, $name);

Exported under tag :GL_EXT_semaphore_win32.


glImportSyncEXT

$retval = glImportSyncEXT($external_sync_type, $external_sync, $flags);

Exported under tag :GL_EXT_x11_sync_object. Returns a value, so catch it bestie ๐Ÿซถ


glIndexFormatNV

glIndexFormatNV($type, $stride);

Exported under tag :GL_NV_vertex_buffer_unified_memory.


glIndexFuncEXT

glIndexFuncEXT($func, $ref);

Exported under tag :GL_EXT_index_func.


glIndexMask

glIndexMask($mask);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Old-school lore lives here: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexMask.xml


glIndexMaterialEXT

glIndexMaterialEXT($face, $mode);

Exported under tag :GL_EXT_index_material.


glIndexPointer

glIndexPointer_c($type, $stride, $pointer);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Receipts: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexPointer.xml


glIndexPointerEXT

glIndexPointerEXT_c($type, $stride, $count, $pointer);

Exported under tag :GL_EXT_vertex_array.


glIndexPointerListIBM

glIndexPointerListIBM_c($type, $stride, $pointer, $ptrstride);

Exported under tag :GL_IBM_vertex_array_lists.


glIndexd

glIndexd($c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexd.xml


glIndexdv

glIndexdv_c($c);
glIndexdv_p(@c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexdv.xml


glIndexf

glIndexf($c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexf.xml


glIndexfv

glIndexfv_c($c);
glIndexfv_p(@c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexfv.xml


glIndexi

glIndexi($c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexi.xml


glIndexiv

glIndexiv_c($c);
glIndexiv_p(@c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexiv.xml


glIndexs

glIndexs($c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexs.xml


glIndexsv

glIndexsv_c($c);
glIndexsv_p(@c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexsv.xml


glIndexub

glIndexub($c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexub.xml


glIndexubv

glIndexubv_c($c);
glIndexubv_p(@c);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. Here's the refpage for this one (iykyk, it's the one from the tail of the last part) โœจ https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIndexubv.xml


๐ŸŽ€ glInitNames

glInitNames();

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” it got removed in 3.2, no cap. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glInitNames.xml


๐ŸŽ€ glInsertComponentEXT

glInsertComponentEXT($res, $src, $num);

Exported under tag :GL_EXT_vertex_shader.


๐ŸŽ€ glInsertEventMarkerEXT

glInsertEventMarkerEXT($length, $marker);

Exported under tag :GL_EXT_debug_marker.


๐ŸŽ€ glInterleavedArrays

glInterleavedArrays_c($format, $stride, $pointer);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, rip. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glInterleavedArrays.xml


๐ŸŽ€ glInterleavedTextureCoordSetsSGIS

glInterleavedTextureCoordSetsSGIS($factor);

Exported under tag :GL_SGIS_multitexture.


๐ŸŽ€ glInterpolatePathsNV

glInterpolatePathsNV($resultPath, $pathA, $pathB, $weight);

Exported under tag :GL_NV_path_rendering.


๐ŸŽ€ glInvalidateBufferData

glInvalidateBufferData($buffer);

Exported under tag :GL_ARB_invalidate_subdata.


๐ŸŽ€ glInvalidateBufferSubData

glInvalidateBufferSubData($buffer, $offset, $length);

Exported under tag :GL_ARB_invalidate_subdata.


๐ŸŽ€ glInvalidateFramebuffer

glInvalidateFramebuffer_c($target, $numAttachments, $attachments);
glInvalidateFramebuffer_p($target, @attachments);

Exported under tag :GL_ARB_invalidate_subdata. Two flavours, bestie: the _c one hands you the count and the array, the _p one just vibes with a plain Perl list ๐Ÿ’…


๐ŸŽ€ glInvalidateNamedFramebufferData

glInvalidateNamedFramebufferData_c($framebuffer, $numAttachments, $attachments);
glInvalidateNamedFramebufferData_p($framebuffer, @attachments);

Exported under tag :GL_ARB_direct_state_access.


๐ŸŽ€ glInvalidateNamedFramebufferSubData

glInvalidateNamedFramebufferSubData_c($framebuffer, $numAttachments, $attachments, $x, $y, $width, $height);
glInvalidateNamedFramebufferSubData_p($framebuffer, $x, $y, $width, $height, @attachments);

Exported under tag :GL_ARB_direct_state_access.


๐ŸŽ€ glInvalidateSubFramebuffer

glInvalidateSubFramebuffer_c($target, $numAttachments, $attachments, $x, $y, $width, $height);
glInvalidateSubFramebuffer_p($target, $x, $y, $width, $height, @attachments);

Exported under tag :GL_ARB_invalidate_subdata.


๐ŸŽ€ glInvalidateTexImage

glInvalidateTexImage($texture, $level);

Exported under tag :GL_ARB_invalidate_subdata.


๐ŸŽ€ glInvalidateTexSubImage

glInvalidateTexSubImage($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth);

Exported under tag :GL_ARB_invalidate_subdata.


๐ŸŽ€ glIsAsyncMarkerSGIX

$retval = glIsAsyncMarkerSGIX($marker);

Exported under tag :GL_SGIX_async.


โœจ glIsBuffer

$retval = glIsBuffer($buffer);
$retval = glIsBufferARB($buffer);

Exported under tag :GL_VERSION_1_5. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsBuffer.xhtml


๐ŸŽ€ glIsBufferResidentNV

$retval = glIsBufferResidentNV($target);

Exported under tag :GL_NV_shader_buffer_load.


๐ŸŽ€ glIsCommandListNV

$retval = glIsCommandListNV($list);

Exported under tag :GL_NV_command_list.


โœจ glIsEnabled

$retval = glIsEnabled($cap);

Exported under tag :GL_VERSION_1_1. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsEnabled.xhtml


๐ŸŽ€ glIsEnabledi

$retval = glIsEnabledi($target, $index);
$retval = glIsEnabledIndexedEXT($target, $index);
$retval = glIsEnablediEXT($target, $index);
$retval = glIsEnablediNV($target, $index);

Exported under tag :GL_VERSION_3_0. Four whole names for the same energy, we love an aliasing moment ๐Ÿซถ Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsEnabledi.xhtml


๐ŸŽ€ glIsEnablediOES

$retval = glIsEnablediOES($target, $index);

Exported under tag :GL_OES_draw_buffers_indexed.


๐ŸŽ€ glIsFenceAPPLE

$retval = glIsFenceAPPLE($fence);

Exported under tag :GL_APPLE_fence.


๐ŸŽ€ glIsFenceNV

$retval = glIsFenceNV($fence);

Exported under tag :GL_NV_fence.


๐ŸŽ€ glIsFramebuffer

$retval = glIsFramebuffer($framebuffer);
$retval = glIsFramebufferEXT($framebuffer);

Exported under tag :GL_ARB_framebuffer_object.


๐ŸŽ€ glIsFramebufferOES

$retval = glIsFramebufferOES($framebuffer);

Exported under tag :GL_OES_framebuffer_object.


๐ŸŽ€ glIsImageHandleResidentARB

$retval = glIsImageHandleResidentARB($handle);

Exported under tag :GL_ARB_bindless_texture.


๐ŸŽ€ glIsImageHandleResidentNV

$retval = glIsImageHandleResidentNV($handle);

Exported under tag :GL_NV_bindless_texture.


๐ŸŽ€ glIsList

$retval = glIsList($list);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glIsList.xml


๐ŸŽ€ glIsMPEGPredictorSGIX

$retval = glIsMPEGPredictorSGIX($predictor);

Exported under tag :GL_SGIX_mpeg1.


๐ŸŽ€ glIsMemoryObjectEXT

$retval = glIsMemoryObjectEXT($memoryObject);

Exported under tag :GL_EXT_memory_object.


๐ŸŽ€ glIsNameAMD

$retval = glIsNameAMD($identifier, $name);

Exported under tag :GL_AMD_name_gen_delete.


๐ŸŽ€ glIsNamedBufferResidentNV

$retval = glIsNamedBufferResidentNV($buffer);

Exported under tag :GL_NV_shader_buffer_load.


๐ŸŽ€ glIsNamedStringARB

$retval = glIsNamedStringARB($namelen, $name);

Exported under tag :GL_ARB_shading_language_include.


๐ŸŽ€ glIsObjectBufferATI

$retval = glIsObjectBufferATI($buffer);

Exported under tag :GL_ATI_vertex_array_object.


๐ŸŽ€ glIsOcclusionQueryNV

$retval = glIsOcclusionQueryNV($id);

Exported under tag :GL_NV_occlusion_query.


๐ŸŽ€ glIsPathNV

$retval = glIsPathNV($path);

Exported under tag :GL_NV_path_rendering.


๐ŸŽ€ glIsPointInFillPathNV

$retval = glIsPointInFillPathNV($path, $mask, $x, $y);

Exported under tag :GL_NV_path_rendering.


๐ŸŽ€ glIsPointInStrokePathNV

$retval = glIsPointInStrokePathNV($path, $x, $y);

Exported under tag :GL_NV_path_rendering.


โœจ glIsProgram

$retval = glIsProgram($program);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsProgram.xhtml


๐ŸŽ€ glIsProgramARB

$retval = glIsProgramARB($program);
$retval = glIsProgramNV($program);

Exported under tag :GL_ARB_vertex_program.


๐ŸŽ€ glIsProgramPipeline

$retval = glIsProgramPipeline($pipeline);

Exported under tag :GL_ARB_separate_shader_objects.


โœจ glIsQuery

$retval = glIsQuery($id);
$retval = glIsQueryARB($id);

Exported under tag :GL_VERSION_1_5. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsQuery.xhtml


๐ŸŽ€ glIsQueryANGLE

$retval = glIsQueryANGLE($id);

Exported under tag :GL_ANGLE_timer_query.


๐ŸŽ€ glIsQueryEXT

$retval = glIsQueryEXT($id);

Exported under tag :GL_EXT_disjoint_timer_query.


๐ŸŽ€ glIsRenderbuffer

$retval = glIsRenderbuffer($renderbuffer);
$retval = glIsRenderbufferEXT($renderbuffer);

Exported under tag :GL_ARB_framebuffer_object.


๐ŸŽ€ glIsRenderbufferOES

$retval = glIsRenderbufferOES($renderbuffer);

Exported under tag :GL_OES_framebuffer_object.


๐ŸŽ€ glIsSampler

$retval = glIsSampler($sampler);

Exported under tag :GL_ARB_sampler_objects.


๐ŸŽ€ glIsSemaphoreEXT

$retval = glIsSemaphoreEXT($semaphore);

Exported under tag :GL_EXT_semaphore.


โœจ glIsShader

$retval = glIsShader($shader);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsShader.xhtml


๐ŸŽ€ glIsStateNV

$retval = glIsStateNV($state);

Exported under tag :GL_NV_command_list.


๐ŸŽ€ glIsSupportedREGAL

$retval = glIsSupportedREGAL($ext);

Exported under tag :GL_REGAL_extension_query.


๐ŸŽ€ glIsSync

$retval = glIsSync($myGLsync);
$retval = glIsSyncAPPLE($myGLsync);

Exported under tag :GL_ARB_sync.


โœจ glIsTexture

$retval = glIsTexture($texture);

Exported under tag :GL_VERSION_1_1. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsTexture.xhtml


๐ŸŽ€ glIsTextureEXT

$retval = glIsTextureEXT($texture);

Exported under tag :GL_EXT_texture_object.


๐ŸŽ€ glIsTextureHandleResidentARB

$retval = glIsTextureHandleResidentARB($handle);

Exported under tag :GL_ARB_bindless_texture.


๐ŸŽ€ glIsTextureHandleResidentNV

$retval = glIsTextureHandleResidentNV($handle);

Exported under tag :GL_NV_bindless_texture.


๐ŸŽ€ glIsTransformFeedback

$retval = glIsTransformFeedback($id);
$retval = glIsTransformFeedbackNV($id);

Exported under tag :GL_ARB_transform_feedback2.


๐ŸŽ€ glIsVariantEnabledEXT

$retval = glIsVariantEnabledEXT($id, $cap);

Exported under tag :GL_EXT_vertex_shader.


๐ŸŽ€ glIsVertexArray

$retval = glIsVertexArray($array);
$retval = glIsVertexArrayAPPLE($array);

Exported under tag :GL_ARB_vertex_array_object.


๐ŸŽ€ glIsVertexArrayOES

$retval = glIsVertexArrayOES($array);

Exported under tag :GL_OES_vertex_array_object.


๐ŸŽ€ glIsVertexArraySGIX

$retval = glIsVertexArraySGIX($array);

Exported under tag :GL_SGIX_vertex_array_object.


๐ŸŽ€ glIsVertexAttribEnabledAPPLE

$retval = glIsVertexAttribEnabledAPPLE($index, $pname);

Exported under tag :GL_APPLE_vertex_program_evaluators.


๐Ÿ‘‘ glLGPUCopyImageSubDataNVX

glLGPUCopyImageSubDataNVX($sourceGpu, $destinationGpuMask, $srcName, $srcTarget, $srcLevel, $srcX, $srxY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $width, $height, $depth);

Exported under tag :GL_NVX_linked_gpu_multicast. Look at that parameter list, bestie, it's giving a lot ๐Ÿ˜ญ that's seventeen arguments and we are not okay.


๐ŸŽ€ glLGPUInterlockNVX

glLGPUInterlockNVX();

Exported under tag :GL_NVX_linked_gpu_multicast. No args, no drama, just vibes ๐Ÿ’…


๐ŸŽ€ glLGPUNamedBufferSubDataNVX

glLGPUNamedBufferSubDataNVX_c($gpuMask, $buffer, $offset, $size, $data);

Exported under tag :GL_NVX_linked_gpu_multicast.


๐ŸŽ€ glLabelObjectEXT

glLabelObjectEXT($type, $object, $length, $label);

Exported under tag :GL_EXT_debug_label.


๐ŸŽ€ glLightEnviEXT

glLightEnviEXT($pname, $param);

Exported under tag :GL_EXT_fragment_lighting.


๐ŸŽ€ glLightModelf

glLightModelf($pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, bye bestie ๐Ÿ˜ญ Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLightModelf.xml


๐ŸŽ€ glLightModelfv

glLightModelfv_c($pname, $params);
glLightModelfv_p($pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLightModelfv.xml


๐ŸŽ€ glLightModeli

glLightModeli($pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLightModeli.xml


๐ŸŽ€ glLightModeliv

glLightModeliv_c($pname, $params);
glLightModeliv_p($pname, @params);

that's the tail end of the glLightModeliv moment bestie ๐Ÿ’œ โ€” it's exported under tag :GL_VERSION_1_1, it is not available in a 'future-compatible' profile because it got removed in 3.2, and the full tea lives at https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLightModeliv.xml.


glLightModelx

glLightModelx($pname, $param);

Exported under tag :GL_REGAL_ES1_0_compatibility. โœจ

glLightModelxv

glLightModelxv_c($pname, $param);
glLightModelxv_p($pname, @param);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐ŸŽ€

glLightf

glLightf($light, $pname, $param);

Exported under tag :GL_VERSION_1_1. Girlypop, heads up: this one is not available in a 'future-compatible' profile, say it with me โ€” removed in 3.2 ๐Ÿ˜ญ. Details at https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLightf.xml.

glLightfv

glLightfv_c($light, $pname, $params);
glLightfv_p($light, $pname, @params);

Exported under tag :GL_VERSION_1_1. Also not available in a 'future-compatible' profile, because, you guessed it, removed in 3.2 ๐Ÿ’€. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLightfv.xml.

glLighti

glLighti($light, $pname, $param);

Exported under tag :GL_VERSION_1_1. Same saga: not available in a 'future-compatible' profile, removed in 3.2. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLighti.xml.

glLightiv

glLightiv_c($light, $pname, $params);
glLightiv_p($light, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, no cap ๐Ÿซถ. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLightiv.xml.

glLightx

glLightx($light, $pname, $param);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐ŸŒธ

glLightxv

glLightxv_c($light, $pname, $params);
glLightxv_p($light, $pname, @params);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐Ÿ’…


glLineStipple

glLineStipple($factor, $pattern);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2 โ€” the 'future-compatible' girlies said bye. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLineStipple.xml.

glLineWidth

glLineWidth($width);

Exported under tag :GL_VERSION_1_1 โ€” and this one is still thriving, periodt. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glLineWidth.xhtml.

glLineWidthx

glLineWidthx($width);

Exported under tag :GL_REGAL_ES1_0_compatibility. โญ

glLinkProgram

glLinkProgram($program);

Exported under tag :GL_VERSION_2_0. This is the glow-up moment where your shader program gets its whole life together ๐Ÿงš. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glLinkProgram.xhtml.

glLinkProgramARB

glLinkProgramARB($programObj);

Exported under tag :GL_ARB_shader_objects. ๐Ÿ‘‘

glListBase

glListBase($base);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, iykyk ๐Ÿ˜ญ. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glListBase.xml.

glListDrawCommandsStatesClientNV

glListDrawCommandsStatesClientNV_c($list, $segment, $indirects, $sizes, $states, $fbos, $count);

Exported under tag :GL_NV_command_list. ๐Ÿ”ฅ

glLoadIdentity

glLoadIdentity();

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2 โ€” sad girl hours. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLoadIdentity.xml.

glLoadIdentityDeformationMapSGIX

glLoadIdentityDeformationMapSGIX($mask);

Exported under tag :GL_SGIX_polynomial_ffd. ๐Ÿฆ‹

glLoadMatrixd

glLoadMatrixd_c($m);
glLoadMatrixd_p(@m);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, bestie. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLoadMatrixd.xml.

glLoadMatrixf

glLoadMatrixf_c($m);
glLoadMatrixf_p(@m);

Exported under tag :GL_VERSION_1_1. Same energy: not available in a 'future-compatible' profile, removed in 3.2. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLoadMatrixf.xml.

glLoadMatrixx

glLoadMatrixx_c($m);
glLoadMatrixx_p(@m);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐ŸŽ€

glLoadName

glLoadName($name);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile because it got removed in 3.2, fr fr. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLoadName.xml.

glLoadPaletteFromModelViewMatrixOES

glLoadPaletteFromModelViewMatrixOES();

Exported under tag :GL_OES_matrix_palette. โœจ

glLoadProgramNV

glLoadProgramNV($target, $id, $len, $program);

Exported under tag :GL_NV_vertex_program. ๐Ÿ’œ

glLoadTransposeMatrixd

glLoadTransposeMatrixd_c($m);
glLoadTransposeMatrixdARB_c($m);
glLoadTransposeMatrixd_p(@m);
glLoadTransposeMatrixdARB_p(@m);

Exported under tag :GL_VERSION_1_3. And yes, not available in a 'future-compatible' profile โ€” removed in 3.2, iconic but ghosted ๐Ÿ’€. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLoadTransposeMatrixd.xml.

glLoadTransposeMatrixf

glLoadTransposeMatrixf_c($m);
glLoadTransposeMatrixfARB_c($m);
glLoadTransposeMatrixf_p(@m);
glLoadTransposeMatrixfARB_p(@m);

Exported under tag :GL_VERSION_1_3. Not available in a 'future-compatible' profile, removed in 3.2. https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glLoadTransposeMatrixf.xml.

glLockArraysEXT

glLockArraysEXT($first, $count);

Exported under tag :GL_EXT_compiled_vertex_array. ๐ŸŒˆ

glLogMessageCallbackREGAL

glLogMessageCallbackREGAL($callback);

Exported under tag :GL_REGAL_log. ๐Ÿซถ

glLogicOp

glLogicOp($opcode);

Exported under tag :GL_VERSION_1_1 โ€” still living her best life in the modern world. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glLogicOp.xhtml.

glMPEGPredictorSGIX

glMPEGPredictorSGIX_c($target, $format, $type, $pixels);

Exported under tag :GL_SGIX_mpeg1. ๐Ÿ“ผ

glMPEGQuantTableubv

glMPEGQuantTableubv_c($target, $values);

Exported under tag :GL_SGIX_mpeg1. ๐Ÿ’…

glMakeBufferNonResidentNV

glMakeBufferNonResidentNV($target);

Exported under tag :GL_NV_shader_buffer_load. ๐ŸŒธ

glMakeBufferResidentNV

glMakeBufferResidentNV($target, $access);

Exported under tag :GL_NV_shader_buffer_load. โญ

glMakeImageHandleNonResidentARB

glMakeImageHandleNonResidentARB($handle);

Exported under tag :GL_ARB_bindless_texture. ๐Ÿฆ‹

glMakeImageHandleNonResidentNV

glMakeImageHandleNonResidentNV($handle);

Exported under tag :GL_NV_bindless_texture. ๐Ÿฆ‹

glMakeImageHandleResidentARB

glMakeImageHandleResidentARB($handle, $access);

Exported under tag :GL_ARB_bindless_texture. โœจ

glMakeImageHandleResidentNV

glMakeImageHandleResidentNV($handle, $access);

Exported under tag :GL_NV_bindless_texture. โœจ

glMakeNamedBufferNonResidentNV

glMakeNamedBufferNonResidentNV($buffer);

Exported under tag :GL_NV_shader_buffer_load. ๐ŸŽ€

glMakeNamedBufferResidentNV

glMakeNamedBufferResidentNV($buffer, $access);

Exported under tag :GL_NV_shader_buffer_load. ๐ŸŽ€

glMakeTextureHandleNonResidentARB

glMakeTextureHandleNonResidentARB($handle);

Exported under tag :GL_ARB_bindless_texture. ๐Ÿ’œ

glMakeTextureHandleNonResidentNV

glMakeTextureHandleNonResidentNV($handle);

Exported under tag :GL_NV_bindless_texture. ๐Ÿ’œ

glMakeTextureHandleResidentARB

glMakeTextureHandleResidentARB($handle);

Exported under tag :GL_ARB_bindless_texture. ๐ŸŒŸ

glMakeTextureHandleResidentNV

glMakeTextureHandleResidentNV($handle);

Exported under tag :GL_NV_bindless_texture. ๐ŸŒŸ


glMap1d

glMap1d_c($target, $u1, $u2, $stride, $order, $points);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, and honestly she's a legacy queen now ๐Ÿ‘‘.

glMap1f

glMap1f_c($target, $u1, $u2, $stride, $order, $points);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, periodt.

glMap2d

glMap2d_c($target, $u1, $u2, $ustride, $uorder, $v1, $v2, $vstride, $vorder, $points);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿ’….

glMap2f

glMap2f_c($target, $u1, $u2, $ustride, $uorder, $v1, $v2, $vstride, $vorder, $points);

Exported under tag :GL_VERSION_1_1. Also not available in a 'future-compatible' profile โ€” removed in 3.2, no notes.

glMapBuffer

$retval = glMapBuffer_c($target, $access);
$retval = glMapBufferARB_c($target, $access);

Exported under tag :GL_VERSION_1_5. Look at that $retval, the way she returns something ๐Ÿ˜ญ. https://registry.khronos.org/OpenGL-Refpages/gl4/html/glMapBuffer.xhtml.

glMapBufferOES

$retval = glMapBufferOES_c($target, $access);

Exported under tag :GL_OES_mapbuffer. ๐Ÿ“

glMapBufferRange

$retval = glMapBufferRange_c($target, $offset, $length, $access);
$retval = glMapBufferRangeEXT_c($target, $offset, $length, $access);

Exported under tag :GL_ARB_map_buffer_range. ๐Ÿ”ฅ

glMapControlPointsNV

glMapControlPointsNV_c($target, $index, $type, $ustride, $vstride, $uorder, $vorder, $packed, $points);

Exported under tag :GL_NV_evaluators. ๐Ÿงš

glMapGrid1d

glMapGrid1d($un, $u1, $u2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, bestie ๐Ÿ’€.

glMapGrid1f

glMapGrid1f($un, $u1, $u2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glMapGrid2d

glMapGrid2d($un, $u1, $u2, $vn, $v1, $v2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2 ๐ŸŒธ.

glMapGrid2f

glMapGrid2f($un, $u1, $u2, $vn, $v1, $v2);

Exported under tag :GL_VERSION_1_1. Also not available in a 'future-compatible' profile โ€” removed in 3.2.

glMapNamedBuffer

$retval = glMapNamedBuffer_c($buffer, $access);

Exported under tag :GL_ARB_direct_state_access. โœจ

glMapNamedBufferEXT

$retval = glMapNamedBufferEXT_c($buffer, $access);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’œ

glMapNamedBufferRange

$retval = glMapNamedBufferRange_c($buffer, $offset, $length, $access);

Exported under tag :GL_ARB_direct_state_access. โญ

glMapNamedBufferRangeEXT

$retval = glMapNamedBufferRangeEXT_c($buffer, $offset, $length, $access);

Exported under tag :GL_EXT_direct_state_access. โญ

glMapObjectBufferATI

$retval = glMapObjectBufferATI_c($buffer);

Exported under tag :GL_ATI_map_object_buffer. ๐ŸŽ€

glMapParameterfvNV

glMapParameterfvNV_c($target, $pname, $params);

Exported under tag :GL_NV_evaluators. ๐Ÿฆ‹

glMapParameterivNV

glMapParameterivNV_c($target, $pname, $params);

Exported under tag :GL_NV_evaluators. ๐Ÿฆ‹

glMapTexture2DINTEL

$retval = glMapTexture2DINTEL_c($texture, $level, $access, $stride, $layout);
($retval, $stride, $layout) = glMapTexture2DINTEL_p($texture, $level, $access);

Exported under tag :GL_LAYOUT_LINEAR_INTEL. And look at the _p version handing you back a whole list of things in one go โ€” she's giving main character energy ๐ŸŒˆ.

glMapVertexAttrib1dAPPLE

glMapVertexAttrib1dAPPLE_c($index, $size, $u1, $u2, $stride, $order, $points);

Exported under tag :GL_APPLE_vertex_program_evaluators. ๐Ÿ“

glMapVertexAttrib1fAPPLE

glMapVertexAttrib1fAPPLE_c($index, $size, $u1, $u2, $stride, $order, $points);

Exported under tag :GL_APPLE_vertex_program_evaluators. ๐Ÿ“

๐ŸŒธ glMapVertexAttrib2dAPPLE

glMapVertexAttrib2dAPPLE_c($index, $size, $u1, $u2, $ustride, $uorder, $v1, $v2, $vstride, $vorder, $points);

Exported under tag :GL_APPLE_vertex_program_evaluators. periodt.


๐Ÿฆ‹ glMapVertexAttrib2fAPPLE

glMapVertexAttrib2fAPPLE_c($index, $size, $u1, $u2, $ustride, $uorder, $v1, $v2, $vstride, $vorder, $points);

Exported under tag :GL_APPLE_vertex_program_evaluators. slay.


๐Ÿ’… glMaterialf

glMaterialf($face, $pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMaterialf.xml>


๐ŸŽ€ glMaterialfv

glMaterialfv_c($face, $pname, $params);
glMaterialfv_p($face, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMaterialfv.xml>


โœจ glMateriali

glMateriali($face, $pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMateriali.xml>


๐Ÿ“ glMaterialiv

glMaterialiv_c($face, $pname, $params);
glMaterialiv_p($face, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMaterialiv.xml>


๐Ÿ’œ glMaterialx

glMaterialx($face, $pname, $param);

Exported under tag :GL_REGAL_ES1_0_compatibility. iykyk.


๐ŸŒˆ glMaterialxv

glMaterialxv_c($face, $pname, $param);
glMaterialxv_p($face, $pname, @param);

Exported under tag :GL_REGAL_ES1_0_compatibility. no cap.


๐Ÿ”ฅ glMatrixFrustumEXT

glMatrixFrustumEXT($mode, $left, $right, $bottom, $top, $zNear, $zFar);

Exported under tag :GL_EXT_direct_state_access. frustum bestie, we love her.


๐Ÿงš glMatrixIndexPointerARB

glMatrixIndexPointerARB_c($size, $type, $stride, $pointer);

Exported under tag :GL_ARB_matrix_palette. matrix palette moment.


๐ŸŒธ glMatrixIndexPointerOES

glMatrixIndexPointerOES_c($size, $type, $stride, $pointer);

Exported under tag :GL_OES_matrix_palette. OES said let me in.


๐Ÿฆ‹ glMatrixIndexubvARB

glMatrixIndexubvARB_c($size, $indices);
@indices = glMatrixIndexubvARB_p($size);

Exported under tag :GL_ARB_matrix_palette. ubv energy.


๐ŸŽ€ glMatrixIndexuivARB

glMatrixIndexuivARB_c($size, $indices);
@indices = glMatrixIndexuivARB_p($size);

Exported under tag :GL_ARB_matrix_palette. uiv said hi.


๐Ÿ’… glMatrixIndexusvARB

glMatrixIndexusvARB_c($size, $indices);
@indices = glMatrixIndexusvARB_p($size);

Exported under tag :GL_ARB_matrix_palette. usv, iconic.


โœจ glMatrixLoad3x2fNV

glMatrixLoad3x2fNV_c($matrixMode, $m);

Exported under tag :GL_NV_path_rendering. 3x2? lowkey specific, highkey slay.


๐Ÿ’œ glMatrixLoad3x3fNV

glMatrixLoad3x3fNV_c($matrixMode, $m);

Exported under tag :GL_NV_path_rendering. 3x3 bestie.


๐ŸŒˆ glMatrixLoadIdentityEXT

glMatrixLoadIdentityEXT($mode);

Exported under tag :GL_EXT_direct_state_access. identity, as she should.


๐Ÿ“ glMatrixLoadTranspose3x3fNV

glMatrixLoadTranspose3x3fNV_c($matrixMode, $m);

Exported under tag :GL_NV_path_rendering. transpose said flip it.


๐Ÿ”ฅ glMatrixLoadTransposedEXT

glMatrixLoadTransposedEXT_c($mode, $m);
glMatrixLoadTransposedEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. double and EXT, we stay fed.


๐ŸŒธ glMatrixLoadTransposefEXT

glMatrixLoadTransposefEXT_c($mode, $m);
glMatrixLoadTransposefEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. f variant, periodt.


๐Ÿงš glMatrixLoaddEXT

glMatrixLoaddEXT_c($mode, $m);
glMatrixLoaddEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. d for double, no cap.


๐Ÿฆ‹ glMatrixLoadfEXT

glMatrixLoadfEXT_c($mode, $m);
glMatrixLoadfEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. f for float, fr fr.


๐Ÿ’… glMatrixMode

glMatrixMode($mode);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMatrixMode.xml>


๐ŸŽ€ glMatrixMult3x2fNV

glMatrixMult3x2fNV_c($matrixMode, $m);

Exported under tag :GL_NV_path_rendering. mult 3x2, she's giving math.


โœจ glMatrixMult3x3fNV

glMatrixMult3x3fNV_c($matrixMode, $m);

Exported under tag :GL_NV_path_rendering. mult 3x3, main character energy.


๐Ÿ’œ glMatrixMultTranspose3x3fNV

glMatrixMultTranspose3x3fNV_c($matrixMode, $m);

Exported under tag :GL_NV_path_rendering. transpose mult, obsessed.


๐ŸŒˆ glMatrixMultTransposedEXT

glMatrixMultTransposedEXT_c($mode, $m);
glMatrixMultTransposedEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. d + p, versatile queen.


๐Ÿ“ glMatrixMultTransposefEXT

glMatrixMultTransposefEXT_c($mode, $m);
glMatrixMultTransposefEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. f + p, we love a duo.


๐Ÿ”ฅ glMatrixMultdEXT

glMatrixMultdEXT_c($mode, $m);
glMatrixMultdEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. double trouble.


๐ŸŒธ glMatrixMultfEXT

glMatrixMultfEXT_c($mode, $m);
glMatrixMultfEXT_p($mode, @m);

Exported under tag :GL_EXT_direct_state_access. float vibes only.


๐Ÿงš glMatrixOrthoEXT

glMatrixOrthoEXT($mode, $left, $right, $bottom, $top, $zNear, $zFar);

Exported under tag :GL_EXT_direct_state_access. ortho said stay in your lane.


๐Ÿฆ‹ glMatrixPopEXT

glMatrixPopEXT($mode);

Exported under tag :GL_EXT_direct_state_access. pop off, literally.


๐Ÿ’… glMatrixPushEXT

glMatrixPushEXT($mode);

Exported under tag :GL_EXT_direct_state_access. push it, push it.


๐ŸŽ€ glMatrixRotatedEXT

glMatrixRotatedEXT($mode, $angle, $x, $y, $z);

Exported under tag :GL_EXT_direct_state_access. rotated d, she turns heads.


โœจ glMatrixRotatefEXT

glMatrixRotatefEXT($mode, $angle, $x, $y, $z);

Exported under tag :GL_EXT_direct_state_access. rotated f, same energy.


๐Ÿ’œ glMatrixScaledEXT

glMatrixScaledEXT($mode, $x, $y, $z);

Exported under tag :GL_EXT_direct_state_access. scaled d, proportional queen.


๐ŸŒˆ glMatrixScalefEXT

glMatrixScalefEXT($mode, $x, $y, $z);

Exported under tag :GL_EXT_direct_state_access. scaled f, no notes.


๐Ÿ“ glMatrixTranslatedEXT

glMatrixTranslatedEXT($mode, $x, $y, $z);

Exported under tag :GL_EXT_direct_state_access. translated d, moving different.


๐Ÿ”ฅ glMatrixTranslatefEXT

glMatrixTranslatefEXT($mode, $x, $y, $z);

Exported under tag :GL_EXT_direct_state_access. translated f, we move.


๐ŸŒธ glMaxActiveShaderCoresARM

glMaxActiveShaderCoresARM($count);

Exported under tag :GL_ARM_shader_core_properties. core count, periodt.


๐Ÿงš glMaxShaderCompilerThreadsKHR

glMaxShaderCompilerThreadsKHR($count);
glMaxShaderCompilerThreadsARB($count);

Exported under tag :GL_KHR_parallel_shader_compile. threads said multithread the compiler.


๐Ÿฆ‹ glMemoryBarrier

glMemoryBarrier($barriers);
glMemoryBarrierEXT($barriers);

Exported under tag :GL_ARB_shader_image_load_store. barrier up, bestie.


๐Ÿ’… glMemoryBarrierByRegion

glMemoryBarrierByRegion($barriers);

Exported under tag :GL_ARB_ES3_1_compatibility. by region, she's specific.


๐ŸŽ€ glMemoryObjectParameterivEXT

glMemoryObjectParameterivEXT_c($memoryObject, $pname, $params);

Exported under tag :GL_EXT_memory_object. memory object parameteriv, iconic.


โœจ glMeshBreadthSGIX

glMeshBreadthSGIX($breadth);

Exported under tag :GL_SGIX_quad_mesh. breadth, not width. respect.


๐Ÿ’œ glMeshStrideSGIX

glMeshStrideSGIX($stride);

Exported under tag :GL_SGIX_quad_mesh. stride with pride.


๐ŸŒˆ glMinSampleShading

glMinSampleShading($value);
glMinSampleShadingARB($value);

Exported under tag :GL_VERSION_4_0. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glMinSampleShading.xhtml>


๐Ÿ“ glMinSampleShadingOES

glMinSampleShadingOES($value);

Exported under tag :GL_OES_sample_shading. OES min sample shading, she's here.


๐Ÿ”ฅ glMinmax

glMinmax($target, $internalformat, $sink);
glMinmaxEXT($target, $internalformat, $sink);

Exported under tag :GL_ARB_imaging. minmax, the name says it all.


๐ŸŒธ glMultMatrixd

glMultMatrixd_c($m);
glMultMatrixd_p(@m);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMultMatrixd.xml>


๐Ÿงš glMultMatrixf

glMultMatrixf_c($m);
glMultMatrixf_p(@m);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMultMatrixf.xml>


๐Ÿฆ‹ glMultMatrixx

glMultMatrixx_c($m);
glMultMatrixx_p(@m);

Exported under tag :GL_REGAL_ES1_0_compatibility. x variant, keeping it REGAL.


๐Ÿ’… glMultTransposeMatrixd

glMultTransposeMatrixd_c($m);
glMultTransposeMatrixdARB_c($m);
glMultTransposeMatrixd_p(@m);
glMultTransposeMatrixdARB_p(@m);

Exported under tag :GL_VERSION_1_3. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMultTransposeMatrixd.xml>


๐ŸŽ€ glMultTransposeMatrixf

glMultTransposeMatrixf_c($m);
glMultTransposeMatrixfARB_c($m);
glMultTransposeMatrixf_p(@m);
glMultTransposeMatrixfARB_p(@m);

Exported under tag :GL_VERSION_1_3. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glMultTransposeMatrixf.xml>


โœจ glMultiDrawArrays

glMultiDrawArrays_c($mode, $first, $count, $drawcount);
glMultiDrawArraysEXT_c($mode, $first, $count, $drawcount);
glMultiDrawArrays_p($mode, \@first, \@count);
glMultiDrawArraysEXT_p($mode, \@first, \@count);

Exported under tag :GL_VERSION_1_4. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glMultiDrawArrays.xhtml>


๐Ÿ’œ glMultiDrawArraysIndirect

glMultiDrawArraysIndirect_c($mode, $indirect, $drawcount, $stride);
glMultiDrawArraysIndirectAMD_c($mode, $indirect, $drawcount, $stride);
glMultiDrawArraysIndirectEXT_c($mode, $indirect, $drawcount, $stride);

Exported under tag :GL_ARB_multi_draw_indirect. indirect said do it without me looking.


๐ŸŒˆ glMultiDrawArraysIndirectBindlessCountNV

glMultiDrawArraysIndirectBindlessCountNV_c($mode, $indirect, $drawCount, $maxDrawCount, $stride, $vertexBufferCount);

Exported under tag :GL_NV_bindless_multi_draw_indirect_count. bindless count? she's extra in the best way.


๐Ÿ“ glMultiDrawArraysIndirectBindlessNV

glMultiDrawArraysIndirectBindlessNV_c($mode, $indirect, $drawCount, $stride, $vertexBufferCount);

Exported under tag :GL_NV_bindless_multi_draw_indirect. bindless NV, no cap.


๐Ÿ”ฅ glMultiDrawArraysIndirectCount

glMultiDrawArraysIndirectCount_c($mode, $indirect, $drawcount, $maxdrawcount, $stride);
glMultiDrawArraysIndirectCountARB_c($mode, $indirect, $drawcount, $maxdrawcount, $stride);

Exported under tag :GL_VERSION_4_6. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glMultiDrawArraysIndirectCount.xhtml>


๐ŸŒธ glMultiDrawElementArrayAPPLE

glMultiDrawElementArrayAPPLE_c($mode, $first, $count, $primcount);
glMultiDrawElementArrayAPPLE_p($mode, \@first, \@count);

Exported under tag :GL_APPLE_element_array. APPLE element array, she's fruity.


๐Ÿงš glMultiDrawElements

glMultiDrawElements_c($mode, $count, $type, $indices, $drawcount);
glMultiDrawElementsEXT_c($mode, $count, $type, $indices, $drawcount);

Exported under tag :GL_VERSION_1_4. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glMultiDrawElements.xhtml>


๐Ÿฆ‹ glMultiDrawElementsBaseVertex

glMultiDrawElementsBaseVertex_c($mode, $count, $type, $indices, $drawcount, $basevertex);
glMultiDrawElementsBaseVertexEXT_c($mode, $count, $type, $indices, $drawcount, $basevertex);

Exported under tag :GL_ARB_draw_elements_base_vertex. base vertex said start from somewhere else, periodt.

glMultiDrawElementsIndirect ๐ŸŽ€

three flavours, identical args, pick your fighter:

glMultiDrawElementsIndirect_c($mode, $type, $indirect, $drawcount, $stride);
glMultiDrawElementsIndirectAMD_c($mode, $type, $indirect, $drawcount, $stride);
glMultiDrawElementsIndirectEXT_c($mode, $type, $indirect, $drawcount, $stride);

Exported under tag :GL_ARB_multi_draw_indirect.


glMultiDrawElementsIndirectBindlessCountNV โœจ

glMultiDrawElementsIndirectBindlessCountNV_c($mode, $type, $indirect, $drawCount, $maxDrawCount, $stride, $vertexBufferCount);

Exported under tag :GL_NV_bindless_multi_draw_indirect_count.


glMultiDrawElementsIndirectBindlessNV โœจ

glMultiDrawElementsIndirectBindlessNV_c($mode, $type, $indirect, $drawCount, $stride, $vertexBufferCount);

Exported under tag :GL_NV_bindless_multi_draw_indirect.


glMultiDrawElementsIndirectCount ๐Ÿ’–

glMultiDrawElementsIndirectCount_c($mode, $type, $indirect, $drawcount, $maxdrawcount, $stride);
glMultiDrawElementsIndirectCountARB_c($mode, $type, $indirect, $drawcount, $maxdrawcount, $stride);

Exported under tag :GL_VERSION_4_6. the docs live over at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glMultiDrawElementsIndirectCount.xhtml if you wanna go read them, bestie ๐Ÿซถ


glMultiDrawMeshTasksIndirectCountEXT ๐Ÿฆ‹

glMultiDrawMeshTasksIndirectCountEXT($indirect, $drawcount, $maxdrawcount, $stride);

Exported under tag :GL_EXT_mesh_shader.

not a single _c suffix in sight for these mesh-task girlies, jsyk ๐Ÿ™ˆ the name is the name.

glMultiDrawMeshTasksIndirectCountNV ๐Ÿฆ‹

glMultiDrawMeshTasksIndirectCountNV($indirect, $drawcount, $maxdrawcount, $stride);

Exported under tag :GL_NV_mesh_shader.


glMultiDrawMeshTasksIndirectEXT ๐ŸŒธ

glMultiDrawMeshTasksIndirectEXT($indirect, $drawcount, $stride);

Exported under tag :GL_EXT_mesh_shader.


glMultiDrawMeshTasksIndirectNV ๐ŸŒธ

glMultiDrawMeshTasksIndirectNV($indirect, $drawcount, $stride);

Exported under tag :GL_NV_mesh_shader.


glMultiDrawRangeElementArrayAPPLE ๐Ÿ’…

glMultiDrawRangeElementArrayAPPLE_c($mode, $start, $end, $first, $count, $primcount);
glMultiDrawRangeElementArrayAPPLE_p($mode, $start, $end, \@first, \@count);

Exported under tag :GL_APPLE_element_array.


glMultiModeDrawArraysIBM โญ

glMultiModeDrawArraysIBM_c($mode, $first, $count, $primcount, $modestride);

Exported under tag :GL_IBM_multimode_draw_arrays.


glMultiModeDrawElementsIBM โญ

glMultiModeDrawElementsIBM_c($mode, $count, $type, $indices, $primcount, $modestride);

Exported under tag :GL_IBM_multimode_draw_arrays.


glMultiTexBufferEXT ๐Ÿงš

glMultiTexBufferEXT($texunit, $target, $internalformat, $buffer);

Exported under tag :GL_EXT_direct_state_access.


glMultiTexCoord1d ๐Ÿ‘‘

glMultiTexCoord1d($target, $s);
glMultiTexCoord1dARB($target, $s);

Exported under tag :GL_VERSION_1_3. heads up though โ€” not available in a 'future-compatible' profile, because it got removed in 3.2. ๐Ÿ’€


glMultiTexCoord1dv ๐Ÿ‘‘

glMultiTexCoord1dv_c($target, $v);
glMultiTexCoord1dvARB_c($target, $v);
glMultiTexCoord1dv_p($target, @v);
glMultiTexCoord1dvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. and same deal: not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ


glMultiTexCoord1f ๐Ÿ’œ

glMultiTexCoord1f($target, $s);
glMultiTexCoord1fARB($target, $s);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile either, 'cause 3.2 took it out. ๐Ÿ’€


glMultiTexCoord1fv ๐Ÿ’œ

glMultiTexCoord1fv_c($target, $v);
glMultiTexCoord1fvARB_c($target, $v);
glMultiTexCoord1fv_p($target, @v);
glMultiTexCoord1fvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. yep โ€” not available in a 'future-compatible' profile, removed in 3.2.


glMultiTexCoord1hNV ๐ŸŒˆ

glMultiTexCoord1hNV($target, $s);

Exported under tag :GL_NV_half_float.


glMultiTexCoord1hvNV ๐ŸŒˆ

glMultiTexCoord1hvNV_c($target, $v);
glMultiTexCoord1hvNV_p($target, @v);

Exported under tag :GL_NV_half_float.


glMultiTexCoord1i ๐Ÿ“

glMultiTexCoord1i($target, $s);
glMultiTexCoord1iARB($target, $s);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, gone since 3.2.


glMultiTexCoord1iv ๐Ÿ“

glMultiTexCoord1iv_c($target, $v);
glMultiTexCoord1ivARB_c($target, $v);
glMultiTexCoord1iv_p($target, @v);
glMultiTexCoord1ivARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ


glMultiTexCoord1s ๐ŸŒธ

glMultiTexCoord1s($target, $s);
glMultiTexCoord1sARB($target, $s);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, since 3.2 said bye ๐Ÿ’…


glMultiTexCoord1sv ๐ŸŒธ

glMultiTexCoord1sv_c($target, $v);
glMultiTexCoord1svARB_c($target, $v);
glMultiTexCoord1sv_p($target, @v);
glMultiTexCoord1svARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile โ€” removed in 3.2, no cap.


glMultiTexCoord2d ๐Ÿ‘‘

glMultiTexCoord2d($target, $s, $t);
glMultiTexCoord2dARB($target, $s, $t);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ’€


glMultiTexCoord2dv ๐Ÿ‘‘

glMultiTexCoord2dv_c($target, $v);
glMultiTexCoord2dvARB_c($target, $v);
glMultiTexCoord2dv_p($target, @v);
glMultiTexCoord2dvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, it's a 3.2 removal situation. ๐Ÿ˜ญ


glMultiTexCoord2f ๐Ÿ’œ

glMultiTexCoord2f($target, $s, $t);
glMultiTexCoord2fARB($target, $s, $t);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2.


glMultiTexCoord2fv ๐Ÿ’œ

glMultiTexCoord2fv_c($target, $v);
glMultiTexCoord2fvARB_c($target, $v);
glMultiTexCoord2fv_p($target, @v);
glMultiTexCoord2fvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile โ€” 3.2 removed it, rip.


glMultiTexCoord2hNV ๐ŸŒˆ

glMultiTexCoord2hNV($target, $s, $t);

Exported under tag :GL_NV_half_float.


glMultiTexCoord2hvNV ๐ŸŒˆ

glMultiTexCoord2hvNV_c($target, $v);
glMultiTexCoord2hvNV_p($target, @v);

Exported under tag :GL_NV_half_float.


glMultiTexCoord2i ๐Ÿ“

glMultiTexCoord2i($target, $s, $t);
glMultiTexCoord2iARB($target, $s, $t);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ


glMultiTexCoord2iv ๐Ÿ“

glMultiTexCoord2iv_c($target, $v);
glMultiTexCoord2ivARB_c($target, $v);
glMultiTexCoord2iv_p($target, @v);
glMultiTexCoord2ivARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, 'cause 3.2 removed it. ๐Ÿ’€


glMultiTexCoord2s ๐ŸŒธ

glMultiTexCoord2s($target, $s, $t);
glMultiTexCoord2sARB($target, $s, $t);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2.


glMultiTexCoord2sv ๐ŸŒธ

glMultiTexCoord2sv_c($target, $v);
glMultiTexCoord2svARB_c($target, $v);
glMultiTexCoord2sv_p($target, @v);
glMultiTexCoord2svARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, since 3.2 took it out back.


glMultiTexCoord3d ๐Ÿ‘‘

glMultiTexCoord3d($target, $s, $t, $r);
glMultiTexCoord3dARB($target, $s, $t, $r);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ


glMultiTexCoord3dv ๐Ÿ‘‘

glMultiTexCoord3dv_c($target, $v);
glMultiTexCoord3dvARB_c($target, $v);
glMultiTexCoord3dv_p($target, @v);
glMultiTexCoord3dvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile โ€” 3.2 removal, bestie, don't try it. ๐Ÿ’€


glMultiTexCoord3f ๐Ÿ’œ

glMultiTexCoord3f($target, $s, $t, $r);
glMultiTexCoord3fARB($target, $s, $t, $r);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2.


glMultiTexCoord3fv ๐Ÿ’œ

glMultiTexCoord3fv_c($target, $v);
glMultiTexCoord3fvARB_c($target, $v);
glMultiTexCoord3fv_p($target, @v);
glMultiTexCoord3fvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, 3.2 said begone โœจ


glMultiTexCoord3hNV ๐ŸŒˆ

glMultiTexCoord3hNV($target, $s, $t, $r);

Exported under tag :GL_NV_half_float.


glMultiTexCoord3hvNV ๐ŸŒˆ

glMultiTexCoord3hvNV_c($target, $v);
glMultiTexCoord3hvNV_p($target, @v);

Exported under tag :GL_NV_half_float.


glMultiTexCoord3i ๐Ÿ“

glMultiTexCoord3i($target, $s, $t, $r);
glMultiTexCoord3iARB($target, $s, $t, $r);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ


glMultiTexCoord3iv ๐Ÿ“

glMultiTexCoord3iv_c($target, $v);
glMultiTexCoord3ivARB_c($target, $v);
glMultiTexCoord3iv_p($target, @v);
glMultiTexCoord3ivARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, 'cause of the 3.2 removal. ๐Ÿ’€


glMultiTexCoord3s ๐ŸŒธ

glMultiTexCoord3s($target, $s, $t, $r);
glMultiTexCoord3sARB($target, $s, $t, $r);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2.


glMultiTexCoord3sv ๐ŸŒธ

glMultiTexCoord3sv_c($target, $v);
glMultiTexCoord3svARB_c($target, $v);
glMultiTexCoord3sv_p($target, @v);
glMultiTexCoord3svARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ


glMultiTexCoord4d ๐Ÿ‘‘

glMultiTexCoord4d($target, $s, $t, $r, $q);
glMultiTexCoord4dARB($target, $s, $t, $r, $q);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2.


glMultiTexCoord4dv ๐Ÿ‘‘

glMultiTexCoord4dv_c($target, $v);
glMultiTexCoord4dvARB_c($target, $v);
glMultiTexCoord4dv_p($target, @v);
glMultiTexCoord4dvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, 3.2 removal moment ๐Ÿ’€


glMultiTexCoord4f ๐Ÿ’œ

glMultiTexCoord4f($target, $s, $t, $r, $q);
glMultiTexCoord4fARB($target, $s, $t, $r, $q);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ


glMultiTexCoord4fv ๐Ÿ’œ

glMultiTexCoord4fv_c($target, $v);
glMultiTexCoord4fvARB_c($target, $v);
glMultiTexCoord4fv_p($target, @v);
glMultiTexCoord4fvARB_p($target, @v);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, taken out in 3.2.


glMultiTexCoord4hNV ๐ŸŒˆ

glMultiTexCoord4hNV($target, $s, $t, $r, $q);

Exported under tag :GL_NV_half_float.


glMultiTexCoord4hvNV ๐ŸŒˆ

glMultiTexCoord4hvNV_c($target, $v);
glMultiTexCoord4hvNV_p($target, @v);

Exported under tag :GL_NV_half_float.


glMultiTexCoord4i ๐Ÿ“

glMultiTexCoord4i($target, $s, $t, $r, $q);
glMultiTexCoord4iARB($target, $s, $t, $r, $q);

Exported under tag :GL_VERSION_1_3. not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ’€

๐Ÿ’– glMultiTexCoord4iv

glMultiTexCoord4iv_c($target, $v);
glMultiTexCoord4ivARB_c($target, $v);
glMultiTexCoord4iv_p($target, @v);
glMultiTexCoord4ivARB_p($target, @v);

Lives under the :GL_VERSION_1_3 export tag bestie. โš ๏ธ But heads up โ€” it's NOT available in a 'future-compatible' profile, because it got removed in 3.2. so if you're on that profile, it's giving ghost. ๐Ÿ‘ป


๐ŸŒธ glMultiTexCoord4s

glMultiTexCoord4s($target, $s, $t, $r, $q);
glMultiTexCoord4sARB($target, $s, $t, $r, $q);

Tagged :GL_VERSION_1_3. And yeah, same situation โ€” not in a 'future-compatible' profile, removed back in 3.2. periodt. ๐Ÿ’…


๐Ÿ’œ glMultiTexCoord4sv

glMultiTexCoord4sv_c($target, $v);
glMultiTexCoord4svARB_c($target, $v);
glMultiTexCoord4sv_p($target, @v);
glMultiTexCoord4svARB_p($target, @v);

::GL_VERSION_1_3 exports it. Not available in a 'future-compatible' profile tho โ€” removed in 3.2, no cap. ๐Ÿ˜ญ


โœจ glMultiTexCoord4x

glMultiTexCoord4x($texture, $s, $t, $r, $q);

Exported under the tag :GL_REGAL_ES1_0_compatibility. that's the whole vibe. ๐Ÿซถ


๐ŸŽ€ glMultiTexCoordP1ui

glMultiTexCoordP1ui($texture, $type, $coords);

Serving under the export tag :GL_ARB_vertex_type_2_10_10_10_rev. โœจ


๐ŸŒˆ glMultiTexCoordP1uiv

glMultiTexCoordP1uiv_c($texture, $type, $coords);
glMultiTexCoordP1uiv_p($texture, $type, @coords);

Tagged :GL_ARB_vertex_type_2_10_10_10_rev, bestie. ๐Ÿ’…


๐Ÿฆ‹ glMultiTexCoordP2ui

glMultiTexCoordP2ui($texture, $type, $coords);

Exported under the tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐ŸŽ€


๐Ÿ’– glMultiTexCoordP2uiv

glMultiTexCoordP2uiv_c($texture, $type, $coords);
glMultiTexCoordP2uiv_p($texture, $type, @coords);

Carries the :GL_ARB_vertex_type_2_10_10_10_rev tag, iykyk. โœจ


๐ŸŒธ glMultiTexCoordP3ui

glMultiTexCoordP3ui($texture, $type, $coords);

Exported under :GL_ARB_vertex_type_2_10_10_10_rev. ๐Ÿ’œ


๐Ÿ’œ glMultiTexCoordP3uiv

glMultiTexCoordP3uiv_c($texture, $type, $coords);
glMultiTexCoordP3uiv_p($texture, $type, @coords);

Yep, another one under :GL_ARB_vertex_type_2_10_10_10_rev. ๐Ÿซถ


โœจ glMultiTexCoordP4ui

glMultiTexCoordP4ui($texture, $type, $coords);

Exported under :GL_ARB_vertex_type_2_10_10_10_rev. no notes. ๐Ÿ’…


๐ŸŽ€ glMultiTexCoordP4uiv

glMultiTexCoordP4uiv_c($texture, $type, $coords);
glMultiTexCoordP4uiv_p($texture, $type, @coords);

Tag check: :GL_ARB_vertex_type_2_10_10_10_rev. iconic. ๐ŸŒˆ


๐ŸŒˆ glMultiTexCoordPointerEXT

glMultiTexCoordPointerEXT_c($texunit, $size, $type, $stride, $pointer);

Lives under the export tag :GL_EXT_direct_state_access. ๐Ÿ‘‘


๐Ÿฆ‹ glMultiTexEnvfEXT

glMultiTexEnvfEXT($texunit, $target, $pname, $param);

Exported under :GL_EXT_direct_state_access. ๐Ÿ’–


๐Ÿ’– glMultiTexEnvfvEXT

glMultiTexEnvfvEXT_c($texunit, $target, $pname, $params);
glMultiTexEnvfvEXT_p($texunit, $target, $pname, @params);

Tagged :GL_EXT_direct_state_access, bestie. โœจ


๐ŸŒธ glMultiTexEnviEXT

glMultiTexEnviEXT($texunit, $target, $pname, $param);

Exported under :GL_EXT_direct_state_access. ๐ŸŽ€


๐Ÿ’œ glMultiTexEnvivEXT

glMultiTexEnvivEXT_c($texunit, $target, $pname, $params);
glMultiTexEnvivEXT_p($texunit, $target, $pname, @params);

:GL_EXT_direct_state_access is the tag. periodt. ๐Ÿ’…


โœจ glMultiTexGendEXT

glMultiTexGendEXT($texunit, $coord, $pname, $param);

Exported under :GL_EXT_direct_state_access. ๐Ÿซถ


๐ŸŽ€ glMultiTexGendvEXT

glMultiTexGendvEXT_c($texunit, $coord, $pname, $params);
glMultiTexGendvEXT_p($texunit, $coord, $pname, @params);

Tag: :GL_EXT_direct_state_access. ๐ŸŒˆ


๐ŸŒˆ glMultiTexGenfEXT

glMultiTexGenfEXT($texunit, $coord, $pname, $param);

Exported under :GL_EXT_direct_state_access. ๐Ÿ’œ


๐Ÿฆ‹ glMultiTexGenfvEXT

glMultiTexGenfvEXT_c($texunit, $coord, $pname, $params);
glMultiTexGenfvEXT_p($texunit, $coord, $pname, @params);

Exported under :GL_EXT_direct_state_access. โœจ


๐Ÿ’– glMultiTexGeniEXT

glMultiTexGeniEXT($texunit, $coord, $pname, $param);

Tagged :GL_EXT_direct_state_access. ๐ŸŽ€


๐ŸŒธ glMultiTexGenivEXT

glMultiTexGenivEXT_c($texunit, $coord, $pname, $params);
glMultiTexGenivEXT_p($texunit, $coord, $pname, @params);

Exported under :GL_EXT_direct_state_access. ๐Ÿ’…


๐Ÿ’œ glMultiTexImage1DEXT

glMultiTexImage1DEXT_c($texunit, $target, $level, $internalformat, $width, $border, $format, $type, $pixels);

Lives under :GL_EXT_direct_state_access. ๐Ÿซถ


โœจ glMultiTexImage2DEXT

glMultiTexImage2DEXT_c($texunit, $target, $level, $internalformat, $width, $height, $border, $format, $type, $pixels);

Exported under :GL_EXT_direct_state_access. ๐Ÿ‘‘


๐ŸŽ€ glMultiTexImage3DEXT

glMultiTexImage3DEXT_c($texunit, $target, $level, $internalformat, $width, $height, $depth, $border, $format, $type, $pixels);

Exported under :GL_EXT_direct_state_access. ๐ŸŒˆ


๐ŸŒˆ glMultiTexParameterIivEXT

glMultiTexParameterIivEXT_c($texunit, $target, $pname, $params);
glMultiTexParameterIivEXT_p($texunit, $target, $pname, @params);

Tagged :GL_EXT_direct_state_access. ๐Ÿ’–


๐Ÿฆ‹ glMultiTexParameterIuivEXT

glMultiTexParameterIuivEXT_c($texunit, $target, $pname, $params);
glMultiTexParameterIuivEXT_p($texunit, $target, $pname, @params);

Exported under :GL_EXT_direct_state_access. โœจ


๐Ÿ’– glMultiTexParameterfEXT

glMultiTexParameterfEXT($texunit, $target, $pname, $param);

Exported under :GL_EXT_direct_state_access. ๐Ÿ’œ


๐ŸŒธ glMultiTexParameterfvEXT

glMultiTexParameterfvEXT_c($texunit, $target, $pname, $params);
glMultiTexParameterfvEXT_p($texunit, $target, $pname, @params);

:GL_EXT_direct_state_access tag, bestie. ๐ŸŽ€


๐Ÿ’œ glMultiTexParameteriEXT

glMultiTexParameteriEXT($texunit, $target, $pname, $param);

Exported under :GL_EXT_direct_state_access. ๐Ÿ’…


โœจ glMultiTexParameterivEXT

glMultiTexParameterivEXT_c($texunit, $target, $pname, $params);
glMultiTexParameterivEXT_p($texunit, $target, $pname, @params);

Exported under :GL_EXT_direct_state_access. ๐Ÿซถ


๐ŸŽ€ glMultiTexRenderbufferEXT

glMultiTexRenderbufferEXT($texunit, $target, $renderbuffer);

Tag check: :GL_EXT_direct_state_access. ๐Ÿ‘‘


๐ŸŒˆ glMultiTexSubImage1DEXT

glMultiTexSubImage1DEXT_c($texunit, $target, $level, $xoffset, $width, $format, $type, $pixels);

Exported under :GL_EXT_direct_state_access. โœจ


๐Ÿฆ‹ glMultiTexSubImage2DEXT

glMultiTexSubImage2DEXT_c($texunit, $target, $level, $xoffset, $yoffset, $width, $height, $format, $type, $pixels);

Exported under :GL_EXT_direct_state_access. ๐Ÿ’–


๐Ÿ’– glMultiTexSubImage3DEXT

glMultiTexSubImage3DEXT_c($texunit, $target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $pixels);

Exported under :GL_EXT_direct_state_access. ๐ŸŽ€


๐ŸŒธ glMulticastBarrierNV

glMulticastBarrierNV();

Lives under the :GL_NV_gpu_multicast tag. ๐Ÿ’œ


๐Ÿ’œ glMulticastBlitFramebufferNV

glMulticastBlitFramebufferNV($srcGpu, $dstGpu, $srcX0, $srcY0, $srcX1, $srcY1, $dstX0, $dstY0, $dstX1, $dstY1, $mask, $filter);

Exported under :GL_NV_gpu_multicast. ๐Ÿ’…


โœจ glMulticastBufferSubDataNV

glMulticastBufferSubDataNV_c($gpuMask, $buffer, $offset, $size, $data);

Tagged :GL_NV_gpu_multicast. ๐Ÿซถ


๐ŸŽ€ glMulticastCopyBufferSubDataNV

glMulticastCopyBufferSubDataNV($readGpu, $writeGpuMask, $readBuffer, $writeBuffer, $readOffset, $writeOffset, $size);

Exported under :GL_NV_gpu_multicast. ๐Ÿ‘‘


๐ŸŒˆ glMulticastCopyImageSubDataNV

glMulticastCopyImageSubDataNV($srcGpu, $dstGpuMask, $srcName, $srcTarget, $srcLevel, $srcX, $srcY, $srcZ, $dstName, $dstTarget, $dstLevel, $dstX, $dstY, $dstZ, $srcWidth, $srcHeight, $srcDepth);

Exported under :GL_NV_gpu_multicast. ๐ŸŒˆ


๐Ÿฆ‹ glMulticastFramebufferSampleLocationsfvNV

glMulticastFramebufferSampleLocationsfvNV_c($gpu, $framebuffer, $start, $count, $v);

Exported under :GL_NV_gpu_multicast. โœจ


๐Ÿ’– glMulticastGetQueryObjecti64vNV

glMulticastGetQueryObjecti64vNV_c($gpu, $id, $pname, $params);

:GL_NV_gpu_multicast tag, bestie. ๐Ÿ’–


๐ŸŒธ glMulticastGetQueryObjectivNV

glMulticastGetQueryObjectivNV_c($gpu, $id, $pname, $params);

Exported under :GL_NV_gpu_multicast. ๐Ÿ’œ


๐Ÿ’œ glMulticastGetQueryObjectui64vNV

glMulticastGetQueryObjectui64vNV_c($gpu, $id, $pname, $params);

Exported under :GL_NV_gpu_multicast. ๐Ÿ’…


โœจ glMulticastGetQueryObjectuivNV

glMulticastGetQueryObjectuivNV_c($gpu, $id, $pname, $params);

Exported under :GL_NV_gpu_multicast. ๐Ÿซถ


๐ŸŽ€ glMulticastScissorArrayvNVX

glMulticastScissorArrayvNVX_c($gpu, $first, $count, $v);
glMulticastScissorArrayvNVX_p($gpu, $first, @v);

Tagged :GL_NVX_gpu_multicast2. ๐Ÿ‘‘


๐ŸŒˆ glMulticastViewportArrayvNVX

glMulticastViewportArrayvNVX_c($gpu, $first, $count, $v);
glMulticastViewportArrayvNVX_p($gpu, $first, @v);

Exported under :GL_NVX_gpu_multicast2. ๐ŸŒˆ


๐Ÿฆ‹ glMulticastViewportPositionWScaleNVX

glMulticastViewportPositionWScaleNVX($gpu, $index, $xcoeff, $ycoeff);

Exported under :GL_NVX_gpu_multicast2. โœจ


๐Ÿ’– glMulticastWaitSyncNV

glMulticastWaitSyncNV($signalGpu, $waitGpuMask);

Exported under :GL_NV_gpu_multicast. ๐Ÿ’–


๐ŸŒธ glMultisampleSubRectPosSGIS

glMultisampleSubRectPosSGIS($x, $y);

Lives under the :GL_SGIS_shared_multisample tag. ๐Ÿ’œ


๐Ÿ’œ glNamedBufferAttachMemoryNV

glNamedBufferAttachMemoryNV($buffer, $memory, $offset);

Exported under :GL_NV_memory_attachment. ๐Ÿ’…


โœจ glNamedBufferData

glNamedBufferData_c($buffer, $size, $data, $usage);

Tagged :GL_ARB_direct_state_access. ๐Ÿซถ


๐ŸŽ€ glNamedBufferDataEXT

glNamedBufferDataEXT_c($buffer, $size, $data, $usage);

Exported under :GL_EXT_direct_state_access. ๐Ÿ‘‘


๐ŸŒˆ glNamedBufferPageCommitmentMemNV

glNamedBufferPageCommitmentMemNV($buffer, $offset, $size, $memory, $memOffset, $commit);

Exported under :GL_NV_memory_object_sparse. ๐ŸŒˆ


๐Ÿฆ‹ glNamedBufferStorage

glNamedBufferStorage_c($buffer, $size, $data, $flags);
glNamedBufferStorageEXT_c($buffer, $size, $data, $flags);

Exported under :GL_ARB_direct_state_access. โœจ


๐Ÿ’– glNamedBufferStorageExternalEXT

glNamedBufferStorageExternalEXT($buffer, $offset, $size, $clientBuffer, $flags);

Exported under :GL_EXT_external_buffer. ๐Ÿ’–


๐ŸŒธ glNamedBufferStorageMemEXT

glNamedBufferStorageMemEXT($buffer, $size, $memory, $offset);

Exported under :GL_EXT_memory_object. ๐Ÿ’œ


๐Ÿ’œ glNamedBufferSubData

glNamedBufferSubData_c($buffer, $offset, $size, $data);
glNamedBufferSubDataEXT_c($buffer, $offset, $size, $data);

Exported under :GL_ARB_direct_state_access. ๐Ÿ’…


โœจ glNamedCopyBufferSubDataEXT

glNamedCopyBufferSubDataEXT($readBuffer, $writeBuffer, $readOffset, $writeOffset, $size);

Tag check: :GL_EXT_direct_state_access. ๐Ÿซถ


๐ŸŽ€ glNamedFramebufferDrawBuffer

glNamedFramebufferDrawBuffer($framebuffer, $buf);

Exported under :GL_ARB_direct_state_access. ๐Ÿ‘‘


๐ŸŒˆ glNamedFramebufferDrawBuffers

glNamedFramebufferDrawBuffers_c($framebuffer, $n, $bufs);
glNamedFramebufferDrawBuffers_p($framebuffer, @bufs);

Exported under :GL_ARB_direct_state_access. ๐ŸŒˆ


๐Ÿฆ‹ glNamedFramebufferParameteri

glNamedFramebufferParameteri($framebuffer, $pname, $param);

Exported under :GL_ARB_direct_state_access. โœจ


๐Ÿ’– glNamedFramebufferParameteriEXT

glNamedFramebufferParameteriEXT($framebuffer, $pname, $param);

Exported under :GL_ARB_framebuffer_no_attachments. ๐Ÿ’–

glNamedFramebufferReadBuffer

glNamedFramebufferReadBuffer($framebuffer, $src);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’…


glNamedFramebufferRenderbuffer

glNamedFramebufferRenderbuffer($framebuffer, $attachment, $renderbuffertarget, $renderbuffer);

Exported under tag :GL_ARB_direct_state_access. โœจ


glNamedFramebufferRenderbufferEXT

glNamedFramebufferRenderbufferEXT($framebuffer, $attachment, $renderbuffertarget, $renderbuffer);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€


glNamedFramebufferSampleLocationsfvARB

glNamedFramebufferSampleLocationsfvARB_c($framebuffer, $start, $count, $v);

Exported under tag :GL_ARB_sample_locations. ๐ŸŒธ


glNamedFramebufferSampleLocationsfvNV

glNamedFramebufferSampleLocationsfvNV_c($framebuffer, $start, $count, $v);

Exported under tag :GL_NV_sample_locations. ๐Ÿฆ‹


glNamedFramebufferSamplePositionsfvAMD

glNamedFramebufferSamplePositionsfvAMD_c($framebuffer, $numsamples, $pixelindex, $values);

Exported under tag :GL_AMD_framebuffer_sample_positions. ๐Ÿ’–


glNamedFramebufferTexture

glNamedFramebufferTexture($framebuffer, $attachment, $texture, $level);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’…


glNamedFramebufferTexture1DEXT

glNamedFramebufferTexture1DEXT($framebuffer, $attachment, $textarget, $texture, $level);

Exported under tag :GL_EXT_direct_state_access. โœจ


glNamedFramebufferTexture2DEXT

glNamedFramebufferTexture2DEXT($framebuffer, $attachment, $textarget, $texture, $level);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€


glNamedFramebufferTexture3DEXT

glNamedFramebufferTexture3DEXT($framebuffer, $attachment, $textarget, $texture, $level, $zoffset);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒธ


glNamedFramebufferTextureEXT

glNamedFramebufferTextureEXT($framebuffer, $attachment, $texture, $level);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿฆ‹


glNamedFramebufferTextureFaceEXT

glNamedFramebufferTextureFaceEXT($framebuffer, $attachment, $texture, $level, $face);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’–


glNamedFramebufferTextureLayer

glNamedFramebufferTextureLayer($framebuffer, $attachment, $texture, $level, $layer);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ‘‘


glNamedFramebufferTextureLayerEXT

glNamedFramebufferTextureLayerEXT($framebuffer, $attachment, $texture, $level, $layer);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒˆ


glNamedFramebufferTextureMultiviewOVR

glNamedFramebufferTextureMultiviewOVR($framebuffer, $attachment, $texture, $level, $baseViewIndex, $numViews);

Exported under tag :GL_OVR_multiview. ๐Ÿ•ถ๏ธ


glNamedProgramLocalParameter4dEXT

glNamedProgramLocalParameter4dEXT($program, $target, $index, $x, $y, $z, $w);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’…


glNamedProgramLocalParameter4dvEXT

glNamedProgramLocalParameter4dvEXT_c($program, $target, $index, $params);
glNamedProgramLocalParameter4dvEXT_p($program, $target, $index, @params);

Exported under tag :GL_EXT_direct_state_access. โœจ โ€” notice bestie, there's a _c version that eats a $params arrayref and a _p version that just inhales your @params right off the stack. Pick your fighter. ๐Ÿ’–


glNamedProgramLocalParameter4fEXT

glNamedProgramLocalParameter4fEXT($program, $target, $index, $x, $y, $z, $w);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€


glNamedProgramLocalParameter4fvEXT

glNamedProgramLocalParameter4fvEXT_c($program, $target, $index, $params);
glNamedProgramLocalParameter4fvEXT_p($program, $target, $index, @params);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒธ


glNamedProgramLocalParameterI4iEXT

glNamedProgramLocalParameterI4iEXT($program, $target, $index, $x, $y, $z, $w);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿฆ‹


glNamedProgramLocalParameterI4ivEXT

glNamedProgramLocalParameterI4ivEXT_c($program, $target, $index, $params);
glNamedProgramLocalParameterI4ivEXT_p($program, $target, $index, @params);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’…


glNamedProgramLocalParameterI4uiEXT

glNamedProgramLocalParameterI4uiEXT($program, $target, $index, $x, $y, $z, $w);

Exported under tag :GL_EXT_direct_state_access. โœจ


glNamedProgramLocalParameterI4uivEXT

glNamedProgramLocalParameterI4uivEXT_c($program, $target, $index, $params);
glNamedProgramLocalParameterI4uivEXT_p($program, $target, $index, @params);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€


glNamedProgramLocalParameters4fvEXT

glNamedProgramLocalParameters4fvEXT_c($program, $target, $index, $count, $params);
glNamedProgramLocalParameters4fvEXT_p($program, $target, $index, $count, @params);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒธ โ€” that plural Parameters tho. One function, $count of them. Slay. ๐Ÿ‘‘


glNamedProgramLocalParametersI4ivEXT

glNamedProgramLocalParametersI4ivEXT_c($program, $target, $index, $count, $params);
glNamedProgramLocalParametersI4ivEXT_p($program, $target, $index, $count, @params);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿฆ‹


glNamedProgramLocalParametersI4uivEXT

glNamedProgramLocalParametersI4uivEXT_c($program, $target, $index, $count, $params);
glNamedProgramLocalParametersI4uivEXT_p($program, $target, $index, $count, @params);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’–


glNamedProgramStringEXT

glNamedProgramStringEXT_c($program, $target, $format, $len, $string);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒˆ


glNamedRenderbufferStorage

glNamedRenderbufferStorage($renderbuffer, $internalformat, $width, $height);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’…


glNamedRenderbufferStorageEXT

glNamedRenderbufferStorageEXT($renderbuffer, $internalformat, $width, $height);

Exported under tag :GL_EXT_direct_state_access. โœจ


glNamedRenderbufferStorageMultisample

glNamedRenderbufferStorageMultisample($renderbuffer, $samples, $internalformat, $width, $height);

Exported under tag :GL_ARB_direct_state_access. ๐ŸŽ€


glNamedRenderbufferStorageMultisampleAdvancedAMD

glNamedRenderbufferStorageMultisampleAdvancedAMD($renderbuffer, $samples, $storageSamples, $internalformat, $width, $height);

Exported under tag :GL_AMD_framebuffer_multisample_advanced. ๐ŸŒธ โ€” "Advanced" right in the name, main character energy fr fr. ๐Ÿ’…


glNamedRenderbufferStorageMultisampleCoverageEXT

glNamedRenderbufferStorageMultisampleCoverageEXT($renderbuffer, $coverageSamples, $colorSamples, $internalformat, $width, $height);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿฆ‹


glNamedRenderbufferStorageMultisampleEXT

glNamedRenderbufferStorageMultisampleEXT($renderbuffer, $samples, $internalformat, $width, $height);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿ’–


glNamedStringARB

glNamedStringARB($type, $namelen, $name, $stringlen, $string);

Exported under tag :GL_ARB_shading_language_include. ๐Ÿ‘‘


glNewBufferRegion

$retval = glNewBufferRegion($region);

Exported under tag :GL_KTX_buffer_region. ๐ŸŒˆ โ€” it hands you back a $retval, so catch it. โœจ


glNewList

glNewList($list, $mode);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glNewList.xml> โ€” lowkey a legacy baddie at this point, ngl. ๐Ÿ˜ญ

glNewObjectBufferATI

$retval = glNewObjectBufferATI_c($size, $pointer, $usage);

Exported under tag :GL_ATI_vertex_array_object. ๐Ÿ’… โ€” returns a $retval, don't lose it bestie. ๐ŸŽ€


glNonlinLightfvSGIX

glNonlinLightfvSGIX_c($light, $pname, $terms, $params);

Exported under tag :GL_SGIX_nonlinear_lighting_pervertex. ๐ŸŒธ โ€” "Nonlin" cutie, nonlinear lighting said shorter. ๐Ÿฆ‹


glNonlinMaterialfvSGIX

glNonlinMaterialfvSGIX_c($face, $pname, $terms, $params);

Exported under tag :GL_SGIX_nonlinear_lighting_pervertex. ๐Ÿ’–


glNormal3b

glNormal3b($nx, $ny, $nz);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3bv

glNormal3bv_c($v);
glNormal3bv_p(@v);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3d

glNormal3d($nx, $ny, $nz);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3dv

glNormal3dv_c($v);
glNormal3dv_p(@v);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3f

glNormal3f($nx, $ny, $nz);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3fVertex3fSUN

glNormal3fVertex3fSUN($nx, $ny, $nz, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โœจ โ€” one call, normal and vertex, it's giving multitask queen. ๐Ÿ‘‘


glNormal3fVertex3fvSUN

glNormal3fVertex3fvSUN_c($n, $v);
glNormal3fVertex3fvSUN_p(\@n, \@v);

Exported under tag :GL_SUN_vertex. ๐ŸŒธ โ€” note the _p version wants you to pass refs, so it's \@n and \@v. Respect the backslash bestie, it's doing important work. ๐Ÿ’…


glNormal3fv

glNormal3fv_c($v);
glNormal3fv_p(@v);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3hNV

glNormal3hNV($nx, $ny, $nz);

Exported under tag :GL_NV_half_float. ๐Ÿฆ‹ โ€” the h is half-float, an NV signature move. โœจ


glNormal3hvNV

glNormal3hvNV_c($v);
glNormal3hvNV_p(@v);

Exported under tag :GL_NV_half_float. ๐Ÿ’–


glNormal3i

glNormal3i($nx, $ny, $nz);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3iv

glNormal3iv_c($v);
glNormal3iv_p(@v);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3s

glNormal3s($nx, $ny, $nz);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3sv

glNormal3sv_c($v);
glNormal3sv_p(@v);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glNormal3x

glNormal3x($nx, $ny, $nz);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐ŸŽ€


glNormalFormatNV

glNormalFormatNV($type, $stride);

Exported under tag :GL_NV_vertex_buffer_unified_memory. ๐ŸŒธ


glNormalP3ui

glNormalP3ui($type, $coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. โœจ โ€” that tag name has me feral, 2_10_10_10 is so specific and so iconic. ๐Ÿ‘‘


glNormalP3uiv

glNormalP3uiv_c($type, $coords);
glNormalP3uiv_p($type, @coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐ŸŒˆ


glNormalPointer

glNormalPointer_c($type, $stride, $pointer);

Exported under tag :GL_VERSION_1_1.

๐Ÿšจ Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glNormalPointer.xml> ๐Ÿ’€

glNormalPointerEXT

glNormalPointerEXT_c($type, $stride, $count, $pointer);

Exported under tag :GL_EXT_vertex_array. ๐Ÿฆ‹


glNormalPointerListIBM

glNormalPointerListIBM_c($type, $stride, $pointer, $ptrstride);

Exported under tag :GL_IBM_vertex_array_lists. ๐Ÿ’– โ€” double stride situation: $stride and $ptrstride. Not a typo, it's real, respect it. ๐Ÿ’…


glNormalPointervINTEL

glNormalPointervINTEL_c($type, $pointer);

Exported under tag :GL_INTEL_parallel_arrays. ๐ŸŽ€


glNormalStream3bATI

glNormalStream3bATI($stream, $nx, $ny, $nz);

Exported under tag :GL_ATI_vertex_streams. ๐ŸŒธ


glNormalStream3bvATI

glNormalStream3bvATI_c($stream, $coords);
glNormalStream3bvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams. โœจ


glNormalStream3dATI

glNormalStream3dATI($stream, $nx, $ny, $nz);

Exported under tag :GL_ATI_vertex_streams. ๐Ÿฆ‹


glNormalStream3dvATI

glNormalStream3dvATI_c($stream, $coords);
glNormalStream3dvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams. ๐Ÿ’–

glNormalStream3fATI ๐ŸŒŠ

glNormalStream3fATI($stream, $nx, $ny, $nz);

Exported under tag :GL_ATI_vertex_streams.


glNormalStream3fvATI โœจ

glNormalStream3fvATI_c($stream, $coords);
glNormalStream3fvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


glNormalStream3iATI ๐Ÿ’…

glNormalStream3iATI($stream, $nx, $ny, $nz);

Exported under tag :GL_ATI_vertex_streams.


glNormalStream3ivATI ๐Ÿฆ‹

glNormalStream3ivATI_c($stream, $coords);
glNormalStream3ivATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


glNormalStream3sATI ๐ŸŽ€

glNormalStream3sATI($stream, $nx, $ny, $nz);

Exported under tag :GL_ATI_vertex_streams.


glNormalStream3svATI ๐ŸŒธ

glNormalStream3svATI_c($stream, $coords);
glNormalStream3svATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


glObjectLabel ๐Ÿท๏ธ

glObjectLabel($identifier, $name, $length, $label);
glObjectLabelKHR($identifier, $name, $length, $label);

Exported under tag :GL_KHR_debug.


glObjectPtrLabel ๐Ÿซถ

glObjectPtrLabel_c($ptr, $length, $label);
glObjectPtrLabelKHR_c($ptr, $length, $label);

Exported under tag :GL_KHR_debug.


glObjectPurgeableAPPLE ๐ŸŽ

$retval = glObjectPurgeableAPPLE($objectType, $name, $option);

Exported under tag :GL_APPLE_object_purgeable.


glObjectUnpurgeableAPPLE ๐Ÿ

$retval = glObjectUnpurgeableAPPLE($objectType, $name, $option);

Exported under tag :GL_APPLE_object_purgeable.


glOrtho ๐Ÿ“

glOrtho($left, $right, $bottom, $top, $zNear, $zFar);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glOrtho.xml>


glOrthof ๐Ÿ“

glOrthof($left, $right, $bottom, $top, $zNear, $zFar);

Exported under tag :GL_REGAL_ES1_0_compatibility.


glOrthofOES ๐Ÿ“Ž

glOrthofOES($l, $r, $b, $t, $n, $f);

Exported under tag :GL_OES_single_precision.


glOrthox ๐Ÿ”ข

glOrthox($left, $right, $bottom, $top, $zNear, $zFar);

Exported under tag :GL_REGAL_ES1_0_compatibility.


glPNTrianglesfATI ๐Ÿ”บ

glPNTrianglesfATI($pname, $param);

Exported under tag :GL_ATI_pn_triangles.


glPNTrianglesiATI ๐Ÿ”ป

glPNTrianglesiATI($pname, $param);

Exported under tag :GL_ATI_pn_triangles.


glPassTexCoordATI ๐ŸŽจ

glPassTexCoordATI($dst, $coord, $swizzle);

Exported under tag :GL_ATI_fragment_shader.


glPassThrough ๐Ÿšช

glPassThrough($token);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPassThrough.xml>


glPatchParameterfv ๐Ÿงฉ

glPatchParameterfv_c($pname, $values);
glPatchParameterfv_p($pname, @values);

Exported under tag :GL_ARB_tessellation_shader.


glPatchParameteri ๐Ÿงฎ

glPatchParameteri($pname, $value);
glPatchParameteriEXT($pname, $value);

Exported under tag :GL_ARB_tessellation_shader.


glPathColorGenNV ๐ŸŒˆ

glPathColorGenNV_c($color, $genMode, $colorFormat, $coeffs);

Exported under tag :GL_NV_path_rendering.


glPathCommandsNV ๐Ÿ›ค๏ธ

glPathCommandsNV_c($path, $numCommands, $commands, $numCoords, $coordType, $coords);

Exported under tag :GL_NV_path_rendering.


glPathCoordsNV ๐Ÿ“

glPathCoordsNV_c($path, $numCoords, $coordType, $coords);

Exported under tag :GL_NV_path_rendering.


glPathCoverDepthFuncNV ๐Ÿ•ณ๏ธ

glPathCoverDepthFuncNV($func);

Exported under tag :GL_NV_path_rendering.


glPathDashArrayNV โž–

glPathDashArrayNV_c($path, $dashCount, $dashArray);
glPathDashArrayNV_p($path, @dashArray);

Exported under tag :GL_NV_path_rendering.


glPathFogGenNV ๐ŸŒซ๏ธ

glPathFogGenNV($genMode);

Exported under tag :GL_NV_path_rendering.


glPathGlyphIndexArrayNV ๐Ÿ”ค

$retval = glPathGlyphIndexArrayNV_c($firstPathName, $fontTarget, $fontName, $fontStyle, $firstGlyphIndex, $numGlyphs, $pathParameterTemplate, $emScale);

Exported under tag :GL_NV_path_rendering.


glPathGlyphIndexRangeNV ๐Ÿ“š

$retval = glPathGlyphIndexRangeNV_c($fontTarget, $fontName, $fontStyle, $pathParameterTemplate, $emScale, $baseAndCount);
($retval, \@baseAndCount) = glPathGlyphIndexRangeNV_p($fontTarget, $fontName, $fontStyle, $pathParameterTemplate, $emScale);

Exported under tag :GL_NV_path_rendering.


glPathGlyphRangeNV ๐Ÿ“–

glPathGlyphRangeNV_c($firstPathName, $fontTarget, $fontName, $fontStyle, $firstGlyph, $numGlyphs, $handleMissingGlyphs, $pathParameterTemplate, $emScale);

Exported under tag :GL_NV_path_rendering.


glPathGlyphsNV ๐Ÿ…ฐ๏ธ

glPathGlyphsNV_c($firstPathName, $fontTarget, $fontName, $fontStyle, $numGlyphs, $type, $charcodes, $handleMissingGlyphs, $pathParameterTemplate, $emScale);

Exported under tag :GL_NV_path_rendering.


glPathMemoryGlyphIndexArrayNV ๐Ÿ’พ

$retval = glPathMemoryGlyphIndexArrayNV_c($firstPathName, $fontTarget, $fontSize, $fontData, $faceIndex, $firstGlyphIndex, $numGlyphs, $pathParameterTemplate, $emScale);

Exported under tag :GL_NV_path_rendering.


glPathParameterfNV โš™๏ธ

glPathParameterfNV($path, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glPathParameterfvNV โš™๏ธโœจ

glPathParameterfvNV_c($path, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glPathParameteriNV ๐Ÿ› ๏ธ

glPathParameteriNV($path, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glPathParameterivNV ๐Ÿ› ๏ธโœจ

glPathParameterivNV_c($path, $pname, $value);

Exported under tag :GL_NV_path_rendering.


glPathStencilDepthOffsetNV ๐Ÿ“

glPathStencilDepthOffsetNV($factor, $units);

Exported under tag :GL_NV_path_rendering.


glPathStencilFuncNV ๐Ÿงฑ

glPathStencilFuncNV($func, $ref, $mask);

Exported under tag :GL_NV_path_rendering.


glPathStringNV ๐Ÿ”ก

glPathStringNV_c($path, $format, $length, $pathString);

Exported under tag :GL_NV_path_rendering.


glPathSubCommandsNV โœ‚๏ธ

glPathSubCommandsNV_c($path, $commandStart, $commandsToDelete, $numCommands, $commands, $numCoords, $coordType, $coords);

Exported under tag :GL_NV_path_rendering.


glPathSubCoordsNV โœ‚๏ธ๐Ÿ“

glPathSubCoordsNV_c($path, $coordStart, $numCoords, $coordType, $coords);

Exported under tag :GL_NV_path_rendering.


glPathTexGenNV ๐Ÿงต

glPathTexGenNV_c($texCoordSet, $genMode, $components, $coeffs);

Exported under tag :GL_NV_path_rendering.


glPauseTransformFeedback โธ๏ธ

glPauseTransformFeedback();
glPauseTransformFeedbackNV();

Exported under tag :GL_ARB_transform_feedback2.


glPixelDataRangeNV ๐Ÿ—‚๏ธ

glPixelDataRangeNV_c($target, $length, $pointer);

Exported under tag :GL_NV_pixel_data_range.


glPixelMapfv ๐Ÿ—บ๏ธ

glPixelMapfv_c($map, $mapsize, $values);
glPixelMapfv_p($map, @values);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPixelMapfv.xml>


glPixelMapuiv ๐Ÿ—บ๏ธ๐Ÿ”ข

glPixelMapuiv_c($map, $mapsize, $values);
glPixelMapuiv_p($map, @values);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPixelMapuiv.xml>


glPixelMapusv ๐Ÿ—บ๏ธ๐Ÿ“

glPixelMapusv_c($map, $mapsize, $values);
glPixelMapusv_p($map, @values);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPixelMapusv.xml>


glPixelStoref ๐Ÿ“ฆ

glPixelStoref($pname, $param);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPixelStoref.xhtml>


glPixelStorei ๐Ÿ“ฆ๐Ÿ”ข

glPixelStorei($pname, $param);

Exported under tag :GL_VERSION_1_1. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPixelStorei.xhtml>


glPixelTexGenSGIX ๐ŸŒ€

glPixelTexGenSGIX($mode);

Exported under tag :GL_SGIX_pixel_texture.


glPixelTransferf ๐Ÿ”„

glPixelTransferf($pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPixelTransferf.xml>


glPixelTransferi ๐Ÿ”„๐Ÿ”ข

glPixelTransferi($pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPixelTransferi.xml>


glPixelTransformParameterfEXT ๐ŸŽ›๏ธ

glPixelTransformParameterfEXT($target, $pname, $param);

Exported under tag :GL_EXT_pixel_transform.


glPixelTransformParameterfSGI ๐ŸŽ›๏ธ๐ŸŒธ

glPixelTransformParameterfSGI($target, $pname, $param);

Exported under tag :GL_SGI_fft.


glPixelTransformParameterfvEXT ๐ŸŽ›๏ธโœจ

glPixelTransformParameterfvEXT_c($target, $pname, $params);
glPixelTransformParameterfvEXT_p($target, $pname, @params);

Exported under tag :GL_EXT_pixel_transform.


glPixelTransformParameterfvSGI ๐ŸŽ›๏ธ๐ŸŒธโœจ

glPixelTransformParameterfvSGI_c($target, $pname, $params);

Exported under tag :GL_SGI_fft.


glPixelTransformParameteriEXT ๐ŸŽš๏ธ

glPixelTransformParameteriEXT($target, $pname, $param);

Exported under tag :GL_EXT_pixel_transform.


glPixelTransformParameteriSGI ๐ŸŽš๏ธ๐ŸŒธ

glPixelTransformParameteriSGI($target, $pname, $param);

Exported under tag :GL_SGI_fft.


glPixelTransformParameterivEXT ๐ŸŽš๏ธโœจ

glPixelTransformParameterivEXT_c($target, $pname, $params);
glPixelTransformParameterivEXT_p($target, $pname, @params);

Exported under tag :GL_EXT_pixel_transform.


glPixelTransformParameterivSGI ๐ŸŽš๏ธ๐ŸŒธโœจ

glPixelTransformParameterivSGI_c($target, $pname, $params);

Exported under tag :GL_SGI_fft.


glPixelTransformSGI ๐Ÿช„

glPixelTransformSGI($target);

Exported under tag :GL_SGI_fft.


glPixelZoom ๐Ÿ”

glPixelZoom($xfactor, $yfactor);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPixelZoom.xml>


glPointAlongPathNV ๐Ÿพ

$retval = glPointAlongPathNV_c($path, $startSegment, $numSegments, $distance, $x, $y, $tangentX, $tangentY);
($retval, $x, $y, $tangentX, $tangentY) = glPointAlongPathNV_p($path, $startSegment, $numSegments, $distance);

Exported under tag :GL_NV_path_rendering.


glPointParameterf ๐ŸŽฏ

glPointParameterf($pname, $param);
glPointParameterfARB($pname, $param);
glPointParameterfEXT($pname, $param);
glPointParameterfSGIS($pname, $param);

Exported under tag :GL_VERSION_1_4. See <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPointParameterf.xhtml>


glPointParameterfv ๐ŸŽฏโœจ

glPointParameterfv_c($pname, $params);
glPointParameterfvARB_c($pname, $params);
glPointParameterfvEXT_c($pname, $params);
glPointParameterfvSGIS_c($pname, $params);
glPointParameterfv_p($pname, @params);
glPointParameterfvARB_p($pname, @params);
glPointParameterfvEXT_p($pname, @params);
glPointParameterfvSGIS_p($pname, @params);

๐Ÿ’ซ okay so this one is exported under the tag :GL_VERSION_1_4 โ€” and if you wanna see the whole lore drop, it's at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPointParameterfv.xhtml ๐Ÿซถ


๐ŸŽ€ glPointParameteri ๐ŸŽ€

glPointParameteri($pname, $param);
glPointParameteriNV($pname, $param);

Exported under the tag :GL_VERSION_1_4 ๐Ÿ’… and yeah, the official receipts are at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPointParameteri.xhtml โœจ

๐Ÿฆ‹ glPointParameteriv ๐Ÿฆ‹

glPointParameteriv_c($pname, $params);
glPointParameterivNV_c($pname, $params);
glPointParameteriv_p($pname, @params);
glPointParameterivNV_p($pname, @params);

Exported under the tag :GL_VERSION_1_4 ๐ŸŒธ and the deep dive lives at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPointParameteriv.xhtml ๐Ÿ’–

โญ glPointParameterx โญ

glPointParameterx($pname, $param);

Exported under the tag :GL_REGAL_ES1_1_compatibility ๐Ÿ‘‘

๐ŸŒˆ glPointParameterxv ๐ŸŒˆ

glPointParameterxv_c($pname, $params);
glPointParameterxv_p($pname, @params);

Exported under the tag :GL_REGAL_ES1_1_compatibility โœจ

๐Ÿ’œ glPointSize ๐Ÿ’œ

glPointSize($size);

Exported under the tag :GL_VERSION_1_1 โ€” and bestie, the full manual is at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPointSize.xhtml ๐Ÿซถ

๐Ÿ“ glPointSizePointerOES ๐Ÿ“

glPointSizePointerOES_c($type, $stride, $pointer);

Exported under the tag :GL_REGAL_ES1_1_compatibility ๐Ÿ’…

๐Ÿงš glPointSizex ๐Ÿงš

glPointSizex($size);

Exported under the tag :GL_REGAL_ES1_0_compatibility ๐ŸŽ€

๐Ÿ’€ glPollAsyncSGIX ๐Ÿ’€

$retval = glPollAsyncSGIX_c($markerp);
($retval, $markerp) = glPollAsyncSGIX_p();

Exported under the tag :GL_SGIX_async โœจ (also the two forms are different โ€” one hands back just the $retval, the other gives you the $retval and $markerp, so pick your fighter ๐Ÿ‘€)

๐Ÿ‘‘ glPolygonMode ๐Ÿ‘‘

glPolygonMode($face, $mode);
glPolygonModeNV($face, $mode);

Exported under the tag :GL_VERSION_1_1 ๐ŸŒธ and more at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPolygonMode.xhtml ๐Ÿ’–

๐Ÿ”ฅ glPolygonOffset ๐Ÿ”ฅ

glPolygonOffset($factor, $units);

Exported under the tag :GL_VERSION_1_1 โ€” receipts at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPolygonOffset.xhtml ๐Ÿซถ

๐Ÿ’– glPolygonOffsetClamp ๐Ÿ’–

glPolygonOffsetClamp($factor, $units, $clamp);
glPolygonOffsetClampEXT($factor, $units, $clamp);

Exported under the tag :GL_ARB_polygon_offset_clamp โœจ

๐ŸŒธ glPolygonOffsetEXT ๐ŸŒธ

glPolygonOffsetEXT($factor, $bias);

Exported under the tag :GL_EXT_polygon_offset ๐Ÿ’…

๐Ÿฆ‹ glPolygonOffsetx ๐Ÿฆ‹

glPolygonOffsetx($factor, $units);

Exported under the tag :GL_REGAL_ES1_0_compatibility ๐ŸŽ€

โญ glPolygonStipple โญ

glPolygonStipple($mask);

Exported under the tag :GL_VERSION_1_1 ๐ŸŒˆ โ€” but heads up, this one is not available in a 'future-compatible' profile because it got removed in 3.2 ๐Ÿ˜ญ Full details at https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPolygonStipple.xml ๐Ÿ’œ

๐Ÿ’… glPopAttrib ๐Ÿ’…

glPopAttrib();

Exported under the tag :GL_VERSION_1_1 โœจ and again โ€” not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿ™ˆ The lore: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPopAttrib.xml ๐Ÿซถ

๐ŸŽ€ glPopClientAttrib ๐ŸŽ€

glPopClientAttrib();

Exported under the tag :GL_VERSION_1_1 ๐ŸŒธ โ€” not available in a 'future-compatible' profile (removed in 3.2, rip ๐Ÿ˜ญ). More at https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPopClientAttrib.xml ๐Ÿ’–

๐ŸŒŸ glPopDebugGroup ๐ŸŒŸ

glPopDebugGroup();
glPopDebugGroupKHR();

Exported under the tag :GL_KHR_debug ๐Ÿ’€

๐Ÿงš glPopGroupMarkerEXT ๐Ÿงš

glPopGroupMarkerEXT();

Exported under the tag :GL_EXT_debug_marker ๐Ÿ‘‘

๐Ÿ”ฅ glPopMatrix ๐Ÿ”ฅ

glPopMatrix();

Exported under the tag :GL_VERSION_1_1 โ€” and yeah, not available in a 'future-compatible' profile, because removed in 3.2 โœจ See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPopMatrix.xml ๐Ÿ’…

๐Ÿ“ glPopName ๐Ÿ“

glPopName();

Exported under the tag :GL_VERSION_1_1 ๐ŸŒˆ โ€” not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿซถ Details at https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPopName.xml ๐Ÿ’œ

๐Ÿ’œ glPresentFrameDualFillNV ๐Ÿ’œ

glPresentFrameDualFillNV($video_slot, $minPresentTime, $beginPresentTimeId, $presentDurationId, $type, $target0, $fill0, $target1, $fill1, $target2, $fill2, $target3, $fill3);

Exported under the tag :GL_NV_present_video ๐Ÿ’… (yes, that's a lot of arguments โ€” she's high maintenance and we respect it ๐ŸŽ€)

๐Ÿฆ‹ glPresentFrameKeyedNV ๐Ÿฆ‹

glPresentFrameKeyedNV($video_slot, $minPresentTime, $beginPresentTimeId, $presentDurationId, $type, $target0, $fill0, $key0, $target1, $fill1, $key1);

Exported under the tag :GL_NV_present_video โœจ

๐ŸŒˆ glPrimitiveBoundingBoxARB ๐ŸŒˆ

glPrimitiveBoundingBoxARB($minX, $minY, $minZ, $minW, $maxX, $maxY, $maxZ, $maxW);
glPrimitiveBoundingBox($minX, $minY, $minZ, $minW, $maxX, $maxY, $maxZ, $maxW);
glPrimitiveBoundingBoxEXT($minX, $minY, $minZ, $minW, $maxX, $maxY, $maxZ, $maxW);

Exported under the tag :GL_ARB_ES3_2_compatibility ๐Ÿ‘‘

โญ glPrimitiveRestartIndex โญ

glPrimitiveRestartIndex($buffer);

Exported under the tag :GL_VERSION_3_1 ๐Ÿ’– โ€” full page at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPrimitiveRestartIndex.xhtml ๐Ÿซถ

๐ŸŽ€ glPrimitiveRestartIndexNV ๐ŸŽ€

glPrimitiveRestartIndexNV($index);

Exported under the tag :GL_NV_primitive_restart ๐ŸŒธ

๐Ÿ’€ glPrimitiveRestartNV ๐Ÿ’€

glPrimitiveRestartNV();

Exported under the tag :GL_NV_primitive_restart โœจ

๐Ÿ’… glPrioritizeTextures ๐Ÿ’…

glPrioritizeTextures_c($n, $textures, $priorities);
glPrioritizeTexturesEXT_c($n, $textures, $priorities);
glPrioritizeTextures_p(\@textures, \@priorities);
glPrioritizeTexturesEXT_p(\@textures, \@priorities);

Exported under the tag :GL_VERSION_1_1 ๐Ÿ”ฅ โ€” and major caveat, not available in a 'future-compatible' profile since it was removed in 3.2 ๐Ÿ˜ญ See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPrioritizeTextures.xml ๐Ÿ’œ

๐Ÿงš glPrioritizeVertexArraysSGIX ๐Ÿงš

glPrioritizeVertexArraysSGIX_c($n, $arrays, $priorities);

Exported under the tag :GL_SGIX_vertex_array_object ๐Ÿฆ‹

๐Ÿ‘‘ glProgramBinary ๐Ÿ‘‘

glProgramBinary_c($program, $binaryFormat, $binary, $length);

Exported under the tag :GL_ARB_get_program_binary โœจ

๐Ÿ“ glProgramBinaryOES ๐Ÿ“

glProgramBinaryOES_c($program, $binaryFormat, $binary, $length);

Exported under the tag :GL_OES_get_program_binary ๐ŸŽ€

๐Ÿ’– glProgramBufferParametersIivNV ๐Ÿ’–

glProgramBufferParametersIivNV_c($target, $bindingIndex, $wordIndex, $count, $params);
glProgramBufferParametersIivNV_p($target, $bindingIndex, $wordIndex, @params);

Exported under the tag :GL_NV_parameter_buffer_object ๐ŸŒธ

๐ŸŒˆ glProgramBufferParametersIuivNV ๐ŸŒˆ

glProgramBufferParametersIuivNV_c($target, $bindingIndex, $wordIndex, $count, $params);
glProgramBufferParametersIuivNV_p($target, $bindingIndex, $wordIndex, @params);

Exported under the tag :GL_NV_parameter_buffer_object ๐Ÿ’…

โญ glProgramBufferParametersfvNV โญ

glProgramBufferParametersfvNV_c($target, $bindingIndex, $wordIndex, $count, $params);
glProgramBufferParametersfvNV_p($target, $bindingIndex, $wordIndex, @params);

Exported under the tag :GL_NV_parameter_buffer_object ๐Ÿซถ

๐Ÿฆ‹ glProgramEnvParameter4dARB ๐Ÿฆ‹

glProgramEnvParameter4dARB($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_ARB_vertex_program โœจ

๐ŸŽ€ glProgramEnvParameter4dvARB ๐ŸŽ€

glProgramEnvParameter4dvARB_c($target, $index, $params);
glProgramEnvParameter4dvARB_p($target, $index, @params);

Exported under the tag :GL_ARB_vertex_program ๐Ÿ’œ

๐Ÿ’€ glProgramEnvParameter4fARB ๐Ÿ’€

glProgramEnvParameter4fARB($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_ARB_vertex_program ๐ŸŒธ

๐Ÿ”ฅ glProgramEnvParameter4fvARB ๐Ÿ”ฅ

glProgramEnvParameter4fvARB_c($target, $index, $params);
glProgramEnvParameter4fvARB_p($target, $index, @params);

Exported under the tag :GL_ARB_vertex_program ๐Ÿ‘‘

๐Ÿงš glProgramEnvParameterI4iNV ๐Ÿงš

glProgramEnvParameterI4iNV($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_NV_gpu_program4 ๐Ÿ’…

๐Ÿ“ glProgramEnvParameterI4ivNV ๐Ÿ“

glProgramEnvParameterI4ivNV_c($target, $index, $params);
glProgramEnvParameterI4ivNV_p($target, $index, @params);

Exported under the tag :GL_NV_gpu_program4 โœจ

๐ŸŒŸ glProgramEnvParameterI4uiNV ๐ŸŒŸ

glProgramEnvParameterI4uiNV($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_NV_gpu_program4 ๐ŸŽ€

๐Ÿ’œ glProgramEnvParameterI4uivNV ๐Ÿ’œ

glProgramEnvParameterI4uivNV_c($target, $index, $params);
glProgramEnvParameterI4uivNV_p($target, $index, @params);

Exported under the tag :GL_NV_gpu_program4 ๐ŸŒธ

๐ŸŒˆ glProgramEnvParameters4fvEXT ๐ŸŒˆ

glProgramEnvParameters4fvEXT_c($target, $index, $count, $params);
glProgramEnvParameters4fvEXT_p($target, $index, $count, @params);

Exported under the tag :GL_EXT_gpu_program_parameters ๐Ÿซถ

โญ glProgramEnvParametersI4ivNV โญ

glProgramEnvParametersI4ivNV_c($target, $index, $count, $params);
glProgramEnvParametersI4ivNV_p($target, $index, $count, @params);

Exported under the tag :GL_NV_gpu_program4 ๐Ÿ’…

๐Ÿฆ‹ glProgramEnvParametersI4uivNV ๐Ÿฆ‹

glProgramEnvParametersI4uivNV_c($target, $index, $count, $params);
glProgramEnvParametersI4uivNV_p($target, $index, $count, @params);

Exported under the tag :GL_NV_gpu_program4 โœจ

๐ŸŽ€ glProgramLocalParameter4dARB ๐ŸŽ€

glProgramLocalParameter4dARB($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_ARB_vertex_program ๐Ÿ’–

๐Ÿ’€ glProgramLocalParameter4dvARB ๐Ÿ’€

glProgramLocalParameter4dvARB_c($target, $index, $params);
glProgramLocalParameter4dvARB_p($target, $index, @params);

Exported under the tag :GL_ARB_vertex_program ๐ŸŒธ

๐Ÿ”ฅ glProgramLocalParameter4fARB ๐Ÿ”ฅ

glProgramLocalParameter4fARB($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_ARB_vertex_program ๐Ÿ‘‘

๐Ÿงš glProgramLocalParameter4fvARB ๐Ÿงš

glProgramLocalParameter4fvARB_c($target, $index, $params);
glProgramLocalParameter4fvARB_p($target, $index, @params);

Exported under the tag :GL_ARB_vertex_program ๐Ÿ’…

๐Ÿ“ glProgramLocalParameterI4iNV ๐Ÿ“

glProgramLocalParameterI4iNV($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_NV_gpu_program4 ๐ŸŒˆ

๐ŸŒŸ glProgramLocalParameterI4ivNV ๐ŸŒŸ

glProgramLocalParameterI4ivNV_c($target, $index, $params);
glProgramLocalParameterI4ivNV_p($target, $index, @params);

Exported under the tag :GL_NV_gpu_program4 ๐Ÿซถ

๐Ÿ’œ glProgramLocalParameterI4uiNV ๐Ÿ’œ

glProgramLocalParameterI4uiNV($target, $index, $x, $y, $z, $w);

Exported under the tag :GL_NV_gpu_program4 โœจ

๐ŸŒˆ glProgramLocalParameterI4uivNV ๐ŸŒˆ

glProgramLocalParameterI4uivNV_c($target, $index, $params);
glProgramLocalParameterI4uivNV_p($target, $index, @params);

Exported under the tag :GL_NV_gpu_program4 ๐ŸŽ€

โญ glProgramLocalParameters4fvEXT โญ

glProgramLocalParameters4fvEXT_c($target, $index, $count, $params);
glProgramLocalParameters4fvEXT_p($target, $index, $count, @params);

Exported under the tag :GL_EXT_gpu_program_parameters ๐ŸŒธ

๐Ÿฆ‹ glProgramLocalParametersI4ivNV ๐Ÿฆ‹

glProgramLocalParametersI4ivNV_c($target, $index, $count, $params);
glProgramLocalParametersI4ivNV_p($target, $index, $count, @params);

Exported under the tag :GL_NV_gpu_program4 ๐Ÿ’…

๐ŸŽ€ glProgramLocalParametersI4uivNV ๐ŸŽ€

glProgramLocalParametersI4uivNV_c($target, $index, $count, $params);
glProgramLocalParametersI4uivNV_p($target, $index, $count, @params);

Exported under the tag :GL_NV_gpu_program4 ๐Ÿ’–

๐Ÿ’€ glProgramNamedParameter4dNV ๐Ÿ’€

glProgramNamedParameter4dNV($id, $len, $name, $x, $y, $z, $w);

Exported under the tag :GL_NV_fragment_program ๐Ÿ‘‘

๐Ÿ”ฅ glProgramNamedParameter4dvNV ๐Ÿ”ฅ

glProgramNamedParameter4dvNV_c($id, $len, $name, $v);
glProgramNamedParameter4dvNV_p($id, $len, $name, @v);

Exported under the tag :GL_NV_fragment_program โœจ

๐Ÿงš glProgramNamedParameter4fNV ๐Ÿงš

glProgramNamedParameter4fNV($id, $len, $name, $x, $y, $z, $w);

glProgramNamedParameter4fvNV ๐Ÿฆ‹

The float-vector flavor of the named-parameter setter for fragment programs, bestie. Both the _c (pass it a packed array ref) and _p (just splat your values) versions are right here.

glProgramNamedParameter4fvNV_c($id, $len, $name, $v);
glProgramNamedParameter4fvNV_p($id, $len, $name, @v);

Exported under tag :GL_NV_fragment_program. โœจ


glProgramParameter4dNV ๐Ÿ’…

Four doubles go in, program parameter comes out. Classic $x, $y, $z, $w situation, no packing involved.

glProgramParameter4dNV($target, $index, $x, $y, $z, $w);

Exported under tag :GL_NV_vertex_program.


glProgramParameter4dvNV ๐ŸŽ€

Same energy as above but for doubles in a list โ€” _c wants a single $v ref, _p wants you to just hand over the values one by one.

glProgramParameter4dvNV_c($target, $index, $v);
glProgramParameter4dvNV_p($target, $index, @v);

Exported under tag :GL_NV_vertex_program.


glProgramParameter4fNV ๐ŸŒธ

Floats this time, but the vibe is identical: $target, $index, and the whole $x, $y, $z, $w squad. ๐Ÿ’œ

glProgramParameter4fNV($target, $index, $x, $y, $z, $w);

Exported under tag :GL_NV_vertex_program.


glProgramParameter4fvNV ๐Ÿงš

The float-vector sibling. _c takes a $v ref, _p takes @v and doesn't need you to build an array first. Lowkey convenient.

glProgramParameter4fvNV_c($target, $index, $v);
glProgramParameter4fvNV_p($target, $index, @v);

Exported under tag :GL_NV_vertex_program.


glProgramParameteri ๐Ÿ‘‘

The integer-era one, and it comes with ARB and EXT aliases because of course it does. Same three args, three names, one function.

glProgramParameteri($program, $pname, $value);
glProgramParameteriARB($program, $pname, $value);
glProgramParameteriEXT($program, $pname, $value);

Exported under tag :GL_ARB_get_program_binary. โœจ


glProgramParameters4dvNV ๐Ÿ’–

Plural! Now there's a $count so you're loading a whole batch of parameter quadruples at once. _c takes the ref, _p takes the flat @v.

glProgramParameters4dvNV_c($target, $index, $count, $v);
glProgramParameters4dvNV_p($target, $index, $count, @v);

Exported under tag :GL_NV_vertex_program.


glProgramParameters4fvNV ๐Ÿ”ฅ

Same batch energy, floats edition. Note that $count in there โ€” it's not optional, bestie, it's how many you're sending.

glProgramParameters4fvNV_c($target, $index, $count, $v);
glProgramParameters4fvNV_p($target, $index, $count, @v);

Exported under tag :GL_NV_vertex_program.


glProgramPathFragmentInputGenNV ๐ŸŒˆ

Only the _c form exists here, so you're passing a $coeffs ref, periodt. Five args: $program, $location, $genMode, $components, $coeffs.

glProgramPathFragmentInputGenNV_c($program, $location, $genMode, $components, $coeffs);

Exported under tag :GL_NV_path_rendering.


glProgramStringARB โญ

The string one, and it's _c only โ€” you hand over a $string ref alongside $target, $format, and $len.

glProgramStringARB_c($target, $format, $len, $string);

Exported under tag :GL_ARB_vertex_program.


glProgramUniform1d ๐Ÿ’œ

One double, one uniform, one $location. Simple as that.

glProgramUniform1d($program, $location, $x);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform1dv ๐ŸŒธ

Vector version of the double setter. Heads up: the _p form here takes @value without a $count, while _c takes $count and $value. Yes, they differ, and yes, you have to remember that.

glProgramUniform1dv_c($program, $location, $count, $value);
glProgramUniform1dv_p($program, $location, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform1f ๐ŸŽ€

Single float, EXT alias included. Not me pointing out how many of these there are gonna beโ€ฆ it's a lot. ๐Ÿ™ˆ

glProgramUniform1f($program, $location, $x);
glProgramUniform1fEXT($program, $location, $x);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform1fv โœจ

Float vector, and this one has four entry points โ€” _c, EXT_c, _p, EXT_p. Both the plain and EXT names, both the ref and the splat. Collect them all, bestie.

glProgramUniform1fv_c($program, $location, $count, $value);
glProgramUniform1fvEXT_c($program, $location, $count, $value);
glProgramUniform1fv_p($program, $location, @value);
glProgramUniform1fvEXT_p($program, $location, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform1i ๐Ÿฆ‹

Single int, plain name plus the EXT twin. Same three args in the same order.

glProgramUniform1i($program, $location, $x);
glProgramUniform1iEXT($program, $location, $x);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform1i64ARB ๐Ÿ”ฅ

The 64-bit int era has entered the chat. One $x, and it's an i64, and the tag is a whole different extension โ€” :GL_ARB_gpu_shader_int64.

glProgramUniform1i64ARB($program, $location, $x);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform1i64NV ๐Ÿ’–

Basically the ARB one but wearing NV colors. Same signature, different tag.

glProgramUniform1i64NV($program, $location, $x);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform1i64vARB ๐Ÿงš

Vectorified 64-bit ints, ARB edition. _c gets $count + $value, _p gets @value.

glProgramUniform1i64vARB_c($program, $location, $count, $value);
glProgramUniform1i64vARB_p($program, $location, @value);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform1i64vNV ๐Ÿ‘‘

The NV mirror image of the line above. Signature-identical, tag different, iykyk.

glProgramUniform1i64vNV_c($program, $location, $count, $value);
glProgramUniform1i64vNV_p($program, $location, @value);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform1iv ๐ŸŒˆ

Int vector, four entry points again โ€” plain and EXT, _c and _p.

glProgramUniform1iv_c($program, $location, $count, $value);
glProgramUniform1ivEXT_c($program, $location, $count, $value);
glProgramUniform1iv_p($program, $location, @value);
glProgramUniform1ivEXT_p($program, $location, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform1ui ๐Ÿ’…

Unsigned int, single value, plain + EXT. The ui glow-up. โœจ

glProgramUniform1ui($program, $location, $x);
glProgramUniform1uiEXT($program, $location, $x);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform1ui64ARB ๐ŸŽ€

Unsigned 64-bit single int, ARB flavor.

glProgramUniform1ui64ARB($program, $location, $x);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform1ui64NV ๐ŸŒธ

Unsigned 64-bit single int, NV flavor. Same shape, same args, different house.

glProgramUniform1ui64NV($program, $location, $x);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform1ui64vARB ๐Ÿฆ‹

Unsigned 64-bit vectors, ARB. _c takes $count and $value; _p takes @value.

glProgramUniform1ui64vARB_c($program, $location, $count, $value);
glProgramUniform1ui64vARB_p($program, $location, @value);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform1ui64vNV ๐Ÿ”ฅ

And the NV take on unsigned 64-bit vectors. Identical signature shape, guaranteed.

glProgramUniform1ui64vNV_c($program, $location, $count, $value);
glProgramUniform1ui64vNV_p($program, $location, @value);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform1uiv ๐Ÿ’œ

Unsigned int vectors, four entry points, standard drill: _c, EXT_c, _p, EXT_p.

glProgramUniform1uiv_c($program, $location, $count, $value);
glProgramUniform1uivEXT_c($program, $location, $count, $value);
glProgramUniform1uiv_p($program, $location, @value);
glProgramUniform1uivEXT_p($program, $location, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2d โญ

Doubles, but a pair of them now โ€” $x and $y. _c only situation on this one, and it's a single plain name.

glProgramUniform2d($program, $location, $x, $y);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2dv ๐Ÿงš

The double-pair vector form. And bestie, look carefully: the _p version of this one actually does carry a $count โ€” glProgramUniform2dv_p($program, $location, $count, @value);. That's different from the 1dv up above, so don't get caught slipping.

glProgramUniform2dv_c($program, $location, $count, $value);
glProgramUniform2dv_p($program, $location, $count, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2f ๐ŸŽ€

Two floats, plain name plus EXT. $x and $y, no more, no less.

glProgramUniform2f($program, $location, $x, $y);
glProgramUniform2fEXT($program, $location, $x, $y);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2fv ๐ŸŒˆ

Float pairs in vector form, all four entry points, and here the _p versions do take $count alongside @value.

glProgramUniform2fv_c($program, $location, $count, $value);
glProgramUniform2fvEXT_c($program, $location, $count, $value);
glProgramUniform2fv_p($program, $location, $count, @value);
glProgramUniform2fvEXT_p($program, $location, $count, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2i ๐Ÿ‘‘

Two ints, $x and $y, plain + EXT.

glProgramUniform2i($program, $location, $x, $y);
glProgramUniform2iEXT($program, $location, $x, $y);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2i64ARB ๐Ÿ’–

Two signed 64-bit ints, ARB, $x and $y.

glProgramUniform2i64ARB($program, $location, $x, $y);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform2i64NV ๐Ÿฆ‹

Two signed 64-bit ints, NV, $x and $y. Spot the pattern yet?

glProgramUniform2i64NV($program, $location, $x, $y);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform2i64vARB ๐ŸŒธ

Signed 64-bit int pairs, vectorized, ARB. _c gives $count + $value, _p gives $count + @value.

glProgramUniform2i64vARB_c($program, $location, $count, $value);
glProgramUniform2i64vARB_p($program, $location, $count, @value);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform2i64vNV ๐Ÿ”ฅ

And its NV counterpart. Same args, same order, same $count on the _p side.

glProgramUniform2i64vNV_c($program, $location, $count, $value);
glProgramUniform2i64vNV_p($program, $location, $count, @value);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform2iv ๐Ÿ’…

Int pairs in vector form, four entry points, $count on both _p variants.

glProgramUniform2iv_c($program, $location, $count, $value);
glProgramUniform2ivEXT_c($program, $location, $count, $value);
glProgramUniform2iv_p($program, $location, $count, @value);
glProgramUniform2ivEXT_p($program, $location, $count, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2ui ๐Ÿงš

Unsigned int pair โ€” $x, $y โ€” plain name and EXT alias doing the same thing.

glProgramUniform2ui($program, $location, $x, $y);
glProgramUniform2uiEXT($program, $location, $x, $y);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform2ui64ARB โญ

Two unsigned 64-bit ints, ARB edition.

glProgramUniform2ui64ARB($program, $location, $x, $y);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform2ui64NV ๐ŸŽ€

Two unsigned 64-bit ints, NV edition. You already know the vibes.

glProgramUniform2ui64NV($program, $location, $x, $y);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform2ui64vARB ๐Ÿ’œ

Unsigned 64-bit int pairs in vector form, ARB. _c โ†’ $count, $value; _p โ†’ $count, @value.

glProgramUniform2ui64vARB_c($program, $location, $count, $value);
glProgramUniform2ui64vARB_p($program, $location, $count, @value);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform2ui64vNV ๐ŸŒˆ

The NV version of the unsigned 64-bit pair vectors, complete with $count on both sides.

glProgramUniform2ui64vNV_c($program, $location, $count, $value);
glProgramUniform2ui64vNV_p($program, $location, $count, @value);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform2uiv ๐Ÿฆ‹

Unsigned int pair vectors, all four entry points, both _p forms carrying $count.

glProgramUniform2uiv_c($program, $location, $count, $value);
glProgramUniform2uivEXT_c($program, $location, $count, $value);
glProgramUniform2uiv_p($program, $location, $count, @value);
glProgramUniform2uivEXT_p($program, $location, $count, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3d โœจ

Three doubles now โ€” $x, $y, $z. Just the plain _c-style name, no aliases here.

glProgramUniform3d($program, $location, $x, $y, $z);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3dv ๐Ÿ”ฅ

Double triples in vector form. Note that the _p variant here takes @value with no $count, while _c takes $count and $value โ€” yes, it's inconsistent with the 2dv one up there. That's just how it is, bestie. ๐Ÿ’€

glProgramUniform3dv_c($program, $location, $count, $value);
glProgramUniform3dv_p($program, $location, $count, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3f ๐ŸŒธ

Three floats โ€” $x, $y, $z โ€” plain name and EXT alias.

glProgramUniform3f($program, $location, $x, $y, $z);
glProgramUniform3fEXT($program, $location, $x, $y, $z);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3fv ๐Ÿ‘‘

Float triples in vector form, four entry points, $count present on both _p variants.

glProgramUniform3fv_c($program, $location, $count, $value);
glProgramUniform3fvEXT_c($program, $location, $count, $value);
glProgramUniform3fv_p($program, $location, $count, @value);
glProgramUniform3fvEXT_p($program, $location, $count, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3i ๐Ÿงš

Three ints, $x, $y, $z, plain and EXT both present and accounted for.

glProgramUniform3i($program, $location, $x, $y, $z);
glProgramUniform3iEXT($program, $location, $x, $y, $z);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3i64ARB ๐ŸŽ€

Three signed 64-bit ints, ARB.

glProgramUniform3i64ARB($program, $location, $x, $y, $z);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform3i64NV ๐Ÿ’–

Three signed 64-bit ints, NV. Same trio, different tag.

glProgramUniform3i64NV($program, $location, $x, $y, $z);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform3i64vARB โญ

Signed 64-bit int triples, vectorized, ARB. _c gets $count + $value, _p gets $count + @value.

glProgramUniform3i64vARB_c($program, $location, $count, $value);
glProgramUniform3i64vARB_p($program, $location, $count, @value);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform3i64vNV ๐ŸŒˆ

The NV twin of that one, same signature shape, still riding with :GL_NV_gpu_shader5.

glProgramUniform3i64vNV_c($program, $location, $count, $value);
glProgramUniform3i64vNV_p($program, $location, $count, @value);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform3iv ๐Ÿ’œ

Int triples in vector form โ€” all four entry points, $count on each _p.

glProgramUniform3iv_c($program, $location, $count, $value);
glProgramUniform3ivEXT_c($program, $location, $count, $value);
glProgramUniform3iv_p($program, $location, $count, @value);
glProgramUniform3ivEXT_p($program, $location, $count, @value);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3ui ๐Ÿ”ฅ

Unsigned int trio โ€” $x, $y, $z โ€” plain and EXT.

glProgramUniform3ui($program, $location, $x, $y, $z);
glProgramUniform3uiEXT($program, $location, $x, $y, $z);

Exported under tag :GL_ARB_separate_shader_objects.


glProgramUniform3ui64ARB ๐Ÿฆ‹

Three unsigned 64-bit ints, ARB flavor. We're still going, bestie, don't tap out now.

glProgramUniform3ui64ARB($program, $location, $x, $y, $z);

Exported under tag :GL_ARB_gpu_shader_int64.


glProgramUniform3ui64NV ๐ŸŒธ

Three unsigned 64-bit ints, NV flavor. Identical call shape.

glProgramUniform3ui64NV($program, $location, $x, $y, $z);

Exported under tag :GL_NV_gpu_shader5.


glProgramUniform3ui64vARB โœจ

Unsigned 64-bit int triples in vector form, ARB. _c takes $count and $value; _p takes $count and @value.

glProgramUniform3ui64vARB_c($program, $location, $count, $value);
glProgramUniform3ui64vARB_p($program, $location, $count, @value);

Exported under tag :GL_ARB_gpu_shader_int64.

glProgramUniform3ui64vNV

glProgramUniform3ui64vNV_c($program, $location, $count, $value);
glProgramUniform3ui64vNV_p($program, $location, $count, @value);
  • Exported under tag :GL_NV_gpu_shader5

glProgramUniform3uiv

glProgramUniform3uiv_c($program, $location, $count, $value);
glProgramUniform3uivEXT_c($program, $location, $count, $value);
glProgramUniform3uiv_p($program, $location, $count, @value);
glProgramUniform3uivEXT_p($program, $location, $count, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4d

glProgramUniform4d($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4dv

glProgramUniform4dv_c($program, $location, $count, $value);
glProgramUniform4dv_p($program, $location, $count, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4f

glProgramUniform4f($program, $location, $x, $y, $z, $w);
glProgramUniform4fEXT($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4fv

glProgramUniform4fv_c($program, $location, $count, $value);
glProgramUniform4fvEXT_c($program, $location, $count, $value);
glProgramUniform4fv_p($program, $location, $count, @value);
glProgramUniform4fvEXT_p($program, $location, $count, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4i

glProgramUniform4i($program, $location, $x, $y, $z, $w);
glProgramUniform4iEXT($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4i64ARB

glProgramUniform4i64ARB($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_ARB_gpu_shader_int64

glProgramUniform4i64NV

glProgramUniform4i64NV($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_NV_gpu_shader5

glProgramUniform4i64vARB

glProgramUniform4i64vARB_c($program, $location, $count, $value);
glProgramUniform4i64vARB_p($program, $location, $count, @value);
  • Exported under tag :GL_ARB_gpu_shader_int64

glProgramUniform4i64vNV

glProgramUniform4i64vNV_c($program, $location, $count, $value);
glProgramUniform4i64vNV_p($program, $location, $count, @value);
  • Exported under tag :GL_NV_gpu_shader5

glProgramUniform4iv

glProgramUniform4iv_c($program, $location, $count, $value);
glProgramUniform4ivEXT_c($program, $location, $count, $value);
glProgramUniform4iv_p($program, $location, $count, @value);
glProgramUniform4ivEXT_p($program, $location, $count, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4ui

glProgramUniform4ui($program, $location, $x, $y, $z, $w);
glProgramUniform4uiEXT($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniform4ui64ARB

glProgramUniform4ui64ARB($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_ARB_gpu_shader_int64

glProgramUniform4ui64NV

glProgramUniform4ui64NV($program, $location, $x, $y, $z, $w);
  • Exported under tag :GL_NV_gpu_shader5

glProgramUniform4ui64vARB

glProgramUniform4ui64vARB_c($program, $location, $count, $value);
glProgramUniform4ui64vARB_p($program, $location, $count, @value);
  • Exported under tag :GL_ARB_gpu_shader_int64

glProgramUniform4ui64vNV

glProgramUniform4ui64vNV_c($program, $location, $count, $value);
glProgramUniform4ui64vNV_p($program, $location, $count, @value);
  • Exported under tag :GL_NV_gpu_shader5

glProgramUniform4uiv

glProgramUniform4uiv_c($program, $location, $count, $value);
glProgramUniform4uivEXT_c($program, $location, $count, $value);
glProgramUniform4uiv_p($program, $location, $count, @value);
glProgramUniform4uivEXT_p($program, $location, $count, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformHandleui64ARB

okay the handles are here, everybody stay calm ๐Ÿ’–

glProgramUniformHandleui64ARB($program, $location, $value);
glProgramUniformHandleui64IMG($program, $location, $value);
  • Exported under tag :GL_ARB_bindless_texture

glProgramUniformHandleui64NV

glProgramUniformHandleui64NV($program, $location, $value);
  • Exported under tag :GL_NV_bindless_texture

glProgramUniformHandleui64vARB

heads up bestie, the _p versions here are giving no $count โ€” they just take @values straight up. eyes on the signatures ๐Ÿ‘€
glProgramUniformHandleui64vARB_c($program, $location, $count, $values);
glProgramUniformHandleui64vIMG_c($program, $location, $count, $values);
glProgramUniformHandleui64vARB_p($program, $location, @values);
glProgramUniformHandleui64vIMG_p($program, $location, @values);
  • Exported under tag :GL_ARB_bindless_texture

glProgramUniformHandleui64vNV

glProgramUniformHandleui64vNV_c($program, $location, $count, $values);
glProgramUniformHandleui64vNV_p($program, $location, @values);
  • Exported under tag :GL_NV_bindless_texture

glProgramUniformMatrix2dv

glProgramUniformMatrix2dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix2fv

glProgramUniformMatrix2fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix2fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix2x3dv

glProgramUniformMatrix2x3dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2x3dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix2x3fv

glProgramUniformMatrix2x3fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2x3fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2x3fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix2x3fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix2x4dv

glProgramUniformMatrix2x4dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2x4dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix2x4fv

glProgramUniformMatrix2x4fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2x4fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix2x4fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix2x4fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix3dv

glProgramUniformMatrix3dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix3fv

glProgramUniformMatrix3fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix3fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix3x2dv

glProgramUniformMatrix3x2dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3x2dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix3x2fv

glProgramUniformMatrix3x2fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3x2fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3x2fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix3x2fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix3x4dv

glProgramUniformMatrix3x4dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3x4dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix3x4fv

glProgramUniformMatrix3x4fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3x4fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix3x4fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix3x4fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix4dv

glProgramUniformMatrix4dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix4fv

the 4x4 float one, the moment, the legend herself โœจ

glProgramUniformMatrix4fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix4fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix4x2dv

glProgramUniformMatrix4x2dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4x2dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix4x2fv

glProgramUniformMatrix4x2fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4x2fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4x2fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix4x2fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix4x3dv

glProgramUniformMatrix4x3dv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4x3dv_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformMatrix4x3fv

glProgramUniformMatrix4x3fv_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4x3fvEXT_c($program, $location, $count, $transpose, $value);
glProgramUniformMatrix4x3fv_p($program, $location, $count, $transpose, @value);
glProgramUniformMatrix4x3fvEXT_p($program, $location, $count, $transpose, @value);
  • Exported under tag :GL_ARB_separate_shader_objects

glProgramUniformui64NV

glProgramUniformui64NV($program, $location, $value);
  • Exported under tag :GL_NV_shader_buffer_load

glProgramUniformui64vNV

and this next one's _p flavour also skips $count โ€” it's just $program, $location, @value. that's the whole vibe ๐Ÿฆ‹
glProgramUniformui64vNV_c($program, $location, $count, $value);
glProgramUniformui64vNV_p($program, $location, @value);

(still wrapping up the previous one โ€” Exported under tag :GL_NV_shader_buffer_load ๐Ÿ’–)


glProgramVertexLimitNV ๐ŸŽš๏ธ

glProgramVertexLimitNV($target, $limit);

Exported under tag :GL_NV_geometry_program4.


glProvokingVertex ๐Ÿ‘‘

glProvokingVertex($mode);
glProvokingVertexEXT($mode);

Exported under tag :GL_ARB_provoking_vertex.


glPushAttrib ๐Ÿ“š

glPushAttrib($mask);

Exported under tag :GL_VERSION_1_1.

bestie, heads up ๐Ÿ›‘ this one is not available in a 'future-compatible' profile โ€” it got removed in 3.2. gone. deceased. ๐Ÿ’€

The lore lives here: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPushAttrib.xml


glPushClientAttrib ๐Ÿงบ

glPushClientAttrib($mask);

Exported under tag :GL_VERSION_1_1.

Same sad story fr fr โ€” not available in a 'future-compatible' profile, removed in 3.2. ๐Ÿ˜ญ

The receipts: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPushClientAttrib.xml


glPushClientAttribDefaultEXT ๐ŸŒŸ

glPushClientAttribDefaultEXT($mask);

Exported under tag :GL_EXT_direct_state_access.


glPushDebugGroup ๐Ÿ›

glPushDebugGroup($source, $id, $length, $message);
glPushDebugGroupKHR($source, $id, $length, $message);

Exported under tag :GL_KHR_debug.


glPushGroupMarkerEXT ๐Ÿท๏ธ

glPushGroupMarkerEXT($length, $marker);

Exported under tag :GL_EXT_debug_marker.


glPushMatrix ๐Ÿงฑ

glPushMatrix();

Exported under tag :GL_VERSION_1_1.

Nope, not available in a 'future-compatible' profile โ€” she was removed in 3.2. ๐Ÿ’…

Docs, if you must: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPushMatrix.xml


glPushName ๐Ÿชช

glPushName($name);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile either โ€” removed in 3.2. she's a legacy icon only. ๐Ÿซถ

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glPushName.xml


glQueryCounter โฑ๏ธ

glQueryCounter($id, $target);
glQueryCounterEXT($id, $target);

Exported under tag :GL_ARB_timer_query.


glQueryCounterANGLE ๐Ÿ•ฐ๏ธ

glQueryCounterANGLE($id, $target);

Exported under tag :GL_ANGLE_timer_query.


glQueryObjectParameteruiAMD ๐Ÿ”Ž

glQueryObjectParameteruiAMD($target, $id, $pname, $param);

Exported under tag :GL_AMD_occlusion_query_event.


glRasterPos2d ๐Ÿ“

glRasterPos2d($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


glRasterPos2dv ๐Ÿ“

glRasterPos2dv_c($v);
glRasterPos2dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos2f ๐Ÿ“

glRasterPos2f($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos2fv ๐Ÿ“

glRasterPos2fv_c($v);
glRasterPos2fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos2i ๐Ÿ“

glRasterPos2i($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos2iv ๐Ÿ“

glRasterPos2iv_c($v);
glRasterPos2iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos2s ๐Ÿ“

glRasterPos2s($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos2sv ๐Ÿ“

glRasterPos2sv_c($v);
glRasterPos2sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3d ๐Ÿ“

glRasterPos3d($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3dv ๐Ÿ“

glRasterPos3dv_c($v);
glRasterPos3dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3f ๐Ÿ“

glRasterPos3f($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3fv ๐Ÿ“

glRasterPos3fv_c($v);
glRasterPos3fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3i ๐Ÿ“

glRasterPos3i($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3iv ๐Ÿ“

glRasterPos3iv_c($v);
glRasterPos3iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3s ๐Ÿ“

glRasterPos3s($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos3sv ๐Ÿ“

glRasterPos3sv_c($v);
glRasterPos3sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4d ๐Ÿ“

glRasterPos4d($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4dv ๐Ÿ“

glRasterPos4dv_c($v);
glRasterPos4dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4f ๐Ÿ“

glRasterPos4f($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4fv ๐Ÿ“

glRasterPos4fv_c($v);
glRasterPos4fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4i ๐Ÿ“

glRasterPos4i($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4iv ๐Ÿ“

glRasterPos4iv_c($v);
glRasterPos4iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4s ๐Ÿ“

glRasterPos4s($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterPos4sv ๐Ÿ“

glRasterPos4sv_c($v);
glRasterPos4sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


glRasterSamplesEXT ๐ŸŒˆ

glRasterSamplesEXT($samples, $fixedsamplelocations);

Exported under tag :GL_EXT_raster_multisample.


glReadBuffer ๐Ÿ“ฅ

glReadBuffer($src);

Exported under tag :GL_VERSION_1_1.

Docs right here bestie: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glReadBuffer.xhtml


glReadBufferIndexedEXT ๐Ÿ“ฅ

glReadBufferIndexedEXT($src, $index);

Exported under tag :GL_EXT_multiview_draw_buffers.


glReadBufferNV ๐Ÿ“ฅ

glReadBufferNV($mode);

Exported under tag :GL_NV_read_buffer.


glReadBufferRegion ๐Ÿ“ฅ

glReadBufferRegion($region, $x, $y, $width, $height);

Exported under tag :GL_KTX_buffer_region.


glReadPixels ๐Ÿ“ธ

glReadPixels_c($x, $y, $width, $height, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_1.

The full tea: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glReadPixels.xhtml


glReadVideoPixelsSUN ๐Ÿ“น

glReadVideoPixelsSUN_c($x, $y, $width, $height, $format, $type, $pixels);

Exported under tag :GL_SUN_read_video_pixels.


glReadnPixels ๐Ÿ›ก๏ธ

glReadnPixels_c($x, $y, $width, $height, $format, $type, $bufSize, $data);
glReadnPixelsARB_c($x, $y, $width, $height, $format, $type, $bufSize, $data);
glReadnPixelsEXT_c($x, $y, $width, $height, $format, $type, $bufSize, $data);
glReadnPixelsKHR_c($x, $y, $width, $height, $format, $type, $bufSize, $data);

Exported under tag :GL_KHR_robustness.


glRectd ๐ŸŸฅ

glRectd($x1, $y1, $x2, $y2);

Exported under tag :GL_VERSION_1_1.

not available in a 'future-compatible' profile โ€” removed in 3.2, soz ๐Ÿซ 

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRectd.xml


glRectdv ๐ŸŸฅ

glRectdv_c($v1, $v2);
glRectdv_p(\@v1, \@v2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRectdv.xml


glRectf ๐ŸŸฅ

glRectf($x1, $y1, $x2, $y2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRectf.xml


glRectfv ๐ŸŸฅ

glRectfv_c($v1, $v2);
glRectfv_p(\@v1, \@v2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRectfv.xml


glRecti ๐ŸŸฅ

glRecti($x1, $y1, $x2, $y2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRecti.xml


glRectiv ๐ŸŸฅ

glRectiv_c($v1, $v2);
glRectiv_p(\@v1, \@v2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRectiv.xml


glRects ๐ŸŸฅ

glRects($x1, $y1, $x2, $y2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRects.xml


glRectsv ๐ŸŸฅ

glRectsv_c($v1, $v2);
glRectsv_p(\@v1, \@v2);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRectsv.xml


glReferencePlaneSGIX ๐Ÿ›ซ

glReferencePlaneSGIX_c($equation);
glReferencePlaneSGIX_p(@equation);

Exported under tag :GL_SGIX_reference_plane.


glReleaseKeyedMutexWin32EXT ๐Ÿ”‘

$retval = glReleaseKeyedMutexWin32EXT($memory, $key);

Exported under tag :GL_EXT_win32_keyed_mutex.


glReleaseShaderCompiler ๐Ÿ—‘๏ธ

glReleaseShaderCompiler();

Exported under tag :GL_ARB_ES2_compatibility.


glRenderGpuMaskNV ๐ŸŽญ

glRenderGpuMaskNV($mask);

Exported under tag :GL_NV_gpu_multicast.


glRenderMode ๐ŸŽฌ

$retval = glRenderMode($mode);

Exported under tag :GL_VERSION_1_1.

not available in a 'future-compatible' profile โ€” removed in 3.2 ๐Ÿ˜”

https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRenderMode.xml


glRenderbufferStorage ๐ŸงŠ

glRenderbufferStorage($target, $internalformat, $width, $height);
glRenderbufferStorageEXT($target, $internalformat, $width, $height);

Exported under tag :GL_ARB_framebuffer_object.


glRenderbufferStorageMultisample ๐ŸงŠ

glRenderbufferStorageMultisample($target, $samples, $internalformat, $width, $height);
glRenderbufferStorageMultisampleEXT($target, $samples, $internalformat, $width, $height);
glRenderbufferStorageMultisampleNV($target, $samples, $internalformat, $width, $height);

Exported under tag :GL_ARB_framebuffer_object.


glRenderbufferStorageMultisampleANGLE ๐ŸงŠ

glRenderbufferStorageMultisampleANGLE($target, $samples, $internalformat, $width, $height);

Exported under tag :GL_ANGLE_framebuffer_multisample.

glRenderbufferStorageMultisampleAPPLE ๐Ÿ’–

glRenderbufferStorageMultisampleAPPLE($target, $samples, $internalformat, $width, $height);

Exported under tag :GL_APPLE_framebuffer_multisample. ๐ŸŽ


glRenderbufferStorageMultisampleAdvancedAMD โœจ

glRenderbufferStorageMultisampleAdvancedAMD($target, $samples, $storageSamples, $internalformat, $width, $height);

Exported under tag :GL_AMD_framebuffer_multisample_advanced. ๐Ÿ”ฅ


glRenderbufferStorageMultisampleCoverageNV ๐Ÿ’…

glRenderbufferStorageMultisampleCoverageNV($target, $coverageSamples, $colorSamples, $internalformat, $width, $height);

Exported under tag :GL_NV_framebuffer_multisample_coverage. ๐ŸŒธ


glRenderbufferStorageMultisampleIMG ๐Ÿฆ‹

glRenderbufferStorageMultisampleIMG($target, $samples, $internalformat, $width, $height);

Exported under tag :GL_IMG_multisampled_render_to_texture. ๐Ÿ’œ


glRenderbufferStorageOES ๐ŸŽ€

glRenderbufferStorageOES($target, $internalformat, $width, $height);

Exported under tag :GL_OES_framebuffer_object. ๐Ÿ‘‘


glReplacementCodePointerSUN โญ

glReplacementCodePointerSUN_c($type, $stride, $pointer);

Exported under tag :GL_SUN_triangle_list. ๐ŸŒˆ


glReplacementCodeubSUN ๐Ÿ“

glReplacementCodeubSUN($code);

Exported under tag :GL_SUN_triangle_list. ๐ŸŒˆ


glReplacementCodeubvSUN ๐Ÿงš

glReplacementCodeubvSUN_c($code);

Exported under tag :GL_SUN_triangle_list. ๐ŸŒˆ


glReplacementCodeuiColor3fVertex3fSUN ๐Ÿ’–

glReplacementCodeuiColor3fVertex3fSUN($rc, $r, $g, $b, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiColor3fVertex3fvSUN โœจ

glReplacementCodeuiColor3fVertex3fvSUN_c($rc, $c, $v);
glReplacementCodeuiColor3fVertex3fvSUN_p(\@rc, \@c, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiColor4fNormal3fVertex3fSUN ๐Ÿฆ‹

glReplacementCodeuiColor4fNormal3fVertex3fSUN($rc, $r, $g, $b, $a, $nx, $ny, $nz, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiColor4fNormal3fVertex3fvSUN ๐Ÿ’…

glReplacementCodeuiColor4fNormal3fVertex3fvSUN_c($rc, $c, $n, $v);
glReplacementCodeuiColor4fNormal3fVertex3fvSUN_p(\@rc, \@c, \@n, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiColor4ubVertex3fSUN ๐ŸŽ€

glReplacementCodeuiColor4ubVertex3fSUN($rc, $r, $g, $b, $a, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiColor4ubVertex3fvSUN ๐Ÿ‘‘

glReplacementCodeuiColor4ubVertex3fvSUN_c($rc, $c, $v);
glReplacementCodeuiColor4ubVertex3fvSUN_p(\@rc, \@c, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiNormal3fVertex3fSUN ๐Ÿ“

glReplacementCodeuiNormal3fVertex3fSUN($rc, $nx, $ny, $nz, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiNormal3fVertex3fvSUN ๐Ÿงš

glReplacementCodeuiNormal3fVertex3fvSUN_c($rc, $n, $v);
glReplacementCodeuiNormal3fVertex3fvSUN_p(\@rc, \@n, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiSUN ๐Ÿ’œ

glReplacementCodeuiSUN($code);

Exported under tag :GL_SUN_triangle_list. ๐ŸŒˆ


glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN ๐Ÿ”ฅ

glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN($rc, $s, $t, $r, $g, $b, $a, $nx, $ny, $nz, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN ๐Ÿ’–

glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_c($rc, $tc, $c, $n, $v);
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_p(\@rc, \@tc, \@c, \@n, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN โœจ

glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN($rc, $s, $t, $nx, $ny, $nz, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN ๐ŸŽ€

glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_c($rc, $tc, $n, $v);
glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_p(\@rc, \@tc, \@n, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiTexCoord2fVertex3fSUN ๐Ÿฆ‹

glReplacementCodeuiTexCoord2fVertex3fSUN($rc, $s, $t, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiTexCoord2fVertex3fvSUN ๐Ÿ“

glReplacementCodeuiTexCoord2fVertex3fvSUN_c($rc, $tc, $v);
glReplacementCodeuiTexCoord2fVertex3fvSUN_p(\@rc, \@tc, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiVertex3fSUN ๐Ÿ‘‘

glReplacementCodeuiVertex3fSUN($rc, $x, $y, $z);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuiVertex3fvSUN ๐Ÿ’…

glReplacementCodeuiVertex3fvSUN_c($rc, $v);
glReplacementCodeuiVertex3fvSUN_p(\@rc, \@v);

Exported under tag :GL_SUN_vertex. โ˜€๏ธ


glReplacementCodeuivSUN ๐Ÿงš

glReplacementCodeuivSUN_c($code);

Exported under tag :GL_SUN_triangle_list. ๐ŸŒˆ


glReplacementCodeusSUN ๐Ÿ’œ

glReplacementCodeusSUN($code);

Exported under tag :GL_SUN_triangle_list. ๐ŸŒˆ


glReplacementCodeusvSUN ๐Ÿ”ฅ

glReplacementCodeusvSUN_c($code);

Exported under tag :GL_SUN_triangle_list. ๐ŸŒˆ


glRequestResidentProgramsNV โœจ

glRequestResidentProgramsNV_c($n, $programs);
@programs = glRequestResidentProgramsNV_p($n);

Exported under tag :GL_NV_vertex_program. ๐Ÿ’–


glResetHistogram ๐ŸŽ€

glResetHistogram($target);
glResetHistogramEXT($target);

Exported under tag :GL_ARB_imaging. ๐ŸŒธ


glResetMemoryObjectParameterNV ๐Ÿฆ‹

glResetMemoryObjectParameterNV($memory, $pname);

Exported under tag :GL_NV_memory_attachment. โญ


glResetMinmax ๐Ÿ“

glResetMinmax($target);
glResetMinmaxEXT($target);

Exported under tag :GL_ARB_imaging. ๐ŸŒธ


glResizeBuffersMESA ๐Ÿงš

glResizeBuffersMESA();

Exported under tag :GL_MESA_resize_buffers. ๐Ÿ’œ


glResolveDepthValuesNV ๐Ÿ‘‘

glResolveDepthValuesNV();

Exported under tag :GL_NV_sample_locations. ๐Ÿ’…


glResolveMultisampleFramebufferAPPLE ๐Ÿ”ฅ

glResolveMultisampleFramebufferAPPLE();

Exported under tag :GL_APPLE_framebuffer_multisample. ๐ŸŽ


glResumeTransformFeedback โœจ

glResumeTransformFeedback();
glResumeTransformFeedbackNV();

Exported under tag :GL_ARB_transform_feedback2. ๐ŸŒˆ


glRotated ๐Ÿ’–

glRotated($angle, $x, $y, $z);

Exported under tag :GL_VERSION_1_1.

โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRotated.xml ๐Ÿ‘‘


glRotatef ๐ŸŽ€

glRotatef($angle, $x, $y, $z);

Exported under tag :GL_VERSION_1_1.

โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glRotatef.xml ๐Ÿ‘‘


glRotatex ๐Ÿฆ‹

glRotatex($angle, $x, $y, $z);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐ŸŒธ


glSampleCoverage ๐Ÿ“

glSampleCoverage($value, $invert);
glSampleCoverageARB($value, $invert);

Exported under tag :GL_VERSION_1_3.

See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glSampleCoverage.xhtml โœจ


glSampleCoveragex ๐Ÿงš

glSampleCoveragex($value, $invert);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐ŸŒธ


glSampleMapATI ๐Ÿ’œ

glSampleMapATI($dst, $interp, $swizzle);

Exported under tag :GL_ATI_fragment_shader. ๐Ÿ”ฅ


glSampleMaskEXT ๐Ÿ’…

glSampleMaskEXT($value, $invert);
glSampleMaskSGIS($value, $invert);

Exported under tag :GL_EXT_multisample. โญ


glSampleMaskIndexedNV ๐Ÿ‘‘

glSampleMaskIndexedNV($index, $mask);

Exported under tag :GL_NV_explicit_multisample. ๐ŸŒˆ


glSampleMaski โœจ

glSampleMaski($index, $mask);

Exported under tag :GL_ARB_texture_multisample. ๐Ÿ’–


glSamplePatternEXT ๐ŸŽ€

glSamplePatternEXT($pattern);
glSamplePatternSGIS($pattern);

Exported under tag :GL_EXT_multisample. โญ


glSamplerParameterIiv ๐Ÿฆ‹

glSamplerParameterIiv_c($sampler, $pname, $param);
glSamplerParameterIivEXT_c($sampler, $pname, $param);
glSamplerParameterIiv_p($sampler, $pname, @param);
glSamplerParameterIivEXT_p($sampler, $pname, @param);

Exported under tag :GL_ARB_sampler_objects. ๐ŸŒธ


glSamplerParameterIivOES ๐Ÿ“

glSamplerParameterIivOES_c($sampler, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp. ๐Ÿงš


glSamplerParameterIuiv ๐Ÿ’œ

glSamplerParameterIuiv_c($sampler, $pname, $param);
glSamplerParameterIuivEXT_c($sampler, $pname, $param);
glSamplerParameterIuiv_p($sampler, $pname, @param);
glSamplerParameterIuivEXT_p($sampler, $pname, @param);

Exported under tag :GL_ARB_sampler_objects. ๐ŸŒธ


glSamplerParameterIuivOES ๐Ÿ”ฅ

glSamplerParameterIuivOES_c($sampler, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp. ๐Ÿงš


glSamplerParameterf ๐Ÿ’…

glSamplerParameterf($sampler, $pname, $param);

Exported under tag :GL_ARB_sampler_objects. ๐ŸŒธ


glSamplerParameterfv ๐Ÿ‘‘

glSamplerParameterfv_c($sampler, $pname, $param);
glSamplerParameterfv_p($sampler, $pname, @param);

Exported under tag :GL_ARB_sampler_objects. ๐ŸŒธ


glSamplerParameteri โœจ

glSamplerParameteri($sampler, $pname, $param);

Exported under tag :GL_ARB_sampler_objects. ๐ŸŒธ


glSamplerParameteriv ๐Ÿ’–

glSamplerParameteriv_c($sampler, $pname, $param);
glSamplerParameteriv_p($sampler, $pname, @param);

Exported under tag :GL_ARB_sampler_objects. ๐ŸŒธ


glScaled ๐ŸŽ€

glScaled($x, $y, $z);

Exported under tag :GL_VERSION_1_1.

โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glScaled.xml ๐Ÿ‘‘


glScalef ๐Ÿฆ‹

glScalef($x, $y, $z);

Exported under tag :GL_VERSION_1_1.

โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

See https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glScalef.xml ๐Ÿ‘‘


glScalex ๐Ÿ“

glScalex($x, $y, $z);

Exported under tag :GL_REGAL_ES1_0_compatibility. ๐ŸŒธ


glScissor ๐Ÿงš

glScissor($x, $y, $width, $height);

Exported under tag :GL_VERSION_1_1.

See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glScissor.xhtml โœจ


glScissorArrayv ๐Ÿ’œ

glScissorArrayv_c($first, $count, $v);
glScissorArrayvNV_c($first, $count, $v);
glScissorArrayv_p($first, @v);
glScissorArrayvNV_p($first, @v);

Exported under tag :GL_ARB_viewport_array. ๐Ÿ”ฅ


glScissorExclusiveArrayvNV ๐Ÿ’…

glScissorExclusiveArrayvNV_c($first, $count, $v);
glScissorExclusiveArrayvNV_p($first, @v);

Exported under tag :GL_NV_scissor_exclusive. โญ


glScissorExclusiveNV ๐Ÿ‘‘

glScissorExclusiveNV($x, $y, $width, $height);

Exported under tag :GL_NV_scissor_exclusive. โญ


glScissorIndexed โœจ

glScissorIndexed($index, $left, $bottom, $width, $height);
glScissorIndexedNV($index, $left, $bottom, $width, $height);

Exported under tag :GL_ARB_viewport_array. ๐Ÿ”ฅ


glScissorIndexedv ๐Ÿ’–

glScissorIndexedv_c($index, $v);
glScissorIndexedvNV_c($index, $v);
glScissorIndexedv_p($index, @v);
glScissorIndexedvNV_p($index, @v);

Exported under tag :GL_ARB_viewport_array. ๐Ÿ”ฅ


glSecondaryColor3b ๐ŸŽ€

glSecondaryColor3b($red, $green, $blue);
glSecondaryColor3bEXT($red, $green, $blue);

Exported under tag :GL_VERSION_1_4.

โš ๏ธ Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€

glSecondaryColor3bv ๐Ÿฆ‹

glSecondaryColor3bv_c($v);
glSecondaryColor3bvEXT_c($v);
glSecondaryColor3bv_p(@v);
glSecondaryColor3bvEXT_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile as removed in 3.2.

(That note belongs to the entry above โ€” carry on, bestie ๐Ÿ’–)

glSecondaryColor3d

glSecondaryColor3d($red, $green, $blue);
glSecondaryColor3dEXT($red, $green, $blue);

Tagged :GL_VERSION_1_4 โœจ. Heads up though: she is not available in a 'future-compatible' profile, because she got removed back in 3.2 ๐Ÿ’€. Rip.


glSecondaryColor3dv

glSecondaryColor3dv_c($v);
glSecondaryColor3dvEXT_c($v);
glSecondaryColor3dv_p(@v);
glSecondaryColor3dvEXT_p(@v);

Lives under the :GL_VERSION_1_4 tag ๐ŸŽ€. Same story โ€” not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿ™ˆ.


glSecondaryColor3f

glSecondaryColor3f($red, $green, $blue);
glSecondaryColor3fEXT($red, $green, $blue);

Exported under tag :GL_VERSION_1_4 ๐Ÿ’…. And again, not available in a 'future-compatible' profile since she was removed in 3.2.


glSecondaryColor3fv

glSecondaryColor3fv_c($v);
glSecondaryColor3fvEXT_c($v);
glSecondaryColor3fv_p(@v);
glSecondaryColor3fvEXT_p(@v);

Comes in under :GL_VERSION_1_4 ๐ŸŒธ. Also not in a 'future-compatible' profile โ€” removed in 3.2, no cap.


glSecondaryColor3hNV

glSecondaryColor3hNV($red, $green, $blue);

Tagged :GL_NV_half_float ๐Ÿฆ‹.


glSecondaryColor3hvNV

glSecondaryColor3hvNV_c($v);
glSecondaryColor3hvNV_p(@v);

Also hanging out under :GL_NV_half_float โœจ.


glSecondaryColor3i

glSecondaryColor3i($red, $green, $blue);
glSecondaryColor3iEXT($red, $green, $blue);

Tagged :GL_VERSION_1_4 ๐ŸŽ€. Not available in a 'future-compatible' profile, because 3.2 said bye ๐Ÿ‘‹.


glSecondaryColor3iv

glSecondaryColor3iv_c($v);
glSecondaryColor3ivEXT_c($v);
glSecondaryColor3iv_p(@v);
glSecondaryColor3ivEXT_p(@v);

Exported under :GL_VERSION_1_4 ๐Ÿ’–. And, predictably, not available in a 'future-compatible' profile โ€” removed in 3.2 ๐Ÿ˜ญ.


glSecondaryColor3s

glSecondaryColor3s($red, $green, $blue);
glSecondaryColor3sEXT($red, $green, $blue);

Under the :GL_VERSION_1_4 tag ๐Ÿ”ฅ. Not available in a 'future-compatible' profile, removed in 3.2.


glSecondaryColor3sv

glSecondaryColor3sv_c($v);
glSecondaryColor3svEXT_c($v);
glSecondaryColor3sv_p(@v);
glSecondaryColor3svEXT_p(@v);

Tagged :GL_VERSION_1_4 โญ. Same disclaimer bestie: not in a 'future-compatible' profile, gone since 3.2.


glSecondaryColor3ub

glSecondaryColor3ub($red, $green, $blue);
glSecondaryColor3ubEXT($red, $green, $blue);

Lives under :GL_VERSION_1_4 ๐ŸŒˆ. Also not available in a 'future-compatible' profile โ€” she was removed in 3.2 ๐Ÿ’€.


glSecondaryColor3ubv

glSecondaryColor3ubv_c($v);
glSecondaryColor3ubvEXT_c($v);
glSecondaryColor3ubv_p(@v);
glSecondaryColor3ubvEXT_p(@v);

Exported under tag :GL_VERSION_1_4 ๐ŸŽ€. And not available in a 'future-compatible' profile โ€” removed in 3.2, rip.


glSecondaryColor3ui

glSecondaryColor3ui($red, $green, $blue);
glSecondaryColor3uiEXT($red, $green, $blue);

Tagged :GL_VERSION_1_4 ๐Ÿ’…. Also not in a 'future-compatible' profile, since 3.2 took her out ๐Ÿ™ˆ.


glSecondaryColor3uiv

glSecondaryColor3uiv_c($v);
glSecondaryColor3uivEXT_c($v);
glSecondaryColor3uiv_p(@v);
glSecondaryColor3uivEXT_p(@v);

Comes in under :GL_VERSION_1_4 โœจ. Not available in a 'future-compatible' profile โ€” removed in 3.2.


glSecondaryColor3us

glSecondaryColor3us($red, $green, $blue);
glSecondaryColor3usEXT($red, $green, $blue);

Under the :GL_VERSION_1_4 tag ๐ŸŒธ. And not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿ˜ญ.


glSecondaryColor3usv

glSecondaryColor3usv_c($v);
glSecondaryColor3usvEXT_c($v);
glSecondaryColor3usv_p(@v);
glSecondaryColor3usvEXT_p(@v);

Exported under :GL_VERSION_1_4 ๐Ÿฆ‹. Same energy: not in a 'future-compatible' profile because 3.2 removed her.


glSecondaryColorFormatNV

glSecondaryColorFormatNV($size, $type, $stride);

Tagged :GL_NV_vertex_buffer_unified_memory ๐Ÿ”ฅ.


glSecondaryColorP3ui

glSecondaryColorP3ui($type, $color);

Lives under :GL_ARB_vertex_type_2_10_10_10_rev โœจ.


glSecondaryColorP3uiv

glSecondaryColorP3uiv_c($type, $color);
glSecondaryColorP3uiv_p($type, @color);

Also under :GL_ARB_vertex_type_2_10_10_10_rev ๐ŸŽ€.


glSecondaryColorPointer

glSecondaryColorPointer_c($size, $type, $stride, $pointer);
glSecondaryColorPointerEXT_c($size, $type, $stride, $pointer);

Exported under tag :GL_VERSION_1_4 ๐Ÿ’–. Not available in a 'future-compatible' profile because she got removed in 3.2 ๐Ÿ’€. More deets here: <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glSecondaryColorPointer.xml>


glSecondaryColorPointerListIBM

glSecondaryColorPointerListIBM_c($size, $type, $stride, $pointer, $ptrstride);

Tagged :GL_IBM_vertex_array_lists ๐Ÿฆ‹.


glSelectBuffer

glSelectBuffer_c($size, $buffer);
@buffer = glSelectBuffer_p($size);

Under :GL_VERSION_1_1 โญ. And yep โ€” not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿ™ˆ. Full rundown: <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glSelectBuffer.xml>


glSelectPerfMonitorCountersAMD

glSelectPerfMonitorCountersAMD_c($monitor, $enable, $group, $numCounters, $counterList);
@counterList = glSelectPerfMonitorCountersAMD_p($monitor, $enable, $group, $numCounters);

Lives under :GL_AMD_performance_monitor ๐Ÿ“Šโœจ.


glSelectTextureCoordSetSGIS

glSelectTextureCoordSetSGIS($target);

Tagged :GL_SGIS_multitexture ๐ŸŽ€.


glSelectTextureSGIS

glSelectTextureSGIS($target);

Also under :GL_SGIS_multitexture ๐ŸŒธ.


glSelectTextureTransformSGIS

glSelectTextureTransformSGIS($target);

Yep, :GL_SGIS_multitexture again ๐Ÿ’….


glSemaphoreParameterivNV

glSemaphoreParameterivNV_c($semaphore, $pname, $params);

Exported under :GL_NV_timeline_semaphore โฑ๏ธ๐Ÿ”ฅ.


glSemaphoreParameterui64vEXT

glSemaphoreParameterui64vEXT_c($semaphore, $pname, $params);

Tagged :GL_EXT_semaphore โœจ.


glSeparableFilter2D

glSeparableFilter2D_c($target, $internalformat, $width, $height, $format, $type, $row, $column);
glSeparableFilter2DEXT_c($target, $internalformat, $width, $height, $format, $type, $row, $column);

Lives under :GL_ARB_imaging ๐ŸŒˆ.


glSetFenceAPPLE

glSetFenceAPPLE($fence);

Under the :GL_APPLE_fence tag ๐ŸŽ.


glSetFenceNV

glSetFenceNV($fence, $condition);

Tagged :GL_NV_fence ๐ŸŽ€.


glSetFragmentShaderConstantATI

glSetFragmentShaderConstantATI_c($dst, $value);
glSetFragmentShaderConstantATI_p($dst, @value);

Exported under :GL_ATI_fragment_shader ๐Ÿ’–.


glSetInvariantEXT

glSetInvariantEXT_c($id, $type, $addr);

Tagged :GL_EXT_vertex_shader โœจ.


glSetLocalConstantEXT

glSetLocalConstantEXT_c($id, $type, $addr);

Also under :GL_EXT_vertex_shader ๐Ÿฆ‹.


glSetMultisamplefvAMD

glSetMultisamplefvAMD_c($pname, $index, $val);
glSetMultisamplefvAMD_p($pname, $index, @val);

Lives under :GL_AMD_sample_positions ๐ŸŽฏ.


glShadeModel

glShadeModel($mode);

Under :GL_VERSION_1_1 โญ. And not available in a 'future-compatible' profile โ€” removed in 3.2, so if that's your vibe she's simply not invited ๐Ÿ’€. Details: <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glShadeModel.xml>


glShaderBinary

glShaderBinary_c($count, $shaders, $binaryFormat, $binary, $length);

Tagged :GL_ARB_ES2_compatibility ๐ŸŽ€.


glShaderOp1EXT

glShaderOp1EXT($op, $res, $arg1);

Exported under :GL_EXT_vertex_shader โœจ.


glShaderOp2EXT

glShaderOp2EXT($op, $res, $arg1, $arg2);

Also :GL_EXT_vertex_shader ๐Ÿ’….


glShaderOp3EXT

glShaderOp3EXT($op, $res, $arg1, $arg2, $arg3);

Yep โ€” :GL_EXT_vertex_shader ๐ŸŒธ.


glShaderSource

glShaderSource_c($shader, $count, $string, $length);
glShaderSource_p($shader, @string);

Under :GL_VERSION_2_0 ๐Ÿ”ฅ. Docs live here: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glShaderSource.xhtml>


glShaderSourceARB

glShaderSourceARB_c($shader, $count, $string, $length);
glShaderSourceARB_p($shader, @string);

Tagged :GL_ARB_shader_objects ๐ŸŽ€.


glShaderStorageBlockBinding

glShaderStorageBlockBinding($program, $storageBlockIndex, $storageBlockBinding);

Lives under :GL_ARB_shader_storage_buffer_object โœจ.


glShadingRateCombinerOpsEXT

glShadingRateCombinerOpsEXT($combinerOp0, $combinerOp1);

Exported under :GL_EXT_fragment_shading_rate ๐Ÿ’–.


glShadingRateEXT

glShadingRateEXT($rate);

Also under :GL_EXT_fragment_shading_rate ๐Ÿฆ‹.


glShadingRateImageBarrierNV

glShadingRateImageBarrierNV($synchronize);

Tagged :GL_NV_shading_rate_image ๐ŸŽ€.


glShadingRateImagePaletteNV

glShadingRateImagePaletteNV_c($viewport, $first, $count, $rates);
glShadingRateImagePaletteNV_p($viewport, $first, @rates);

Yep, :GL_NV_shading_rate_image โœจ.


glShadingRateQCOM

glShadingRateQCOM($rate);

Lives under :GL_QCOM_shading_rate ๐ŸŒธ.


glShadingRateSampleOrderCustomNV

glShadingRateSampleOrderCustomNV_c($rate, $samples, $locations);

Under :GL_NV_shading_rate_image ๐Ÿ’….


glShadingRateSampleOrderNV

glShadingRateSampleOrderNV($order);

Same tag, :GL_NV_shading_rate_image ๐Ÿ”ฅ.


glSharpenTexFuncSGIS

glSharpenTexFuncSGIS_c($target, $n, $points);
glSharpenTexFuncSGIS_p($target, $n, @points);

Tagged :GL_SGIS_sharpen_texture ๐ŸŽ€.


glSignalSemaphoreEXT

glSignalSemaphoreEXT_c($semaphore, $numBufferBarriers, $buffers, $numTextureBarriers, $textures, $dstLayouts);

Exported under :GL_EXT_semaphore โœจ.


glSignalSemaphoreui64NVX

glSignalSemaphoreui64NVX_c($signalGpu, $fenceObjectCount, $semaphoreArray, $fenceValueArray);
glSignalSemaphoreui64NVX_p($signalGpu, \@semaphoreArray, \@fenceValueArray);

Lives under :GL_NVX_progress_fence ๐Ÿ’–.


glSignalVkFenceNV

glSignalVkFenceNV($vkFence);

Tagged :GL_NV_draw_vulkan_image ๐Ÿฆ‹.


glSignalVkSemaphoreNV

glSignalVkSemaphoreNV($vkSemaphore);

Also :GL_NV_draw_vulkan_image โญ.


glSpecializeShader

glSpecializeShader_c($shader, $pEntryPoint, $numSpecializationConstants, $pConstantIndex, $pConstantValue);
glSpecializeShaderARB_c($shader, $pEntryPoint, $numSpecializationConstants, $pConstantIndex, $pConstantValue);
glSpecializeShader_p($shader, $pEntryPoint, \@pConstantIndex, \@pConstantValue);
glSpecializeShaderARB_p($shader, $pEntryPoint, \@pConstantIndex, \@pConstantValue);

Under :GL_VERSION_4_6 ๐Ÿ‘‘. Docs: <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glSpecializeShader.xhtml>


glSpriteParameterfSGIX

glSpriteParameterfSGIX($pname, $param);

Tagged :GL_SGIX_sprite ๐ŸŽ€.


glSpriteParameterfvSGIX

glSpriteParameterfvSGIX_c($pname, $params);

Also :GL_SGIX_sprite โœจ.


glSpriteParameteriSGIX

glSpriteParameteriSGIX($pname, $param);

Yep โ€” :GL_SGIX_sprite ๐ŸŒธ.


glSpriteParameterivSGIX

glSpriteParameterivSGIX_c($pname, $params);

And finally, still repping :GL_SGIX_sprite ๐Ÿ’….

glStartTilingQCOM

glStartTilingQCOM($x, $y, $width, $height, $preserveMask);

Exported under tag :GL_QCOM_tiled_rendering.


glStateCaptureNV

glStateCaptureNV($state, $mode);

Exported under tag :GL_NV_command_list.


glStencilFillPathInstancedNV

glStencilFillPathInstancedNV_c($numPaths, $pathNameType, $paths, $pathBase, $fillMode, $mask, $transformType, $transformValues);

Exported under tag :GL_NV_path_rendering.


glStencilFillPathNV

glStencilFillPathNV($path, $fillMode, $mask);

Exported under tag :GL_NV_path_rendering.


glStencilFunc

glStencilFunc($func, $ref, $mask);

Exported under tag :GL_VERSION_1_1. Official refpage moment: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glStencilFunc.xhtml


glStencilFuncSeparate

glStencilFuncSeparate($face, $func, $ref, $mask);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glStencilFuncSeparate.xhtml


glStencilFuncSeparateATI

glStencilFuncSeparateATI($frontfunc, $backfunc, $ref, $mask);

Exported under tag :GL_ATI_separate_stencil.


glStencilMask

glStencilMask($mask);

Exported under tag :GL_VERSION_1_1. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glStencilMask.xhtml


glStencilMaskSeparate

glStencilMaskSeparate($face, $mask);

Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glStencilMaskSeparate.xhtml


glStencilOp

glStencilOp($fail, $zfail, $zpass);

Exported under tag :GL_VERSION_1_1. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glStencilOp.xhtml


glStencilOpSeparate

glStencilOpSeparate($face, $sfail, $dpfail, $dppass);
glStencilOpSeparateATI($face, $sfail, $dpfail, $dppass);

Two-for-one, bestie ๐Ÿ’… Exported under tag :GL_VERSION_2_0. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glStencilOpSeparate.xhtml


glStencilOpValueAMD

glStencilOpValueAMD($face, $value);

Exported under tag :GL_AMD_stencil_operation_extended.


glStencilStrokePathInstancedNV

glStencilStrokePathInstancedNV_c($numPaths, $pathNameType, $paths, $pathBase, $reference, $mask, $transformType, $transformValues);

Exported under tag :GL_NV_path_rendering.


glStencilStrokePathNV

glStencilStrokePathNV($path, $reference, $mask);

Exported under tag :GL_NV_path_rendering.


glStencilThenCoverFillPathInstancedNV

glStencilThenCoverFillPathInstancedNV_c($numPaths, $pathNameType, $paths, $pathBase, $fillMode, $mask, $coverMode, $transformType, $transformValues);

Exported under tag :GL_NV_path_rendering.


glStencilThenCoverFillPathNV

glStencilThenCoverFillPathNV($path, $fillMode, $mask, $coverMode);

Exported under tag :GL_NV_path_rendering.


glStencilThenCoverStrokePathInstancedNV

glStencilThenCoverStrokePathInstancedNV_c($numPaths, $pathNameType, $paths, $pathBase, $reference, $mask, $coverMode, $transformType, $transformValues);

Exported under tag :GL_NV_path_rendering.


glStencilThenCoverStrokePathNV

glStencilThenCoverStrokePathNV($path, $reference, $mask, $coverMode);

Exported under tag :GL_NV_path_rendering.


glStereoParameterfNV

glStereoParameterfNV($pname, $param);

Exported under tag :GL_NV_3dvision_settings.


glStereoParameteriNV

glStereoParameteriNV($pname, $param);

Exported under tag :GL_NV_3dvision_settings.


glStringMarkerGREMEDY

glStringMarkerGREMEDY_c($len, $string);

Exported under tag :GL_GREMEDY_string_marker.


glSubpixelPrecisionBiasNV

glSubpixelPrecisionBiasNV($xbits, $ybits);

Exported under tag :GL_NV_conservative_raster.


glSwapMPEGPredictorsSGIX

glSwapMPEGPredictorsSGIX($target0, $target1);

Exported under tag :GL_SGIX_mpeg1.


glSwizzleEXT

glSwizzleEXT($res, $in, $outX, $outY, $outZ, $outW);

Exported under tag :GL_EXT_vertex_shader.


glSyncTextureINTEL

glSyncTextureINTEL($texture);

Exported under tag :GL_LAYOUT_LINEAR_INTEL.


glTagSampleBufferSGIX

glTagSampleBufferSGIX();

No args, just vibes. โœจ Exported under tag :GL_SGIX_tag_sample_buffer.


glTangentPointerEXT

glTangentPointerEXT_c($type, $stride, $pointer);

Exported under tag :GL_EXT_coordinate_frame.


glTbufferMask3DFX

glTbufferMask3DFX($mask);

Exported under tag :GL_3DFX_tbuffer.


glTessellationFactorAMD

glTessellationFactorAMD($factor);

Exported under tag :GL_AMD_vertex_shader_tessellator.


glTessellationModeAMD

glTessellationModeAMD($mode);

Exported under tag :GL_AMD_vertex_shader_tessellator.


glTestFenceAPPLE

$retval = glTestFenceAPPLE($fence);

Ooh, she returns something ๐Ÿ‘‘ Exported under tag :GL_APPLE_fence.


glTestFenceNV

$retval = glTestFenceNV($fence);

Also a $retval girlie. Exported under tag :GL_NV_fence.


glTestObjectAPPLE

$retval = glTestObjectAPPLE($object, $name);

Exported under tag :GL_APPLE_fence.


glTexAttachMemoryNV

glTexAttachMemoryNV($target, $memory, $offset);

Exported under tag :GL_NV_memory_attachment.


glTexBuffer

glTexBuffer($target, $internalformat, $buffer);
glTexBufferARB($target, $internalformat, $buffer);
glTexBufferEXT($target, $internalformat, $buffer);

Three names, one energy. Exported under tag :GL_VERSION_3_1. Refpage: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexBuffer.xhtml


glTexBufferOES

glTexBufferOES($target, $internalformat, $buffer);

Exported under tag :GL_OES_texture_buffer.


glTexBufferRange

glTexBufferRange($target, $internalformat, $buffer, $offset, $size);
glTexBufferRangeEXT($target, $internalformat, $buffer, $offset, $size);

Exported under tag :GL_ARB_texture_buffer_range.


glTexBufferRangeOES

glTexBufferRangeOES($target, $internalformat, $buffer, $offset, $size);

Exported under tag :GL_OES_texture_buffer.


glTexBumpParameterfvATI

glTexBumpParameterfvATI_c($pname, $param);

Exported under tag :GL_ATI_envmap_bumpmap.


glTexBumpParameterivATI

glTexBumpParameterivATI_c($pname, $param);

Exported under tag :GL_ATI_envmap_bumpmap.


glTexCoord1d

glTexCoord1d($s);

Exported under tag :GL_VERSION_1_1.

Heads up bestie: not available in a 'future-compatible' profile as removed in 3.2. She's a legacy queen, gone in the new era ๐Ÿ˜ญ

glTexCoord1dv

glTexCoord1dv_c($v);
glTexCoord1dv_p(@v);

Exported under tag :GL_VERSION_1_1.

Same warning, no cap: not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord1f

glTexCoord1f($s);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord1fv

glTexCoord1fv_c($v);
glTexCoord1fv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord1hNV

glTexCoord1hNV($s);

Exported under tag :GL_NV_half_float.


glTexCoord1hvNV

glTexCoord1hvNV_c($v);
glTexCoord1hvNV_p(@v);

Exported under tag :GL_NV_half_float.


glTexCoord1i

glTexCoord1i($s);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord1iv

glTexCoord1iv_c($v);
glTexCoord1iv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord1s

glTexCoord1s($s);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord1sv

glTexCoord1sv_c($v);
glTexCoord1sv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2d

glTexCoord2d($s, $t);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2dv

glTexCoord2dv_c($v);
glTexCoord2dv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2f

glTexCoord2f($s, $t);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2fColor3fVertex3fSUN

glTexCoord2fColor3fVertex3fSUN($s, $t, $r, $g, $b, $x, $y, $z);

Look at this absolute mouthful of a name, she ate ๐Ÿ“ Exported under tag :GL_SUN_vertex.


glTexCoord2fColor3fVertex3fvSUN

glTexCoord2fColor3fVertex3fvSUN_c($tc, $c, $v);
glTexCoord2fColor3fVertex3fvSUN_p(\@tc, \@c, \@v);

Exported under tag :GL_SUN_vertex.


glTexCoord2fColor4fNormal3fVertex3fSUN

glTexCoord2fColor4fNormal3fVertex3fSUN($s, $t, $r, $g, $b, $a, $nx, $ny, $nz, $x, $y, $z);

Say that five times fast, I dare you ๐Ÿซถ Exported under tag :GL_SUN_vertex.


glTexCoord2fColor4fNormal3fVertex3fvSUN

glTexCoord2fColor4fNormal3fVertex3fvSUN_c($tc, $c, $n, $v);
glTexCoord2fColor4fNormal3fVertex3fvSUN_p(\@tc, \@c, \@n, \@v);

Exported under tag :GL_SUN_vertex.


glTexCoord2fColor4ubVertex3fSUN

glTexCoord2fColor4ubVertex3fSUN($s, $t, $r, $g, $b, $a, $x, $y, $z);

Exported under tag :GL_SUN_vertex.


glTexCoord2fColor4ubVertex3fvSUN

glTexCoord2fColor4ubVertex3fvSUN_c($tc, $c, $v);
glTexCoord2fColor4ubVertex3fvSUN_p(\@tc, \@c, \@v);

Exported under tag :GL_SUN_vertex.


glTexCoord2fNormal3fVertex3fSUN

glTexCoord2fNormal3fVertex3fSUN($s, $t, $nx, $ny, $nz, $x, $y, $z);

Exported under tag :GL_SUN_vertex.


glTexCoord2fNormal3fVertex3fvSUN

glTexCoord2fNormal3fVertex3fvSUN_c($tc, $n, $v);
glTexCoord2fNormal3fVertex3fvSUN_p(\@tc, \@n, \@v);

Exported under tag :GL_SUN_vertex.


glTexCoord2fVertex3fSUN

glTexCoord2fVertex3fSUN($s, $t, $x, $y, $z);

Exported under tag :GL_SUN_vertex.


glTexCoord2fVertex3fvSUN

glTexCoord2fVertex3fvSUN_c($tc, $v);
glTexCoord2fVertex3fvSUN_p(\@tc, \@v);

Exported under tag :GL_SUN_vertex.


glTexCoord2fv

glTexCoord2fv_c($v);
glTexCoord2fv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2hNV

glTexCoord2hNV($s, $t);

Exported under tag :GL_NV_half_float.


glTexCoord2hvNV

glTexCoord2hvNV_c($v);
glTexCoord2hvNV_p(@v);

Exported under tag :GL_NV_half_float.


glTexCoord2i

glTexCoord2i($s, $t);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2iv

glTexCoord2iv_c($v);
glTexCoord2iv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2s

glTexCoord2s($s, $t);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord2sv

glTexCoord2sv_c($v);
glTexCoord2sv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord3d

glTexCoord3d($s, $t, $r);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

glTexCoord3dv

glTexCoord3dv_c($v);
glTexCoord3dv_p(@v);

Exported under tag :GL_VERSION_1_1.

Not available in a 'future-compatible' profile as removed in 3.2.

...and that one's still :GL_VERSION_1_1 coded, and still a no-go in a 'future-compatible' profile because it got removed all the way back in 3.2. ๐Ÿ˜ญ Okay moving on, we have a whole lotta texcoords left, bestie.

glTexCoord3f ๐ŸŽ€

glTexCoord3f($s, $t, $r);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, so if you're on the future-compatible grind, this one ghosted you. ๐Ÿ’€

glTexCoord3fv

glTexCoord3fv_c($v);
glTexCoord3fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, on account of getting removed in 3.2.

glTexCoord3hNV โœจ

glTexCoord3hNV($s, $t, $r);

Exported under tag :GL_NV_half_float. Half-float girlies, this is your moment.

glTexCoord3hvNV

glTexCoord3hvNV_c($v);
glTexCoord3hvNV_p(@v);

Exported under tag :GL_NV_half_float.

glTexCoord3i

glTexCoord3i($s, $t, $r);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, because 3.2 said "removed" and meant it.

glTexCoord3iv

glTexCoord3iv_c($v);
glTexCoord3iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. ๐Ÿซถ

glTexCoord3s

glTexCoord3s($s, $t, $r);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2.

glTexCoord3sv

glTexCoord3sv_c($v);
glTexCoord3sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” you know the drill, 3.2 removed it. ๐ŸŒธ

glTexCoord4d

glTexCoord4d($s, $t, $r, $q);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, since it was removed in 3.2. Four whole coords of it, gone. ๐Ÿ˜”

glTexCoord4dv

glTexCoord4dv_c($v);
glTexCoord4dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2.

glTexCoord4f

glTexCoord4f($s, $t, $r, $q);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, lowkey devastating.

glTexCoord4fColor4fNormal3fVertex4fSUN ๐Ÿ‘‘

glTexCoord4fColor4fNormal3fVertex4fSUN($s, $t, $p, $q, $r, $g, $b, $a, $nx, $ny, $nz, $x, $y, $z, $w);

Exported under tag :GL_SUN_vertex. Fifteen arguments, one function name that ate, and absolutely zero chill. Not me reading a whole paragraph of params ๐Ÿ’…

glTexCoord4fColor4fNormal3fVertex4fvSUN

glTexCoord4fColor4fNormal3fVertex4fvSUN_c($tc, $c, $n, $v);
glTexCoord4fColor4fNormal3fVertex4fvSUN_p(\@tc, \@c, \@n, \@v);

Exported under tag :GL_SUN_vertex. Same iconic energy, but vector-flavoured for you array girlies.

glTexCoord4fVertex4fSUN

glTexCoord4fVertex4fSUN($s, $t, $p, $q, $x, $y, $z, $w);

Exported under tag :GL_SUN_vertex.

glTexCoord4fVertex4fvSUN

glTexCoord4fVertex4fvSUN_c($tc, $v);
glTexCoord4fVertex4fvSUN_p(\@tc, \@v);

Exported under tag :GL_SUN_vertex.

glTexCoord4fv

glTexCoord4fv_c($v);
glTexCoord4fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. โœจ

glTexCoord4hNV

glTexCoord4hNV($s, $t, $r, $q);

Exported under tag :GL_NV_half_float.

glTexCoord4hvNV

glTexCoord4hvNV_c($v);
glTexCoord4hvNV_p(@v);

Exported under tag :GL_NV_half_float.

glTexCoord4i

glTexCoord4i($s, $t, $r, $q);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2, soz bestie.

glTexCoord4iv

glTexCoord4iv_c($v);
glTexCoord4iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2.

glTexCoord4s

glTexCoord4s($s, $t, $r, $q);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. ๐ŸŒˆ

glTexCoord4sv

glTexCoord4sv_c($v);
glTexCoord4sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2.

glTexCoordFormatNV ๐Ÿ”ฅ

glTexCoordFormatNV($size, $type, $stride);

Exported under tag :GL_NV_vertex_buffer_unified_memory. Big unified memory vibes.

glTexCoordP1ui

glTexCoordP1ui($type, $coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.

glTexCoordP1uiv

glTexCoordP1uiv_c($type, $coords);
glTexCoordP1uiv_p($type, @coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.

glTexCoordP2ui

glTexCoordP2ui($type, $coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. P2, we see you. ๐Ÿ’œ

glTexCoordP2uiv

glTexCoordP2uiv_c($type, $coords);
glTexCoordP2uiv_p($type, @coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.

glTexCoordP3ui

glTexCoordP3ui($type, $coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.

glTexCoordP3uiv

glTexCoordP3uiv_c($type, $coords);
glTexCoordP3uiv_p($type, @coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.

glTexCoordP4ui

glTexCoordP4ui($type, $coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.

glTexCoordP4uiv

glTexCoordP4uiv_c($type, $coords);
glTexCoordP4uiv_p($type, @coords);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. Iconic run of P's, honestly.

glTexCoordPointer ๐Ÿซถ

glTexCoordPointer_c($size, $type, $stride, $pointer);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, because it was removed in 3.2. Extra reading if you want it: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexCoordPointer.xml

Heads up bestie โ€” this variant _c takes the args directly, no _p list version listed here. Just the one form, and it's the :GL_VERSION_1_1 one. Don't come for me, I just report the tea. โ˜•

glTexCoordPointerEXT

glTexCoordPointerEXT_c($size, $type, $stride, $count, $pointer);

Exported under tag :GL_EXT_vertex_array.

glTexCoordPointerListIBM

glTexCoordPointerListIBM_c($size, $type, $stride, $pointer, $ptrstride);

Exported under tag :GL_IBM_vertex_array_lists.

glTexCoordPointervINTEL

glTexCoordPointervINTEL_c($size, $type, $pointer);

Exported under tag :GL_INTEL_parallel_arrays. Parallel arrays, parallel universe. ๐Ÿฆ‹

glTexEnvf

glTexEnvf($target, $pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. Docs if you need them: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexEnvf.xml

glTexEnvfv

glTexEnvfv_c($target, $pname, $params);
glTexEnvfv_p($target, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. More reading: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexEnvfv.xml

glTexEnvi

glTexEnvi($target, $pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” 3.2 removed it, no cap. Receipts: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexEnvi.xml

glTexEnviv

glTexEnviv_c($target, $pname, $params);
glTexEnviv_p($target, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. Link: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexEnviv.xml

glTexEnvx ๐ŸŒŸ

glTexEnvx($target, $pname, $param);

Exported under tag :GL_REGAL_ES1_0_compatibility.

glTexEnvxv

glTexEnvxv_c($target, $pname, $params);
glTexEnvxv_p($target, $pname, @params);

Exported under tag :GL_REGAL_ES1_0_compatibility. Matching set, cute.

glTexEstimateMotionQCOM

glTexEstimateMotionQCOM($ref, $target, $output);

Exported under tag :GL_QCOM_motion_estimation. Motion estimation, literally the main character. ๐ŸŽฌ

glTexEstimateMotionRegionsQCOM

glTexEstimateMotionRegionsQCOM($ref, $target, $output, $mask);

Exported under tag :GL_QCOM_motion_estimation. Same but with $mask โ€” regions era.

glTexFilterFuncSGIS

glTexFilterFuncSGIS_c($target, $filter, $n, $weights);
glTexFilterFuncSGIS_p($target, $filter, @weights);

Exported under tag :GL_SGIS_texture_filter4.

glTexGend

glTexGend($coord, $pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. Full tea: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexGend.xml

glTexGendv

glTexGendv_c($coord, $pname, $params);
glTexGendv_p($coord, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. Source: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexGendv.xml

glTexGenf

glTexGenf($coord, $pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile โ€” removed in 3.2. Reference: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexGenf.xml

glTexGenfOES ๐Ÿ’–

glTexGenfOES($coord, $pname, $param);

Exported under tag :GL_OES_texture_cube_map. The OES variant said "I'm not leaving."

glTexGenfv

glTexGenfv_c($coord, $pname, $params);
glTexGenfv_p($coord, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexGenfv.xml

glTexGenfvOES

glTexGenfvOES_c($coord, $pname, $params);

Exported under tag :GL_OES_texture_cube_map. Notice โ€” only the _c form here, no _p sibling. ๐Ÿ™ˆ

glTexGeni

glTexGeni($coord, $pname, $param);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. Reference: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexGeni.xml

glTexGeniOES

glTexGeniOES($coord, $pname, $param);

Exported under tag :GL_OES_texture_cube_map.

glTexGeniv

glTexGeniv_c($coord, $pname, $params);
glTexGeniv_p($coord, $pname, @params);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile, removed in 3.2. Docs: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTexGeniv.xml

glTexGenivOES

glTexGenivOES_c($coord, $pname, $params);

Exported under tag :GL_OES_texture_cube_map. Again, _c only. Keep note bestie. ๐Ÿ“

glTexGenxOES

glTexGenxOES($coord, $pname, $param);

Exported under tag :GL_OES_texture_cube_map.

glTexGenxvOES

glTexGenxvOES_c($coord, $pname, $params);

Exported under tag :GL_OES_texture_cube_map. Also _c only โ€” the OES x-family just does that.

glTexImage1D ๐ŸŒธ

glTexImage1D_c($target, $level, $internalformat, $width, $border, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_1. This one's not in the removed-in-3.2 pile, so it survives even in a 'future-compatible' profile โ€” go read more here: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexImage1D.xhtml

glTexImage2D โœจ

glTexImage2D_c($target, $level, $internalformat, $width, $height, $border, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_1. Also surviving the future-compatible cut, bestie. Extra reading right here: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexImage2D.xhtml

glTexImage2DMultisample

glTexImage2DMultisample($target, $samples, $internalformat, $width, $height, $fixedsamplelocations);

Exported under tag :GL_ARB_texture_multisample.

glTexImage2DMultisampleCoverageNV

glTexImage2DMultisampleCoverageNV($target, $coverageSamples, $colorSamples, $internalFormat, $width, $height, $fixedSampleLocations);

Exported under tag :GL_NV_texture_multisample. Coverage samples AND color samples โ€” she's doing the most, respectfully. ๐Ÿ’…

glTexImage3D

glTexImage3D_c($target, $level, $internalformat, $width, $height, $depth, $border, $format, $type, $pixels);
glTexImage3DEXT_c($target, $level, $internalformat, $width, $height, $depth, $border, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_2. Two spellings, same energy: glTexImage3D_c and glTexImage3DEXT_c. Deep dive: https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexImage3D.xhtml

glTexImage3DMultisample

glTexImage3DMultisample($target, $samples, $internalformat, $width, $height, $depth, $fixedsamplelocations);

Exported under tag :GL_ARB_texture_multisample. Three-D multisample, going off. ๐Ÿ”ฅ


โœจ glTexImage3DMultisampleCoverageNV โœจ

okay so bestie, this one is giving very "multi-sample but make it custom coverage" ๐Ÿ’…

glTexImage3DMultisampleCoverageNV($target, $coverageSamples, $colorSamples, $internalFormat, $width, $height, $depth, $fixedSampleLocations);

Exported under tag :GL_NV_texture_multisample.


๐Ÿฆ‹ glTexImage3DNV ๐Ÿฆ‹

glTexImage3DNV_c($target, $level, $internalFormat, $width, $height, $depth, $border, $format, $type, $pixels);

Exported under tag :GL_NV_texture_array.


๐ŸŒธ glTexImage3DOES ๐ŸŒธ

glTexImage3DOES_c($target, $level, $internalFormat, $width, $height, $depth, $border, $format, $type, $pixels);

Exported under tag :GL_OES_texture_3D.


โญ glTexImage4DSGIS โญ

four whole dimensions, no cap, we're not even pretending anymore ๐Ÿซถ

glTexImage4DSGIS_c($target, $level, $internalformat, $width, $height, $depth, $size4d, $border, $format, $type, $pixels);

Exported under tag :GL_SGIS_texture4D.


๐Ÿ’œ glTexPageCommitmentARB ๐Ÿ’œ

the way that sparse textures let you commit pages like you're paying rent per mip levelโ€ฆ iconic

glTexPageCommitmentARB($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $commit);
glTexPageCommitmentEXT($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $commit);

Exported under tag :GL_ARB_sparse_texture.


๐ŸŽ€ glTexPageCommitmentMemNV ๐ŸŽ€

glTexPageCommitmentMemNV($target, $layer, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $memory, $offset, $commit);

Exported under tag :GL_NV_memory_object_sparse.


๐Ÿ”ฅ glTexParameterIiv ๐Ÿ”ฅ

she does integers AND she does pointers, versatile queen ๐Ÿ‘‘

glTexParameterIiv_c($target, $pname, $params);
glTexParameterIivEXT_c($target, $pname, $params);
glTexParameterIiv_p($target, $pname, @params);
glTexParameterIivEXT_p($target, $pname, @params);

Exported under tag :GL_VERSION_3_0. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexParameterIiv.xhtml


๐Ÿ’– glTexParameterIivOES ๐Ÿ’–

glTexParameterIivOES_c($target, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp.


โœจ glTexParameterIuiv โœจ

signed had her moment, now it's unsigned's turn to shine, no negativity allowed ๐Ÿ’…

glTexParameterIuiv_c($target, $pname, $params);
glTexParameterIuivEXT_c($target, $pname, $params);
glTexParameterIuiv_p($target, $pname, @params);
glTexParameterIuivEXT_p($target, $pname, @params);

Exported under tag :GL_VERSION_3_0. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexParameterIuiv.xhtml


๐ŸŒˆ glTexParameterIuivOES ๐ŸŒˆ

glTexParameterIuivOES_c($target, $pname, $params);

Exported under tag :GL_OES_texture_border_clamp.


๐Ÿฆ‹ glTexParameterf ๐Ÿฆ‹

floaties! just one scalar param, tiny and cute, doing her best ๐Ÿ“

glTexParameterf($target, $pname, $param);

Exported under tag :GL_VERSION_1_1. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexParameterf.xhtml


๐ŸŽ€ glTexParameterfv ๐ŸŽ€

same vibe, but now she brought the whole array with her โœจ

glTexParameterfv_c($target, $pname, $params);
glTexParameterfv_p($target, $pname, @params);

Exported under tag :GL_VERSION_1_1. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexParameterfv.xhtml


๐Ÿ’œ glTexParameteri ๐Ÿ’œ

glTexParameteri($target, $pname, $param);

Exported under tag :GL_VERSION_1_1. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexParameteri.xhtml


โญ glTexParameteriv โญ

glTexParameteriv_c($target, $pname, $params);
glTexParameteriv_p($target, $pname, @params);

Exported under tag :GL_VERSION_1_1. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexParameteriv.xhtml


๐ŸŒธ glTexParameterx ๐ŸŒธ

the x suffix is the REGAL ES1.0 compatibility era, we love a legacy moment ๐Ÿ™ˆ

glTexParameterx($target, $pname, $param);

Exported under tag :GL_REGAL_ES1_0_compatibility.


๐Ÿงš glTexParameterxv ๐Ÿงš

glTexParameterxv_c($target, $pname, $params);
glTexParameterxv_p($target, $pname, @params);

Exported under tag :GL_REGAL_ES1_1_compatibility.


๐Ÿ’… glTexRenderbufferNV ๐Ÿ’…

wiring a renderbuffer straight into a texture, it's giving "we're skipping the middleman" ๐Ÿ˜Œ

glTexRenderbufferNV($target, $renderbuffer);

Exported under tag :GL_NV_explicit_multisample.


๐Ÿ”ฅ glTexScissorFuncINTEL ๐Ÿ”ฅ

two functions, low and high, matching the whole scissor situation lowkey brilliantly โœ‚๏ธ

glTexScissorFuncINTEL($target, $lfunc, $hfunc);

Exported under tag :GL_INTEL_texture_scissor.


โœจ glTexScissorINTEL โœจ

glTexScissorINTEL($target, $tlow, $thigh);

Exported under tag :GL_INTEL_texture_scissor.


๐Ÿ‘‘ glTexStorage1D ๐Ÿ‘‘

one dimension, zero drama, immutable storage and she is NOT changing her mind about that ๐Ÿซถ

glTexStorage1D($target, $levels, $internalformat, $width);
glTexStorage1DEXT($target, $levels, $internalformat, $width);

Exported under tag :GL_ARB_texture_storage.


๐Ÿ’– glTexStorage2D ๐Ÿ’–

glTexStorage2D($target, $levels, $internalformat, $width, $height);
glTexStorage2DEXT($target, $levels, $internalformat, $width, $height);

Exported under tag :GL_ARB_texture_storage.


๐ŸŒˆ glTexStorage2DMultisample ๐ŸŒˆ

glTexStorage2DMultisample($target, $samples, $internalformat, $width, $height, $fixedsamplelocations);

Exported under tag :GL_ARB_texture_storage_multisample.


๐ŸŽ€ glTexStorage3D ๐ŸŽ€

glTexStorage3D($target, $levels, $internalformat, $width, $height, $depth);
glTexStorage3DEXT($target, $levels, $internalformat, $width, $height, $depth);

Exported under tag :GL_ARB_texture_storage.


๐Ÿ’œ glTexStorage3DMultisample ๐Ÿ’œ

glTexStorage3DMultisample($target, $samples, $internalformat, $width, $height, $depth, $fixedsamplelocations);

Exported under tag :GL_ARB_texture_storage_multisample.


๐Ÿฆ‹ glTexStorage3DMultisampleOES ๐Ÿฆ‹

glTexStorage3DMultisampleOES($target, $samples, $internalformat, $width, $height, $depth, $fixedsamplelocations);

Exported under tag :GL_OES_texture_storage_multisample_2d_array.


๐Ÿ“ glTexStorageAttribs2DEXT ๐Ÿ“

now WITH an $attrib_list because apparently storage alone wasn't the full serve โœจ

glTexStorageAttribs2DEXT_c($target, $levels, $internalformat, $width, $height, $attrib_list);

Exported under tag :GL_EXT_texture_storage_compression.


โญ glTexStorageAttribs3DEXT โญ

glTexStorageAttribs3DEXT_c($target, $levels, $internalformat, $width, $height, $depth, $attrib_list);

Exported under tag :GL_EXT_texture_storage_compression.


๐Ÿงš glTexStorageMem1DEXT ๐Ÿงš

backing a texture with a memory object, we're doing our own memory management era ๐Ÿ’…

glTexStorageMem1DEXT($target, $levels, $internalFormat, $width, $memory, $offset);

Exported under tag :GL_EXT_memory_object.


๐Ÿ’– glTexStorageMem2DEXT ๐Ÿ’–

glTexStorageMem2DEXT($target, $levels, $internalFormat, $width, $height, $memory, $offset);

Exported under tag :GL_EXT_memory_object.


๐ŸŒธ glTexStorageMem2DMultisampleEXT ๐ŸŒธ

glTexStorageMem2DMultisampleEXT($target, $samples, $internalFormat, $width, $height, $fixedSampleLocations, $memory, $offset);

Exported under tag :GL_EXT_memory_object.


๐ŸŽ€ glTexStorageMem3DEXT ๐ŸŽ€

glTexStorageMem3DEXT($target, $levels, $internalFormat, $width, $height, $depth, $memory, $offset);

Exported under tag :GL_EXT_memory_object.


๐Ÿ‘‘ glTexStorageMem3DMultisampleEXT ๐Ÿ‘‘

glTexStorageMem3DMultisampleEXT($target, $samples, $internalFormat, $width, $height, $depth, $fixedSampleLocations, $memory, $offset);

Exported under tag :GL_EXT_memory_object.


๐Ÿ”ฅ glTexStorageSparseAMD ๐Ÿ”ฅ

glTexStorageSparseAMD($target, $internalFormat, $width, $height, $depth, $layers, $flags);

Exported under tag :GL_AMD_sparse_texture.


โœจ glTexSubImage1D โœจ

sub-image time!! updating just a slice instead of redoing the whole thing, main character efficiency ๐Ÿซถ

glTexSubImage1D_c($target, $level, $xoffset, $width, $format, $type, $pixels);
glTexSubImage1DEXT_c($target, $level, $xoffset, $width, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_1. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexSubImage1D.xhtml


๐Ÿ’œ glTexSubImage2D ๐Ÿ’œ

glTexSubImage2D_c($target, $level, $xoffset, $yoffset, $width, $height, $format, $type, $pixels);
glTexSubImage2DEXT_c($target, $level, $xoffset, $yoffset, $width, $height, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_1. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexSubImage2D.xhtml


๐ŸŒˆ glTexSubImage3D ๐ŸŒˆ

glTexSubImage3D_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $pixels);
glTexSubImage3DEXT_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $pixels);

Exported under tag :GL_VERSION_1_2. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTexSubImage3D.xhtml


๐Ÿฆ‹ glTexSubImage3DNV ๐Ÿฆ‹

glTexSubImage3DNV_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $pixels);

Exported under tag :GL_NV_texture_array.


๐Ÿ“ glTexSubImage3DOES ๐Ÿ“

glTexSubImage3DOES_c($target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $pixels);

Exported under tag :GL_OES_texture_3D.


โญ glTexSubImage4DSGIS โญ

notice the extra $woffset in there, four-dimensional girlies stay winning ๐ŸŒˆ

glTexSubImage4DSGIS_c($target, $level, $xoffset, $yoffset, $zoffset, $woffset, $width, $height, $depth, $size4d, $format, $type, $pixels);

Exported under tag :GL_SGIS_texture4D.


๐ŸŽ€ glTextureAttachMemoryNV ๐ŸŽ€

glTextureAttachMemoryNV($texture, $memory, $offset);

Exported under tag :GL_NV_memory_attachment.


๐Ÿ’… glTextureBarrier ๐Ÿ’…

no arguments, no notes, just a barrier. she says nothing and yet she says everything ๐Ÿ’€

glTextureBarrier();

Exported under tag :GL_ARB_texture_barrier.


โœจ glTextureBarrierNV โœจ

glTextureBarrierNV();

Exported under tag :GL_NV_texture_barrier.


๐Ÿ’œ glTextureBuffer ๐Ÿ’œ

direct state access bestie, no bind required, we love a shortcut ๐Ÿซถ

glTextureBuffer($texture, $internalformat, $buffer);

Exported under tag :GL_ARB_direct_state_access.


๐Ÿ”ฅ glTextureBufferEXT ๐Ÿ”ฅ

glTextureBufferEXT($texture, $target, $internalformat, $buffer);

Exported under tag :GL_EXT_direct_state_access.


๐ŸŒธ glTextureBufferRange ๐ŸŒธ

glTextureBufferRange($texture, $internalformat, $buffer, $offset, $size);

Exported under tag :GL_ARB_direct_state_access.


๐ŸŒˆ glTextureBufferRangeEXT ๐ŸŒˆ

glTextureBufferRangeEXT($texture, $target, $internalformat, $buffer, $offset, $size);

Exported under tag :GL_ARB_texture_buffer_range.


๐Ÿงš glTextureFogSGIX ๐Ÿงš

fog but make it a texture, truly a vibe check of an extension ๐ŸŒซ๏ธ

glTextureFogSGIX($pname);

Exported under tag :GL_SGIX_fog_texture.


๐Ÿ‘‘ glTextureFoveationParametersQCOM ๐Ÿ‘‘

foveated rendering parameters, eye-tracking-core, extremely main character ๐Ÿ”ฎ

glTextureFoveationParametersQCOM($texture, $layer, $focalPoint, $focalX, $focalY, $gainX, $gainY, $foveaArea);

Exported under tag :GL_QCOM_texture_foveated.


๐Ÿ’– glTextureImage1DEXT ๐Ÿ’–

glTextureImage1DEXT_c($texture, $target, $level, $internalformat, $width, $border, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access.


๐ŸŽ€ glTextureImage2DEXT ๐ŸŽ€

glTextureImage2DEXT_c($texture, $target, $level, $internalformat, $width, $height, $border, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access.


๐ŸŒธ glTextureImage2DMultisampleCoverageNV ๐ŸŒธ

coverage samples AND color samples, she contains multitudes ๐Ÿ’…

glTextureImage2DMultisampleCoverageNV($texture, $target, $coverageSamples, $colorSamples, $internalFormat, $width, $height, $fixedSampleLocations);

Exported under tag :GL_NV_texture_multisample.


โญ glTextureImage2DMultisampleNV โญ

glTextureImage2DMultisampleNV($texture, $target, $samples, $internalFormat, $width, $height, $fixedSampleLocations);

Exported under tag :GL_NV_texture_multisample.


๐Ÿฆ‹ glTextureImage3DEXT ๐Ÿฆ‹

glTextureImage3DEXT_c($texture, $target, $level, $internalformat, $width, $height, $depth, $border, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access.


๐Ÿ”ฅ glTextureImage3DMultisampleCoverageNV ๐Ÿ”ฅ

glTextureImage3DMultisampleCoverageNV($texture, $target, $coverageSamples, $colorSamples, $internalFormat, $width, $height, $depth, $fixedSampleLocations);

Exported under tag :GL_NV_texture_multisample.


๐Ÿ’œ glTextureImage3DMultisampleNV ๐Ÿ’œ

glTextureImage3DMultisampleNV($texture, $target, $samples, $internalFormat, $width, $height, $depth, $fixedSampleLocations);

Exported under tag :GL_NV_texture_multisample.


โœจ glTextureLightEXT โœจ

lighting applied through the texture pipeline, she's got layers ๐Ÿง…

glTextureLightEXT($pname);

Exported under tag :GL_EXT_light_texture.


๐ŸŽ€ glTextureMaterialEXT ๐ŸŽ€

glTextureMaterialEXT($face, $mode);

Exported under tag :GL_EXT_light_texture.


๐Ÿ“ glTextureNormalEXT ๐Ÿ“

perturbing normals, honestly relatable ๐Ÿ™ˆ

glTextureNormalEXT($mode);

Exported under tag :GL_EXT_texture_perturb_normal.

๐ŸŒธ glTexturePageCommitmentEXT

glTexturePageCommitmentEXT($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $commit);

Exported under tag :GL_EXT_direct_state_access.


โœจ glTexturePageCommitmentMemNV

glTexturePageCommitmentMemNV($texture, $layer, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $memory, $offset, $commit);

Exported under tag :GL_NV_memory_object_sparse.


๐Ÿ’– glTextureParameterIiv

glTextureParameterIiv_c($texture, $pname, $params);
glTextureParameterIiv_p($texture, $pname, @params);

Exported under tag :GL_ARB_direct_state_access.

okay so see how there's a _c version and a _p version? yeah bestie that's the pattern โ€” one takes a plain scalar/packed thingy, the other slurps up a whole list ๐Ÿ’…

๐Ÿ’– glTextureParameterIivEXT

glTextureParameterIivEXT_c($texture, $target, $pname, $params);
glTextureParameterIivEXT_p($texture, $target, $pname, @params);

Exported under tag :GL_EXT_direct_state_access.

๐Ÿ’– glTextureParameterIuiv

glTextureParameterIuiv_c($texture, $pname, $params);
glTextureParameterIuiv_p($texture, $pname, @params);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿ’– glTextureParameterIuivEXT

glTextureParameterIuivEXT_c($texture, $target, $pname, $params);
glTextureParameterIuivEXT_p($texture, $target, $pname, @params);

Exported under tag :GL_EXT_direct_state_access.

๐Ÿฆ‹ glTextureParameterf

glTextureParameterf($texture, $pname, $param);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿฆ‹ glTextureParameterfEXT

glTextureParameterfEXT($texture, $target, $pname, $param);

Exported under tag :GL_EXT_direct_state_access.

๐Ÿฆ‹ glTextureParameterfv

glTextureParameterfv_c($texture, $pname, $param);
glTextureParameterfv_p($texture, $pname, @param);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿฆ‹ glTextureParameterfvEXT

glTextureParameterfvEXT_c($texture, $target, $pname, $params);
glTextureParameterfvEXT_p($texture, $target, $pname, @params);

Exported under tag :GL_EXT_direct_state_access.

๐ŸŽ€ glTextureParameteri

glTextureParameteri($texture, $pname, $param);

Exported under tag :GL_ARB_direct_state_access.

๐ŸŽ€ glTextureParameteriEXT

glTextureParameteriEXT($texture, $target, $pname, $param);

Exported under tag :GL_EXT_direct_state_access.

๐ŸŽ€ glTextureParameteriv

glTextureParameteriv_c($texture, $pname, $param);
glTextureParameteriv_p($texture, $pname, @param);

Exported under tag :GL_ARB_direct_state_access.

๐ŸŽ€ glTextureParameterivEXT

glTextureParameterivEXT_c($texture, $target, $pname, $params);
glTextureParameterivEXT_p($texture, $target, $pname, @params);

Exported under tag :GL_EXT_direct_state_access.


๐Ÿ“ glTextureRangeAPPLE

glTextureRangeAPPLE_c($target, $length, $pointer);

Exported under tag :GL_APPLE_texture_range.

๐Ÿ“ glTextureRenderbufferEXT

glTextureRenderbufferEXT($texture, $target, $renderbuffer);

Exported under tag :GL_EXT_direct_state_access.

๐Ÿซถ glTextureStorage1D

glTextureStorage1D($texture, $levels, $internalformat, $width);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿซถ glTextureStorage1DEXT

glTextureStorage1DEXT($texture, $target, $levels, $internalformat, $width);

Exported under tag :GL_EXT_texture_storage.

๐Ÿซถ glTextureStorage2D

glTextureStorage2D($texture, $levels, $internalformat, $width, $height);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿซถ glTextureStorage2DEXT

glTextureStorage2DEXT($texture, $target, $levels, $internalformat, $width, $height);

Exported under tag :GL_EXT_texture_storage.

๐ŸŒˆ glTextureStorage2DMultisample

glTextureStorage2DMultisample($texture, $samples, $internalformat, $width, $height, $fixedsamplelocations);

Exported under tag :GL_ARB_direct_state_access.

๐ŸŒˆ glTextureStorage2DMultisampleEXT

glTextureStorage2DMultisampleEXT($texture, $target, $samples, $internalformat, $width, $height, $fixedsamplelocations);

Exported under tag :GL_ARB_texture_storage_multisample.

๐ŸŒˆ glTextureStorage3D

glTextureStorage3D($texture, $levels, $internalformat, $width, $height, $depth);

Exported under tag :GL_ARB_direct_state_access.

๐ŸŒˆ glTextureStorage3DEXT

glTextureStorage3DEXT($texture, $target, $levels, $internalformat, $width, $height, $depth);

Exported under tag :GL_EXT_texture_storage.

๐ŸŒˆ glTextureStorage3DMultisample

glTextureStorage3DMultisample($texture, $samples, $internalformat, $width, $height, $depth, $fixedsamplelocations);

Exported under tag :GL_ARB_direct_state_access.

๐ŸŒˆ glTextureStorage3DMultisampleEXT

glTextureStorage3DMultisampleEXT($texture, $target, $samples, $internalformat, $width, $height, $depth, $fixedsamplelocations);

Exported under tag :GL_ARB_texture_storage_multisample.


๐Ÿงš glTextureStorageMem1DEXT

glTextureStorageMem1DEXT($texture, $levels, $internalFormat, $width, $memory, $offset);

Exported under tag :GL_EXT_memory_object.

heads up bestie: that one's $internalFormat with a capital F, unlike its Storage1D cousin up there. do not just vibe-edit it, the spelling is load-bearing ๐Ÿ™ˆ

๐Ÿงš glTextureStorageMem2DEXT

glTextureStorageMem2DEXT($texture, $levels, $internalFormat, $width, $height, $memory, $offset);

Exported under tag :GL_EXT_memory_object.

๐Ÿงš glTextureStorageMem2DMultisampleEXT

glTextureStorageMem2DMultisampleEXT($texture, $samples, $internalFormat, $width, $height, $fixedSampleLocations, $memory, $offset);

Exported under tag :GL_EXT_memory_object.

๐Ÿงš glTextureStorageMem3DEXT

glTextureStorageMem3DEXT($texture, $levels, $internalFormat, $width, $height, $depth, $memory, $offset);

Exported under tag :GL_EXT_memory_object.

๐Ÿงš glTextureStorageMem3DMultisampleEXT

glTextureStorageMem3DMultisampleEXT($texture, $samples, $internalFormat, $width, $height, $depth, $fixedSampleLocations, $memory, $offset);

Exported under tag :GL_EXT_memory_object.

๐Ÿ’œ glTextureStorageSparseAMD

glTextureStorageSparseAMD($texture, $target, $internalFormat, $width, $height, $depth, $layers, $flags);

Exported under tag :GL_AMD_sparse_texture.


๐Ÿฆ‹ glTextureSubImage1D

glTextureSubImage1D_c($texture, $level, $xoffset, $width, $format, $type, $pixels);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿฆ‹ glTextureSubImage1DEXT

glTextureSubImage1DEXT_c($texture, $target, $level, $xoffset, $width, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access.

๐Ÿฆ‹ glTextureSubImage2D

glTextureSubImage2D_c($texture, $level, $xoffset, $yoffset, $width, $height, $format, $type, $pixels);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿฆ‹ glTextureSubImage2DEXT

glTextureSubImage2DEXT_c($texture, $target, $level, $xoffset, $yoffset, $width, $height, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access.

๐Ÿฆ‹ glTextureSubImage3D

glTextureSubImage3D_c($texture, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $pixels);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿฆ‹ glTextureSubImage3DEXT

glTextureSubImage3DEXT_c($texture, $target, $level, $xoffset, $yoffset, $zoffset, $width, $height, $depth, $format, $type, $pixels);

Exported under tag :GL_EXT_direct_state_access.


๐Ÿ‘‘ glTextureView

glTextureView($texture, $target, $origtexture, $internalformat, $minlevel, $numlevels, $minlayer, $numlayers);
glTextureViewEXT($texture, $target, $origtexture, $internalformat, $minlevel, $numlevels, $minlayer, $numlayers);

Exported under tag :GL_ARB_texture_view.

๐Ÿ‘‘ glTextureViewOES

glTextureViewOES($texture, $target, $origtexture, $internalformat, $minlevel, $numlevels, $minlayer, $numlayers);

Exported under tag :GL_OES_texture_view.


โญ glTrackMatrixNV

glTrackMatrixNV($target, $address, $matrix, $transform);

Exported under tag :GL_NV_vertex_program.

โญ glTransformFeedbackAttribsNV

glTransformFeedbackAttribsNV_c($count, $attribs, $bufferMode);

Exported under tag :GL_NV_transform_feedback.

โญ glTransformFeedbackBufferBase

glTransformFeedbackBufferBase($xfb, $index, $buffer);

Exported under tag :GL_ARB_direct_state_access.

โญ glTransformFeedbackBufferRange

glTransformFeedbackBufferRange($xfb, $index, $buffer, $offset, $size);

Exported under tag :GL_ARB_direct_state_access.

๐Ÿ”ฅ glTransformFeedbackVaryings

glTransformFeedbackVaryings_c($program, $count, $varyings, $bufferMode);
glTransformFeedbackVaryingsEXT_c($program, $count, $varyings, $bufferMode);
glTransformFeedbackVaryings_p($program, $bufferMode, @varyings);
glTransformFeedbackVaryingsEXT_p($program, $bufferMode, @varyings);

Exported under tag :GL_VERSION_3_0. See the official refpage at https://registry.khronos.org/OpenGL-Refpages/gl4/html/glTransformFeedbackVaryings.xhtml

๐Ÿ”ฅ glTransformFeedbackVaryingsNV

glTransformFeedbackVaryingsNV_c($program, $count, $locations, $bufferMode);
glTransformFeedbackVaryingsNV_p($program, $bufferMode, @locations);

Exported under tag :GL_NV_transform_feedback.

๐Ÿ”ฅ glTransformPathNV

glTransformPathNV_c($resultPath, $srcPath, $transformType, $transformValues);

Exported under tag :GL_NV_path_rendering.


๐ŸŒธ glTranslated

glTranslated($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See the refpage at https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTranslated.xml

๐ŸŒธ glTranslatef

glTranslatef($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. See the refpage at https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glTranslatef.xml

๐ŸŒธ glTranslatex

glTranslatex($x, $y, $z);

Exported under tag :GL_REGAL_ES1_0_compatibility.


๐Ÿ’œ glUniform1d

glUniform1d($location, $x);

Exported under tag :GL_ARB_gpu_shader_fp64.

๐Ÿ’œ glUniform1dv

glUniform1dv_c($location, $count, $value);
glUniform1dv_p($location, $count, @value);

Exported under tag :GL_ARB_gpu_shader_fp64.

๐Ÿ’œ glUniform1f

glUniform1f($location, $v0);
glUniform1fARB($location, $v0);

Exported under tag :GL_VERSION_2_0.

๐Ÿ’œ glUniform1fv

glUniform1fv_c($location, $count, $value);
glUniform1fvARB_c($location, $count, $value);
glUniform1fv_p($location, $count, @value);
glUniform1fvARB_p($location, $count, @value);

Exported under tag :GL_VERSION_2_0.

๐Ÿ’œ glUniform1i

glUniform1i($location, $v0);
glUniform1iARB($location, $v0);

Exported under tag :GL_VERSION_2_0.

๐Ÿ’œ glUniform1i64ARB

glUniform1i64ARB($location, $x);

Exported under tag :GL_ARB_gpu_shader_int64.

๐Ÿ’œ glUniform1i64NV

glUniform1i64NV($location, $x);

Exported under tag :GL_NV_gpu_shader5.

๐Ÿ’œ glUniform1i64vARB

glUniform1i64vARB_c($location, $count, $value);
glUniform1i64vARB_p($location, $count, @value);

Exported under tag :GL_ARB_gpu_shader_int64.

๐Ÿ’œ glUniform1i64vNV

glUniform1i64vNV_c($location, $count, $value);
glUniform1i64vNV_p($location, $count, @value);

Exported under tag :GL_NV_gpu_shader5.

๐Ÿ’œ glUniform1iv

glUniform1iv_c($location, $count, $value);
glUniform1ivARB_c($location, $count, $value);
glUniform1iv_p($location, $count, @value);
glUniform1ivARB_p($location, $count, @value);

Exported under tag :GL_VERSION_2_0.

๐Ÿ’œ glUniform1ui

glUniform1ui($location, $v0);
glUniform1uiEXT($location, $v0);

Exported under tag :GL_VERSION_3_0.

๐Ÿ’œ glUniform1ui64ARB

glUniform1ui64ARB($location, $x);

Exported under tag :GL_ARB_gpu_shader_int64.

๐Ÿ’ซ glUniform1ui64NV

glUniform1ui64NV($location, $x);

Exported under tag ":GL_NV_gpu_shader5".


โœจ glUniform1ui64vARB

glUniform1ui64vARB_c($location, $count, $value);
glUniform1ui64vARB_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿฆ‹ glUniform1ui64vNV

glUniform1ui64vNV_c($location, $count, $value);
glUniform1ui64vNV_p($location, $count, @value);

Exported under tag ":GL_NV_gpu_shader5".


๐ŸŒธ glUniform1uiv

glUniform1uiv_c($location, $count, $value);
glUniform1uivEXT_c($location, $count, $value);
glUniform1uiv_p($location, $count, @value);
glUniform1uivEXT_p($location, $count, @value);

Exported under tag ":GL_VERSION_3_0".


๐ŸŽ€ glUniform2d

glUniform2d($location, $x, $y);

Exported under tag ":GL_ARB_gpu_shader_fp64".


๐Ÿ’… glUniform2dv

glUniform2dv_c($location, $count, $value);
glUniform2dv_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_fp64".


๐Ÿ‘‘ glUniform2f

glUniform2f($location, $v0, $v1);
glUniform2fARB($location, $v0, $v1);

Exported under tag ":GL_VERSION_2_0".


โญ glUniform2fv

glUniform2fv_c($location, $count, $value);
glUniform2fvARB_c($location, $count, $value);
glUniform2fv_p($location, $count, @value);
glUniform2fvARB_p($location, $count, @value);

Exported under tag ":GL_VERSION_2_0".


๐ŸŒˆ glUniform2i

glUniform2i($location, $v0, $v1);
glUniform2iARB($location, $v0, $v1);

Exported under tag ":GL_VERSION_2_0".


๐Ÿงš glUniform2i64ARB

glUniform2i64ARB($location, $x, $y);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿ“ glUniform2i64NV

glUniform2i64NV($location, $x, $y);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿ’œ glUniform2i64vARB

glUniform2i64vARB_c($location, $count, $value);
glUniform2i64vARB_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿซถ glUniform2i64vNV

glUniform2i64vNV_c($location, $count, $value);
glUniform2i64vNV_p($location, $count, @value);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿ”ฅ glUniform2iv

glUniform2iv_c($location, $count, $value);
glUniform2ivARB_c($location, $count, $value);
glUniform2iv_p($location, $count, @value);
glUniform2ivARB_p($location, $count, @value);

Exported under tag ":GL_VERSION_2_0".


๐Ÿ’– glUniform2ui

glUniform2ui($location, $v0, $v1);
glUniform2uiEXT($location, $v0, $v1);

Exported under tag ":GL_VERSION_3_0".


๐ŸŒŸ glUniform2ui64ARB

glUniform2ui64ARB($location, $x, $y);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿฆ„ glUniform2ui64NV

glUniform2ui64NV($location, $x, $y);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿ’Ž glUniform2ui64vARB

glUniform2ui64vARB_c($location, $count, $value);
glUniform2ui64vARB_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐ŸŒท glUniform2ui64vNV

glUniform2ui64vNV_c($location, $count, $value);
glUniform2ui64vNV_p($location, $count, @value);

Exported under tag ":GL_NV_gpu_shader5".


๐ŸŽ€ glUniform2uiv

glUniform2uiv_c($location, $count, $value);
glUniform2uivEXT_c($location, $count, $value);
glUniform2uiv_p($location, $count, @value);
glUniform2uivEXT_p($location, $count, @value);

Exported under tag ":GL_VERSION_3_0".


๐Ÿ”ฎ glUniform3d

glUniform3d($location, $x, $y, $z);

Exported under tag ":GL_ARB_gpu_shader_fp64".


โœจ glUniform3dv

glUniform3dv_c($location, $count, $value);
glUniform3dv_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_fp64".


๐Ÿฆ‹ glUniform3f

glUniform3f($location, $v0, $v1, $v2);
glUniform3fARB($location, $v0, $v1, $v2);

Exported under tag ":GL_VERSION_2_0".


๐ŸŒธ glUniform3fv

glUniform3fv_c($location, $count, $value);
glUniform3fvARB_c($location, $count, $value);
glUniform3fv_p($location, $count, @value);
glUniform3fvARB_p($location, $count, @value);

Exported under tag ":GL_VERSION_2_0".


๐Ÿ’… glUniform3i

glUniform3i($location, $v0, $v1, $v2);
glUniform3iARB($location, $v0, $v1, $v2);

Exported under tag ":GL_VERSION_2_0".


๐Ÿ‘‘ glUniform3i64ARB

glUniform3i64ARB($location, $x, $y, $z);

Exported under tag ":GL_ARB_gpu_shader_int64".


โญ glUniform3i64NV

glUniform3i64NV($location, $x, $y, $z);

Exported under tag ":GL_NV_gpu_shader5".


๐ŸŒˆ glUniform3i64vARB

glUniform3i64vARB_c($location, $count, $value);
glUniform3i64vARB_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿงš glUniform3i64vNV

glUniform3i64vNV_c($location, $count, $value);
glUniform3i64vNV_p($location, $count, @value);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿ“ glUniform3iv

glUniform3iv_c($location, $count, $value);
glUniform3ivARB_c($location, $count, $value);
glUniform3iv_p($location, $count, @value);
glUniform3ivARB_p($location, $count, @value);

Exported under tag ":GL_VERSION_2_0".


๐Ÿ’œ glUniform3ui

glUniform3ui($location, $v0, $v1, $v2);
glUniform3uiEXT($location, $v0, $v1, $v2);

Exported under tag ":GL_VERSION_3_0".


๐Ÿซถ glUniform3ui64ARB

glUniform3ui64ARB($location, $x, $y, $z);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿ”ฅ glUniform3ui64NV

glUniform3ui64NV($location, $x, $y, $z);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿ’– glUniform3ui64vARB

glUniform3ui64vARB_c($location, $count, $value);
glUniform3ui64vARB_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐ŸŒŸ glUniform3ui64vNV

glUniform3ui64vNV_c($location, $count, $value);
glUniform3ui64vNV_p($location, $count, @value);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿฆ„ glUniform3uiv

glUniform3uiv_c($location, $count, $value);
glUniform3uivEXT_c($location, $count, $value);
glUniform3uiv_p($location, $count, @value);
glUniform3uivEXT_p($location, $count, @value);

Exported under tag ":GL_VERSION_3_0".


๐Ÿ’Ž glUniform4d

glUniform4d($location, $x, $y, $z, $w);

Exported under tag ":GL_ARB_gpu_shader_fp64".


๐ŸŒท glUniform4dv

glUniform4dv_c($location, $count, $value);
glUniform4dv_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_fp64".


๐Ÿ”ฎ glUniform4f

glUniform4f($location, $v0, $v1, $v2, $v3);
glUniform4fARB($location, $v0, $v1, $v2, $v3);

Exported under tag ":GL_VERSION_2_0".


โœจ glUniform4fv

glUniform4fv_c($location, $count, $value);
glUniform4fvARB_c($location, $count, $value);
glUniform4fv_p($location, $count, @value);
glUniform4fvARB_p($location, $count, @value);

Exported under tag ":GL_VERSION_2_0".


๐Ÿฆ‹ glUniform4i

glUniform4i($location, $v0, $v1, $v2, $v3);
glUniform4iARB($location, $v0, $v1, $v2, $v3);

Exported under tag ":GL_VERSION_2_0".


๐ŸŒธ glUniform4i64ARB

glUniform4i64ARB($location, $x, $y, $z, $w);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿ’… glUniform4i64NV

glUniform4i64NV($location, $x, $y, $z, $w);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿ‘‘ glUniform4i64vARB

glUniform4i64vARB_c($location, $count, $value);
glUniform4i64vARB_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_int64".


โญ glUniform4i64vNV

glUniform4i64vNV_c($location, $count, $value);
glUniform4i64vNV_p($location, $count, @value);

Exported under tag ":GL_NV_gpu_shader5".


๐ŸŒˆ glUniform4iv

glUniform4iv_c($location, $count, $value);
glUniform4ivARB_c($location, $count, $value);
glUniform4iv_p($location, $count, @value);
glUniform4ivARB_p($location, $count, @value);

Exported under tag ":GL_VERSION_2_0".


๐Ÿงš glUniform4ui

glUniform4ui($location, $v0, $v1, $v2, $v3);
glUniform4uiEXT($location, $v0, $v1, $v2, $v3);

Exported under tag ":GL_VERSION_3_0".


๐Ÿ“ glUniform4ui64ARB

glUniform4ui64ARB($location, $x, $y, $z, $w);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿ’œ glUniform4ui64NV

glUniform4ui64NV($location, $x, $y, $z, $w);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿซถ glUniform4ui64vARB

glUniform4ui64vARB_c($location, $count, $value);
glUniform4ui64vARB_p($location, $count, @value);

Exported under tag ":GL_ARB_gpu_shader_int64".


๐Ÿ”ฅ glUniform4ui64vNV

glUniform4ui64vNV_c($location, $count, $value);
glUniform4ui64vNV_p($location, $count, @value);

Exported under tag ":GL_NV_gpu_shader5".


๐Ÿ’– glUniform4uiv

glUniform4uiv_c($location, $count, $value);
glUniform4uivEXT_c($location, $count, $value);
glUniform4uiv_p($location, $count, @value);
glUniform4uivEXT_p($location, $count, @value);

Exported under tag ":GL_VERSION_3_0".


๐ŸŒŸ glUniformBlockBinding

glUniformBlockBinding($program, $uniformBlockIndex, $uniformBlockBinding);

Exported under tag ":GL_ARB_uniform_buffer_object".


๐Ÿฆ„ glUniformBufferEXT

glUniformBufferEXT($program, $location, $buffer);

Exported under tag ":GL_EXT_bindable_uniform".


๐Ÿ’Ž glUniformHandleui64ARB

glUniformHandleui64ARB($location, $value);
glUniformHandleui64IMG($location, $value);

Exported under tag ":GL_ARB_bindless_texture".


๐ŸŒท glUniformHandleui64NV

glUniformHandleui64NV($location, $value);

Exported under tag ":GL_NV_bindless_texture".


๐Ÿ”ฎ glUniformHandleui64vARB

glUniformHandleui64vARB_c($location, $count, $value);
glUniformHandleui64vIMG_c($location, $count, $value);
glUniformHandleui64vARB_p($location, @value);
glUniformHandleui64vIMG_p($location, @value);

Exported under tag ":GL_ARB_bindless_texture".

๐Ÿ‘€ okay bestie, peep this: the _p versions here take just $location and @value โ€” no $count in sight. that's not a typo, that's the actual signature. ship it exactly like that.

โœจ glUniformHandleui64vNV

glUniformHandleui64vNV_c($location, $count, $value);
glUniformHandleui64vNV_p($location, @value);

Exported under tag ":GL_NV_bindless_texture".

๐Ÿ’… same vibe โ€” the _p variant drops $count.

๐Ÿฆ‹ glUniformMatrix2dv

glUniformMatrix2dv_c($location, $count, $transpose, $value);
glUniformMatrix2dv_p($location, $count, $transpose, @value);

Exported under tag ":GL_ARB_gpu_shader_fp64".


๐ŸŒธ glUniformMatrix2fv

glUniformMatrix2fv_c($location, $count, $transpose, $value);
glUniformMatrix2fvARB_c($location, $count, $transpose, $value);
glUniformMatrix2fv_p($location, $count, $transpose, @value);
glUniformMatrix2fvARB_p($location, $count, $transpose, @value);

Exported under tag ":GL_VERSION_2_0".


๐Ÿ’… glUniformMatrix2x3dv

glUniformMatrix2x3dv_c($location, $count, $transpose, $value);
glUniformMatrix2x3dv_p($location, $count, $transpose, @value);

Exported under tag ":GL_ARB_gpu_shader_fp64".


๐Ÿ‘‘ glUniformMatrix2x3fv

glUniformMatrix2x3fv_c($location, $count, $transpose, $value);
glUniformMatrix2x3fvNV_c($location, $count, $transpose, $value);
glUniformMatrix2x3fv_p($location, $count, $transpose, @value);
glUniformMatrix2x3fvNV_p($location, $count, $transpose, @value);

Exported under tag ":GL_VERSION_2_1".


โญ glUniformMatrix2x4dv

glUniformMatrix2x4dv_c($location, $count, $transpose, $value);
glUniformMatrix2x4dv_p($location, $count, $transpose, @value);

Exported under tag ":GL_ARB_gpu_shader_fp64".

โœจ glUniformMatrix2x4fv

glUniformMatrix2x4fv_c($location, $count, $transpose, $value);
glUniformMatrix2x4fvNV_c($location, $count, $transpose, $value);
glUniformMatrix2x4fv_p($location, $count, $transpose, @value);
glUniformMatrix2x4fvNV_p($location, $count, $transpose, @value);

Exported under tag :GL_VERSION_2_1 ๐Ÿ’–


โœจ glUniformMatrix3dv

glUniformMatrix3dv_c($location, $count, $transpose, $value);
glUniformMatrix3dv_p($location, $count, $transpose, @value);

Exported under tag :GL_ARB_gpu_shader_fp64 ๐Ÿฆ‹


โœจ glUniformMatrix3fv

glUniformMatrix3fv_c($location, $count, $transpose, $value);
glUniformMatrix3fvARB_c($location, $count, $transpose, $value);
glUniformMatrix3fv_p($location, $count, $transpose, @value);
glUniformMatrix3fvARB_p($location, $count, $transpose, @value);

Exported under tag :GL_VERSION_2_0 ๐ŸŽ€ (yes the ARB flavor rides along, they're besties)


โœจ glUniformMatrix3x2dv

glUniformMatrix3x2dv_c($location, $count, $transpose, $value);
glUniformMatrix3x2dv_p($location, $count, $transpose, @value);

Exported under tag :GL_ARB_gpu_shader_fp64 โ€” double precision girlies only ๐Ÿ’œ


โœจ glUniformMatrix3x2fv

glUniformMatrix3x2fv_c($location, $count, $transpose, $value);
glUniformMatrix3x2fvNV_c($location, $count, $transpose, $value);
glUniformMatrix3x2fv_p($location, $count, $transpose, @value);
glUniformMatrix3x2fvNV_p($location, $count, $transpose, @value);

Exported under tag :GL_VERSION_2_1 ๐Ÿ“


โœจ glUniformMatrix3x4dv

glUniformMatrix3x4dv_c($location, $count, $transpose, $value);
glUniformMatrix3x4dv_p($location, $count, $transpose, @value);

Exported under tag :GL_ARB_gpu_shader_fp64 โœจ


โœจ glUniformMatrix3x4fv

glUniformMatrix3x4fv_c($location, $count, $transpose, $value);
glUniformMatrix3x4fvNV_c($location, $count, $transpose, $value);
glUniformMatrix3x4fv_p($location, $count, $transpose, @value);
glUniformMatrix3x4fvNV_p($location, $count, $transpose, @value);

Exported under tag :GL_VERSION_2_1 ๐Ÿ’ซ


โœจ glUniformMatrix4dv

glUniformMatrix4dv_c($location, $count, $transpose, $value);
glUniformMatrix4dv_p($location, $count, $transpose, @value);

Exported under tag :GL_ARB_gpu_shader_fp64 ๐ŸŒธ


โœจ glUniformMatrix4fv

glUniformMatrix4fv_c($location, $count, $transpose, $value);
glUniformMatrix4fvARB_c($location, $count, $transpose, $value);
glUniformMatrix4fv_p($location, $count, $transpose, @value);
glUniformMatrix4fvARB_p($location, $count, $transpose, @value);

Exported under tag :GL_VERSION_2_0 โ€” okay bestie this one is literally the main character of uniform calls, the 4ร—4, the moment, the icon ๐Ÿ‘‘


โœจ glUniformMatrix4x2dv

glUniformMatrix4x2dv_c($location, $count, $transpose, $value);
glUniformMatrix4x2dv_p($location, $count, $transpose, @value);

Exported under tag :GL_ARB_gpu_shader_fp64 ๐Ÿฆ‹


โœจ glUniformMatrix4x2fv

glUniformMatrix4x2fv_c($location, $count, $transpose, $value);
glUniformMatrix4x2fvNV_c($location, $count, $transpose, $value);
glUniformMatrix4x2fv_p($location, $count, $transpose, @value);
glUniformMatrix4x2fvNV_p($location, $count, $transpose, @value);

Exported under tag :GL_VERSION_2_1 ๐Ÿ’…


โœจ glUniformMatrix4x3dv

glUniformMatrix4x3dv_c($location, $count, $transpose, $value);
glUniformMatrix4x3dv_p($location, $count, $transpose, @value);

Exported under tag :GL_ARB_gpu_shader_fp64 ๐Ÿ’œ


โœจ glUniformMatrix4x3fv

glUniformMatrix4x3fv_c($location, $count, $transpose, $value);
glUniformMatrix4x3fvNV_c($location, $count, $transpose, $value);
glUniformMatrix4x3fv_p($location, $count, $transpose, @value);
glUniformMatrix4x3fvNV_p($location, $count, $transpose, @value);

Exported under tag :GL_VERSION_2_1 ๐ŸŽ€

and that's the whole matrix uniform family, every shape of rectangle from 2ร—2 up to 4ร—4, all accounted for. no skips, no shortcuts, periodt.

โœจ glUniformSubroutinesuiv

glUniformSubroutinesuiv_c($shadertype, $count, $indices);
glUniformSubroutinesuiv_p($shadertype, @indices);

Exported under tag :GL_ARB_shader_subroutine ๐ŸŒˆ


โœจ glUniformui64NV

glUniformui64NV($location, $value);

Exported under tag :GL_NV_shader_buffer_load โ€” single value, no _c/_p split, she's simple like that ๐Ÿซถ


โœจ glUniformui64vNV

glUniformui64vNV_c($location, $count, $value);
glUniformui64vNV_p($location, $count, @value);

Exported under tag :GL_NV_shader_buffer_load โญ


๐Ÿ”“ glUnlockArraysEXT

glUnlockArraysEXT();

Exported under tag :GL_EXT_compiled_vertex_array โ€” no args, just vibes ๐Ÿ’ซ


โœจ glUnmapBuffer

$retval = glUnmapBuffer($target);
$retval = glUnmapBufferARB($target);

Exported under tag :GL_VERSION_1_5. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glUnmapBuffer.xhtml ๐Ÿ“–


โœจ glUnmapBufferOES

$retval = glUnmapBufferOES($target);

Exported under tag :GL_OES_mapbuffer ๐Ÿฆ‹


โœจ glUnmapNamedBuffer

$retval = glUnmapNamedBuffer($buffer);

Exported under tag :GL_ARB_direct_state_access โœจ


โœจ glUnmapNamedBufferEXT

$retval = glUnmapNamedBufferEXT($buffer);

Exported under tag :GL_EXT_direct_state_access ๐Ÿ’–


โœจ glUnmapObjectBufferATI

glUnmapObjectBufferATI($buffer);

Exported under tag :GL_ATI_map_object_buffer ๐Ÿ”ฅ


โœจ glUnmapTexture2DINTEL

glUnmapTexture2DINTEL($texture, $level);

Exported under tag :GL_LAYOUT_LINEAR_INTEL ๐Ÿ’…


โœจ glUpdateObjectBufferATI

glUpdateObjectBufferATI_c($buffer, $offset, $size, $pointer, $preserve);

Exported under tag :GL_ATI_vertex_array_object ๐Ÿ“


โœจ glUploadGpuMaskNVX

glUploadGpuMaskNVX($mask);

Exported under tag :GL_NVX_gpu_multicast2 ๐ŸŒธ


๐ŸŒŸ glUseProgram

glUseProgram($program);

Exported under tag :GL_VERSION_2_0. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glUseProgram.xhtml โ€” the "okay we're switching to this shader now" call, the moment the whole pipeline gets a vibe check ๐Ÿ‘‘


๐ŸŒŸ glUseProgramObjectARB

glUseProgramObjectARB($programObj);

Exported under tag :GL_ARB_shader_objects โœจ


๐ŸŒŸ glUseProgramStages

glUseProgramStages($pipeline, $stages, $program);

Exported under tag :GL_ARB_separate_shader_objects ๐ŸŽ€


๐ŸŒŸ glUseShaderProgramEXT

glUseShaderProgramEXT($type, $program);

Exported under tag :GL_EXT_separate_shader_objects ๐Ÿ’œ


๐ŸŽฌ glVDPAUFiniNV

glVDPAUFiniNV();

Exported under tag :GL_NV_vdpau_interop โ€” closing time, no arguments, she's done ๐Ÿซถ


๐ŸŽฌ glVDPAUGetSurfaceivNV

glVDPAUGetSurfaceivNV_c($surface, $pname, $count, $length, $values);

Exported under tag :GL_NV_vdpau_interop โญ


๐ŸŽฌ glVDPAUInitNV

glVDPAUInitNV_c($vdpDevice, $getProcAddress);

Exported under tag :GL_NV_vdpau_interop ๐ŸŒˆ


๐ŸŽฌ glVDPAUIsSurfaceNV

glVDPAUIsSurfaceNV($surface);

Exported under tag :GL_NV_vdpau_interop โ€” a yes/no question in function form, lowkey obsessed ๐Ÿฆ‹


๐ŸŽฌ glVDPAUMapSurfacesNV

glVDPAUMapSurfacesNV_c($numSurfaces, $surfaces);

Exported under tag :GL_NV_vdpau_interop ๐Ÿ’–


๐ŸŽฌ glVDPAURegisterOutputSurfaceNV

$retval = glVDPAURegisterOutputSurfaceNV_c($vdpSurface, $target, $numTextureNames, $textureNames);

Exported under tag :GL_NV_vdpau_interop โœจ


๐ŸŽฌ glVDPAURegisterVideoSurfaceNV

$retval = glVDPAURegisterVideoSurfaceNV_c($vdpSurface, $target, $numTextureNames, $textureNames);

Exported under tag :GL_NV_vdpau_interop ๐Ÿ“ผ


๐ŸŽฌ glVDPAURegisterVideoSurfaceWithPictureStructureNV

$retval = glVDPAURegisterVideoSurfaceWithPictureStructureNV_c($vdpSurface, $target, $numTextureNames, $textureNames, $isFrameStructure);

Exported under tag :GL_NV_vdpau_interop2 โ€” note the 2 at the end of the tag bestie, she's the sequel ๐ŸŽฅ


๐ŸŽฌ glVDPAUSurfaceAccessNV

glVDPAUSurfaceAccessNV($surface, $access);

Exported under tag :GL_NV_vdpau_interop ๐Ÿ’…


๐ŸŽฌ glVDPAUUnmapSurfacesNV

glVDPAUUnmapSurfacesNV_c($numSurface, $surfaces);

Exported under tag :GL_NV_vdpau_interop โ€” careful, the param here is $numSurface (singular looking) while the one above was $numSurfaces. that's not a typo on my end, that's just how it's written ๐Ÿ™ˆ


๐ŸŽฌ glVDPAUUnregisterSurfaceNV

glVDPAUUnregisterSurfaceNV($surface);

Exported under tag :GL_NV_vdpau_interop ๐Ÿซถ


โœ… glValidateProgram

glValidateProgram($program);

Exported under tag :GL_VERSION_2_0. See https://registry.khronos.org/OpenGL-Refpages/gl4/html/glValidateProgram.xhtml


โœ… glValidateProgramARB

glValidateProgramARB($programObj);

Exported under tag :GL_ARB_shader_objects ๐ŸŽ€


โœ… glValidateProgramPipeline

glValidateProgramPipeline($pipeline);

Exported under tag :GL_ARB_separate_shader_objects ๐Ÿ’œ


โœจ glVariantArrayObjectATI

glVariantArrayObjectATI($id, $type, $stride, $buffer, $offset);

Exported under tag :GL_ATI_vertex_array_object ๐Ÿ”ฅ


โœจ glVariantPointerEXT

glVariantPointerEXT_c($id, $type, $stride, $addr);

Exported under tag :GL_EXT_vertex_shader โ€” the _c one, and yes there's a whole squad of glVariant*EXT calls coming, all _c, all the same shape ๐Ÿงš


โœจ glVariantbvEXT

glVariantbvEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader โญ


โœจ glVariantdvEXT

glVariantdvEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader ๐Ÿ’–


โœจ glVariantfvEXT

glVariantfvEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader ๐Ÿ“


โœจ glVariantivEXT

glVariantivEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader ๐ŸŒธ


โœจ glVariantsvEXT

glVariantsvEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader ๐Ÿฆ‹


โœจ glVariantubvEXT

glVariantubvEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader โœจ


โœจ glVariantuivEXT

glVariantuivEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader ๐Ÿ’…


โœจ glVariantusvEXT

glVariantusvEXT_c($id, $addr);

Exported under tag :GL_EXT_vertex_shader ๐ŸŒˆ โ€” and that's the full set: b, d, f, i, s, ub, ui, us. every type got her turn ๐Ÿ’ซ


โœจ glVectorOperationSGIX

glVectorOperationSGIX($operation);

Exported under tag :GL_SGIX_vector_ops ๐ŸŽ€


๐Ÿ”บ glVertex2d

glVertex2d($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex2dv

glVertex2dv_c($v);
glVertex2dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex2f

glVertex2f($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex2fv

glVertex2fv_c($v);
glVertex2fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex2hNV

glVertex2hNV($x, $y);

Exported under tag :GL_NV_half_float โ€” half floats, tiny little numbers, so cute ๐ŸŒธ


๐Ÿ”บ glVertex2hvNV

glVertex2hvNV_c($v);
glVertex2hvNV_p(@v);

Exported under tag :GL_NV_half_float ๐Ÿฆ‹


๐Ÿ”บ glVertex2i

glVertex2i($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex2iv

glVertex2iv_c($v);
glVertex2iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex2s

glVertex2s($x, $y);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex2sv

glVertex2sv_c($v);
glVertex2sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex3d

glVertex3d($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€ โ€” three coords now, she leveled up โœจ


๐Ÿ”บ glVertex3dv

glVertex3dv_c($v);
glVertex3dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex3f

glVertex3f($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex3fv

glVertex3fv_c($v);
glVertex3fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ’€


๐Ÿ”บ glVertex3hNV

glVertex3hNV($x, $y, $z);

Exported under tag :GL_NV_half_float ๐Ÿ“

glVertex3hvNV

glVertex3hvNV_c($v);
glVertex3hvNV_p(@v);

Exported under tag :GL_NV_half_float. half-float vertices, bestie, the fancy little ones ๐Ÿ’…

glVertex3i

glVertex3i($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. she's an icon but she's retired, so if you're on a future-compat profile she is simply not coming to the function call, periodt ๐Ÿ’€

glVertex3iv

glVertex3iv_c($v);
glVertex3iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex3s

glVertex3s($x, $y, $z);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex3sv

glVertex3sv_c($v);
glVertex3sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex4d

glVertex4d($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. four whole coordinates, she's giving โœจthoroughโœจ

glVertex4dv

glVertex4dv_c($v);
glVertex4dv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex4f

glVertex4f($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex4fv

glVertex4fv_c($v);
glVertex4fv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex4hNV

glVertex4hNV($x, $y, $z, $w);

Exported under tag :GL_NV_half_float. ๐Ÿฆ‹

glVertex4hvNV

glVertex4hvNV_c($v);
glVertex4hvNV_p(@v);

Exported under tag :GL_NV_half_float. ๐Ÿฆ‹

glVertex4i

glVertex4i($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex4iv

glVertex4iv_c($v);
glVertex4iv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex4s

glVertex4s($x, $y, $z, $w);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.

glVertex4sv

glVertex4sv_c($v);
glVertex4sv_p(@v);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2.


okay now we're entering the glVertexArray era and the vibes are immaculate, this is where the girlies start doing direct state access โœจ


glVertexArrayAttribBinding

glVertexArrayAttribBinding($vaobj, $attribindex, $bindingindex);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’–

glVertexArrayAttribFormat

glVertexArrayAttribFormat($vaobj, $attribindex, $size, $type, $normalized, $relativeoffset);

Exported under tag :GL_ARB_direct_state_access. ๐Ÿ’–

glVertexArrayAttribIFormat

glVertexArrayAttribIFormat($vaobj, $attribindex, $size, $type, $relativeoffset);

Exported under tag :GL_ARB_direct_state_access. the I is for integer, no cap ๐Ÿงš

glVertexArrayAttribLFormat

glVertexArrayAttribLFormat($vaobj, $attribindex, $size, $type, $relativeoffset);

Exported under tag :GL_ARB_direct_state_access. and the L is the long one, we love a double-precision queen ๐Ÿ’œ

glVertexArrayBindVertexBufferEXT

glVertexArrayBindVertexBufferEXT($vaobj, $bindingindex, $buffer, $offset, $stride);

Exported under tag :GL_ARB_vertex_attrib_binding. ๐ŸŒธ

glVertexArrayBindingDivisor

glVertexArrayBindingDivisor($vaobj, $bindingindex, $divisor);

Exported under tag :GL_ARB_direct_state_access. ๐ŸŒธ

glVertexArrayColorOffsetEXT

glVertexArrayColorOffsetEXT($vaobj, $buffer, $size, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€

glVertexArrayEdgeFlagOffsetEXT

glVertexArrayEdgeFlagOffsetEXT($vaobj, $buffer, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€

glVertexArrayElementBuffer

glVertexArrayElementBuffer($vaobj, $buffer);

Exported under tag :GL_ARB_direct_state_access. ๐ŸŽ€

glVertexArrayFogCoordOffsetEXT

glVertexArrayFogCoordOffsetEXT($vaobj, $buffer, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. fog coord, she's mysterious ๐ŸŒซ๏ธ

glVertexArrayIndexOffsetEXT

glVertexArrayIndexOffsetEXT($vaobj, $buffer, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒˆ

glVertexArrayMultiTexCoordOffsetEXT

glVertexArrayMultiTexCoordOffsetEXT($vaobj, $buffer, $texunit, $size, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. multi. tex. coord. so many words bestie, and note the $texunit in there, she's special ๐ŸŒˆ

glVertexArrayNormalOffsetEXT

glVertexArrayNormalOffsetEXT($vaobj, $buffer, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. ๐Ÿซถ

glVertexArrayParameteriAPPLE

glVertexArrayParameteriAPPLE($pname, $param);

Exported under tag :GL_APPLE_vertex_array_range. an Apple exclusive, very main character ๐Ÿ’…๐ŸŽ

glVertexArrayRangeAPPLE

glVertexArrayRangeAPPLE_c($length, $pointer);

Exported under tag :GL_APPLE_vertex_array_range. ๐ŸŽ

glVertexArrayRangeNV

glVertexArrayRangeNV_c($length, $pointer);

Exported under tag :GL_NV_vertex_array_range. ๐Ÿ“

glVertexArraySecondaryColorOffsetEXT

glVertexArraySecondaryColorOffsetEXT($vaobj, $buffer, $size, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. secondary color? she's the understudy but she still slays ๐Ÿ‘‘

glVertexArrayTexCoordOffsetEXT

glVertexArrayTexCoordOffsetEXT($vaobj, $buffer, $size, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒธ

glVertexArrayVertexAttribBindingEXT

glVertexArrayVertexAttribBindingEXT($vaobj, $attribindex, $bindingindex);

Exported under tag :GL_ARB_vertex_attrib_binding. โœจ

glVertexArrayVertexAttribDivisorEXT

glVertexArrayVertexAttribDivisorEXT($vaobj, $index, $divisor);

Exported under tag :GL_EXT_direct_state_access. note the params shift a lil here โ€” it's $index and $divisor, not the $attribindex/$bindingindex combo, so watch out bestie ๐Ÿ‘€

glVertexArrayVertexAttribFormatEXT

glVertexArrayVertexAttribFormatEXT($vaobj, $attribindex, $size, $type, $normalized, $relativeoffset);

Exported under tag :GL_ARB_vertex_attrib_binding. ๐ŸŒŸ

glVertexArrayVertexAttribIFormatEXT

glVertexArrayVertexAttribIFormatEXT($vaobj, $attribindex, $size, $type, $relativeoffset);

Exported under tag :GL_ARB_vertex_attrib_binding. ๐ŸŒŸ

glVertexArrayVertexAttribIOffsetEXT

glVertexArrayVertexAttribIOffsetEXT($vaobj, $buffer, $index, $size, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŒŸ

glVertexArrayVertexAttribLFormatEXT

glVertexArrayVertexAttribLFormatEXT($vaobj, $attribindex, $size, $type, $relativeoffset);

Exported under tag :GL_ARB_vertex_attrib_binding. ๐ŸŒŸ

glVertexArrayVertexAttribLOffsetEXT

glVertexArrayVertexAttribLOffsetEXT($vaobj, $buffer, $index, $size, $type, $stride, $offset);

Exported under tag :GL_EXT_vertex_attrib_64bit. 64-bit, she's got range ๐Ÿ’…

glVertexArrayVertexAttribOffsetEXT

glVertexArrayVertexAttribOffsetEXT($vaobj, $buffer, $index, $size, $type, $normalized, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. this one's got the $normalized in there too, count your params fr fr ๐Ÿซถ

glVertexArrayVertexBindingDivisorEXT

glVertexArrayVertexBindingDivisorEXT($vaobj, $bindingindex, $divisor);

Exported under tag :GL_ARB_vertex_attrib_binding. ๐Ÿฆ‹

glVertexArrayVertexBuffer

glVertexArrayVertexBuffer($vaobj, $bindingindex, $buffer, $offset, $stride);

Exported under tag :GL_ARB_direct_state_access. no EXT suffix, she's the core one, iconic ๐Ÿ‘‘

glVertexArrayVertexBuffers

glVertexArrayVertexBuffers_c($vaobj, $first, $count, $buffers, $offsets, $strides);

Exported under tag :GL_ARB_direct_state_access. plural!! buffers!! note the _c variant right there in the name, bestie, that's not a typo, that's the array-in vari ๐Ÿ’–

glVertexArrayVertexOffsetEXT

glVertexArrayVertexOffsetEXT($vaobj, $buffer, $size, $type, $stride, $offset);

Exported under tag :GL_EXT_direct_state_access. ๐ŸŽ€


okay and now we hit the glVertexAttrib zone, where every single one of these comes in a lil family of twins โ€” the vanilla, the ARB, and the NV. three sisters, one vibe โœจ


glVertexAttrib1d

glVertexAttrib1d($index, $x);
glVertexAttrib1dARB($index, $x);
glVertexAttrib1dNV($index, $x);

Exported under tag :GL_VERSION_2_0. one double, one coordinate, three names ๐Ÿซถ

glVertexAttrib1dv

glVertexAttrib1dv_c($index, $v);
glVertexAttrib1dvARB_c($index, $v);
glVertexAttrib1dvNV_c($index, $v);
glVertexAttrib1dv_p($index, @v);
glVertexAttrib1dvARB_p($index, @v);
glVertexAttrib1dvNV_p($index, @v);

Exported under tag :GL_VERSION_2_0. six whole forms โ€” three names ร— _c/_p โ€” so yes bestie there's a _c one and a _p one for every single variant, don't @ me ๐Ÿ˜ญ

glVertexAttrib1f

glVertexAttrib1f($index, $x);
glVertexAttrib1fARB($index, $x);
glVertexAttrib1fNV($index, $x);

Exported under tag :GL_VERSION_2_0. ๐Ÿฆ‹

glVertexAttrib1fv

glVertexAttrib1fv_c($index, $v);
glVertexAttrib1fvARB_c($index, $v);
glVertexAttrib1fvNV_c($index, $v);
glVertexAttrib1fv_p($index, @v);
glVertexAttrib1fvARB_p($index, @v);
glVertexAttrib1fvNV_p($index, @v);

Exported under tag :GL_VERSION_2_0. ๐Ÿฆ‹

glVertexAttrib1hNV

glVertexAttrib1hNV($index, $x);

Exported under tag :GL_NV_half_float. half-float, no ARB twin, she's NV-only and that's her whole brand ๐Ÿ’…

glVertexAttrib1hvNV

glVertexAttrib1hvNV_c($index, $v);
glVertexAttrib1hvNV_p($index, @v);

Exported under tag :GL_NV_half_float. just the two forms here, no ARB, no nonsense ๐ŸŒธ

glVertexAttrib1s

glVertexAttrib1s($index, $x);
glVertexAttrib1sARB($index, $x);
glVertexAttrib1sNV($index, $x);

Exported under tag :GL_VERSION_2_0. ๐Ÿ“

glVertexAttrib1sv

glVertexAttrib1sv_c($index, $v);
glVertexAttrib1svARB_c($index, $v);
glVertexAttrib1svNV_c($index, $v);
glVertexAttrib1sv_p($index, @v);
glVertexAttrib1svARB_p($index, @v);
glVertexAttrib1svNV_p($index, @v);

Exported under tag :GL_VERSION_2_0. ๐Ÿ“

glVertexAttrib2d

glVertexAttrib2d($index, $x, $y);
glVertexAttrib2dARB($index, $x, $y);
glVertexAttrib2dNV($index, $x, $y);

Exported under tag :GL_VERSION_2_0. two coords now, the 2 says so ๐Ÿ’œ

glVertexAttrib2dv

glVertexAttrib2dv_c($index, $v);
glVertexAttrib2dvARB_c($index, $v);
glVertexAttrib2dvNV_c($index, $v);
glVertexAttrib2dv_p($index, @v);
glVertexAttrib2dvARB_p($index, @v);
glVertexAttrib2dvNV_p($index, @v);

Exported under tag :GL_VERSION_2_0. ๐Ÿ’œ

glVertexAttrib2f

glVertexAttrib2f($index, $x, $y);
glVertexAttrib2fARB($index, $x, $y);
glVertexAttrib2fNV($index, $x, $y);

Exported under tag :GL_VERSION_2_0. ๐ŸŒˆ

glVertexAttrib2fv

glVertexAttrib2fv_c($index, $v);
glVertexAttrib2fvARB_c($index, $v);
glVertexAttrib2fvNV_c($index, $v);
glVertexAttrib2fv_p($index, @v);
glVertexAttrib2fvARB_p($index, @v);
glVertexAttrib2fvNV_p($index, @v);

Exported under tag :GL_VERSION_2_0. ๐ŸŒˆ

glVertexAttrib2hNV

glVertexAttrib2hNV($index, $x, $y);

Exported under tag :GL_NV_half_float. ๐ŸŽ€

glVertexAttrib2hvNV

glVertexAttrib2hvNV_c($index, $v);
glVertexAttrib2hvNV_p($index, @v);

Exported under tag :GL_NV_half_float. ๐ŸŽ€

glVertexAttrib2s

glVertexAttrib2s($index, $x, $y);
glVertexAttrib2sARB($index, $x, $y);
glVertexAttrib2sNV($index, $x, $y);

Exported under tag :GL_VERSION_2_0. ๐Ÿซถ

glVertexAttrib2sv

glVertexAttrib2sv_c($index, $v);
glVertexAttrib2svARB_c($index, $v);
glVertexAttrib2svNV_c($index, $v);
glVertexAttrib2sv_p($index, @v);
glVertexAttrib2svARB_p($index, @v);
glVertexAttrib2svNV_p($index, @v);

Exported under tag :GL_VERSION_2_0. ๐Ÿซถ

glVertexAttrib3d

glVertexAttrib3d($index, $x, $y, $z);
glVertexAttrib3dARB($index, $x, $y, $z);
glVertexAttrib3dNV($index, $x, $y, $z);

Exported under tag :GL_VERSION_2_0. three coords, three namesies, and we're still going, so don't think this is the end of the list bestie ๐Ÿ’…โœจ

glVertexAttrib3dv ๐Ÿฆ‹

glVertexAttrib3dv_c($index, $v);
glVertexAttrib3dvARB_c($index, $v);
glVertexAttrib3dvNV_c($index, $v);
glVertexAttrib3dv_p($index, @v);
glVertexAttrib3dvARB_p($index, @v);
glVertexAttrib3dvNV_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿ’–


glVertexAttrib3f ๐ŸŒธ

glVertexAttrib3f($index, $x, $y, $z);
glVertexAttrib3fARB($index, $x, $y, $z);
glVertexAttrib3fNV($index, $x, $y, $z);

Exported under the tag :GL_VERSION_2_0 โœจ


glVertexAttrib3fv ๐ŸŽ€

glVertexAttrib3fv_c($index, $v);
glVertexAttrib3fvARB_c($index, $v);
glVertexAttrib3fvNV_c($index, $v);
glVertexAttrib3fv_p($index, @v);
glVertexAttrib3fvARB_p($index, @v);
glVertexAttrib3fvNV_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿ’œ


glVertexAttrib3hNV ๐Ÿงš

glVertexAttrib3hNV($index, $x, $y, $z);

Exported under the tag :GL_NV_half_float โ€” half floats, no cap ๐ŸŒˆ


glVertexAttrib3hvNV โญ

glVertexAttrib3hvNV_c($index, $v);
glVertexAttrib3hvNV_p($index, @v);

Exported under the tag :GL_NV_half_float ๐ŸŒธ


glVertexAttrib3s ๐Ÿฆ‹

glVertexAttrib3s($index, $x, $y, $z);
glVertexAttrib3sARB($index, $x, $y, $z);
glVertexAttrib3sNV($index, $x, $y, $z);

Exported under the tag :GL_VERSION_2_0 โœจ


glVertexAttrib3sv ๐Ÿ’–

glVertexAttrib3sv_c($index, $v);
glVertexAttrib3svARB_c($index, $v);
glVertexAttrib3svNV_c($index, $v);
glVertexAttrib3sv_p($index, @v);
glVertexAttrib3svARB_p($index, @v);
glVertexAttrib3svNV_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿซถ


glVertexAttrib4Nbv ๐Ÿ‘‘

glVertexAttrib4Nbv_c($index, $v);
glVertexAttrib4NbvARB_c($index, $v);
glVertexAttrib4Nbv_p($index, @v);
glVertexAttrib4NbvARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿ’… and there's a whole official page for it here:

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttrib4Nbv.xhtml


glVertexAttrib4Niv ๐Ÿ”ฅ

glVertexAttrib4Niv_c($index, $v);
glVertexAttrib4NivARB_c($index, $v);
glVertexAttrib4Niv_p($index, @v);
glVertexAttrib4NivARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿ’œ and here's the page:

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttrib4Niv.xhtml


glVertexAttrib4Nsv ๐ŸŒˆ

glVertexAttrib4Nsv_c($index, $v);
glVertexAttrib4NsvARB_c($index, $v);
glVertexAttrib4Nsv_p($index, @v);
glVertexAttrib4NsvARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 โญ and the page:

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttrib4Nsv.xhtml


glVertexAttrib4Nub ๐ŸŽ€

glVertexAttrib4Nub($index, $x, $y, $z, $w);
glVertexAttrib4NubARB($index, $x, $y, $z, $w);
glVertexAttrib4ubNV($index, $x, $y, $z, $w);

Exported under the tag :GL_VERSION_2_0 โ€” and yes, that third one really is spelled glVertexAttrib4ubNV, the letters do a little shuffle, iconic behavior fr fr ๐Ÿ’…

The page lives here:

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttrib4Nub.xhtml


glVertexAttrib4Nubv ๐Ÿฆ‹

glVertexAttrib4Nubv_c($index, $v);
glVertexAttrib4NubvARB_c($index, $v);
glVertexAttrib4ubvNV_c($index, $v);
glVertexAttrib4Nubv_p($index, @v);
glVertexAttrib4NubvARB_p($index, @v);
glVertexAttrib4ubvNV_p($index, @v);

Exported under the tag :GL_VERSION_2_0, same lil ub/Nub plot twist, obsessed ๐Ÿ’–

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttrib4Nubv.xhtml


glVertexAttrib4Nuiv โœจ

glVertexAttrib4Nuiv_c($index, $v);
glVertexAttrib4NuivARB_c($index, $v);
glVertexAttrib4Nuiv_p($index, @v);
glVertexAttrib4NuivARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐ŸŒธ

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttrib4Nuiv.xhtml


glVertexAttrib4Nusv ๐Ÿ’œ

glVertexAttrib4Nusv_c($index, $v);
glVertexAttrib4NusvARB_c($index, $v);
glVertexAttrib4Nusv_p($index, @v);
glVertexAttrib4NusvARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐ŸŒˆ

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttrib4Nusv.xhtml


glVertexAttrib4bv ๐Ÿ”ฅ

glVertexAttrib4bv_c($index, $v);
glVertexAttrib4bvARB_c($index, $v);
glVertexAttrib4bv_p($index, @v);
glVertexAttrib4bvARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 โญ


glVertexAttrib4d ๐Ÿงš

glVertexAttrib4d($index, $x, $y, $z, $w);
glVertexAttrib4dARB($index, $x, $y, $z, $w);
glVertexAttrib4dNV($index, $x, $y, $z, $w);

Exported under the tag :GL_VERSION_2_0 ๐Ÿ’…


glVertexAttrib4dv ๐ŸŽ€

glVertexAttrib4dv_c($index, $v);
glVertexAttrib4dvARB_c($index, $v);
glVertexAttrib4dvNV_c($index, $v);
glVertexAttrib4dv_p($index, @v);
glVertexAttrib4dvARB_p($index, @v);
glVertexAttrib4dvNV_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿซถ


glVertexAttrib4f ๐Ÿ‘‘

glVertexAttrib4f($index, $x, $y, $z, $w);
glVertexAttrib4fARB($index, $x, $y, $z, $w);
glVertexAttrib4fNV($index, $x, $y, $z, $w);

Exported under the tag :GL_VERSION_2_0 โœจ


glVertexAttrib4fv ๐Ÿ’–

glVertexAttrib4fv_c($index, $v);
glVertexAttrib4fvARB_c($index, $v);
glVertexAttrib4fvNV_c($index, $v);
glVertexAttrib4fv_p($index, @v);
glVertexAttrib4fvARB_p($index, @v);
glVertexAttrib4fvNV_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐ŸŒธ


glVertexAttrib4hNV ๐Ÿฆ‹

glVertexAttrib4hNV($index, $x, $y, $z, $w);

Exported under the tag :GL_NV_half_float ๐ŸŒˆ


glVertexAttrib4hvNV โญ

glVertexAttrib4hvNV_c($index, $v);
glVertexAttrib4hvNV_p($index, @v);

Exported under the tag :GL_NV_half_float ๐Ÿ’œ


glVertexAttrib4iv ๐Ÿ”ฅ

glVertexAttrib4iv_c($index, $v);
glVertexAttrib4ivARB_c($index, $v);
glVertexAttrib4iv_p($index, @v);
glVertexAttrib4ivARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿ’…


glVertexAttrib4s ๐ŸŽ€

glVertexAttrib4s($index, $x, $y, $z, $w);
glVertexAttrib4sARB($index, $x, $y, $z, $w);
glVertexAttrib4sNV($index, $x, $y, $z, $w);

Exported under the tag :GL_VERSION_2_0 ๐Ÿซถ


glVertexAttrib4sv โœจ

glVertexAttrib4sv_c($index, $v);
glVertexAttrib4svARB_c($index, $v);
glVertexAttrib4svNV_c($index, $v);
glVertexAttrib4sv_p($index, @v);
glVertexAttrib4svARB_p($index, @v);
glVertexAttrib4svNV_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐ŸŒธ


glVertexAttrib4ubv ๐ŸŒˆ

glVertexAttrib4ubv_c($index, $v);
glVertexAttrib4ubvARB_c($index, $v);
glVertexAttrib4ubv_p($index, @v);
glVertexAttrib4ubvARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 โญ


glVertexAttrib4uiv ๐Ÿ’œ

glVertexAttrib4uiv_c($index, $v);
glVertexAttrib4uivARB_c($index, $v);
glVertexAttrib4uiv_p($index, @v);
glVertexAttrib4uivARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿฆ‹


glVertexAttrib4usv ๐Ÿ”ฅ

glVertexAttrib4usv_c($index, $v);
glVertexAttrib4usvARB_c($index, $v);
glVertexAttrib4usv_p($index, @v);
glVertexAttrib4usvARB_p($index, @v);

Exported under the tag :GL_VERSION_2_0 ๐Ÿ’…


glVertexAttribArrayObjectATI ๐Ÿ‘‘

glVertexAttribArrayObjectATI($index, $size, $type, $normalized, $stride, $buffer, $offset);

Exported under the tag :GL_ATI_vertex_attrib_array_object โ€” that's a whole lotta arguments, but she's serving ๐ŸŽ€


glVertexAttribBinding ๐Ÿงš

glVertexAttribBinding($attribindex, $bindingindex);

Exported under the tag :GL_ARB_vertex_attrib_binding โœจ


glVertexAttribDivisor ๐Ÿ’–

glVertexAttribDivisor($index, $divisor);
glVertexAttribDivisorANGLE($index, $divisor);
glVertexAttribDivisorARB($index, $divisor);
glVertexAttribDivisorEXT($index, $divisor);
glVertexAttribDivisorNV($index, $divisor);

Exported under the tag :GL_VERSION_3_3 ๐ŸŒˆ โ€” five whole spellings, the gang's all here. Official page:

https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttribDivisor.xhtml


glVertexAttribFormat โญ

glVertexAttribFormat($attribindex, $size, $type, $normalized, $relativeoffset);

Exported under the tag :GL_ARB_vertex_attrib_binding ๐Ÿ’œ


glVertexAttribFormatNV ๐Ÿฆ‹

glVertexAttribFormatNV($index, $size, $type, $normalized, $stride);

Exported under the tag :GL_NV_vertex_buffer_unified_memory ๐ŸŒธ


glVertexAttribI1i ๐Ÿ”ฅ

glVertexAttribI1i($index, $v0);
glVertexAttribI1iEXT($index, $v0);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ’…


glVertexAttribI1iv ๐ŸŽ€

glVertexAttribI1iv_c($index, $v);
glVertexAttribI1ivEXT_c($index, $v);
glVertexAttribI1iv_p($index, @v);
glVertexAttribI1ivEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐Ÿซถ


glVertexAttribI1ui โœจ

glVertexAttribI1ui($index, $v0);
glVertexAttribI1uiEXT($index, $v0);

Exported under the tag :GL_VERSION_3_0 ๐ŸŒˆ


glVertexAttribI1uiv โญ

glVertexAttribI1uiv_c($index, $v);
glVertexAttribI1uivEXT_c($index, $v);
glVertexAttribI1uiv_p($index, @v);
glVertexAttribI1uivEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ’œ


glVertexAttribI2i ๐Ÿฆ‹

glVertexAttribI2i($index, $v0, $v1);
glVertexAttribI2iEXT($index, $v0, $v1);

Exported under the tag :GL_VERSION_3_0 ๐ŸŒธ


glVertexAttribI2iv ๐Ÿ’–

glVertexAttribI2iv_c($index, $v);
glVertexAttribI2ivEXT_c($index, $v);
glVertexAttribI2iv_p($index, @v);
glVertexAttribI2ivEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ”ฅ


glVertexAttribI2ui ๐Ÿ‘‘

glVertexAttribI2ui($index, $v0, $v1);
glVertexAttribI2uiEXT($index, $v0, $v1);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ’…


glVertexAttribI2uiv ๐ŸŽ€

glVertexAttribI2uiv_c($index, $v);
glVertexAttribI2uivEXT_c($index, $v);
glVertexAttribI2uiv_p($index, @v);
glVertexAttribI2uivEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 โœจ


glVertexAttribI3i ๐ŸŒˆ

glVertexAttribI3i($index, $v0, $v1, $v2);
glVertexAttribI3iEXT($index, $v0, $v1, $v2);

Exported under the tag :GL_VERSION_3_0 ๐Ÿซถ


glVertexAttribI3iv โญ

glVertexAttribI3iv_c($index, $v);
glVertexAttribI3ivEXT_c($index, $v);
glVertexAttribI3iv_p($index, @v);
glVertexAttribI3ivEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ’œ


glVertexAttribI3ui ๐Ÿฆ‹

glVertexAttribI3ui($index, $v0, $v1, $v2);
glVertexAttribI3uiEXT($index, $v0, $v1, $v2);

Exported under the tag :GL_VERSION_3_0 ๐ŸŒธ


glVertexAttribI3uiv ๐Ÿ’–

glVertexAttribI3uiv_c($index, $v);
glVertexAttribI3uivEXT_c($index, $v);
glVertexAttribI3uiv_p($index, @v);
glVertexAttribI3uivEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ”ฅ


glVertexAttribI4bv ๐Ÿงš

glVertexAttribI4bv_c($index, $v);
glVertexAttribI4bvEXT_c($index, $v);
glVertexAttribI4bv_p($index, @v);
glVertexAttribI4bvEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐ŸŒˆ


glVertexAttribI4i ๐Ÿ‘‘

glVertexAttribI4i($index, $v0, $v1, $v2, $v3);
glVertexAttribI4iEXT($index, $v0, $v1, $v2, $v3);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ’…


glVertexAttribI4iv ๐ŸŽ€

glVertexAttribI4iv_c($index, $v);
glVertexAttribI4ivEXT_c($index, $v);
glVertexAttribI4iv_p($index, @v);
glVertexAttribI4ivEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 โœจ


glVertexAttribI4sv โญ

glVertexAttribI4sv_c($index, $v);
glVertexAttribI4svEXT_c($index, $v);
glVertexAttribI4sv_p($index, @v);
glVertexAttribI4svEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐Ÿ’œ


glVertexAttribI4ubv ๐Ÿฆ‹

glVertexAttribI4ubv_c($index, $v);
glVertexAttribI4ubvEXT_c($index, $v);
glVertexAttribI4ubv_p($index, @v);
glVertexAttribI4ubvEXT_p($index, @v);

Exported under the tag :GL_VERSION_3_0 ๐ŸŒธ

๐Ÿ’– glVertexAttribI4ui

glVertexAttribI4ui($index, $v0, $v1, $v2, $v3);
glVertexAttribI4uiEXT($index, $v0, $v1, $v2, $v3);

Exported under tag :GL_VERSION_3_0. โœจ


๐ŸŽ€ glVertexAttribI4uiv

glVertexAttribI4uiv_c($index, $v);
glVertexAttribI4uivEXT_c($index, $v);
glVertexAttribI4uiv_p($index, @v);
glVertexAttribI4uivEXT_p($index, @v);

Exported under tag :GL_VERSION_3_0. ๐Ÿฆ‹


๐ŸŒธ glVertexAttribI4usv

glVertexAttribI4usv_c($index, $v);
glVertexAttribI4usvEXT_c($index, $v);
glVertexAttribI4usv_p($index, @v);
glVertexAttribI4usvEXT_p($index, @v);

Exported under tag :GL_VERSION_3_0. ๐Ÿ’œ


๐Ÿงš glVertexAttribIFormat

glVertexAttribIFormat($attribindex, $size, $type, $relativeoffset);

Exported under tag :GL_ARB_vertex_attrib_binding. โญ


๐Ÿ”ฅ glVertexAttribIFormatNV

glVertexAttribIFormatNV($index, $size, $type, $stride);

Exported under tag :GL_NV_vertex_buffer_unified_memory. ๐Ÿ’…


๐Ÿ‘‘ glVertexAttribIPointer

glVertexAttribIPointer_c($index, $size, $type, $stride, $pointer);
glVertexAttribIPointerEXT_c($index, $size, $type, $stride, $pointer);

Exported under tag :GL_VERSION_3_0. Bestie, there's a whole refpage for this one if you wanna go deeper ๐Ÿ’–:

<https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttribIPointer.xhtml>


๐Ÿ’œ glVertexAttribL1d

glVertexAttribL1d($index, $x);
glVertexAttribL1dEXT($index, $x);

Exported under tag :GL_ARB_vertex_attrib_64bit. โœจ


๐Ÿซถ glVertexAttribL1dv

glVertexAttribL1dv_c($index, $v);
glVertexAttribL1dvEXT_c($index, $v);
glVertexAttribL1dv_p($index, @v);
glVertexAttribL1dvEXT_p($index, @v);

Exported under tag :GL_ARB_vertex_attrib_64bit. ๐ŸŒˆ


๐Ÿ“ glVertexAttribL1i64NV

glVertexAttribL1i64NV($index, $x);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐ŸŽ€


๐Ÿ’– glVertexAttribL1i64vNV

glVertexAttribL1i64vNV_c($index, $v);
glVertexAttribL1i64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿฆ‹


๐ŸŒŸ glVertexAttribL1ui64ARB

glVertexAttribL1ui64ARB($index, $x);

Exported under tag :GL_ARB_bindless_texture. No cap, another 64-bit one โ€” they really said "let's have ALL the variants" ๐Ÿ’€


๐ŸŒธ glVertexAttribL1ui64NV

glVertexAttribL1ui64NV($index, $x);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿ’…


๐Ÿงš glVertexAttribL1ui64vARB

glVertexAttribL1ui64vARB_c($index, $v);

Exported under tag :GL_ARB_bindless_texture. Notice this one only ships the _c flavoured form, bestie โ€” that's just how it is. ๐Ÿ‘‘


โญ glVertexAttribL1ui64vNV

glVertexAttribL1ui64vNV_c($index, $v);
glVertexAttribL1ui64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿ’œ


๐Ÿ”ฅ glVertexAttribL2d

glVertexAttribL2d($index, $x, $y);
glVertexAttribL2dEXT($index, $x, $y);

Exported under tag :GL_ARB_vertex_attrib_64bit. Two whole components, she's serving dimension ๐ŸŒˆ


๐Ÿ’– glVertexAttribL2dv

glVertexAttribL2dv_c($index, $v);
glVertexAttribL2dvEXT_c($index, $v);
glVertexAttribL2dv_p($index, @v);
glVertexAttribL2dvEXT_p($index, @v);

Exported under tag :GL_ARB_vertex_attrib_64bit. โœจ


๐ŸŽ€ glVertexAttribL2i64NV

glVertexAttribL2i64NV($index, $x, $y);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿฆ‹


๐ŸŒธ glVertexAttribL2i64vNV

glVertexAttribL2i64vNV_c($index, $v);
glVertexAttribL2i64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿ’…


๐Ÿงš glVertexAttribL2ui64NV

glVertexAttribL2ui64NV($index, $x, $y);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿ‘‘


๐Ÿซถ glVertexAttribL2ui64vNV

glVertexAttribL2ui64vNV_c($index, $v);
glVertexAttribL2ui64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. โญ


๐Ÿ“ glVertexAttribL3d

glVertexAttribL3d($index, $x, $y, $z);
glVertexAttribL3dEXT($index, $x, $y, $z);

Exported under tag :GL_ARB_vertex_attrib_64bit. Three components, main character energy fr fr ๐Ÿ”ฅ


๐Ÿ’œ glVertexAttribL3dv

glVertexAttribL3dv_c($index, $v);
glVertexAttribL3dvEXT_c($index, $v);
glVertexAttribL3dv_p($index, @v);
glVertexAttribL3dvEXT_p($index, @v);

Exported under tag :GL_ARB_vertex_attrib_64bit. ๐ŸŒˆ


๐ŸŒŸ glVertexAttribL3i64NV

glVertexAttribL3i64NV($index, $x, $y, $z);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐ŸŽ€


๐Ÿ’– glVertexAttribL3i64vNV

glVertexAttribL3i64vNV_c($index, $v);
glVertexAttribL3i64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿฆ‹


๐ŸŒธ glVertexAttribL3ui64NV

glVertexAttribL3ui64NV($index, $x, $y, $z);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿ’…


๐Ÿงš glVertexAttribL3ui64vNV

glVertexAttribL3ui64vNV_c($index, $v);
glVertexAttribL3ui64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿ‘‘


๐Ÿซถ glVertexAttribL4d

glVertexAttribL4d($index, $x, $y, $z, $w);
glVertexAttribL4dEXT($index, $x, $y, $z, $w);

Exported under tag :GL_ARB_vertex_attrib_64bit. Four whole doubles, she ate that โญ


๐Ÿ“ glVertexAttribL4dv

glVertexAttribL4dv_c($index, $v);
glVertexAttribL4dvEXT_c($index, $v);
glVertexAttribL4dv_p($index, @v);
glVertexAttribL4dvEXT_p($index, @v);

Exported under tag :GL_ARB_vertex_attrib_64bit. ๐Ÿ’œ


๐Ÿ”ฅ glVertexAttribL4i64NV

glVertexAttribL4i64NV($index, $x, $y, $z, $w);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐ŸŒˆ


๐Ÿ’– glVertexAttribL4i64vNV

glVertexAttribL4i64vNV_c($index, $v);
glVertexAttribL4i64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐ŸŽ€


๐ŸŒธ glVertexAttribL4ui64NV

glVertexAttribL4ui64NV($index, $x, $y, $z, $w);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿฆ‹


๐Ÿงš glVertexAttribL4ui64vNV

glVertexAttribL4ui64vNV_c($index, $v);
glVertexAttribL4ui64vNV_p($index, @v);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. ๐Ÿ’…


๐Ÿ‘‘ glVertexAttribLFormat

glVertexAttribLFormat($attribindex, $size, $type, $relativeoffset);

Exported under tag :GL_ARB_vertex_attrib_binding. โœจ


๐ŸŒŸ glVertexAttribLFormatNV

glVertexAttribLFormatNV($index, $size, $type, $stride);

Exported under tag :GL_NV_vertex_attrib_integer_64bit. Note the tag on this one, bestie โ€” it's the NV 64-bit integer one, not a format-binding tag, okay? Keep it straight ๐Ÿซถ


๐Ÿ’œ glVertexAttribLPointer

glVertexAttribLPointer_c($index, $size, $type, $stride, $pointer);
glVertexAttribLPointerEXT_c($index, $size, $type, $stride, $pointer);

Exported under tag :GL_ARB_vertex_attrib_64bit. โญ


๐Ÿ“ glVertexAttribP1ui

glVertexAttribP1ui($index, $type, $normalized, $value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. Yes the tag literally spells out 2_10_10_10, iconic honestly ๐Ÿ”ฅ


๐Ÿ’– glVertexAttribP1uiv

glVertexAttribP1uiv_c($index, $type, $normalized, $value);
glVertexAttribP1uiv_p($index, $type, $normalized, @value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐ŸŒˆ


๐ŸŽ€ glVertexAttribP2ui

glVertexAttribP2ui($index, $type, $normalized, $value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐Ÿฆ‹


๐ŸŒธ glVertexAttribP2uiv

glVertexAttribP2uiv_c($index, $type, $normalized, $value);
glVertexAttribP2uiv_p($index, $type, $normalized, @value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐Ÿ’…


๐Ÿงš glVertexAttribP3ui

glVertexAttribP3ui($index, $type, $normalized, $value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐Ÿ‘‘


๐Ÿซถ glVertexAttribP3uiv

glVertexAttribP3uiv_c($index, $type, $normalized, $value);
glVertexAttribP3uiv_p($index, $type, $normalized, @value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. โญ


๐Ÿ”ฅ glVertexAttribP4ui

glVertexAttribP4ui($index, $type, $normalized, $value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐Ÿ’œ


๐Ÿ’œ glVertexAttribP4uiv

glVertexAttribP4uiv_c($index, $type, $normalized, $value);
glVertexAttribP4uiv_p($index, $type, $normalized, @value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. ๐ŸŒˆ


๐ŸŒŸ glVertexAttribParameteriAMD

glVertexAttribParameteriAMD($index, $pname, $param);

Exported under tag :GL_AMD_interleaved_elements. ๐ŸŽ€


๐Ÿ’– glVertexAttribPointer

glVertexAttribPointer_c($index, $size, $type, $normalized, $stride, $pointer);
glVertexAttribPointerARB_c($index, $size, $type, $normalized, $stride, $pointer);

Exported under tag :GL_VERSION_2_0. This is like THE classic, bestie, the blueprint ๐Ÿ‘‘ โ€” full refpage right here:

<https://registry.khronos.org/OpenGL-Refpages/gl4/html/glVertexAttribPointer.xhtml>


๐Ÿฆ‹ glVertexAttribPointerNV

glVertexAttribPointerNV_c($index, $fsize, $type, $stride, $pointer);

Exported under tag :GL_NV_vertex_program. Heads up, the size arg here is named $fsize and there's no $normalized โ€” don't just assume it matches the other one fr fr ๐Ÿ™ˆ


๐ŸŒธ glVertexAttribs1dvNV

glVertexAttribs1dvNV_c($index, $count, $v);
glVertexAttribs1dvNV_p($index, @v);

Exported under tag :GL_NV_vertex_program. ๐Ÿ’…


๐Ÿงš glVertexAttribs1fvNV

glVertexAttribs1fvNV_c($index, $count, $v);
glVertexAttribs1fvNV_p($index, @v);

Exported under tag :GL_NV_vertex_program. ๐Ÿ‘‘


๐Ÿซถ glVertexAttribs1hvNV

glVertexAttribs1hvNV_c($index, $n, $v);
glVertexAttribs1hvNV_p($index, @v);

Exported under tag :GL_NV_half_float. Careful, the middle arg is $n here, not $count โ€” half-float things are just like that ๐Ÿ’€


๐Ÿ“ glVertexAttribs1svNV

glVertexAttribs1svNV_c($index, $count, $v);
glVertexAttribs1svNV_p($index, @v);

Exported under tag :GL_NV_vertex_program. โญ


๐Ÿ”ฅ glVertexAttribs2dvNV

glVertexAttribs2dvNV_c($index, $count, $v);
glVertexAttribs2dvNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. See how the _p form takes $count here? Every 2+ variant does, keep an eye out ๐Ÿ’œ


๐Ÿ’– glVertexAttribs2fvNV

glVertexAttribs2fvNV_c($index, $count, $v);
glVertexAttribs2fvNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. ๐ŸŒˆ


๐ŸŽ€ glVertexAttribs2hvNV

glVertexAttribs2hvNV_c($index, $n, $v);
glVertexAttribs2hvNV_p($index, @v);

Exported under tag :GL_NV_half_float. ๐Ÿฆ‹


๐ŸŒธ glVertexAttribs2svNV

glVertexAttribs2svNV_c($index, $count, $v);
glVertexAttribs2svNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. ๐Ÿ’…


๐Ÿงš glVertexAttribs3dvNV

glVertexAttribs3dvNV_c($index, $count, $v);
glVertexAttribs3dvNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. ๐Ÿ‘‘


๐Ÿซถ glVertexAttribs3fvNV

glVertexAttribs3fvNV_c($index, $count, $v);
glVertexAttribs3fvNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. โญ


๐Ÿ“ glVertexAttribs3hvNV

glVertexAttribs3hvNV_c($index, $n, $v);
glVertexAttribs3hvNV_p($index, @v);

Exported under tag :GL_NV_half_float. ๐Ÿ’œ


๐Ÿ”ฅ glVertexAttribs3svNV

glVertexAttribs3svNV_c($index, $count, $v);
glVertexAttribs3svNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. ๐ŸŒˆ


๐Ÿ’– glVertexAttribs4dvNV

glVertexAttribs4dvNV_c($index, $count, $v);
glVertexAttribs4dvNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. ๐ŸŽ€


๐ŸŒŸ glVertexAttribs4fvNV

glVertexAttribs4fvNV_c($index, $count, $v);
glVertexAttribs4fvNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. ๐Ÿฆ‹


๐ŸŒธ glVertexAttribs4hvNV

glVertexAttribs4hvNV_c($index, $n, $v);
glVertexAttribs4hvNV_p($index, @v);

Exported under tag :GL_NV_half_float. ๐Ÿ’…


๐Ÿงš glVertexAttribs4svNV

glVertexAttribs4svNV_c($index, $count, $v);
glVertexAttribs4svNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. ๐Ÿ‘‘


๐Ÿซถ glVertexAttribs4ubvNV

glVertexAttribs4ubvNV_c($index, $count, $v);
glVertexAttribs4ubvNV_p($index, $count, @v);

Exported under tag :GL_NV_vertex_program. Unsigned byte flavoured, lil ub moment ๐Ÿ“


๐Ÿ“ glVertexBindingDivisor

glVertexBindingDivisor($bindingindex, $divisor);

Exported under tag :GL_ARB_vertex_attrib_binding. โญ


๐Ÿ”ฅ glVertexBlendARB

glVertexBlendARB($count);

Exported under tag :GL_ARB_vertex_blend. ๐ŸŒˆ


๐Ÿ’œ glVertexBlendEnvfATI

glVertexBlendEnvfATI($pname, $param);

Exported under tag :GL_ATI_vertex_streams. ๐ŸŽ€

๐ŸŒŠ glVertexBlendEnviATI

glVertexBlendEnviATI($pname, $param);

Exported under tag :GL_ATI_vertex_streams. ๐Ÿ’ซ


๐ŸงŠ glVertexFormatNV

glVertexFormatNV($size, $type, $stride);

Exported under tag :GL_NV_vertex_buffer_unified_memory.


๐Ÿ’— glVertexP2ui

glVertexP2ui($type, $value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


๐Ÿ’— glVertexP2uiv

glVertexP2uiv_c($type, $value);
glVertexP2uiv_p($type, @value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev. Two flavours, bestie: _c takes one value, _p takes a whole list. โœจ


๐Ÿ’— glVertexP3ui

glVertexP3ui($type, $value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


๐Ÿ’— glVertexP3uiv

glVertexP3uiv_c($type, $value);
glVertexP3uiv_p($type, @value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


๐Ÿ’— glVertexP4ui

glVertexP4ui($type, $value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


๐Ÿ’— glVertexP4uiv

glVertexP4uiv_c($type, $value);
glVertexP4uiv_p($type, @value);

Exported under tag :GL_ARB_vertex_type_2_10_10_10_rev.


๐Ÿ‘‘ glVertexPointer

glVertexPointer_c($size, $type, $stride, $pointer);

Exported under tag :GL_VERSION_1_1. Not available in a 'future-compatible' profile as removed in 3.2. The docs live at <https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glVertexPointer.xml> if you wanna go read the lore.


๐Ÿ‘‘ glVertexPointerEXT

glVertexPointerEXT_c($size, $type, $stride, $count, $pointer);

Exported under tag :GL_EXT_vertex_array. Note the lil extra $count bestie, it's not the same shape as the plain one. ๐Ÿฆ‹


๐Ÿ‘‘ glVertexPointerListIBM

glVertexPointerListIBM_c($size, $type, $stride, $pointer, $ptrstride);

Exported under tag :GL_IBM_vertex_array_lists.


๐Ÿ‘‘ glVertexPointervINTEL

glVertexPointervINTEL_c($size, $type, $pointer);

Exported under tag :GL_INTEL_parallel_arrays. No $stride in this one, she's built different. ๐Ÿ’…


๐ŸŒธ glVertexStream1dATI

glVertexStream1dATI($stream, $x);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŒธ glVertexStream1dvATI

glVertexStream1dvATI_c($stream, $coords);
glVertexStream1dvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŒธ glVertexStream1fATI

glVertexStream1fATI($stream, $x);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŒธ glVertexStream1fvATI

glVertexStream1fvATI_c($stream, $coords);
glVertexStream1fvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŒธ glVertexStream1iATI

glVertexStream1iATI($stream, $x);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŒธ glVertexStream1ivATI

glVertexStream1ivATI_c($stream, $coords);
glVertexStream1ivATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŒธ glVertexStream1sATI

glVertexStream1sATI($stream, $x);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŒธ glVertexStream1svATI

glVertexStream1svATI_c($stream, $coords);
glVertexStream1svATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2dATI

glVertexStream2dATI($stream, $x, $y);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2dvATI

glVertexStream2dvATI_c($stream, $coords);
glVertexStream2dvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2fATI

glVertexStream2fATI($stream, $x, $y);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2fvATI

glVertexStream2fvATI_c($stream, $coords);
glVertexStream2fvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2iATI

glVertexStream2iATI($stream, $x, $y);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2ivATI

glVertexStream2ivATI_c($stream, $coords);
glVertexStream2ivATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2sATI

glVertexStream2sATI($stream, $x, $y);

Exported under tag :GL_ATI_vertex_streams.


๐ŸŽ€ glVertexStream2svATI

glVertexStream2svATI_c($stream, $coords);
glVertexStream2svATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3dATI

glVertexStream3dATI($stream, $x, $y, $z);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3dvATI

glVertexStream3dvATI_c($stream, $coords);
glVertexStream3dvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3fATI

glVertexStream3fATI($stream, $x, $y, $z);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3fvATI

glVertexStream3fvATI_c($stream, $coords);
glVertexStream3fvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3iATI

glVertexStream3iATI($stream, $x, $y, $z);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3ivATI

glVertexStream3ivATI_c($stream, $coords);
glVertexStream3ivATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3sATI

glVertexStream3sATI($stream, $x, $y, $z);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿฆ‹ glVertexStream3svATI

glVertexStream3svATI_c($stream, $coords);
glVertexStream3svATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4dATI

glVertexStream4dATI($stream, $x, $y, $z, $w);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4dvATI

glVertexStream4dvATI_c($stream, $coords);
glVertexStream4dvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4fATI

glVertexStream4fATI($stream, $x, $y, $z, $w);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4fvATI

glVertexStream4fvATI_c($stream, $coords);
glVertexStream4fvATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4iATI

glVertexStream4iATI($stream, $x, $y, $z, $w);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4ivATI

glVertexStream4ivATI_c($stream, $coords);
glVertexStream4ivATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4sATI

glVertexStream4sATI($stream, $x, $y, $z, $w);

Exported under tag :GL_ATI_vertex_streams.


๐Ÿ’œ glVertexStream4svATI

glVertexStream4svATI_c($stream, $coords);
glVertexStream4svATI_p($stream, @coords);

Exported under tag :GL_ATI_vertex_streams. And that's the entire ATI vertex stream fam โ€” 1, 2, 3, 4 components, d f i s types, scalar and vector, all accounted for. ate, no crumbs. ๐Ÿ“


โš–๏ธ glVertexWeightPointerEXT

glVertexWeightPointerEXT_c($size, $type, $stride, $pointer);

Exported under tag :GL_EXT_vertex_weighting.


โš–๏ธ glVertexWeightfEXT

glVertexWeightfEXT($weight);

Exported under tag :GL_EXT_vertex_weighting.


โš–๏ธ glVertexWeightfvEXT

glVertexWeightfvEXT_c($weight);
$weight = glVertexWeightfvEXT_p();

Exported under tag :GL_EXT_vertex_weighting. Okay heads up bestie: the _p version literally hands you back the weight as a return value. It's giving reverse energy and we love her for it. ๐Ÿ’–


๐ŸŒ— glVertexWeighthNV

glVertexWeighthNV($weight);

Exported under tag :GL_NV_half_float.


๐ŸŒ— glVertexWeighthvNV

glVertexWeighthvNV_c($weight);
glVertexWeighthvNV_p(@weight);

Exported under tag :GL_NV_half_float. Note this _p takes @weight as an argument rather than returning it โ€” every function is her own main character, ok. ๐Ÿ™ˆ


๐ŸŽฅ glVideoCaptureNV

$retval = glVideoCaptureNV_c($video_capture_slot, $sequence_num, $capture_time);

Exported under tag :GL_NV_video_capture. She returns $retval, she's a giver. ๐Ÿ’…


๐ŸŽฅ glVideoCaptureStreamParameterdvNV

glVideoCaptureStreamParameterdvNV_c($video_capture_slot, $stream, $pname, $params);

Exported under tag :GL_NV_video_capture.


๐ŸŽฅ glVideoCaptureStreamParameterfvNV

glVideoCaptureStreamParameterfvNV_c($video_capture_slot, $stream, $pname, $params);

Exported under tag :GL_NV_video_capture.


๐ŸŽฅ glVideoCaptureStreamParameterivNV

glVideoCaptureStreamParameterivNV_c($video_capture_slot, $stream, $pname, $params);

Exported under tag :GL_NV_video_capture.


๐Ÿ–ผ๏ธ glViewport

glViewport($x, $y, $width, $height);

Exported under tag :GL_VERSION_1_1. Docs at <https://registry.khronos.org/OpenGL-Refpages/gl4/html/glViewport.xhtml> โ€” this is the one everybody actually knows lol. โœจ


๐Ÿ–ผ๏ธ glViewportArrayv

glViewportArrayv_c($first, $count, $v);
glViewportArrayvNV_c($first, $count, $v);
glViewportArrayv_p($first, @v);
glViewportArrayvNV_p($first, @v);

Exported under tag :GL_ARB_viewport_array. Yeah there's a plain name AND an NV name, same args, both chilling. ๐ŸŒˆ


๐Ÿ–ผ๏ธ glViewportIndexedf

glViewportIndexedf($index, $x, $y, $w, $h);
glViewportIndexedfNV($index, $x, $y, $w, $h);

Exported under tag :GL_ARB_viewport_array. Bestie notice the args are $w and $h here, not $width/$height โ€” the API is quirky like that, we keep it exactly as she is. ๐Ÿ’…


๐Ÿ–ผ๏ธ glViewportIndexedfv

glViewportIndexedfv_c($index, $v);
glViewportIndexedfvNV_c($index, $v);
glViewportIndexedfv_p($index, @v);
glViewportIndexedfvNV_p($index, @v);

Exported under tag :GL_ARB_viewport_array.


๐Ÿ–ผ๏ธ glViewportPositionWScaleNV

glViewportPositionWScaleNV($index, $xcoeff, $ycoeff);

Exported under tag :GL_NV_clip_space_w_scaling.


๐Ÿ”€ glViewportSwizzleNV

glViewportSwizzleNV($index, $swizzlex, $swizzley, $swizzlez, $swizzlew);

Exported under tag :GL_NV_viewport_swizzle.


โณ glWaitSemaphoreEXT

glWaitSemaphoreEXT_c($semaphore, $numBufferBarriers, $buffers, $numTextureBarriers, $textures, $srcLayouts);

Exported under tag :GL_EXT_semaphore.


โณ glWaitSemaphoreui64NVX

glWaitSemaphoreui64NVX_c($waitGpu, $fenceObjectCount, $semaphoreArray, $fenceValueArray);
glWaitSemaphoreui64NVX_p($waitGpu, \@semaphoreArray, \@fenceValueArray);

Exported under tag :GL_NVX_progress_fence. See those \@ backslashes? That's a Perl array ref, don't strip them or she'll yell at you. ๐Ÿ˜ญ


โณ glWaitSync

glWaitSync($sync, $flags, $timeout);
glWaitSyncAPPLE($sync, $flags, $timeout);

Exported under tag :GL_ARB_sync. Two names, identical args, iconic behaviour tbh. ๐Ÿซถ


โณ glWaitVkSemaphoreNV

glWaitVkSemaphoreNV($vkSemaphore);

Exported under tag :GL_NV_draw_vulkan_image.


โš–๏ธ glWeightPathsNV

glWeightPathsNV_c($resultPath, $numPaths, $paths, $weights);
glWeightPathsNV_p($resultPath, \@paths, \@weights);

Exported under tag :GL_NV_path_rendering. Again with the \@ refs on the _p version, ok bestie, keep the backslashes. โœจ


โš–๏ธ glWeightPointerARB

glWeightPointerARB_c($size, $type, $stride, $pointer);

Exported under tag :GL_ARB_vertex_blend.


โš–๏ธ glWeightPointerOES

glWeightPointerOES_c($size, $type, $stride, $pointer);

Exported under tag :GL_OES_matrix_palette.


๐Ÿงš glWeightbvARB

glWeightbvARB_c($size, $weights);
@weights = glWeightbvARB_p($size);

Exported under tag :GL_ARB_vertex_blend. The _p one gives you the list back, periodt. ๐Ÿ’–


๐Ÿงš glWeightdvARB

glWeightdvARB_c($size, $weights);
@weights = glWeightdvARB_p($size);

Exported under tag :GL_ARB_vertex_blend.


๐Ÿงš glWeightfvARB

glWeightfvARB_c($size, $weights);
@weights = glWeightfvARB_p($size);

Exported under tag :GL_ARB_vertex_blend.


๐Ÿงš glWeightivARB

glWeightivARB_c($size, $weights);
@weights = glWeightivARB_p($size);

Exported under tag :GL_ARB_vertex_blend.


๐Ÿงš glWeightsvARB

glWeightsvARB_c($size, $weights);
@weights = glWeightsvARB_p($size);

Exported under tag :GL_ARB_vertex_blend. Yeah she's Weightsv with an s โ€” the type letter sits right there in the name, don't go "fixing" it into Weightsv, the API said what it said. ๐Ÿ’€


๐Ÿงš glWeightubvARB

glWeightubvARB_c($size, $weights);
@weights = glWeightubvARB_p($size);

Exported under tag :GL_ARB_vertex_blend.


๐Ÿงš glWeightuivARB

glWeightuivARB_c($size, $weights);
@weights = glWeightuivARB_p($size);

Exported under tag :GL_ARB_vertex_blend.


๐Ÿงš glWeightusvARB

glWeightusvARB_c($size, $weights);
@weights = glWeightusvARB_p($size);

Exported under tag :GL_ARB_vertex_blend. That's the whole signed/unsigned ARB weight lineup โ€” b d f i s ub ui us โ€” every single one collected. ๐ŸŽ€


๐ŸชŸ glWindowPos2d

glWindowPos2d($x, $y);
glWindowPos2dARB($x, $y);
glWindowPos2dMESA($x, $y);

Exported under tag :GL_VERSION_1_4. Three aliases, one job. Not available in a 'future-compatible' profile as removed in 3.2. ๐Ÿ˜ญ

glWindowPos2dv

glWindowPos2dv_c($v);
glWindowPos2dvARB_c($v);
glWindowPos2dvMESA_c($v);
glWindowPos2dv_p(@v);
glWindowPos2dvARB_p(@v);
glWindowPos2dvMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Heads up bestie: this one is not available in a 'future-compatible' profile, because it got removed in 3.2 ๐Ÿ’€

glWindowPos2f

glWindowPos2f($x, $y);
glWindowPos2fARB($x, $y);
glWindowPos2fMESA($x, $y);

Tagged :GL_VERSION_1_4. And yeah โ€” not available in a 'future-compatible' profile, removed in 3.2, she's gone โœจ

glWindowPos2fv

glWindowPos2fv_c($v);
glWindowPos2fvARB_c($v);
glWindowPos2fvMESA_c($v);
glWindowPos2fv_p(@v);
glWindowPos2fvARB_p(@v);
glWindowPos2fvMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile, since it was removed in 3.2 ๐ŸŒธ

glWindowPos2i

glWindowPos2i($x, $y);
glWindowPos2iARB($x, $y);
glWindowPos2iMESA($x, $y);

Exported under tag :GL_VERSION_1_4. No 'future-compatible' profile for this one โ€” removed in 3.2, no cap ๐Ÿซถ

glWindowPos2iv

glWindowPos2iv_c($v);
glWindowPos2ivARB_c($v);
glWindowPos2ivMESA_c($v);
glWindowPos2iv_p(@v);
glWindowPos2ivARB_p(@v);
glWindowPos2ivMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile โ€” removed in 3.2 ๐Ÿฆ‹

glWindowPos2s

glWindowPos2s($x, $y);
glWindowPos2sARB($x, $y);
glWindowPos2sMESA($x, $y);

Exported under tag :GL_VERSION_1_4. Heads up: not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿ’…

glWindowPos2sv

glWindowPos2sv_c($v);
glWindowPos2svARB_c($v);
glWindowPos2svMESA_c($v);
glWindowPos2sv_p(@v);
glWindowPos2svARB_p(@v);
glWindowPos2svMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile, because 3.2 removed it ๐ŸŒˆ

glWindowPos3d

glWindowPos3d($x, $y, $z);
glWindowPos3dARB($x, $y, $z);
glWindowPos3dMESA($x, $y, $z);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile โ€” removed in 3.2 ๐Ÿ˜ญ

glWindowPos3dv

glWindowPos3dv_c($v);
glWindowPos3dvARB_c($v);
glWindowPos3dvMESA_c($v);
glWindowPos3dv_p(@v);
glWindowPos3dvARB_p(@v);
glWindowPos3dvMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile, as it was removed in 3.2 โญ

glWindowPos3f

glWindowPos3f($x, $y, $z);
glWindowPos3fARB($x, $y, $z);
glWindowPos3fMESA($x, $y, $z);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile โ€” 3.2 took her out ๐Ÿ’–

glWindowPos3fv

glWindowPos3fv_c($v);
glWindowPos3fvARB_c($v);
glWindowPos3fvMESA_c($v);
glWindowPos3fv_p(@v);
glWindowPos3fvARB_p(@v);
glWindowPos3fvMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile, since it's removed in 3.2 ๐ŸŽ€

glWindowPos3i

glWindowPos3i($x, $y, $z);
glWindowPos3iARB($x, $y, $z);
glWindowPos3iMESA($x, $y, $z);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile โ€” removed in 3.2 ๐Ÿ™ˆ

glWindowPos3iv

glWindowPos3iv_c($v);
glWindowPos3ivARB_c($v);
glWindowPos3ivMESA_c($v);
glWindowPos3iv_p(@v);
glWindowPos3ivARB_p(@v);
glWindowPos3ivMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile, removed in 3.2 ๐Ÿ“

glWindowPos3s

glWindowPos3s($x, $y, $z);
glWindowPos3sARB($x, $y, $z);
glWindowPos3sMESA($x, $y, $z);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile, because it was removed in 3.2 ๐Ÿงš

glWindowPos3sv

glWindowPos3sv_c($v);
glWindowPos3svARB_c($v);
glWindowPos3svMESA_c($v);
glWindowPos3sv_p(@v);
glWindowPos3svARB_p(@v);
glWindowPos3svMESA_p(@v);

Exported under tag :GL_VERSION_1_4. Not available in a 'future-compatible' profile โ€” removed in 3.2, periodt ๐Ÿ’œ


glWindowPos4dMESA

glWindowPos4dMESA($x, $y, $z, $param4);

Exported under tag :GL_MESA_window_pos.

glWindowPos4dvMESA

glWindowPos4dvMESA_c($v);
glWindowPos4dvMESA_p(@v);

Exported under tag :GL_MESA_window_pos.

glWindowPos4fMESA

glWindowPos4fMESA($x, $y, $z, $w);

Exported under tag :GL_MESA_window_pos.

glWindowPos4fvMESA

glWindowPos4fvMESA_c($v);
glWindowPos4fvMESA_p(@v);

Exported under tag :GL_MESA_window_pos.

glWindowPos4iMESA

glWindowPos4iMESA($x, $y, $z, $w);

Exported under tag :GL_MESA_window_pos.

glWindowPos4ivMESA

glWindowPos4ivMESA_c($v);
glWindowPos4ivMESA_p(@v);

Exported under tag :GL_MESA_window_pos.

glWindowPos4sMESA

glWindowPos4sMESA($x, $y, $z, $w);

Exported under tag :GL_MESA_window_pos.

glWindowPos4svMESA

glWindowPos4svMESA_c($v);
glWindowPos4svMESA_p(@v);

Exported under tag :GL_MESA_window_pos.

glWindowRectanglesEXT

glWindowRectanglesEXT_c($mode, $count, $box);
glWindowRectanglesEXT_p($mode, @box);

Exported under tag :GL_EXT_window_rectangles.

glWriteMaskEXT

glWriteMaskEXT($res, $in, $outX, $outY, $outZ, $outW);

Exported under tag :GL_EXT_vertex_shader.


๐Ÿž DEBUGGING ๐Ÿž

While you're developing, you can call glpSetAutoCheckErrors(1) and every single OpenGL function will automatically hit up glGetErrors() and report anything it finds ๐Ÿ‘€ no more mystery bugs living rent free in your code, fr fr.

It's off by default though โ€” performance reasons, bestie, that's the whole thing ๐Ÿ’€

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

  • OpenGL 4.x documentation at https://www.opengl.org/sdk/docs/man4/ ๐Ÿ“–โœจ
  • Perl OpenGL (POGL) and Perl OpenGL::Modern (POGL2) development share common resources ๐Ÿซถ At some point OpenGL::Modern will replace the legacy OpenGL implementation. Together they are referred to as POGL ๐Ÿ‘‘
  • Perl OpenGL developer and users lists are at https://sourceforge.net/p/pogl/mailman/?source=navbar ๐Ÿ’Œ
  • Perl OpenGL IRC is at #pogl on irc.perl.org โ€” come hang ๐ŸŒธ
  • POGL2 development will take place on github and the repository is being set up there. The sf.net repository will be the official release repository and is mirrored from github ๐Ÿ”

๐Ÿ’– AUTHOR ๐Ÿ’–

Chris Marshall, < devel dot chm dot 01 AT gmail dot com > ๐ŸŒŸ


This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.22.0 or, at your option, any later version of Perl 5 you may have available ๐ŸŽ€

Copyright (C) 2017 by Chris Marshall
Copyright (C) 2016 by Max Maischein

and that's a wrap on the whole page, bestie ๐Ÿฅน๐Ÿซถ this doc ships with perl v5.42.3, dated 2026-08-19, under OpenGL::Modern(3pm) โ€” iconic, no notes, go make something pretty โœจ๐Ÿ’…

๐Ÿ“ฆ where this page comes from