├── .travis.yml ├── spec ├── spec_helper.cr └── lib_gl_spec.cr ├── src ├── lib_gl │ ├── constants │ │ ├── x.cr │ │ ├── z.cr │ │ ├── w.cr │ │ ├── k.cr │ │ ├── h.cr │ │ ├── o.cr │ │ ├── q.cr │ │ ├── e.cr │ │ ├── l.cr │ │ ├── g.cr │ │ ├── b.cr │ │ ├── n.cr │ │ ├── v.cr │ │ ├── i.cr │ │ ├── r.cr │ │ ├── u.cr │ │ ├── f.cr │ │ ├── d.cr │ │ ├── s.cr │ │ ├── p.cr │ │ ├── a.cr │ │ ├── t.cr │ │ ├── c.cr │ │ └── m.cr │ ├── functions │ │ ├── h.cr │ │ ├── w.cr │ │ ├── q.cr │ │ ├── l.cr │ │ ├── a.cr │ │ ├── o.cr │ │ ├── e.cr │ │ ├── r.cr │ │ ├── m.cr │ │ ├── f.cr │ │ ├── i.cr │ │ ├── s.cr │ │ ├── t.cr │ │ ├── b.cr │ │ ├── u.cr │ │ ├── d.cr │ │ ├── c.cr │ │ ├── p.cr │ │ └── v.cr │ └── types.cr └── lib_gl.cr ├── .gitignore ├── shard.yml ├── LICENSE └── README.md /.travis.yml: -------------------------------------------------------------------------------- 1 | language: crystal 2 | -------------------------------------------------------------------------------- /spec/spec_helper.cr: -------------------------------------------------------------------------------- 1 | require "spec" 2 | require "../src/lib_gl" 3 | -------------------------------------------------------------------------------- /src/lib_gl/constants/x.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | XOR = 0x1506_u32 3 | XOR_NV = 0x1506_u32 4 | end 5 | -------------------------------------------------------------------------------- /src/lib_gl/constants/z.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | ZERO = 0_u32 3 | ZERO_TO_ONE = 0x935F_u32 4 | end 5 | -------------------------------------------------------------------------------- /src/lib_gl.cr: -------------------------------------------------------------------------------- 1 | require "./lib_gl/**" 2 | 3 | {% if flag?(:darwin) %} 4 | @[Link(framework: "OpenGL")] 5 | {% else %} 6 | @[Link("GL")] 7 | {% end %} 8 | lib LibGL 9 | end -------------------------------------------------------------------------------- /src/lib_gl/functions/h.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Specifies implementation-specific hints. 3 | fun hint = glHint(target : Enum, 4 | mode : Enum) : Void 5 | end -------------------------------------------------------------------------------- /spec/lib_gl_spec.cr: -------------------------------------------------------------------------------- 1 | require "./spec_helper" 2 | 3 | describe LibGl do 4 | # TODO: Write tests 5 | 6 | it "works" do 7 | false.should eq(true) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /doc/ 2 | /lib/ 3 | /bin/ 4 | /.shards/ 5 | 6 | # Libraries don't need dependency lock 7 | # Dependencies will be locked in application that uses them 8 | /shard.lock 9 | .editorconfig 10 | -------------------------------------------------------------------------------- /shard.yml: -------------------------------------------------------------------------------- 1 | name: lib_gl 2 | version: 0.1.0 3 | 4 | authors: 5 | - Caleb Uriah Harrison 6 | - Joel Lonbeck 7 | 8 | crystal: 0.23.1 9 | 10 | license: MIT 11 | -------------------------------------------------------------------------------- /src/lib_gl/functions/w.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Instructs the GL server to block until the specified sync object becomes signaled. 3 | fun wait_sync = glWaitSync( sync : Sync, 4 | flags : Bitfield, 5 | timeout : ULong) : Void 6 | end -------------------------------------------------------------------------------- /src/lib_gl/functions/q.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Records the GL time into a query object after all previous commands have reached the GL server but have not yet necessarily executed. 3 | fun query_county = glQueryCounter(id : UInt, 4 | target : Enum) : Void 5 | end -------------------------------------------------------------------------------- /src/lib_gl/constants/w.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | WAIT_FAILED = 0x911D_u32 3 | WARPS_PER_SM_NV = 0x933A_u32 4 | WARP_SIZE_NV = 0x9339_u32 5 | WEIGHTED_AVERAGE_ARB = 0x9367_u32 6 | WINDOW_RECTANGLE_EXT = 0x8F12_u32 7 | WINDOW_RECTANGLE_MODE_EXT = 0x8F13_u32 8 | WRITE_ONLY = 0x88B9_u32 9 | end 10 | -------------------------------------------------------------------------------- /src/lib_gl/functions/l.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Specifies the width of rasterized lines. 3 | fun line_width = glLineWidth(width : Float) : Void 4 | 5 | # Links a program object. 6 | fun link_program = glLinkProgram(program : UInt) : Void 7 | 8 | # Specifies a logical pixel operation for rendering. 9 | fun logic_op = glLogicOp(op_code : Enum) : Void 10 | end -------------------------------------------------------------------------------- /src/lib_gl/constants/k.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | KEEP = 0x1E00_u32 3 | KHR_blend_equation_advanced = 1_u32 4 | KHR_blend_equation_advanced_coherent = 1_u32 5 | KHR_context_flush_control = 1_u32 6 | KHR_debug = 1_u32 7 | KHR_no_error = 1_u32 8 | KHR_parallel_shader_compile = 1_u32 9 | KHR_robust_buffer_access_behavior = 1_u32 10 | KHR_robustness = 1_u32 11 | KHR_texture_compression_astc_hdr = 1_u32 12 | KHR_texture_compression_astc_ldr = 1_u32 13 | KHR_texture_compression_astc_sliced_3d = 1_u32 14 | end 15 | -------------------------------------------------------------------------------- /src/lib_gl/constants/h.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | HALF_FLOAT = 0x140B_u32 3 | HARDLIGHT_KHR = 0x929B_u32 4 | HARDLIGHT_NV = 0x929B_u32 5 | HARDMIX_NV = 0x92A9_u32 6 | HIGH_FLOAT = 0x8DF2_u32 7 | HIGH_INT = 0x8DF5_u32 8 | HORIZONTAL_LINE_TO_NV = 0x06_u32 9 | HSL_COLOR_KHR = 0x92AF_u32 10 | HSL_COLOR_NV = 0x92AF_u32 11 | HSL_HUE_KHR = 0x92AD_u32 12 | HSL_HUE_NV = 0x92AD_u32 13 | HSL_LUMINOSITY_KHR = 0x92B0_u32 14 | HSL_LUMINOSITY_NV = 0x92B0_u32 15 | HSL_SATURATION_KHR = 0x92AE_u32 16 | HSL_SATURATION_NV = 0x92AE_u32 17 | end 18 | -------------------------------------------------------------------------------- /src/lib_gl/functions/a.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | 3 | # Sets the active program object for a program pipeline object. 4 | fun active_shader_program = glActiveShaderProgram(pipeline : UInt, 5 | program : UInt) : Void 6 | 7 | # Specifies which texture unit to make active. 8 | fun active_texture = glActiveTexture(texture : Enum) : Void 9 | 10 | # Attaches a shader object to a program object. 11 | fun attach_shader = glAttachShader(program : UInt, 12 | shader : UInt) : Void 13 | 14 | end 15 | -------------------------------------------------------------------------------- /src/lib_gl/types.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | alias Enum = UInt32 3 | alias Boolean = UInt8 4 | alias Bitfield = UInt32 5 | alias Byte = Int8 6 | alias Short = Int16 7 | alias Int = Int32 8 | alias Long = Int64 9 | alias UByte = UInt8 10 | alias UShort = UInt16 11 | alias UInt = UInt32 12 | alias ULong = UInt64 13 | alias Sizei = Int32 14 | alias Float = Float32 15 | alias Double = Float64 16 | alias SizeiPtr = LibC::SizeT 17 | alias IntPtr = LibC::SizeT 18 | alias Char = UInt8 19 | alias Sync = Pointer(Void) 20 | alias Debugproc = (Enum, Enum, UInt, Enum, Sizei, Pointer(Char), Pointer(Void) -> Void) 21 | end -------------------------------------------------------------------------------- /src/lib_gl/constants/o.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | OBJECT_TYPE = 0x9112_u32 3 | OFFSET = 0x92FC_u32 4 | ONE = 1_u32 5 | ONE_MINUS_CONSTANT_ALPHA = 0x8004_u32 6 | ONE_MINUS_CONSTANT_COLOR = 0x8002_u32 7 | ONE_MINUS_DST_ALPHA = 0x0305_u32 8 | ONE_MINUS_DST_COLOR = 0x0307_u32 9 | ONE_MINUS_SRC1_ALPHA = 0x88FB_u32 10 | ONE_MINUS_SRC1_COLOR = 0x88FA_u32 11 | ONE_MINUS_SRC_ALPHA = 0x0303_u32 12 | ONE_MINUS_SRC_COLOR = 0x0301_u32 13 | OR = 0x1507_u32 14 | OR_INVERTED = 0x150D_u32 15 | OR_REVERSE = 0x150B_u32 16 | OUT_OF_MEMORY = 0x0505_u32 17 | OVERLAY_KHR = 0x9296_u32 18 | OVERLAY_NV = 0x9296_u32 19 | OVR_multiview = 1_u32 20 | OVR_multiview2 = 1_u32 21 | end 22 | -------------------------------------------------------------------------------- /src/lib_gl/functions/o.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Labels a named object identified within a namespace. 3 | fun object_label = glObjectLabel( identifier : Enum, 4 | name : UInt, 5 | length : Sizei, 6 | label : Pointer(Char)) : Void 7 | 8 | # Labels a sync object identified by a pointer. 9 | fun object_ptr_label = glObjectPtrLabel(ptr : Pointer(Void), 10 | length : Sizei, 11 | label : Pointer(Char)) : Void 12 | # Ortho Transformation 13 | fun ortho = glOrtho(left : Double, 14 | right : Double, 15 | bottom : Double, 16 | top : Double, 17 | near_val : Double, 18 | far_val : Double) : Void 19 | end 20 | -------------------------------------------------------------------------------- /src/lib_gl/functions/e.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | 3 | fun end = glEnd() : Void 4 | 5 | # Enables server-side capabilities. 6 | fun enable = glEnable(cap : Enum) : Void 7 | 8 | # Enables server-side capabilities. 9 | fun enable_i = glEnablei( cap : Enum, 10 | index : UInt) : Void 11 | 12 | # Enables a generic vertex attribute array. 13 | fun enable_vertex_attrib_array = glEnableVertexAttribArray(index : UInt) : Void 14 | 15 | # Ends conditional rendering. 16 | fun end_conditional_render = glEndConditionalRender : Void 17 | 18 | # Ends a query object. 19 | fun end_query = glEndQuery(target : Enum) : Void 20 | 21 | # Ends an indexed query object. 22 | fun end_query_indexed = glEndQueryIndexed(target : Enum, 23 | index : UInt) : Void 24 | 25 | # Ends transform feedback operation. 26 | fun end_transform_feedback = glEndTransformFeedback : Void 27 | end 28 | -------------------------------------------------------------------------------- /src/lib_gl/constants/q.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | QUADRATIC_CURVE_TO_NV = 0x0A_u32 3 | QUADS = 0x0007_u32 4 | QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C_u32 5 | QUERY = 0x82E3_u32 6 | QUERY_BUFFER = 0x9192_u32 7 | QUERY_BUFFER_BARRIER_BIT = 0x00008000_u32 8 | QUERY_BUFFER_BINDING = 0x9193_u32 9 | QUERY_BY_REGION_NO_WAIT = 0x8E16_u32 10 | QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A_u32 11 | QUERY_BY_REGION_NO_WAIT_NV = 0x8E16_u32 12 | QUERY_BY_REGION_WAIT = 0x8E15_u32 13 | QUERY_BY_REGION_WAIT_INVERTED = 0x8E19_u32 14 | QUERY_BY_REGION_WAIT_NV = 0x8E15_u32 15 | QUERY_COUNTER_BITS = 0x8864_u32 16 | QUERY_NO_WAIT = 0x8E14_u32 17 | QUERY_NO_WAIT_INVERTED = 0x8E18_u32 18 | QUERY_NO_WAIT_NV = 0x8E14_u32 19 | QUERY_OBJECT_EXT = 0x9153_u32 20 | QUERY_RESULT = 0x8866_u32 21 | QUERY_RESULT_AVAILABLE = 0x8867_u32 22 | QUERY_RESULT_NO_WAIT = 0x9194_u32 23 | QUERY_TARGET = 0x82EA_u32 24 | QUERY_WAIT = 0x8E13_u32 25 | QUERY_WAIT_INVERTED = 0x8E17_u32 26 | QUERY_WAIT_NV = 0x8E13_u32 27 | end 28 | -------------------------------------------------------------------------------- /src/lib_gl/constants/e.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26_u32 3 | EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30_u32 4 | EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C_u32 5 | ELEMENT_ADDRESS_COMMAND_NV = 0x0008_u32 6 | ELEMENT_ARRAY_ADDRESS_NV = 0x8F29_u32 7 | ELEMENT_ARRAY_BARRIER_BIT = 0x00000002_u32 8 | ELEMENT_ARRAY_BUFFER = 0x8893_u32 9 | ELEMENT_ARRAY_BUFFER_BINDING = 0x8895_u32 10 | ELEMENT_ARRAY_LENGTH_NV = 0x8F33_u32 11 | ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F_u32 12 | EQUAL = 0x0202_u32 13 | EQUIV = 0x1509_u32 14 | EXCLUSION_KHR = 0x92A0_u32 15 | EXCLUSION_NV = 0x92A0_u32 16 | EXCLUSIVE_EXT = 0x8F11_u32 17 | EXTENSIONS = 0x1F03_u32 18 | EXT_debug_label = 1_u32 19 | EXT_debug_marker = 1_u32 20 | EXT_direct_state_access = 1_u32 21 | EXT_draw_instanced = 1_u32 22 | EXT_polygon_offset_clamp = 1_u32 23 | EXT_post_depth_coverage = 1_u32 24 | EXT_raster_multisample = 1_u32 25 | EXT_separate_shader_objects = 1_u32 26 | EXT_shader_integer_mix = 1_u32 27 | EXT_texture_compression_s3tc = 1_u32 28 | EXT_texture_filter_minmax = 1_u32 29 | EXT_texture_sRGB_decode = 1_u32 30 | EXT_window_rectangles = 1_u32 31 | end 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Caleb Uriah Harrison 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /src/lib_gl/constants/l.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | LARGE_CCW_ARC_TO_NV = 0x16_u32 3 | LARGE_CW_ARC_TO_NV = 0x18_u32 4 | LAST_VERTEX_CONVENTION = 0x8E4E_u32 5 | LAYER_PROVOKING_VERTEX = 0x825E_u32 6 | LEFT = 0x0406_u32 7 | LEQUAL = 0x0203_u32 8 | LESS = 0x0201_u32 9 | LIGHTEN_KHR = 0x9298_u32 10 | LIGHTEN_NV = 0x9298_u32 11 | LINE = 0x1B01_u32 12 | LINEAR = 0x2601_u32 13 | LINEARBURN_NV = 0x92A5_u32 14 | LINEARDODGE_NV = 0x92A4_u32 15 | LINEARLIGHT_NV = 0x92A7_u32 16 | LINEAR_MIPMAP_LINEAR = 0x2703_u32 17 | LINEAR_MIPMAP_NEAREST = 0x2701_u32 18 | LINES = 0x0001_u32 19 | LINES_ADJACENCY = 0x000A_u32 20 | LINES_ADJACENCY_ARB = 0x000A_u32 21 | LINE_LOOP = 0x0002_u32 22 | LINE_SMOOTH = 0x0B20_u32 23 | LINE_SMOOTH_HINT = 0x0C52_u32 24 | LINE_STRIP = 0x0003_u32 25 | LINE_STRIP_ADJACENCY = 0x000B_u32 26 | LINE_STRIP_ADJACENCY_ARB = 0x000B_u32 27 | LINE_TO_NV = 0x04_u32 28 | LINE_WIDTH = 0x0B21_u32 29 | LINE_WIDTH_COMMAND_NV = 0x000D_u32 30 | LINE_WIDTH_GRANULARITY = 0x0B23_u32 31 | LINE_WIDTH_RANGE = 0x0B22_u32 32 | LINK_STATUS = 0x8B82_u32 33 | LOCATION = 0x930E_u32 34 | LOCATION_COMPONENT = 0x934A_u32 35 | LOCATION_INDEX = 0x930F_u32 36 | LOGIC_OP_MODE = 0x0BF0_u32 37 | LOSE_CONTEXT_ON_RESET = 0x8252_u32 38 | LOSE_CONTEXT_ON_RESET_ARB = 0x8252_u32 39 | LOWER_LEFT = 0x8CA1_u32 40 | LOW_FLOAT = 0x8DF0_u32 41 | LOW_INT = 0x8DF3_u32 42 | end 43 | -------------------------------------------------------------------------------- /src/lib_gl/constants/g.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | GEOMETRY_INPUT_TYPE = 0x8917_u32 3 | GEOMETRY_INPUT_TYPE_ARB = 0x8DDB_u32 4 | GEOMETRY_OUTPUT_TYPE = 0x8918_u32 5 | GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC_u32 6 | GEOMETRY_SHADER = 0x8DD9_u32 7 | GEOMETRY_SHADER_ARB = 0x8DD9_u32 8 | GEOMETRY_SHADER_BIT = 0x00000004_u32 9 | GEOMETRY_SHADER_INVOCATIONS = 0x887F_u32 10 | GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3_u32 11 | GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3_u32 12 | GEOMETRY_SUBROUTINE = 0x92EB_u32 13 | GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1_u32 14 | GEOMETRY_TEXTURE = 0x829E_u32 15 | GEOMETRY_VERTICES_OUT = 0x8916_u32 16 | GEOMETRY_VERTICES_OUT_ARB = 0x8DDA_u32 17 | GEQUAL = 0x0206_u32 18 | GET_TEXTURE_IMAGE_FORMAT = 0x8291_u32 19 | GET_TEXTURE_IMAGE_TYPE = 0x8292_u32 20 | GLYPH_HAS_KERNING_BIT_NV = 0x100_u32 21 | GLYPH_HEIGHT_BIT_NV = 0x02_u32 22 | GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10_u32 23 | GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04_u32 24 | GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08_u32 25 | GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80_u32 26 | GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20_u32 27 | GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40_u32 28 | GLYPH_WIDTH_BIT_NV = 0x01_u32 29 | GPU_ADDRESS_NV = 0x8F34_u32 30 | GREATER = 0x0204_u32 31 | GREEN = 0x1904_u32 32 | GREEN_INTEGER = 0x8D95_u32 33 | GREEN_NV = 0x1904_u32 34 | GUILTY_CONTEXT_RESET = 0x8253_u32 35 | GUILTY_CONTEXT_RESET_ARB = 0x8253_u32 36 | end 37 | -------------------------------------------------------------------------------- /src/lib_gl/constants/b.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | BACK = 0x0405_u32 3 | BACK_LEFT = 0x0402_u32 4 | BACK_RIGHT = 0x0403_u32 5 | BEVEL_NV = 0x90A6_u32 6 | BGR = 0x80E0_u32 7 | BGRA = 0x80E1_u32 8 | BGRA_INTEGER = 0x8D9B_u32 9 | BGR_INTEGER = 0x8D9A_u32 10 | BLEND = 0x0BE2_u32 11 | BLEND_ADVANCED_COHERENT_KHR = 0x9285_u32 12 | BLEND_ADVANCED_COHERENT_NV = 0x9285_u32 13 | BLEND_COLOR = 0x8005_u32 14 | BLEND_COLOR_COMMAND_NV = 0x000B_u32 15 | BLEND_DST = 0x0BE0_u32 16 | BLEND_DST_ALPHA = 0x80CA_u32 17 | BLEND_DST_RGB = 0x80C8_u32 18 | BLEND_EQUATION = 0x8009_u32 19 | BLEND_EQUATION_ALPHA = 0x883D_u32 20 | BLEND_EQUATION_RGB = 0x8009_u32 21 | BLEND_OVERLAP_NV = 0x9281_u32 22 | BLEND_PREMULTIPLIED_SRC_NV = 0x9280_u32 23 | BLEND_SRC = 0x0BE1_u32 24 | BLEND_SRC_ALPHA = 0x80CB_u32 25 | BLEND_SRC_RGB = 0x80C9_u32 26 | BLOCK_INDEX = 0x92FD_u32 27 | BLUE = 0x1905_u32 28 | BLUE_INTEGER = 0x8D96_u32 29 | BLUE_NV = 0x1905_u32 30 | BOLD_BIT_NV = 0x01_u32 31 | BOOL = 0x8B56_u32 32 | BOOL_VEC2 = 0x8B57_u32 33 | BOOL_VEC3 = 0x8B58_u32 34 | BOOL_VEC4 = 0x8B59_u32 35 | BOUNDING_BOX_NV = 0x908D_u32 36 | BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C_u32 37 | BUFFER = 0x82E0_u32 38 | BUFFER_ACCESS = 0x88BB_u32 39 | BUFFER_ACCESS_FLAGS = 0x911F_u32 40 | BUFFER_BINDING = 0x9302_u32 41 | BUFFER_DATA_SIZE = 0x9303_u32 42 | BUFFER_GPU_ADDRESS_NV = 0x8F1D_u32 43 | BUFFER_IMMUTABLE_STORAGE = 0x821F_u32 44 | BUFFER_MAPPED = 0x88BC_u32 45 | BUFFER_MAP_LENGTH = 0x9120_u32 46 | BUFFER_MAP_OFFSET = 0x9121_u32 47 | BUFFER_MAP_POINTER = 0x88BD_u32 48 | BUFFER_OBJECT_EXT = 0x9151_u32 49 | BUFFER_SIZE = 0x8764_u32 50 | BUFFER_STORAGE_FLAGS = 0x8220_u32 51 | BUFFER_UPDATE_BARRIER_BIT = 0x00000200_u32 52 | BUFFER_USAGE = 0x8765_u32 53 | BUFFER_VARIABLE = 0x92E5_u32 54 | BYTE = 0x1400_u32 55 | end 56 | -------------------------------------------------------------------------------- /src/lib_gl/functions/r.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Selects a color buffer source for pixel read operations from the current read framebuffer. 3 | fun read_buffer = glReadBuffer(mode : Enum) : Void 4 | 5 | # Reads a block of pixels from the frame buffer. 6 | fun read_pixels = glReadPixels( x : Int, 7 | y : Int, 8 | width : Sizei, 9 | height : Sizei, 10 | format : Enum, 11 | data_type : Enum, 12 | data : Pointer(Void)) : Void 13 | 14 | # Releases resources consumed by the implementation's shader compiler. 15 | fun release_shader_compiler = glReleaseShaderCompiler : Void 16 | 17 | # Establishes data storage, format and dimensions of a renderbuffer object's image. 18 | fun renderbuffer_storage = glRenderbufferStorage( target : Enum, 19 | internal_format : Sizei, 20 | width : Sizei, 21 | height : Sizei) : Void 22 | 23 | # Establishes data storage, format, dimensions, and sample count of a renderbuffer object's image. 24 | fun renderbuffer_storage_multisample = glRenderbufferStorageMultisample(target : Enum, 25 | samples : Sizei, 26 | internal_format : Enum, 27 | width : Sizei, 28 | height : Sizei) : Void 29 | 30 | # Resumes transform feedback operations. 31 | fun resume_transform_feedback = glResumeTransformFeedback : Void 32 | end -------------------------------------------------------------------------------- /src/lib_gl/constants/n.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | NAMED_STRING_LENGTH_ARB = 0x8DE9_u32 3 | NAMED_STRING_TYPE_ARB = 0x8DEA_u32 4 | NAME_LENGTH = 0x92F9_u32 5 | NAND = 0x150E_u32 6 | NEAREST = 0x2600_u32 7 | NEAREST_MIPMAP_LINEAR = 0x2702_u32 8 | NEAREST_MIPMAP_NEAREST = 0x2700_u32 9 | NEGATIVE_ONE_TO_ONE = 0x935E_u32 10 | NEVER = 0x0200_u32 11 | NICEST = 0x1102_u32 12 | NONE = 0_u32 13 | NOOP = 0x1505_u32 14 | NOP_COMMAND_NV = 0x0001_u32 15 | NOR = 0x1508_u32 16 | NORMAL_ARRAY_ADDRESS_NV = 0x8F22_u32 17 | NORMAL_ARRAY_LENGTH_NV = 0x8F2C_u32 18 | NOTEQUAL = 0x0205_u32 19 | NO_ERROR = 0_u32 20 | NO_RESET_NOTIFICATION = 0x8261_u32 21 | NO_RESET_NOTIFICATION_ARB = 0x8261_u32 22 | NUM_ACTIVE_VARIABLES = 0x9304_u32 23 | NUM_COMPATIBLE_SUBROUTINES = 0x8E4A_u32 24 | NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2_u32 25 | NUM_EXTENSIONS = 0x821D_u32 26 | NUM_PROGRAM_BINARY_FORMATS = 0x87FE_u32 27 | NUM_SAMPLE_COUNTS = 0x9380_u32 28 | NUM_SHADER_BINARY_FORMATS = 0x8DF9_u32 29 | NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9_u32 30 | NUM_SPARSE_LEVELS_ARB = 0x91AA_u32 31 | NUM_SPIR_V_EXTENSIONS = 0x9554_u32 32 | NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8_u32 33 | NUM_WINDOW_RECTANGLES_EXT = 0x8F15_u32 34 | NV_bindless_multi_draw_indirect = 1_u32 35 | NV_bindless_multi_draw_indirect_count = 1_u32 36 | NV_bindless_texture = 1_u32 37 | NV_blend_equation_advanced = 1_u32 38 | NV_blend_equation_advanced_coherent = 1_u32 39 | NV_blend_minmax_factor = 1_u32 40 | NV_clip_space_w_scaling = 1_u32 41 | NV_command_list = 1_u32 42 | NV_conditional_render = 1_u32 43 | NV_conservative_raster = 1_u32 44 | NV_conservative_raster_dilate = 1_u32 45 | NV_conservative_raster_pre_snap_triangles = 1_u32 46 | NV_draw_vulkan_image = 1_u32 47 | NV_fill_rectangle = 1_u32 48 | NV_fragment_coverage_to_color = 1_u32 49 | NV_fragment_shader_interlock = 1_u32 50 | NV_framebuffer_mixed_samples = 1_u32 51 | NV_framebuffer_multisample_coverage = 1_u32 52 | NV_geometry_shader_passthrough = 1_u32 53 | NV_gpu_shader5 = 1_u32 54 | NV_internalformat_sample_query = 1_u32 55 | NV_path_rendering = 1_u32 56 | NV_path_rendering_shared_edge = 1_u32 57 | NV_sample_locations = 1_u32 58 | NV_sample_mask_override_coverage = 1_u32 59 | NV_shader_atomic_counters = 1_u32 60 | NV_shader_atomic_float = 1_u32 61 | NV_shader_atomic_float64 = 1_u32 62 | NV_shader_atomic_fp16_vector = 1_u32 63 | NV_shader_atomic_int64 = 1_u32 64 | NV_shader_buffer_load = 1_u32 65 | NV_shader_buffer_store = 1_u32 66 | NV_shader_thread_group = 1_u32 67 | NV_shader_thread_shuffle = 1_u32 68 | NV_stereo_view_rendering = 1_u32 69 | NV_texture_barrier = 1_u32 70 | NV_texture_rectangle_compressed = 1_u32 71 | NV_uniform_buffer_unified_memory = 1_u32 72 | NV_vertex_attrib_integer_64bit = 1_u32 73 | NV_vertex_buffer_unified_memory = 1_u32 74 | NV_viewport_array2 = 1_u32 75 | NV_viewport_swizzle = 1_u32 76 | end 77 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LibGL 2 | 3 | OpenGL bindings written in Crystal. 4 | 5 | LibGL offers Crystal bindings for modern, shader-based OpenGL. These bindings are relatively "raw" - with a few notable exceptions, 6 | names of functions, constants, and types remain unchanged. 7 | 8 | ## Installation 9 | 10 | Add this to your application's `shard.yml`: 11 | 12 | ```yaml 13 | dependencies: 14 | lib_gl: 15 | github: calebuharrison/LibGL 16 | branch: master 17 | ``` 18 | 19 | Install your dependencies: 20 | 21 | ```sh 22 | shards install 23 | ``` 24 | 25 | ## Usage 26 | 27 | Using [CrystGLFW](https://github.com/calebuharrison/CrystGLFW) for context creation: 28 | 29 | ```crystal 30 | require "lib_gl" 31 | require "crystglfw" 32 | 33 | include CrystGLFW 34 | 35 | CrystGLFW.run do 36 | 37 | # Request a specific version of OpenGL in core profile mode with forward compatibility. 38 | hints = { 39 | :context_version_major => 3, 40 | :context_version_minor => 3, 41 | :opengl_forward_compat => true, 42 | :opengl_profile => :opengl_core_profile 43 | } 44 | 45 | # Create a new window. 46 | window = Window.new(title: "LibGL Rocks!", hints: hints) 47 | 48 | # Make the window the current OpenGL context. 49 | window.make_context_current 50 | 51 | until window.should_close? 52 | CrystGLFW.poll_events 53 | 54 | # Use the timer to generate color values. 55 | time_value = CrystGLFW.time 56 | red_value = Math.sin(time_value).abs 57 | green_value = Math.cos(time_value).abs 58 | blue_value = Math.tan(time_value).abs 59 | 60 | # Clear the window with the generated color. 61 | LibGL.clear_color(red_value, green_value, blue_value, 1.0) 62 | LibGL.clear(LibGL::COLOR_BUFFER_BIT) 63 | 64 | window.swap_buffers 65 | end 66 | 67 | window.destroy 68 | end 69 | ``` 70 | 71 | ## Differences From the C API 72 | LibGL differs from the standard OpenGL API in only a few, simple ways. Each of these differences only exists to make the API fit the [style guide](https://crystal-lang.org/docs/conventions/coding_style.html) of the Crystal language. 73 | 74 | ### Functions/Methods 75 | 76 | Method names in LibGL do not have the "gl" prefix that is present in the C API. Additionally, underscores are used to separate words rather than camel case. LibGL methods are all called as class methods of the LibGL lib: 77 | 78 | ```crystal 79 | shader_program = LibGL.create_program 80 | LibGL.link_program(shader_program) 81 | LibGL.use_program(shader_program) 82 | ``` 83 | 84 | ### Constants 85 | 86 | Prefixes have also been removed from constants, which are accessed directly from the lib: 87 | 88 | ```crystal 89 | LibGL::COLOR_BUFFER_BIT 90 | LibGL::STATIC_DRAW 91 | LibGL::ARRAY_BUFFER 92 | LibGL::TRUE 93 | ``` 94 | 95 | ## Contributing 96 | 97 | 1. Fork it ( https://github.com/calebuharrison/LibGL/fork ) 98 | 2. Create your feature branch (git checkout -b my-new-feature) 99 | 3. Commit your changes (git commit -am 'Add some feature') 100 | 4. Push to the branch (git push origin my-new-feature) 101 | 5. Create a new Pull Request 102 | 103 | ## Contributors 104 | 105 | - [calebuharrison](https://github.com/calebuharrison) Caleb Uriah Harrison - creator, maintainer 106 | -------------------------------------------------------------------------------- /src/lib_gl/functions/m.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Maps a buffer object's data store. 3 | fun map_buffer = glMapBuffer( target : Enum, 4 | access : Enum) : Pointer(Void) 5 | 6 | # Maps a section of a buffer object's data store. 7 | fun map_buffer_range = glMapBufferRange(target : Enum, 8 | offset : IntPtr, 9 | length : SizeiPtr, 10 | access : Bitfield) : Pointer(Void) 11 | 12 | # Defines a barrier ordering memory transactions. 13 | fun memory_barrier = glMemoryBarrier(barriers : Bitfield) : Void 14 | 15 | # Specifies minimum rate at which sample shading takes place. 16 | fun min_sample_shading = glMinSampleShading(value : Float) : Void 17 | 18 | # Renders multiple sets of primitives from array data. 19 | fun multi_draw_arrays = glMultiDrawArrays(mode : Enum, 20 | first : Pointer(Int), 21 | count : Pointer(Sizei), 22 | draw_count : Sizei) : Void 23 | 24 | # Renders multiple sets of primitives from array data, taking parameters from memory. 25 | fun multi_draw_arrays_indirect = glMultiDrawArraysIndirect( mode : Enum, 26 | indirect : Pointer(Void), 27 | draw_count : Sizei, 28 | stride : Sizei) : Void 29 | 30 | # Renders multiple sets of primitives by specifying indices of array data elements. 31 | fun multi_draw_elements = glMultiDrawElements(mode : Enum, 32 | count : Pointer(Sizei), 33 | value_type : Enum, 34 | indices : Pointer(Pointer(Void)), 35 | draw_count : Sizei) : Void 36 | 37 | # Renders multiple sets of primitives by specifying indices of array data elements and an index to apply to each index. 38 | fun multi_draw_elements_base_vertex = glMultiDrawElementsBaseVertex(mode : Enum, 39 | count : Pointer(Sizei), 40 | value_type : Enum, 41 | indices : Pointer(Pointer(Void)), 42 | draw_count : Sizei, 43 | base_vertex : Pointer(Int)) : Void 44 | 45 | # Renders indexed primitives from array data, taking parameters from memory. 46 | fun multi_draw_elements_indirect = glMultiDrawElementsIndirect( mode : Enum, 47 | data_type : Enum, 48 | indirect : Pointer(Void), 49 | draw_count : Sizei, 50 | stride : Sizei) : Void 51 | end -------------------------------------------------------------------------------- /src/lib_gl/functions/f.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | 3 | # Creates a new sync object and inserts it into the GL command stream. 4 | fun fence_sync = glFenceSync( condition : Enum, 5 | flags : Bitfield) : Sync 6 | 7 | # Blocks until all GL execution is complete. 8 | fun finish = glFinish : Void 9 | 10 | # Forces execution of GL commands in finite time. 11 | fun flush = glFlush : Void 12 | 13 | # Indicates modifications to a range of a mapped buffer. 14 | fun flush_mapped_buffer_range = glFlushMappedBufferRange( target : Enum, 15 | offset : IntPtr, 16 | length : SizeiPtr) : Void 17 | 18 | # Sets a named parameter of a framebuffer. 19 | fun framebuffer_parameter = glFramebufferParameteri(target : Enum, 20 | p_name : Enum, 21 | param : Int) : Void 22 | 23 | # Attaches a renderbuffer as a logical buffer to the currently bound framebuffer object. 24 | fun framebuffer_renderbuffer = glFramebufferRenderbuffer( target : Enum, 25 | attachment : Enum, 26 | renderbuffer_target : Enum, 27 | renderbuffer : UInt) : Void 28 | 29 | # Attaches a level of a texture object as a logical buffer to the currently bound framebuffer object. 30 | fun framebuffer_texture = glFramebufferTexture( target : Enum, 31 | attachment : Enum, 32 | texture : UInt, 33 | level : Int) : Void 34 | 35 | # Attaches a level of a texture object as a logical buffer to the currently bound framebuffer object. 36 | fun framebuffer_texture_1d = glFramebufferTexture1D(target : Enum, 37 | attachment : Enum, 38 | tex_target : Enum, 39 | texture : UInt, 40 | level : Int) : Void 41 | 42 | # Attaches a level of a texture object as a logical buffer to the currently bound framebuffer object. 43 | fun framebuffer_texture_2d = glFramebufferTexture2D(target : Enum, 44 | attachment : Enum, 45 | tex_target : Enum, 46 | texture : UInt, 47 | level : Int) : Void 48 | 49 | # Attaches a level of a texture object as a logical buffer to the currently bound framebuffer object. 50 | fun framebuffer_texture_3d = glFramebufferTexture3D(target : Enum, 51 | attachment : Enum, 52 | tex_target : Enum, 53 | texture : UInt, 54 | level : Int, 55 | layer : Int) : Void 56 | 57 | # Attaches a single layer of a texture to a framebuffer. 58 | fun framebuffer_texture_layer = glFramebufferTextureLayer(target : Enum, 59 | attachment : Enum, 60 | texture : UInt, 61 | level : Int, 62 | layer : Int) : Void 63 | 64 | # Defines front and back facing polygons. 65 | fun front_face = glFrontFace(mode : Enum) : Void 66 | end -------------------------------------------------------------------------------- /src/lib_gl/constants/v.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | VALIDATE_STATUS = 0x8B83_u32 3 | VENDOR = 0x1F00_u32 4 | VERSION = 0x1F02_u32 5 | VERSION_1_0 = 1_u32 6 | VERSION_1_1 = 1_u32 7 | VERSION_1_2 = 1_u32 8 | VERSION_1_3 = 1_u32 9 | VERSION_1_4 = 1_u32 10 | VERSION_1_5 = 1_u32 11 | VERSION_2_0 = 1_u32 12 | VERSION_2_1 = 1_u32 13 | VERSION_3_0 = 1_u32 14 | VERSION_3_1 = 1_u32 15 | VERSION_3_2 = 1_u32 16 | VERSION_3_3 = 1_u32 17 | VERSION_4_0 = 1_u32 18 | VERSION_4_1 = 1_u32 19 | VERSION_4_2 = 1_u32 20 | VERSION_4_3 = 1_u32 21 | VERSION_4_4 = 1_u32 22 | VERSION_4_5 = 1_u32 23 | VERSION_4_6 = 1_u32 24 | VERTEX_ARRAY = 0x8074_u32 25 | VERTEX_ARRAY_ADDRESS_NV = 0x8F21_u32 26 | VERTEX_ARRAY_BINDING = 0x85B5_u32 27 | VERTEX_ARRAY_LENGTH_NV = 0x8F2B_u32 28 | VERTEX_ARRAY_OBJECT_EXT = 0x9154_u32 29 | VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20_u32 30 | VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001_u32 31 | VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F_u32 32 | VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE_u32 33 | VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE_u32 34 | VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622_u32 35 | VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD_u32 36 | VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A_u32 37 | VERTEX_ATTRIB_ARRAY_LONG = 0x874E_u32 38 | VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A_u32 39 | VERTEX_ATTRIB_ARRAY_POINTER = 0x8645_u32 40 | VERTEX_ATTRIB_ARRAY_SIZE = 0x8623_u32 41 | VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624_u32 42 | VERTEX_ATTRIB_ARRAY_TYPE = 0x8625_u32 43 | VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E_u32 44 | VERTEX_ATTRIB_BINDING = 0x82D4_u32 45 | VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5_u32 46 | VERTEX_BINDING_BUFFER = 0x8F4F_u32 47 | VERTEX_BINDING_DIVISOR = 0x82D6_u32 48 | VERTEX_BINDING_OFFSET = 0x82D7_u32 49 | VERTEX_BINDING_STRIDE = 0x82D8_u32 50 | VERTEX_PROGRAM_POINT_SIZE = 0x8642_u32 51 | VERTEX_SHADER = 0x8B31_u32 52 | VERTEX_SHADER_BIT = 0x00000001_u32 53 | VERTEX_SHADER_INVOCATIONS = 0x82F0_u32 54 | VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0_u32 55 | VERTEX_SUBROUTINE = 0x92E8_u32 56 | VERTEX_SUBROUTINE_UNIFORM = 0x92EE_u32 57 | VERTEX_TEXTURE = 0x829B_u32 58 | VERTICAL_LINE_TO_NV = 0x08_u32 59 | VERTICES_SUBMITTED = 0x82EE_u32 60 | VERTICES_SUBMITTED_ARB = 0x82EE_u32 61 | VIEWPORT = 0x0BA2_u32 62 | VIEWPORT_BOUNDS_RANGE = 0x825D_u32 63 | VIEWPORT_COMMAND_NV = 0x0010_u32 64 | VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F_u32 65 | VIEWPORT_POSITION_W_SCALE_NV = 0x937C_u32 66 | VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D_u32 67 | VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E_u32 68 | VIEWPORT_SUBPIXEL_BITS = 0x825C_u32 69 | VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357_u32 70 | VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351_u32 71 | VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353_u32 72 | VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355_u32 73 | VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356_u32 74 | VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350_u32 75 | VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352_u32 76 | VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354_u32 77 | VIEWPORT_SWIZZLE_W_NV = 0x935B_u32 78 | VIEWPORT_SWIZZLE_X_NV = 0x9358_u32 79 | VIEWPORT_SWIZZLE_Y_NV = 0x9359_u32 80 | VIEWPORT_SWIZZLE_Z_NV = 0x935A_u32 81 | VIEW_CLASS_128_BITS = 0x82C4_u32 82 | VIEW_CLASS_16_BITS = 0x82CA_u32 83 | VIEW_CLASS_24_BITS = 0x82C9_u32 84 | VIEW_CLASS_32_BITS = 0x82C8_u32 85 | VIEW_CLASS_48_BITS = 0x82C7_u32 86 | VIEW_CLASS_64_BITS = 0x82C6_u32 87 | VIEW_CLASS_8_BITS = 0x82CB_u32 88 | VIEW_CLASS_96_BITS = 0x82C5_u32 89 | VIEW_CLASS_BPTC_FLOAT = 0x82D3_u32 90 | VIEW_CLASS_BPTC_UNORM = 0x82D2_u32 91 | VIEW_CLASS_RGTC1_RED = 0x82D0_u32 92 | VIEW_CLASS_RGTC2_RG = 0x82D1_u32 93 | VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC_u32 94 | VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD_u32 95 | VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE_u32 96 | VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF_u32 97 | VIEW_COMPATIBILITY_CLASS = 0x82B6_u32 98 | VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7_u32 99 | VIRTUAL_PAGE_SIZE_X_ARB = 0x9195_u32 100 | VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196_u32 101 | VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197_u32 102 | VIVIDLIGHT_NV = 0x92A6_u32 103 | end 104 | -------------------------------------------------------------------------------- /src/lib_gl/functions/i.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Invalidates the content of a buffer object's data store. 3 | fun invalidate_buffer_data = glInvalidateBufferData(buffer : UInt) : Void 4 | 5 | # Invalidates a region of a buffer object's data store. 6 | fun invalidate_buffer_sub_data = glInvalidateBufferSubData( buffer : UInt, 7 | offset : IntPtr, 8 | length : SizeiPtr) : Void 9 | 10 | # Invalidates the content some or all of a framebuffer object's attachments. 11 | fun invalidate_framebuffer = glInvalidateFramebuffer( target : Enum, 12 | num_attachments : Sizei, 13 | attachments : Pointer(Enum)) : Void 14 | 15 | # Invalidates the content of a region of some or all of a framebuffer object's attachments. 16 | fun invalidate_sub_framebuffer = glInvalidateSubFramebuffer(target : Enum, 17 | num_attachments : Sizei, 18 | attachments : Pointer(Enum), 19 | x : Int, 20 | y : Int, 21 | width : Int, 22 | height : Int) : Void 23 | 24 | # Invalidates the entirety of a texture image. 25 | fun invalidate_tex_image = glInvalidateTexImage(texture : UInt, 26 | level : Int) : Void 27 | 28 | # Invalidates a region of a texture image. 29 | fun invalidate_tex_sub_image = glInvalidateTexSubImage( texture : UInt, 30 | level : Int, 31 | x_offset : Int, 32 | y_offset : Int, 33 | z_offset : Int, 34 | width : Sizei, 35 | height : Sizei, 36 | depth : Sizei) : Void 37 | 38 | # Determines if a name corresponds to a buffer object. 39 | fun is_buffer = glIsBuffer(buffer : UInt) : Boolean 40 | 41 | # Tests whether a capability is enabled. 42 | fun is_enabled = glIsEnabled(cap : Enum) : Boolean 43 | 44 | # Tests whether a capability is enabled. 45 | fun is_enabled_i = glIsEnabledi(cap : Enum, 46 | index : UInt) : Boolean 47 | 48 | # Determines if a name corresponds to a framebuffer object. 49 | fun is_framebuffer = glIsFramebuffer(framebuffer : UInt) : Boolean 50 | 51 | # Determines if a name corresponds to a program object. 52 | fun is_program = glIsProgram(program : UInt) : Boolean 53 | 54 | # Determines if a name corresponds to a program pipeline object. 55 | fun is_program_pipeline = glIsProgramPipeline(pipeline : UInt) : Boolean 56 | 57 | # Determines if a name corresponds to a query object. 58 | fun is_query = glIsQuery(id : UInt) : Boolean 59 | 60 | # Determines if a name corresponds to a renderbuffer object. 61 | fun is_renderbuffer = glIsRenderbuffer(renderbuffer : UInt) : Boolean 62 | 63 | # Determines is a name corresponds to a sampler object. 64 | fun is_sampler = glIsSampler(id : UInt) : Boolean 65 | 66 | # Determines if a name corresponds to a shader object. 67 | fun is_shader = glIsShader(shader : UInt) : Boolean 68 | 69 | # Determines if a name corresponds to a sync object. 70 | fun is_sync = glIsSync(sync : Sync) : Boolean 71 | 72 | # Determines if a name corresponds to a texture. 73 | fun is_texture = glIsTexture(texture : UInt) : Boolean 74 | 75 | # Determines if a name corresponds to a transform feedback object. 76 | fun is_transform_feedback = glIsTransformFeedback(id : UInt) : Boolean 77 | 78 | # Determines if a name corresponds to a vertex array object. 79 | fun is_vertex_array = glIsVertexArray(array : UInt) : Boolean 80 | end -------------------------------------------------------------------------------- /src/lib_gl/constants/i.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | IMAGE_1D = 0x904C_u32 3 | IMAGE_1D_ARRAY = 0x9052_u32 4 | IMAGE_2D = 0x904D_u32 5 | IMAGE_2D_ARRAY = 0x9053_u32 6 | IMAGE_2D_MULTISAMPLE = 0x9055_u32 7 | IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056_u32 8 | IMAGE_2D_RECT = 0x904F_u32 9 | IMAGE_3D = 0x904E_u32 10 | IMAGE_BINDING_ACCESS = 0x8F3E_u32 11 | IMAGE_BINDING_FORMAT = 0x906E_u32 12 | IMAGE_BINDING_LAYER = 0x8F3D_u32 13 | IMAGE_BINDING_LAYERED = 0x8F3C_u32 14 | IMAGE_BINDING_LEVEL = 0x8F3B_u32 15 | IMAGE_BINDING_NAME = 0x8F3A_u32 16 | IMAGE_BUFFER = 0x9051_u32 17 | IMAGE_CLASS_10_10_10_2 = 0x82C3_u32 18 | IMAGE_CLASS_11_11_10 = 0x82C2_u32 19 | IMAGE_CLASS_1_X_16 = 0x82BE_u32 20 | IMAGE_CLASS_1_X_32 = 0x82BB_u32 21 | IMAGE_CLASS_1_X_8 = 0x82C1_u32 22 | IMAGE_CLASS_2_X_16 = 0x82BD_u32 23 | IMAGE_CLASS_2_X_32 = 0x82BA_u32 24 | IMAGE_CLASS_2_X_8 = 0x82C0_u32 25 | IMAGE_CLASS_4_X_16 = 0x82BC_u32 26 | IMAGE_CLASS_4_X_32 = 0x82B9_u32 27 | IMAGE_CLASS_4_X_8 = 0x82BF_u32 28 | IMAGE_COMPATIBILITY_CLASS = 0x82A8_u32 29 | IMAGE_CUBE = 0x9050_u32 30 | IMAGE_CUBE_MAP_ARRAY = 0x9054_u32 31 | IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9_u32 32 | IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8_u32 33 | IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7_u32 34 | IMAGE_PIXEL_FORMAT = 0x82A9_u32 35 | IMAGE_PIXEL_TYPE = 0x82AA_u32 36 | IMAGE_TEXEL_SIZE = 0x82A7_u32 37 | IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B_u32 38 | IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A_u32 39 | INCLUSIVE_EXT = 0x8F10_u32 40 | INCR = 0x1E02_u32 41 | INCR_WRAP = 0x8507_u32 42 | INDEX_ARRAY_ADDRESS_NV = 0x8F24_u32 43 | INDEX_ARRAY_LENGTH_NV = 0x8F2E_u32 44 | INFO_LOG_LENGTH = 0x8B84_u32 45 | INNOCENT_CONTEXT_RESET = 0x8254_u32 46 | INNOCENT_CONTEXT_RESET_ARB = 0x8254_u32 47 | INT = 0x1404_u32 48 | INT16_NV = 0x8FE4_u32 49 | INT16_VEC2_NV = 0x8FE5_u32 50 | INT16_VEC3_NV = 0x8FE6_u32 51 | INT16_VEC4_NV = 0x8FE7_u32 52 | INT64_ARB = 0x140E_u32 53 | INT64_NV = 0x140E_u32 54 | INT64_VEC2_ARB = 0x8FE9_u32 55 | INT64_VEC2_NV = 0x8FE9_u32 56 | INT64_VEC3_ARB = 0x8FEA_u32 57 | INT64_VEC3_NV = 0x8FEA_u32 58 | INT64_VEC4_ARB = 0x8FEB_u32 59 | INT64_VEC4_NV = 0x8FEB_u32 60 | INT8_NV = 0x8FE0_u32 61 | INT8_VEC2_NV = 0x8FE1_u32 62 | INT8_VEC3_NV = 0x8FE2_u32 63 | INT8_VEC4_NV = 0x8FE3_u32 64 | INTEL_conservative_rasterization = 1_u32 65 | INTEL_framebuffer_CMAA = 1_u32 66 | INTEL_performance_query = 1_u32 67 | INTERLEAVED_ATTRIBS = 0x8C8C_u32 68 | INTERNALFORMAT_ALPHA_SIZE = 0x8274_u32 69 | INTERNALFORMAT_ALPHA_TYPE = 0x827B_u32 70 | INTERNALFORMAT_BLUE_SIZE = 0x8273_u32 71 | INTERNALFORMAT_BLUE_TYPE = 0x827A_u32 72 | INTERNALFORMAT_DEPTH_SIZE = 0x8275_u32 73 | INTERNALFORMAT_DEPTH_TYPE = 0x827C_u32 74 | INTERNALFORMAT_GREEN_SIZE = 0x8272_u32 75 | INTERNALFORMAT_GREEN_TYPE = 0x8279_u32 76 | INTERNALFORMAT_PREFERRED = 0x8270_u32 77 | INTERNALFORMAT_RED_SIZE = 0x8271_u32 78 | INTERNALFORMAT_RED_TYPE = 0x8278_u32 79 | INTERNALFORMAT_SHARED_SIZE = 0x8277_u32 80 | INTERNALFORMAT_STENCIL_SIZE = 0x8276_u32 81 | INTERNALFORMAT_STENCIL_TYPE = 0x827D_u32 82 | INTERNALFORMAT_SUPPORTED = 0x826F_u32 83 | INT_2_10_10_10_REV = 0x8D9F_u32 84 | INT_IMAGE_1D = 0x9057_u32 85 | INT_IMAGE_1D_ARRAY = 0x905D_u32 86 | INT_IMAGE_2D = 0x9058_u32 87 | INT_IMAGE_2D_ARRAY = 0x905E_u32 88 | INT_IMAGE_2D_MULTISAMPLE = 0x9060_u32 89 | INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061_u32 90 | INT_IMAGE_2D_RECT = 0x905A_u32 91 | INT_IMAGE_3D = 0x9059_u32 92 | INT_IMAGE_BUFFER = 0x905C_u32 93 | INT_IMAGE_CUBE = 0x905B_u32 94 | INT_IMAGE_CUBE_MAP_ARRAY = 0x905F_u32 95 | INT_SAMPLER_1D = 0x8DC9_u32 96 | INT_SAMPLER_1D_ARRAY = 0x8DCE_u32 97 | INT_SAMPLER_2D = 0x8DCA_u32 98 | INT_SAMPLER_2D_ARRAY = 0x8DCF_u32 99 | INT_SAMPLER_2D_MULTISAMPLE = 0x9109_u32 100 | INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C_u32 101 | INT_SAMPLER_2D_RECT = 0x8DCD_u32 102 | INT_SAMPLER_3D = 0x8DCB_u32 103 | INT_SAMPLER_BUFFER = 0x8DD0_u32 104 | INT_SAMPLER_CUBE = 0x8DCC_u32 105 | INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E_u32 106 | INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E_u32 107 | INT_VEC2 = 0x8B53_u32 108 | INT_VEC3 = 0x8B54_u32 109 | INT_VEC4 = 0x8B55_u32 110 | INVALID_ENUM = 0x0500_u32 111 | INVALID_FRAMEBUFFER_OPERATION = 0x0506_u32 112 | INVALID_INDEX = 0xFFFFFFFF_u32 113 | INVALID_OPERATION = 0x0502_u32 114 | INVALID_VALUE = 0x0501_u32 115 | INVERT = 0x150A_u32 116 | INVERT_OVG_NV = 0x92B4_u32 117 | INVERT_RGB_NV = 0x92A3_u32 118 | ISOLINES = 0x8E7A_u32 119 | IS_PER_PATCH = 0x92E7_u32 120 | IS_ROW_MAJOR = 0x9300_u32 121 | ITALIC_BIT_NV = 0x02_u32 122 | end 123 | -------------------------------------------------------------------------------- /src/lib_gl/constants/r.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | R11F_G11F_B10F = 0x8C3A_u32 3 | R16 = 0x822A_u32 4 | R16F = 0x822D_u32 5 | R16I = 0x8233_u32 6 | R16UI = 0x8234_u32 7 | R16_SNORM = 0x8F98_u32 8 | R32F = 0x822E_u32 9 | R32I = 0x8235_u32 10 | R32UI = 0x8236_u32 11 | R3_G3_B2 = 0x2A10_u32 12 | R8 = 0x8229_u32 13 | R8I = 0x8231_u32 14 | R8UI = 0x8232_u32 15 | R8_SNORM = 0x8F94_u32 16 | RASTERIZER_DISCARD = 0x8C89_u32 17 | RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A_u32 18 | RASTER_MULTISAMPLE_EXT = 0x9327_u32 19 | RASTER_SAMPLES_EXT = 0x9328_u32 20 | READ_BUFFER = 0x0C02_u32 21 | READ_FRAMEBUFFER = 0x8CA8_u32 22 | READ_FRAMEBUFFER_BINDING = 0x8CAA_u32 23 | READ_ONLY = 0x88B8_u32 24 | READ_PIXELS = 0x828C_u32 25 | READ_PIXELS_FORMAT = 0x828D_u32 26 | READ_PIXELS_TYPE = 0x828E_u32 27 | READ_WRITE = 0x88BA_u32 28 | RECT_NV = 0xF6_u32 29 | RED = 0x1903_u32 30 | RED_INTEGER = 0x8D94_u32 31 | RED_NV = 0x1903_u32 32 | REFERENCED_BY_COMPUTE_SHADER = 0x930B_u32 33 | REFERENCED_BY_FRAGMENT_SHADER = 0x930A_u32 34 | REFERENCED_BY_GEOMETRY_SHADER = 0x9309_u32 35 | REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307_u32 36 | REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308_u32 37 | REFERENCED_BY_VERTEX_SHADER = 0x9306_u32 38 | RELATIVE_ARC_TO_NV = 0xFF_u32 39 | RELATIVE_CONIC_CURVE_TO_NV = 0x1B_u32 40 | RELATIVE_CUBIC_CURVE_TO_NV = 0x0D_u32 41 | RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07_u32 42 | RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17_u32 43 | RELATIVE_LARGE_CW_ARC_TO_NV = 0x19_u32 44 | RELATIVE_LINE_TO_NV = 0x05_u32 45 | RELATIVE_MOVE_TO_NV = 0x03_u32 46 | RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B_u32 47 | RELATIVE_RECT_NV = 0xF7_u32 48 | RELATIVE_ROUNDED_RECT2_NV = 0xEB_u32 49 | RELATIVE_ROUNDED_RECT4_NV = 0xED_u32 50 | RELATIVE_ROUNDED_RECT8_NV = 0xEF_u32 51 | RELATIVE_ROUNDED_RECT_NV = 0xE9_u32 52 | RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13_u32 53 | RELATIVE_SMALL_CW_ARC_TO_NV = 0x15_u32 54 | RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11_u32 55 | RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F_u32 56 | RELATIVE_VERTICAL_LINE_TO_NV = 0x09_u32 57 | RENDERBUFFER = 0x8D41_u32 58 | RENDERBUFFER_ALPHA_SIZE = 0x8D53_u32 59 | RENDERBUFFER_BINDING = 0x8CA7_u32 60 | RENDERBUFFER_BLUE_SIZE = 0x8D52_u32 61 | RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10_u32 62 | RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB_u32 63 | RENDERBUFFER_DEPTH_SIZE = 0x8D54_u32 64 | RENDERBUFFER_GREEN_SIZE = 0x8D51_u32 65 | RENDERBUFFER_HEIGHT = 0x8D43_u32 66 | RENDERBUFFER_INTERNAL_FORMAT = 0x8D44_u32 67 | RENDERBUFFER_RED_SIZE = 0x8D50_u32 68 | RENDERBUFFER_SAMPLES = 0x8CAB_u32 69 | RENDERBUFFER_STENCIL_SIZE = 0x8D55_u32 70 | RENDERBUFFER_WIDTH = 0x8D42_u32 71 | RENDERER = 0x1F01_u32 72 | REPEAT = 0x2901_u32 73 | REPLACE = 0x1E01_u32 74 | RESET_NOTIFICATION_STRATEGY = 0x8256_u32 75 | RESET_NOTIFICATION_STRATEGY_ARB = 0x8256_u32 76 | RESTART_PATH_NV = 0xF0_u32 77 | RG = 0x8227_u32 78 | RG16 = 0x822C_u32 79 | RG16F = 0x822F_u32 80 | RG16I = 0x8239_u32 81 | RG16UI = 0x823A_u32 82 | RG16_SNORM = 0x8F99_u32 83 | RG32F = 0x8230_u32 84 | RG32I = 0x823B_u32 85 | RG32UI = 0x823C_u32 86 | RG8 = 0x822B_u32 87 | RG8I = 0x8237_u32 88 | RG8UI = 0x8238_u32 89 | RG8_SNORM = 0x8F95_u32 90 | RGB = 0x1907_u32 91 | RGB10 = 0x8052_u32 92 | RGB10_A2 = 0x8059_u32 93 | RGB10_A2UI = 0x906F_u32 94 | RGB12 = 0x8053_u32 95 | RGB16 = 0x8054_u32 96 | RGB16F = 0x881B_u32 97 | RGB16I = 0x8D89_u32 98 | RGB16UI = 0x8D77_u32 99 | RGB16_SNORM = 0x8F9A_u32 100 | RGB32F = 0x8815_u32 101 | RGB32I = 0x8D83_u32 102 | RGB32UI = 0x8D71_u32 103 | RGB4 = 0x804F_u32 104 | RGB5 = 0x8050_u32 105 | RGB565 = 0x8D62_u32 106 | RGB5_A1 = 0x8057_u32 107 | RGB8 = 0x8051_u32 108 | RGB8I = 0x8D8F_u32 109 | RGB8UI = 0x8D7D_u32 110 | RGB8_SNORM = 0x8F96_u32 111 | RGB9_E5 = 0x8C3D_u32 112 | RGBA = 0x1908_u32 113 | RGBA12 = 0x805A_u32 114 | RGBA16 = 0x805B_u32 115 | RGBA16F = 0x881A_u32 116 | RGBA16I = 0x8D88_u32 117 | RGBA16UI = 0x8D76_u32 118 | RGBA16_SNORM = 0x8F9B_u32 119 | RGBA2 = 0x8055_u32 120 | RGBA32F = 0x8814_u32 121 | RGBA32I = 0x8D82_u32 122 | RGBA32UI = 0x8D70_u32 123 | RGBA4 = 0x8056_u32 124 | RGBA8 = 0x8058_u32 125 | RGBA8I = 0x8D8E_u32 126 | RGBA8UI = 0x8D7C_u32 127 | RGBA8_SNORM = 0x8F97_u32 128 | RGBA_INTEGER = 0x8D99_u32 129 | RGB_422_APPLE = 0x8A1F_u32 130 | RGB_INTEGER = 0x8D98_u32 131 | RGB_RAW_422_APPLE = 0x8A51_u32 132 | RG_INTEGER = 0x8228_u32 133 | RIGHT = 0x0407_u32 134 | ROUNDED_RECT2_NV = 0xEA_u32 135 | ROUNDED_RECT4_NV = 0xEC_u32 136 | ROUNDED_RECT8_NV = 0xEE_u32 137 | ROUNDED_RECT_NV = 0xE8_u32 138 | ROUND_NV = 0x90A4_u32 139 | end 140 | -------------------------------------------------------------------------------- /src/lib_gl/constants/u.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | UNCORRELATED_NV = 0x9282_u32 3 | UNDEFINED_VERTEX = 0x8260_u32 4 | UNIFORM = 0x92E1_u32 5 | UNIFORM_ADDRESS_COMMAND_NV = 0x000A_u32 6 | UNIFORM_ARRAY_STRIDE = 0x8A3C_u32 7 | UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA_u32 8 | UNIFORM_BARRIER_BIT = 0x00000004_u32 9 | UNIFORM_BLOCK = 0x92E2_u32 10 | UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42_u32 11 | UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43_u32 12 | UNIFORM_BLOCK_BINDING = 0x8A3F_u32 13 | UNIFORM_BLOCK_DATA_SIZE = 0x8A40_u32 14 | UNIFORM_BLOCK_INDEX = 0x8A3A_u32 15 | UNIFORM_BLOCK_NAME_LENGTH = 0x8A41_u32 16 | UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC_u32 17 | UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46_u32 18 | UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45_u32 19 | UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0_u32 20 | UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1_u32 21 | UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44_u32 22 | UNIFORM_BUFFER = 0x8A11_u32 23 | UNIFORM_BUFFER_ADDRESS_NV = 0x936F_u32 24 | UNIFORM_BUFFER_BINDING = 0x8A28_u32 25 | UNIFORM_BUFFER_LENGTH_NV = 0x9370_u32 26 | UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34_u32 27 | UNIFORM_BUFFER_SIZE = 0x8A2A_u32 28 | UNIFORM_BUFFER_START = 0x8A29_u32 29 | UNIFORM_BUFFER_UNIFIED_NV = 0x936E_u32 30 | UNIFORM_IS_ROW_MAJOR = 0x8A3E_u32 31 | UNIFORM_MATRIX_STRIDE = 0x8A3D_u32 32 | UNIFORM_NAME_LENGTH = 0x8A39_u32 33 | UNIFORM_OFFSET = 0x8A3B_u32 34 | UNIFORM_SIZE = 0x8A38_u32 35 | UNIFORM_TYPE = 0x8A37_u32 36 | UNKNOWN_CONTEXT_RESET = 0x8255_u32 37 | UNKNOWN_CONTEXT_RESET_ARB = 0x8255_u32 38 | UNPACK_ALIGNMENT = 0x0CF5_u32 39 | UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129_u32 40 | UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128_u32 41 | UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A_u32 42 | UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127_u32 43 | UNPACK_IMAGE_HEIGHT = 0x806E_u32 44 | UNPACK_LSB_FIRST = 0x0CF1_u32 45 | UNPACK_ROW_LENGTH = 0x0CF2_u32 46 | UNPACK_SKIP_IMAGES = 0x806D_u32 47 | UNPACK_SKIP_PIXELS = 0x0CF4_u32 48 | UNPACK_SKIP_ROWS = 0x0CF3_u32 49 | UNPACK_SWAP_BYTES = 0x0CF0_u32 50 | UNSIGNALED = 0x9118_u32 51 | UNSIGNED_BYTE = 0x1401_u32 52 | UNSIGNED_BYTE_2_3_3_REV = 0x8362_u32 53 | UNSIGNED_BYTE_3_3_2 = 0x8032_u32 54 | UNSIGNED_INT = 0x1405_u32 55 | UNSIGNED_INT16_NV = 0x8FF0_u32 56 | UNSIGNED_INT16_VEC2_NV = 0x8FF1_u32 57 | UNSIGNED_INT16_VEC3_NV = 0x8FF2_u32 58 | UNSIGNED_INT16_VEC4_NV = 0x8FF3_u32 59 | UNSIGNED_INT64_AMD = 0x8BC2_u32 60 | UNSIGNED_INT64_ARB = 0x140F_u32 61 | UNSIGNED_INT64_NV = 0x140F_u32 62 | UNSIGNED_INT64_VEC2_ARB = 0x8FF5_u32 63 | UNSIGNED_INT64_VEC2_NV = 0x8FF5_u32 64 | UNSIGNED_INT64_VEC3_ARB = 0x8FF6_u32 65 | UNSIGNED_INT64_VEC3_NV = 0x8FF6_u32 66 | UNSIGNED_INT64_VEC4_ARB = 0x8FF7_u32 67 | UNSIGNED_INT64_VEC4_NV = 0x8FF7_u32 68 | UNSIGNED_INT8_NV = 0x8FEC_u32 69 | UNSIGNED_INT8_VEC2_NV = 0x8FED_u32 70 | UNSIGNED_INT8_VEC3_NV = 0x8FEE_u32 71 | UNSIGNED_INT8_VEC4_NV = 0x8FEF_u32 72 | UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B_u32 73 | UNSIGNED_INT_10_10_10_2 = 0x8036_u32 74 | UNSIGNED_INT_24_8 = 0x84FA_u32 75 | UNSIGNED_INT_2_10_10_10_REV = 0x8368_u32 76 | UNSIGNED_INT_5_9_9_9_REV = 0x8C3E_u32 77 | UNSIGNED_INT_8_8_8_8 = 0x8035_u32 78 | UNSIGNED_INT_8_8_8_8_REV = 0x8367_u32 79 | UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB_u32 80 | UNSIGNED_INT_IMAGE_1D = 0x9062_u32 81 | UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068_u32 82 | UNSIGNED_INT_IMAGE_2D = 0x9063_u32 83 | UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069_u32 84 | UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B_u32 85 | UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C_u32 86 | UNSIGNED_INT_IMAGE_2D_RECT = 0x9065_u32 87 | UNSIGNED_INT_IMAGE_3D = 0x9064_u32 88 | UNSIGNED_INT_IMAGE_BUFFER = 0x9067_u32 89 | UNSIGNED_INT_IMAGE_CUBE = 0x9066_u32 90 | UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A_u32 91 | UNSIGNED_INT_SAMPLER_1D = 0x8DD1_u32 92 | UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6_u32 93 | UNSIGNED_INT_SAMPLER_2D = 0x8DD2_u32 94 | UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7_u32 95 | UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A_u32 96 | UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D_u32 97 | UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5_u32 98 | UNSIGNED_INT_SAMPLER_3D = 0x8DD3_u32 99 | UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8_u32 100 | UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4_u32 101 | UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F_u32 102 | UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F_u32 103 | UNSIGNED_INT_VEC2 = 0x8DC6_u32 104 | UNSIGNED_INT_VEC3 = 0x8DC7_u32 105 | UNSIGNED_INT_VEC4 = 0x8DC8_u32 106 | UNSIGNED_NORMALIZED = 0x8C17_u32 107 | UNSIGNED_SHORT = 0x1403_u32 108 | UNSIGNED_SHORT_1_5_5_5_REV = 0x8366_u32 109 | UNSIGNED_SHORT_4_4_4_4 = 0x8033_u32 110 | UNSIGNED_SHORT_4_4_4_4_REV = 0x8365_u32 111 | UNSIGNED_SHORT_5_5_5_1 = 0x8034_u32 112 | UNSIGNED_SHORT_5_6_5 = 0x8363_u32 113 | UNSIGNED_SHORT_5_6_5_REV = 0x8364_u32 114 | UNSIGNED_SHORT_8_8_APPLE = 0x85BA_u32 115 | UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB_u32 116 | UPPER_LEFT = 0x8CA2_u32 117 | USE_MISSING_GLYPH_NV = 0x90AA_u32 118 | UTF16_NV = 0x909B_u32 119 | UTF8_NV = 0x909A_u32 120 | end 121 | -------------------------------------------------------------------------------- /src/lib_gl/constants/f.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | FACTOR_MAX_AMD = 0x901D_u32 3 | FACTOR_MIN_AMD = 0x901C_u32 4 | FALSE = 0_u8 5 | FASTEST = 0x1101_u32 6 | FILE_NAME_NV = 0x9074_u32 7 | FILL = 0x1B02_u32 8 | FILL_RECTANGLE_NV = 0x933C_u32 9 | FILTER = 0x829A_u32 10 | FIRST_TO_REST_NV = 0x90AF_u32 11 | FIRST_VERTEX_CONVENTION = 0x8E4D_u32 12 | FIXED = 0x140C_u32 13 | FIXED_ONLY = 0x891D_u32 14 | FLOAT = 0x1406_u32 15 | FLOAT16_NV = 0x8FF8_u32 16 | FLOAT16_VEC2_NV = 0x8FF9_u32 17 | FLOAT16_VEC3_NV = 0x8FFA_u32 18 | FLOAT16_VEC4_NV = 0x8FFB_u32 19 | FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD_u32 20 | FLOAT_MAT2 = 0x8B5A_u32 21 | FLOAT_MAT2x3 = 0x8B65_u32 22 | FLOAT_MAT2x4 = 0x8B66_u32 23 | FLOAT_MAT3 = 0x8B5B_u32 24 | FLOAT_MAT3x2 = 0x8B67_u32 25 | FLOAT_MAT3x4 = 0x8B68_u32 26 | FLOAT_MAT4 = 0x8B5C_u32 27 | FLOAT_MAT4x2 = 0x8B69_u32 28 | FLOAT_MAT4x3 = 0x8B6A_u32 29 | FLOAT_VEC2 = 0x8B50_u32 30 | FLOAT_VEC3 = 0x8B51_u32 31 | FLOAT_VEC4 = 0x8B52_u32 32 | FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28_u32 33 | FOG_COORD_ARRAY_LENGTH_NV = 0x8F32_u32 34 | FONT_ASCENDER_BIT_NV = 0x00200000_u32 35 | FONT_DESCENDER_BIT_NV = 0x00400000_u32 36 | FONT_GLYPHS_AVAILABLE_NV = 0x9368_u32 37 | FONT_HAS_KERNING_BIT_NV = 0x10000000_u32 38 | FONT_HEIGHT_BIT_NV = 0x00800000_u32 39 | FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000_u32 40 | FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000_u32 41 | FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000_u32 42 | FONT_TARGET_UNAVAILABLE_NV = 0x9369_u32 43 | FONT_UNAVAILABLE_NV = 0x936A_u32 44 | FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000_u32 45 | FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000_u32 46 | FONT_UNINTELLIGIBLE_NV = 0x936B_u32 47 | FONT_UNITS_PER_EM_BIT_NV = 0x00100000_u32 48 | FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000_u32 49 | FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000_u32 50 | FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000_u32 51 | FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000_u32 52 | FRACTIONAL_EVEN = 0x8E7C_u32 53 | FRACTIONAL_ODD = 0x8E7B_u32 54 | FRAGMENT_COVERAGE_COLOR_NV = 0x92DE_u32 55 | FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD_u32 56 | FRAGMENT_INPUT_NV = 0x936D_u32 57 | FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D_u32 58 | FRAGMENT_SHADER = 0x8B30_u32 59 | FRAGMENT_SHADER_BIT = 0x00000002_u32 60 | FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B_u32 61 | FRAGMENT_SHADER_INVOCATIONS = 0x82F4_u32 62 | FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4_u32 63 | FRAGMENT_SUBROUTINE = 0x92EC_u32 64 | FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2_u32 65 | FRAGMENT_TEXTURE = 0x829F_u32 66 | FRAMEBUFFER = 0x8D40_u32 67 | FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215_u32 68 | FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214_u32 69 | FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210_u32 70 | FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211_u32 71 | FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216_u32 72 | FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213_u32 73 | FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7_u32 74 | FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7_u32 75 | FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1_u32 76 | FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0_u32 77 | FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212_u32 78 | FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217_u32 79 | FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632_u32 80 | FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3_u32 81 | FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4_u32 82 | FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2_u32 83 | FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630_u32 84 | FRAMEBUFFER_BARRIER_BIT = 0x00000400_u32 85 | FRAMEBUFFER_BINDING = 0x8CA6_u32 86 | FRAMEBUFFER_BLEND = 0x828B_u32 87 | FRAMEBUFFER_COMPLETE = 0x8CD5_u32 88 | FRAMEBUFFER_DEFAULT = 0x8218_u32 89 | FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314_u32 90 | FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311_u32 91 | FRAMEBUFFER_DEFAULT_LAYERS = 0x9312_u32 92 | FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313_u32 93 | FRAMEBUFFER_DEFAULT_WIDTH = 0x9310_u32 94 | FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6_u32 95 | FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB_u32 96 | FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9_u32 97 | FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8_u32 98 | FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8_u32 99 | FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7_u32 100 | FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56_u32 101 | FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC_u32 102 | FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633_u32 103 | FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342_u32 104 | FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342_u32 105 | FRAMEBUFFER_RENDERABLE = 0x8289_u32 106 | FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A_u32 107 | FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343_u32 108 | FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343_u32 109 | FRAMEBUFFER_SRGB = 0x8DB9_u32 110 | FRAMEBUFFER_UNDEFINED = 0x8219_u32 111 | FRAMEBUFFER_UNSUPPORTED = 0x8CDD_u32 112 | FRONT = 0x0404_u32 113 | FRONT_AND_BACK = 0x0408_u32 114 | FRONT_FACE = 0x0B46_u32 115 | FRONT_FACE_COMMAND_NV = 0x0012_u32 116 | FRONT_LEFT = 0x0400_u32 117 | FRONT_RIGHT = 0x0401_u32 118 | FULL_SUPPORT = 0x82B7_u32 119 | FUNC_ADD = 0x8006_u32 120 | FUNC_REVERSE_SUBTRACT = 0x800B_u32 121 | FUNC_SUBTRACT = 0x800A_u32 122 | end 123 | -------------------------------------------------------------------------------- /src/lib_gl/constants/d.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | DARKEN_KHR = 0x9297_u32 3 | DARKEN_NV = 0x9297_u32 4 | DEBUG_CALLBACK_FUNCTION = 0x8244_u32 5 | DEBUG_CALLBACK_FUNCTION_ARB = 0x8244_u32 6 | DEBUG_CALLBACK_USER_PARAM = 0x8245_u32 7 | DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245_u32 8 | DEBUG_GROUP_STACK_DEPTH = 0x826D_u32 9 | DEBUG_LOGGED_MESSAGES = 0x9145_u32 10 | DEBUG_LOGGED_MESSAGES_ARB = 0x9145_u32 11 | DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243_u32 12 | DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243_u32 13 | DEBUG_OUTPUT = 0x92E0_u32 14 | DEBUG_OUTPUT_SYNCHRONOUS = 0x8242_u32 15 | DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242_u32 16 | DEBUG_SEVERITY_HIGH = 0x9146_u32 17 | DEBUG_SEVERITY_HIGH_ARB = 0x9146_u32 18 | DEBUG_SEVERITY_LOW = 0x9148_u32 19 | DEBUG_SEVERITY_LOW_ARB = 0x9148_u32 20 | DEBUG_SEVERITY_MEDIUM = 0x9147_u32 21 | DEBUG_SEVERITY_MEDIUM_ARB = 0x9147_u32 22 | DEBUG_SEVERITY_NOTIFICATION = 0x826B_u32 23 | DEBUG_SOURCE_API = 0x8246_u32 24 | DEBUG_SOURCE_API_ARB = 0x8246_u32 25 | DEBUG_SOURCE_APPLICATION = 0x824A_u32 26 | DEBUG_SOURCE_APPLICATION_ARB = 0x824A_u32 27 | DEBUG_SOURCE_OTHER = 0x824B_u32 28 | DEBUG_SOURCE_OTHER_ARB = 0x824B_u32 29 | DEBUG_SOURCE_SHADER_COMPILER = 0x8248_u32 30 | DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248_u32 31 | DEBUG_SOURCE_THIRD_PARTY = 0x8249_u32 32 | DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249_u32 33 | DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247_u32 34 | DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247_u32 35 | DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D_u32 36 | DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D_u32 37 | DEBUG_TYPE_ERROR = 0x824C_u32 38 | DEBUG_TYPE_ERROR_ARB = 0x824C_u32 39 | DEBUG_TYPE_MARKER = 0x8268_u32 40 | DEBUG_TYPE_OTHER = 0x8251_u32 41 | DEBUG_TYPE_OTHER_ARB = 0x8251_u32 42 | DEBUG_TYPE_PERFORMANCE = 0x8250_u32 43 | DEBUG_TYPE_PERFORMANCE_ARB = 0x8250_u32 44 | DEBUG_TYPE_POP_GROUP = 0x826A_u32 45 | DEBUG_TYPE_PORTABILITY = 0x824F_u32 46 | DEBUG_TYPE_PORTABILITY_ARB = 0x824F_u32 47 | DEBUG_TYPE_PUSH_GROUP = 0x8269_u32 48 | DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E_u32 49 | DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E_u32 50 | DECODE_EXT = 0x8A49_u32 51 | DECR = 0x1E03_u32 52 | DECR_WRAP = 0x8508_u32 53 | DELETE_STATUS = 0x8B80_u32 54 | DEPTH = 0x1801_u32 55 | DEPTH24_STENCIL8 = 0x88F0_u32 56 | DEPTH32F_STENCIL8 = 0x8CAD_u32 57 | DEPTH_ATTACHMENT = 0x8D00_u32 58 | DEPTH_BUFFER_BIT = 0x00000100_u32 59 | DEPTH_CLAMP = 0x864F_u32 60 | DEPTH_CLEAR_VALUE = 0x0B73_u32 61 | DEPTH_COMPONENT = 0x1902_u32 62 | DEPTH_COMPONENT16 = 0x81A5_u32 63 | DEPTH_COMPONENT24 = 0x81A6_u32 64 | DEPTH_COMPONENT32 = 0x81A7_u32 65 | DEPTH_COMPONENT32F = 0x8CAC_u32 66 | DEPTH_COMPONENTS = 0x8284_u32 67 | DEPTH_FUNC = 0x0B74_u32 68 | DEPTH_RANGE = 0x0B70_u32 69 | DEPTH_RENDERABLE = 0x8287_u32 70 | DEPTH_SAMPLES_NV = 0x932D_u32 71 | DEPTH_STENCIL = 0x84F9_u32 72 | DEPTH_STENCIL_ATTACHMENT = 0x821A_u32 73 | DEPTH_STENCIL_TEXTURE_MODE = 0x90EA_u32 74 | DEPTH_TEST = 0x0B71_u32 75 | DEPTH_WRITEMASK = 0x0B72_u32 76 | DIFFERENCE_KHR = 0x929E_u32 77 | DIFFERENCE_NV = 0x929E_u32 78 | DISJOINT_NV = 0x9283_u32 79 | DISPATCH_INDIRECT_BUFFER = 0x90EE_u32 80 | DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF_u32 81 | DITHER = 0x0BD0_u32 82 | DONT_CARE = 0x1100_u32 83 | DOUBLE = 0x140A_u32 84 | DOUBLEBUFFER = 0x0C32_u32 85 | DOUBLE_MAT2 = 0x8F46_u32 86 | DOUBLE_MAT2x3 = 0x8F49_u32 87 | DOUBLE_MAT2x4 = 0x8F4A_u32 88 | DOUBLE_MAT3 = 0x8F47_u32 89 | DOUBLE_MAT3x2 = 0x8F4B_u32 90 | DOUBLE_MAT3x4 = 0x8F4C_u32 91 | DOUBLE_MAT4 = 0x8F48_u32 92 | DOUBLE_MAT4x2 = 0x8F4D_u32 93 | DOUBLE_MAT4x3 = 0x8F4E_u32 94 | DOUBLE_VEC2 = 0x8FFC_u32 95 | DOUBLE_VEC3 = 0x8FFD_u32 96 | DOUBLE_VEC4 = 0x8FFE_u32 97 | DRAW_ARRAYS_COMMAND_NV = 0x0003_u32 98 | DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007_u32 99 | DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005_u32 100 | DRAW_BUFFER = 0x0C01_u32 101 | DRAW_BUFFER0 = 0x8825_u32 102 | DRAW_BUFFER1 = 0x8826_u32 103 | DRAW_BUFFER10 = 0x882F_u32 104 | DRAW_BUFFER11 = 0x8830_u32 105 | DRAW_BUFFER12 = 0x8831_u32 106 | DRAW_BUFFER13 = 0x8832_u32 107 | DRAW_BUFFER14 = 0x8833_u32 108 | DRAW_BUFFER15 = 0x8834_u32 109 | DRAW_BUFFER2 = 0x8827_u32 110 | DRAW_BUFFER3 = 0x8828_u32 111 | DRAW_BUFFER4 = 0x8829_u32 112 | DRAW_BUFFER5 = 0x882A_u32 113 | DRAW_BUFFER6 = 0x882B_u32 114 | DRAW_BUFFER7 = 0x882C_u32 115 | DRAW_BUFFER8 = 0x882D_u32 116 | DRAW_BUFFER9 = 0x882E_u32 117 | DRAW_ELEMENTS_COMMAND_NV = 0x0002_u32 118 | DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006_u32 119 | DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004_u32 120 | DRAW_FRAMEBUFFER = 0x8CA9_u32 121 | DRAW_FRAMEBUFFER_BINDING = 0x8CA6_u32 122 | DRAW_INDIRECT_ADDRESS_NV = 0x8F41_u32 123 | DRAW_INDIRECT_BUFFER = 0x8F3F_u32 124 | DRAW_INDIRECT_BUFFER_BINDING = 0x8F43_u32 125 | DRAW_INDIRECT_LENGTH_NV = 0x8F42_u32 126 | DRAW_INDIRECT_UNIFIED_NV = 0x8F40_u32 127 | DST_ALPHA = 0x0304_u32 128 | DST_ATOP_NV = 0x928F_u32 129 | DST_COLOR = 0x0306_u32 130 | DST_IN_NV = 0x928B_u32 131 | DST_NV = 0x9287_u32 132 | DST_OUT_NV = 0x928D_u32 133 | DST_OVER_NV = 0x9289_u32 134 | DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2_u32 135 | DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4_u32 136 | DYNAMIC_COPY = 0x88EA_u32 137 | DYNAMIC_DRAW = 0x88E8_u32 138 | DYNAMIC_READ = 0x88E9_u32 139 | DYNAMIC_STORAGE_BIT = 0x0100_u32 140 | end 141 | -------------------------------------------------------------------------------- /src/lib_gl/functions/s.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Specifies multisample coverage parameters. 3 | fun sample_coverage = glSampleCoverage( value : Float, 4 | invert : Boolean) : Void 5 | 6 | # Sets the value of a sub-word of the sample mask. 7 | fun sample_mask_i = glSampleMaski(mask_number : UInt, 8 | mask : Bitfield) : Void 9 | 10 | # Sets sampler parameters. 11 | fun sampler_parameter_f = glSamplerParameterf(sampler : UInt, 12 | p_name : Enum, 13 | param : Float) : Void 14 | 15 | # Sets sampler parameters. 16 | fun sampler_parameter_i = glSamplerParameteri(sampler : UInt, 17 | p_name : Enum, 18 | param : Int) : Void 19 | 20 | # Sets sampler parameters. 21 | fun sampler_parameter_fv = glSamplerParameterfv(sampler : UInt, 22 | p_name : Enum, 23 | params : Pointer(Float)) : Void 24 | 25 | # Sets sampler parameters. 26 | fun sampler_parameter_iv = glSamplerParameteriv(sampler : UInt, 27 | p_name : Enum, 28 | params : Pointer(Int)) : Void 29 | 30 | # Sets sampler parameters. 31 | fun sampler_parameter_iiv = glSamplerParameterIiv(sampler : UInt, 32 | p_name : Enum, 33 | params : Pointer(Int)) : Void 34 | 35 | # Sets sampler parameters. 36 | fun sampler_parameter_iuiv = glSamplerParameterIuiv(sampler : UInt, 37 | p_name : Enum, 38 | params : Pointer(UInt)) : Void 39 | 40 | # Defines the scissor box. 41 | fun scissor = glScissor(x : Int, 42 | y : Int, 43 | width : Sizei, 44 | height : Sizei) : Void 45 | 46 | # Defines the scissor box for multiple viewports. 47 | fun scissor_array_v = glScissorArrayv(first : UInt, 48 | count : Sizei, 49 | v : Pointer(Int)) : Void 50 | 51 | # Defines the scissor box for a specific viewport. 52 | fun scissor_indexed = glScissorIndexed( index : UInt, 53 | left : Int, 54 | bottom : Int, 55 | width : Sizei, 56 | height : Sizei) : Void 57 | 58 | # Defines the scissor box for a specific viewport. 59 | fun scissor_indexed_v = glScissorIndexedv(index : UInt, 60 | v : Pointer(Int)) : Void 61 | 62 | # Loads pre-compiled shader binaries. 63 | fun shader_binary = glShaderBinary( count : Sizei, 64 | shaders : Pointer(UInt), 65 | binary_format : Enum, 66 | binary : Pointer(Void), 67 | length : Sizei) : Void 68 | 69 | # Replaces the source code in a shader object. 70 | fun shader_source = glShaderSource( shader : UInt, 71 | count : Sizei, 72 | string : Pointer(Pointer(Char)), 73 | length : Pointer(Int)) : Void 74 | 75 | # Changes an active shader storage block binding. 76 | fun shader_storage_block_binding = glShaderStorageBlockBinding( program : UInt, 77 | storage_block_index : UInt, 78 | storage_block_binding : UInt) : Void 79 | 80 | # Sets front and back function and reference value for stencil testing. 81 | fun stencil_func = glStencilFunc( func : Enum, 82 | ref : Int, 83 | mask : UInt) : Void 84 | 85 | # Sets front and/or back function and references value for stencil testing. 86 | fun stencil_func_separate = glStencilFuncSeparate(face : Enum, 87 | func : Enum, 88 | ref : Int, 89 | mask : UInt) : Void 90 | 91 | # Controls the front and back writing of individual bits in the stencil planes. 92 | fun stencil_mask = glStencilMask(mask : UInt) : Void 93 | 94 | # Controls the front and/or back writing of individual bits in the stencil planes. 95 | fun stencil_mask_separate = glStencilMaskSeparate(face : Enum, 96 | mask : UInt) : Void 97 | 98 | # Sets front and back stencil test actions. 99 | fun stencil_op = glStencilOp( s_fail : Enum, 100 | dp_fail : Enum, 101 | dp_pass : Enum) : Void 102 | 103 | # Sets front and/or back stencil test actions. 104 | fun stencil_op_separate = glStencilOpSeparate(face : Enum, 105 | s_fail : Enum, 106 | dp_fail : Enum, 107 | dp_pass : Enum) : Void 108 | end -------------------------------------------------------------------------------- /src/lib_gl/constants/s.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | SAMPLER = 0x82E6_u32 3 | SAMPLER_1D = 0x8B5D_u32 4 | SAMPLER_1D_ARRAY = 0x8DC0_u32 5 | SAMPLER_1D_ARRAY_SHADOW = 0x8DC3_u32 6 | SAMPLER_1D_SHADOW = 0x8B61_u32 7 | SAMPLER_2D = 0x8B5E_u32 8 | SAMPLER_2D_ARRAY = 0x8DC1_u32 9 | SAMPLER_2D_ARRAY_SHADOW = 0x8DC4_u32 10 | SAMPLER_2D_MULTISAMPLE = 0x9108_u32 11 | SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B_u32 12 | SAMPLER_2D_RECT = 0x8B63_u32 13 | SAMPLER_2D_RECT_SHADOW = 0x8B64_u32 14 | SAMPLER_2D_SHADOW = 0x8B62_u32 15 | SAMPLER_3D = 0x8B5F_u32 16 | SAMPLER_BINDING = 0x8919_u32 17 | SAMPLER_BUFFER = 0x8DC2_u32 18 | SAMPLER_CUBE = 0x8B60_u32 19 | SAMPLER_CUBE_MAP_ARRAY = 0x900C_u32 20 | SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C_u32 21 | SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D_u32 22 | SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D_u32 23 | SAMPLER_CUBE_SHADOW = 0x8DC5_u32 24 | SAMPLES = 0x80A9_u32 25 | SAMPLES_PASSED = 0x8914_u32 26 | SAMPLE_ALPHA_TO_COVERAGE = 0x809E_u32 27 | SAMPLE_ALPHA_TO_ONE = 0x809F_u32 28 | SAMPLE_BUFFERS = 0x80A8_u32 29 | SAMPLE_COVERAGE = 0x80A0_u32 30 | SAMPLE_COVERAGE_INVERT = 0x80AB_u32 31 | SAMPLE_COVERAGE_VALUE = 0x80AA_u32 32 | SAMPLE_LOCATION_ARB = 0x8E50_u32 33 | SAMPLE_LOCATION_NV = 0x8E50_u32 34 | SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F_u32 35 | SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F_u32 36 | SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E_u32 37 | SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E_u32 38 | SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D_u32 39 | SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D_u32 40 | SAMPLE_MASK = 0x8E51_u32 41 | SAMPLE_MASK_VALUE = 0x8E52_u32 42 | SAMPLE_POSITION = 0x8E50_u32 43 | SAMPLE_SHADING = 0x8C36_u32 44 | SAMPLE_SHADING_ARB = 0x8C36_u32 45 | SCISSOR_BOX = 0x0C10_u32 46 | SCISSOR_COMMAND_NV = 0x0011_u32 47 | SCISSOR_TEST = 0x0C11_u32 48 | SCREEN_KHR = 0x9295_u32 49 | SCREEN_NV = 0x9295_u32 50 | SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27_u32 51 | SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31_u32 52 | SEPARATE_ATTRIBS = 0x8C8D_u32 53 | SET = 0x150F_u32 54 | SHADER = 0x82E1_u32 55 | SHADER_BINARY_FORMATS = 0x8DF8_u32 56 | SHADER_BINARY_FORMAT_SPIR_V = 0x9551_u32 57 | SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551_u32 58 | SHADER_COMPILER = 0x8DFA_u32 59 | SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010_u32 60 | SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020_u32 61 | SHADER_IMAGE_ATOMIC = 0x82A6_u32 62 | SHADER_IMAGE_LOAD = 0x82A4_u32 63 | SHADER_IMAGE_STORE = 0x82A5_u32 64 | SHADER_INCLUDE_ARB = 0x8DAE_u32 65 | SHADER_OBJECT_EXT = 0x8B48_u32 66 | SHADER_SOURCE_LENGTH = 0x8B88_u32 67 | SHADER_STORAGE_BARRIER_BIT = 0x00002000_u32 68 | SHADER_STORAGE_BLOCK = 0x92E6_u32 69 | SHADER_STORAGE_BUFFER = 0x90D2_u32 70 | SHADER_STORAGE_BUFFER_BINDING = 0x90D3_u32 71 | SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF_u32 72 | SHADER_STORAGE_BUFFER_SIZE = 0x90D5_u32 73 | SHADER_STORAGE_BUFFER_START = 0x90D4_u32 74 | SHADER_TYPE = 0x8B4F_u32 75 | SHADING_LANGUAGE_VERSION = 0x8B8C_u32 76 | SHARED_EDGE_NV = 0xC0_u32 77 | SHORT = 0x1402_u32 78 | SIGNALED = 0x9119_u32 79 | SIGNED_NORMALIZED = 0x8F9C_u32 80 | SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC_u32 81 | SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE_u32 82 | SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD_u32 83 | SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF_u32 84 | SKIP_DECODE_EXT = 0x8A4A_u32 85 | SKIP_MISSING_GLYPH_NV = 0x90A9_u32 86 | SMALL_CCW_ARC_TO_NV = 0x12_u32 87 | SMALL_CW_ARC_TO_NV = 0x14_u32 88 | SMOOTH_CUBIC_CURVE_TO_NV = 0x10_u32 89 | SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23_u32 90 | SMOOTH_LINE_WIDTH_RANGE = 0x0B22_u32 91 | SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13_u32 92 | SMOOTH_POINT_SIZE_RANGE = 0x0B12_u32 93 | SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E_u32 94 | SM_COUNT_NV = 0x933B_u32 95 | SOFTLIGHT_KHR = 0x929C_u32 96 | SOFTLIGHT_NV = 0x929C_u32 97 | SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8_u32 98 | SPARSE_STORAGE_BIT_ARB = 0x0400_u32 99 | SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9_u32 100 | SPIR_V_BINARY = 0x9552_u32 101 | SPIR_V_BINARY_ARB = 0x9552_u32 102 | SPIR_V_EXTENSIONS = 0x9553_u32 103 | SQUARE_NV = 0x90A3_u32 104 | SRC1_ALPHA = 0x8589_u32 105 | SRC1_COLOR = 0x88F9_u32 106 | SRC_ALPHA = 0x0302_u32 107 | SRC_ALPHA_SATURATE = 0x0308_u32 108 | SRC_ATOP_NV = 0x928E_u32 109 | SRC_COLOR = 0x0300_u32 110 | SRC_IN_NV = 0x928A_u32 111 | SRC_NV = 0x9286_u32 112 | SRC_OUT_NV = 0x928C_u32 113 | SRC_OVER_NV = 0x9288_u32 114 | SRGB = 0x8C40_u32 115 | SRGB8 = 0x8C41_u32 116 | SRGB8_ALPHA8 = 0x8C43_u32 117 | SRGB_ALPHA = 0x8C42_u32 118 | SRGB_DECODE_ARB = 0x8299_u32 119 | SRGB_READ = 0x8297_u32 120 | SRGB_WRITE = 0x8298_u32 121 | STACK_OVERFLOW = 0x0503_u32 122 | STACK_UNDERFLOW = 0x0504_u32 123 | STANDARD_FONT_FORMAT_NV = 0x936C_u32 124 | STANDARD_FONT_NAME_NV = 0x9072_u32 125 | STATIC_COPY = 0x88E6_u32 126 | STATIC_DRAW = 0x88E4_u32 127 | STATIC_READ = 0x88E5_u32 128 | STENCIL = 0x1802_u32 129 | STENCIL_ATTACHMENT = 0x8D20_u32 130 | STENCIL_BACK_FAIL = 0x8801_u32 131 | STENCIL_BACK_FUNC = 0x8800_u32 132 | STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802_u32 133 | STENCIL_BACK_PASS_DEPTH_PASS = 0x8803_u32 134 | STENCIL_BACK_REF = 0x8CA3_u32 135 | STENCIL_BACK_VALUE_MASK = 0x8CA4_u32 136 | STENCIL_BACK_WRITEMASK = 0x8CA5_u32 137 | STENCIL_BUFFER_BIT = 0x00000400_u32 138 | STENCIL_CLEAR_VALUE = 0x0B91_u32 139 | STENCIL_COMPONENT = 0x8285_u32 140 | STENCIL_FAIL = 0x0B94_u32 141 | STENCIL_FUNC = 0x0B92_u32 142 | STENCIL_INDEX = 0x1901_u32 143 | STENCIL_INDEX1 = 0x8D46_u32 144 | STENCIL_INDEX16 = 0x8D49_u32 145 | STENCIL_INDEX4 = 0x8D47_u32 146 | STENCIL_INDEX8 = 0x8D48_u32 147 | STENCIL_PASS_DEPTH_FAIL = 0x0B95_u32 148 | STENCIL_PASS_DEPTH_PASS = 0x0B96_u32 149 | STENCIL_REF = 0x0B97_u32 150 | STENCIL_REF_COMMAND_NV = 0x000C_u32 151 | STENCIL_RENDERABLE = 0x8288_u32 152 | STENCIL_SAMPLES_NV = 0x932E_u32 153 | STENCIL_TEST = 0x0B90_u32 154 | STENCIL_VALUE_MASK = 0x0B93_u32 155 | STENCIL_WRITEMASK = 0x0B98_u32 156 | STEREO = 0x0C33_u32 157 | STREAM_COPY = 0x88E2_u32 158 | STREAM_DRAW = 0x88E0_u32 159 | STREAM_READ = 0x88E1_u32 160 | SUBPIXEL_BITS = 0x0D50_u32 161 | SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347_u32 162 | SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348_u32 163 | SUPERSAMPLE_SCALE_X_NV = 0x9372_u32 164 | SUPERSAMPLE_SCALE_Y_NV = 0x9373_u32 165 | SYNC_CL_EVENT_ARB = 0x8240_u32 166 | SYNC_CL_EVENT_COMPLETE_ARB = 0x8241_u32 167 | SYNC_CONDITION = 0x9113_u32 168 | SYNC_FENCE = 0x9116_u32 169 | SYNC_FLAGS = 0x9115_u32 170 | SYNC_FLUSH_COMMANDS_BIT = 0x00000001_u32 171 | SYNC_GPU_COMMANDS_COMPLETE = 0x9117_u32 172 | SYNC_STATUS = 0x9114_u32 173 | SYSTEM_FONT_NAME_NV = 0x9073_u32 174 | end 175 | -------------------------------------------------------------------------------- /src/lib_gl/constants/p.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | PACK_ALIGNMENT = 0x0D05_u32 3 | PACK_COMPRESSED_BLOCK_DEPTH = 0x912D_u32 4 | PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C_u32 5 | PACK_COMPRESSED_BLOCK_SIZE = 0x912E_u32 6 | PACK_COMPRESSED_BLOCK_WIDTH = 0x912B_u32 7 | PACK_IMAGE_HEIGHT = 0x806C_u32 8 | PACK_LSB_FIRST = 0x0D01_u32 9 | PACK_ROW_LENGTH = 0x0D02_u32 10 | PACK_SKIP_IMAGES = 0x806B_u32 11 | PACK_SKIP_PIXELS = 0x0D04_u32 12 | PACK_SKIP_ROWS = 0x0D03_u32 13 | PACK_SWAP_BYTES = 0x0D00_u32 14 | PARAMETER_BUFFER = 0x80EE_u32 15 | PARAMETER_BUFFER_ARB = 0x80EE_u32 16 | PARAMETER_BUFFER_BINDING = 0x80EF_u32 17 | PARAMETER_BUFFER_BINDING_ARB = 0x80EF_u32 18 | PATCHES = 0x000E_u32 19 | PATCH_DEFAULT_INNER_LEVEL = 0x8E73_u32 20 | PATCH_DEFAULT_OUTER_LEVEL = 0x8E74_u32 21 | PATCH_VERTICES = 0x8E72_u32 22 | PATH_CLIENT_LENGTH_NV = 0x907F_u32 23 | PATH_COMMAND_COUNT_NV = 0x909D_u32 24 | PATH_COMPUTED_LENGTH_NV = 0x90A0_u32 25 | PATH_COORD_COUNT_NV = 0x909E_u32 26 | PATH_COVER_DEPTH_FUNC_NV = 0x90BF_u32 27 | PATH_DASH_ARRAY_COUNT_NV = 0x909F_u32 28 | PATH_DASH_CAPS_NV = 0x907B_u32 29 | PATH_DASH_OFFSET_NV = 0x907E_u32 30 | PATH_DASH_OFFSET_RESET_NV = 0x90B4_u32 31 | PATH_END_CAPS_NV = 0x9076_u32 32 | PATH_ERROR_POSITION_NV = 0x90AB_u32 33 | PATH_FILL_BOUNDING_BOX_NV = 0x90A1_u32 34 | PATH_FILL_COVER_MODE_NV = 0x9082_u32 35 | PATH_FILL_MASK_NV = 0x9081_u32 36 | PATH_FILL_MODE_NV = 0x9080_u32 37 | PATH_FORMAT_PS_NV = 0x9071_u32 38 | PATH_FORMAT_SVG_NV = 0x9070_u32 39 | PATH_GEN_COEFF_NV = 0x90B1_u32 40 | PATH_GEN_COMPONENTS_NV = 0x90B3_u32 41 | PATH_GEN_MODE_NV = 0x90B0_u32 42 | PATH_INITIAL_DASH_CAP_NV = 0x907C_u32 43 | PATH_INITIAL_END_CAP_NV = 0x9077_u32 44 | PATH_JOIN_STYLE_NV = 0x9079_u32 45 | PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36_u32 46 | PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38_u32 47 | PATH_MITER_LIMIT_NV = 0x907A_u32 48 | PATH_MODELVIEW_MATRIX_NV = 0x0BA6_u32 49 | PATH_MODELVIEW_NV = 0x1700_u32 50 | PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3_u32 51 | PATH_OBJECT_BOUNDING_BOX_NV = 0x908A_u32 52 | PATH_PROJECTION_MATRIX_NV = 0x0BA7_u32 53 | PATH_PROJECTION_NV = 0x1701_u32 54 | PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4_u32 55 | PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD_u32 56 | PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE_u32 57 | PATH_STENCIL_FUNC_NV = 0x90B7_u32 58 | PATH_STENCIL_REF_NV = 0x90B8_u32 59 | PATH_STENCIL_VALUE_MASK_NV = 0x90B9_u32 60 | PATH_STROKE_BOUNDING_BOX_NV = 0x90A2_u32 61 | PATH_STROKE_COVER_MODE_NV = 0x9083_u32 62 | PATH_STROKE_MASK_NV = 0x9084_u32 63 | PATH_STROKE_WIDTH_NV = 0x9075_u32 64 | PATH_TERMINAL_DASH_CAP_NV = 0x907D_u32 65 | PATH_TERMINAL_END_CAP_NV = 0x9078_u32 66 | PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3_u32 67 | PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4_u32 68 | PERCENTAGE_AMD = 0x8BC3_u32 69 | PERFMON_RESULT_AMD = 0x8BC6_u32 70 | PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4_u32 71 | PERFMON_RESULT_SIZE_AMD = 0x8BC5_u32 72 | PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC_u32 73 | PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB_u32 74 | PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA_u32 75 | PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8_u32 76 | PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9_u32 77 | PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF_u32 78 | PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1_u32 79 | PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2_u32 80 | PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0_u32 81 | PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE_u32 82 | PERFQUERY_COUNTER_RAW_INTEL = 0x94F4_u32 83 | PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3_u32 84 | PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5_u32 85 | PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9_u32 86 | PERFQUERY_FLUSH_INTEL = 0x83FA_u32 87 | PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001_u32 88 | PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500_u32 89 | PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD_u32 90 | PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000_u32 91 | PERFQUERY_WAIT_INTEL = 0x83FB_u32 92 | PINLIGHT_NV = 0x92A8_u32 93 | PIXEL_BUFFER_BARRIER_BIT = 0x00000080_u32 94 | PIXEL_PACK_BUFFER = 0x88EB_u32 95 | PIXEL_PACK_BUFFER_ARB = 0x88EB_u32 96 | PIXEL_PACK_BUFFER_BINDING = 0x88ED_u32 97 | PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED_u32 98 | PIXEL_UNPACK_BUFFER = 0x88EC_u32 99 | PIXEL_UNPACK_BUFFER_ARB = 0x88EC_u32 100 | PIXEL_UNPACK_BUFFER_BINDING = 0x88EF_u32 101 | PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF_u32 102 | PLUS_CLAMPED_ALPHA_NV = 0x92B2_u32 103 | PLUS_CLAMPED_NV = 0x92B1_u32 104 | PLUS_DARKER_NV = 0x9292_u32 105 | PLUS_NV = 0x9291_u32 106 | POINT = 0x1B00_u32 107 | POINTS = 0x0000_u32 108 | POINT_FADE_THRESHOLD_SIZE = 0x8128_u32 109 | POINT_SIZE = 0x0B11_u32 110 | POINT_SIZE_GRANULARITY = 0x0B13_u32 111 | POINT_SIZE_RANGE = 0x0B12_u32 112 | POINT_SPRITE_COORD_ORIGIN = 0x8CA0_u32 113 | POLYGON_MODE = 0x0B40_u32 114 | POLYGON_OFFSET_CLAMP = 0x8E1B_u32 115 | POLYGON_OFFSET_CLAMP_EXT = 0x8E1B_u32 116 | POLYGON_OFFSET_COMMAND_NV = 0x000E_u32 117 | POLYGON_OFFSET_FACTOR = 0x8038_u32 118 | POLYGON_OFFSET_FILL = 0x8037_u32 119 | POLYGON_OFFSET_LINE = 0x2A02_u32 120 | POLYGON_OFFSET_POINT = 0x2A01_u32 121 | POLYGON_OFFSET_UNITS = 0x2A00_u32 122 | POLYGON_SMOOTH = 0x0B41_u32 123 | POLYGON_SMOOTH_HINT = 0x0C53_u32 124 | PRIMITIVES_GENERATED = 0x8C87_u32 125 | PRIMITIVES_SUBMITTED = 0x82EF_u32 126 | PRIMITIVES_SUBMITTED_ARB = 0x82EF_u32 127 | PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE_u32 128 | PRIMITIVE_RESTART = 0x8F9D_u32 129 | PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69_u32 130 | PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221_u32 131 | PRIMITIVE_RESTART_INDEX = 0x8F9E_u32 132 | PROGRAM = 0x82E2_u32 133 | PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341_u32 134 | PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341_u32 135 | PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340_u32 136 | PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340_u32 137 | PROGRAM_BINARY_FORMATS = 0x87FF_u32 138 | PROGRAM_BINARY_LENGTH = 0x8741_u32 139 | PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257_u32 140 | PROGRAM_INPUT = 0x92E3_u32 141 | PROGRAM_MATRIX_EXT = 0x8E2D_u32 142 | PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F_u32 143 | PROGRAM_OBJECT_EXT = 0x8B40_u32 144 | PROGRAM_OUTPUT = 0x92E4_u32 145 | PROGRAM_PIPELINE = 0x82E4_u32 146 | PROGRAM_PIPELINE_BINDING = 0x825A_u32 147 | PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F_u32 148 | PROGRAM_POINT_SIZE = 0x8642_u32 149 | PROGRAM_POINT_SIZE_ARB = 0x8642_u32 150 | PROGRAM_SEPARABLE = 0x8258_u32 151 | PROVOKING_VERTEX = 0x8E4F_u32 152 | PROXY_TEXTURE_1D = 0x8063_u32 153 | PROXY_TEXTURE_1D_ARRAY = 0x8C19_u32 154 | PROXY_TEXTURE_2D = 0x8064_u32 155 | PROXY_TEXTURE_2D_ARRAY = 0x8C1B_u32 156 | PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101_u32 157 | PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103_u32 158 | PROXY_TEXTURE_3D = 0x8070_u32 159 | PROXY_TEXTURE_CUBE_MAP = 0x851B_u32 160 | PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B_u32 161 | PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B_u32 162 | PROXY_TEXTURE_RECTANGLE = 0x84F7_u32 163 | end 164 | -------------------------------------------------------------------------------- /src/lib_gl/constants/a.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | ACCUM_ADJACENT_PAIRS_NV = 0x90AD_u32 3 | ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9_u32 4 | ACTIVE_ATTRIBUTES = 0x8B89_u32 5 | ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A_u32 6 | ACTIVE_PROGRAM = 0x8259_u32 7 | ACTIVE_PROGRAM_EXT = 0x8B8D_u32 8 | ACTIVE_RESOURCES = 0x92F5_u32 9 | ACTIVE_SUBROUTINES = 0x8DE5_u32 10 | ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48_u32 11 | ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6_u32 12 | ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47_u32 13 | ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49_u32 14 | ACTIVE_TEXTURE = 0x84E0_u32 15 | ACTIVE_UNIFORMS = 0x8B86_u32 16 | ACTIVE_UNIFORM_BLOCKS = 0x8A36_u32 17 | ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35_u32 18 | ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87_u32 19 | ACTIVE_VARIABLES = 0x9305_u32 20 | ADJACENT_PAIRS_NV = 0x90AE_u32 21 | AFFINE_2D_NV = 0x9092_u32 22 | AFFINE_3D_NV = 0x9094_u32 23 | ALIASED_LINE_WIDTH_RANGE = 0x846E_u32 24 | ALL_BARRIER_BITS = 0xFFFFFFFF_u32 25 | ALL_SHADER_BITS = 0xFFFFFFFF_u32 26 | ALPHA = 0x1906_u32 27 | ALPHA_REF_COMMAND_NV = 0x000F_u32 28 | ALREADY_SIGNALED = 0x911A_u32 29 | ALWAYS = 0x0207_u32 30 | AMD_performance_monitor = 1_u32 31 | AND = 0x1501_u32 32 | AND_INVERTED = 0x1504_u32 33 | AND_REVERSE = 0x1502_u32 34 | ANY_SAMPLES_PASSED = 0x8C2F_u32 35 | ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A_u32 36 | APPLE_rgb_422 = 1_u32 37 | ARB_ES2_compatibility = 1_u32 38 | ARB_ES3_1_compatibility = 1_u32 39 | ARB_ES3_2_compatibility = 1_u32 40 | ARB_ES3_compatibility = 1_u32 41 | ARB_arrays_of_arrays = 1_u32 42 | ARB_base_instance = 1_u32 43 | ARB_bindless_texture = 1_u32 44 | ARB_blend_func_extended = 1_u32 45 | ARB_buffer_storage = 1_u32 46 | ARB_cl_event = 1_u32 47 | ARB_clear_buffer_object = 1_u32 48 | ARB_clear_texture = 1_u32 49 | ARB_clip_control = 1_u32 50 | ARB_compressed_texture_pixel_storage = 1_u32 51 | ARB_compute_shader = 1_u32 52 | ARB_compute_variable_group_size = 1_u32 53 | ARB_conditional_render_inverted = 1_u32 54 | ARB_conservative_depth = 1_u32 55 | ARB_copy_buffer = 1_u32 56 | ARB_copy_image = 1_u32 57 | ARB_cull_distance = 1_u32 58 | ARB_debug_output = 1_u32 59 | ARB_depth_buffer_float = 1_u32 60 | ARB_depth_clamp = 1_u32 61 | ARB_derivative_control = 1_u32 62 | ARB_direct_state_access = 1_u32 63 | ARB_draw_buffers_blend = 1_u32 64 | ARB_draw_elements_base_vertex = 1_u32 65 | ARB_draw_indirect = 1_u32 66 | ARB_draw_instanced = 1_u32 67 | ARB_enhanced_layouts = 1_u32 68 | ARB_explicit_attrib_location = 1_u32 69 | ARB_explicit_uniform_location = 1_u32 70 | ARB_fragment_coord_conventions = 1_u32 71 | ARB_fragment_layer_viewport = 1_u32 72 | ARB_fragment_shader_interlock = 1_u32 73 | ARB_framebuffer_no_attachments = 1_u32 74 | ARB_framebuffer_object = 1_u32 75 | ARB_framebuffer_sRGB = 1_u32 76 | ARB_geometry_shader4 = 1_u32 77 | ARB_get_program_binary = 1_u32 78 | ARB_get_texture_sub_image = 1_u32 79 | ARB_gl_spirv = 1_u32 80 | ARB_gpu_shader5 = 1_u32 81 | ARB_gpu_shader_fp64 = 1_u32 82 | ARB_gpu_shader_int64 = 1_u32 83 | ARB_half_float_vertex = 1_u32 84 | ARB_imaging = 1_u32 85 | ARB_indirect_parameters = 1_u32 86 | ARB_instanced_arrays = 1_u32 87 | ARB_internalformat_query = 1_u32 88 | ARB_internalformat_query2 = 1_u32 89 | ARB_invalidate_subdata = 1_u32 90 | ARB_map_buffer_alignment = 1_u32 91 | ARB_map_buffer_range = 1_u32 92 | ARB_multi_bind = 1_u32 93 | ARB_multi_draw_indirect = 1_u32 94 | ARB_occlusion_query2 = 1_u32 95 | ARB_parallel_shader_compile = 1_u32 96 | ARB_pipeline_statistics_query = 1_u32 97 | ARB_pixel_buffer_object = 1_u32 98 | ARB_polygon_offset_clamp = 1_u32 99 | ARB_post_depth_coverage = 1_u32 100 | ARB_program_interface_query = 1_u32 101 | ARB_provoking_vertex = 1_u32 102 | ARB_query_buffer_object = 1_u32 103 | ARB_robust_buffer_access_behavior = 1_u32 104 | ARB_robustness = 1_u32 105 | ARB_robustness_isolation = 1_u32 106 | ARB_sample_locations = 1_u32 107 | ARB_sample_shading = 1_u32 108 | ARB_sampler_objects = 1_u32 109 | ARB_seamless_cube_map = 1_u32 110 | ARB_seamless_cubemap_per_texture = 1_u32 111 | ARB_separate_shader_objects = 1_u32 112 | ARB_shader_atomic_counter_ops = 1_u32 113 | ARB_shader_atomic_counters = 1_u32 114 | ARB_shader_ballot = 1_u32 115 | ARB_shader_bit_encoding = 1_u32 116 | ARB_shader_clock = 1_u32 117 | ARB_shader_draw_parameters = 1_u32 118 | ARB_shader_group_vote = 1_u32 119 | ARB_shader_image_load_store = 1_u32 120 | ARB_shader_image_size = 1_u32 121 | ARB_shader_precision = 1_u32 122 | ARB_shader_stencil_export = 1_u32 123 | ARB_shader_storage_buffer_object = 1_u32 124 | ARB_shader_subroutine = 1_u32 125 | ARB_shader_texture_image_samples = 1_u32 126 | ARB_shader_viewport_layer_array = 1_u32 127 | ARB_shading_language_420pack = 1_u32 128 | ARB_shading_language_include = 1_u32 129 | ARB_shading_language_packing = 1_u32 130 | ARB_sparse_buffer = 1_u32 131 | ARB_sparse_texture = 1_u32 132 | ARB_sparse_texture2 = 1_u32 133 | ARB_sparse_texture_clamp = 1_u32 134 | ARB_spirv_extensions = 1_u32 135 | ARB_stencil_texturing = 1_u32 136 | ARB_sync = 1_u32 137 | ARB_tessellation_shader = 1_u32 138 | ARB_texture_barrier = 1_u32 139 | ARB_texture_border_clamp = 1_u32 140 | ARB_texture_buffer_object = 1_u32 141 | ARB_texture_buffer_object_rgb32 = 1_u32 142 | ARB_texture_buffer_range = 1_u32 143 | ARB_texture_compression_bptc = 1_u32 144 | ARB_texture_compression_rgtc = 1_u32 145 | ARB_texture_cube_map_array = 1_u32 146 | ARB_texture_filter_anisotropic = 1_u32 147 | ARB_texture_filter_minmax = 1_u32 148 | ARB_texture_gather = 1_u32 149 | ARB_texture_mirror_clamp_to_edge = 1_u32 150 | ARB_texture_mirrored_repeat = 1_u32 151 | ARB_texture_multisample = 1_u32 152 | ARB_texture_non_power_of_two = 1_u32 153 | ARB_texture_query_levels = 1_u32 154 | ARB_texture_query_lod = 1_u32 155 | ARB_texture_rg = 1_u32 156 | ARB_texture_rgb10_a2ui = 1_u32 157 | ARB_texture_stencil8 = 1_u32 158 | ARB_texture_storage = 1_u32 159 | ARB_texture_storage_multisample = 1_u32 160 | ARB_texture_swizzle = 1_u32 161 | ARB_texture_view = 1_u32 162 | ARB_timer_query = 1_u32 163 | ARB_transform_feedback2 = 1_u32 164 | ARB_transform_feedback3 = 1_u32 165 | ARB_transform_feedback_instanced = 1_u32 166 | ARB_transform_feedback_overflow_query = 1_u32 167 | ARB_uniform_buffer_object = 1_u32 168 | ARB_vertex_array_bgra = 1_u32 169 | ARB_vertex_array_object = 1_u32 170 | ARB_vertex_attrib_64bit = 1_u32 171 | ARB_vertex_attrib_binding = 1_u32 172 | ARB_vertex_type_10f_11f_11f_rev = 1_u32 173 | ARB_vertex_type_2_10_10_10_rev = 1_u32 174 | ARB_viewport_array = 1_u32 175 | ARC_TO_NV = 0xFE_u32 176 | ARRAY_BUFFER = 0x8892_u32 177 | ARRAY_BUFFER_BINDING = 0x8894_u32 178 | ARRAY_SIZE = 0x92FB_u32 179 | ARRAY_STRIDE = 0x92FE_u32 180 | ATOMIC_COUNTER_BARRIER_BIT = 0x00001000_u32 181 | ATOMIC_COUNTER_BUFFER = 0x92C0_u32 182 | ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5_u32 183 | ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6_u32 184 | ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1_u32 185 | ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4_u32 186 | ATOMIC_COUNTER_BUFFER_INDEX = 0x9301_u32 187 | ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED_u32 188 | ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB_u32 189 | ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA_u32 190 | ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8_u32 191 | ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9_u32 192 | ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7_u32 193 | ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3_u32 194 | ATOMIC_COUNTER_BUFFER_START = 0x92C2_u32 195 | ATTACHED_SHADERS = 0x8B85_u32 196 | ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009_u32 197 | AUTO_GENERATE_MIPMAP = 0x8295_u32 198 | end 199 | -------------------------------------------------------------------------------- /src/lib_gl/constants/t.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | TERMINATE_SEQUENCE_COMMAND_NV = 0x0000_u32 3 | TESS_CONTROL_OUTPUT_VERTICES = 0x8E75_u32 4 | TESS_CONTROL_SHADER = 0x8E88_u32 5 | TESS_CONTROL_SHADER_BIT = 0x00000008_u32 6 | TESS_CONTROL_SHADER_PATCHES = 0x82F1_u32 7 | TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1_u32 8 | TESS_CONTROL_SUBROUTINE = 0x92E9_u32 9 | TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF_u32 10 | TESS_CONTROL_TEXTURE = 0x829C_u32 11 | TESS_EVALUATION_SHADER = 0x8E87_u32 12 | TESS_EVALUATION_SHADER_BIT = 0x00000010_u32 13 | TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2_u32 14 | TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2_u32 15 | TESS_EVALUATION_SUBROUTINE = 0x92EA_u32 16 | TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0_u32 17 | TESS_EVALUATION_TEXTURE = 0x829D_u32 18 | TESS_GEN_MODE = 0x8E76_u32 19 | TESS_GEN_POINT_MODE = 0x8E79_u32 20 | TESS_GEN_SPACING = 0x8E77_u32 21 | TESS_GEN_VERTEX_ORDER = 0x8E78_u32 22 | TEXTURE = 0x1702_u32 23 | TEXTURE0 = 0x84C0_u32 24 | TEXTURE1 = 0x84C1_u32 25 | TEXTURE10 = 0x84CA_u32 26 | TEXTURE11 = 0x84CB_u32 27 | TEXTURE12 = 0x84CC_u32 28 | TEXTURE13 = 0x84CD_u32 29 | TEXTURE14 = 0x84CE_u32 30 | TEXTURE15 = 0x84CF_u32 31 | TEXTURE16 = 0x84D0_u32 32 | TEXTURE17 = 0x84D1_u32 33 | TEXTURE18 = 0x84D2_u32 34 | TEXTURE19 = 0x84D3_u32 35 | TEXTURE2 = 0x84C2_u32 36 | TEXTURE20 = 0x84D4_u32 37 | TEXTURE21 = 0x84D5_u32 38 | TEXTURE22 = 0x84D6_u32 39 | TEXTURE23 = 0x84D7_u32 40 | TEXTURE24 = 0x84D8_u32 41 | TEXTURE25 = 0x84D9_u32 42 | TEXTURE26 = 0x84DA_u32 43 | TEXTURE27 = 0x84DB_u32 44 | TEXTURE28 = 0x84DC_u32 45 | TEXTURE29 = 0x84DD_u32 46 | TEXTURE3 = 0x84C3_u32 47 | TEXTURE30 = 0x84DE_u32 48 | TEXTURE31 = 0x84DF_u32 49 | TEXTURE4 = 0x84C4_u32 50 | TEXTURE5 = 0x84C5_u32 51 | TEXTURE6 = 0x84C6_u32 52 | TEXTURE7 = 0x84C7_u32 53 | TEXTURE8 = 0x84C8_u32 54 | TEXTURE9 = 0x84C9_u32 55 | TEXTURE_1D = 0x0DE0_u32 56 | TEXTURE_1D_ARRAY = 0x8C18_u32 57 | TEXTURE_2D = 0x0DE1_u32 58 | TEXTURE_2D_ARRAY = 0x8C1A_u32 59 | TEXTURE_2D_MULTISAMPLE = 0x9100_u32 60 | TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102_u32 61 | TEXTURE_3D = 0x806F_u32 62 | TEXTURE_ALPHA_SIZE = 0x805F_u32 63 | TEXTURE_ALPHA_TYPE = 0x8C13_u32 64 | TEXTURE_BASE_LEVEL = 0x813C_u32 65 | TEXTURE_BINDING_1D = 0x8068_u32 66 | TEXTURE_BINDING_1D_ARRAY = 0x8C1C_u32 67 | TEXTURE_BINDING_2D = 0x8069_u32 68 | TEXTURE_BINDING_2D_ARRAY = 0x8C1D_u32 69 | TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104_u32 70 | TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105_u32 71 | TEXTURE_BINDING_3D = 0x806A_u32 72 | TEXTURE_BINDING_BUFFER = 0x8C2C_u32 73 | TEXTURE_BINDING_BUFFER_ARB = 0x8C2C_u32 74 | TEXTURE_BINDING_CUBE_MAP = 0x8514_u32 75 | TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A_u32 76 | TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A_u32 77 | TEXTURE_BINDING_RECTANGLE = 0x84F6_u32 78 | TEXTURE_BLUE_SIZE = 0x805E_u32 79 | TEXTURE_BLUE_TYPE = 0x8C12_u32 80 | TEXTURE_BORDER_COLOR = 0x1004_u32 81 | TEXTURE_BUFFER = 0x8C2A_u32 82 | TEXTURE_BUFFER_ARB = 0x8C2A_u32 83 | TEXTURE_BUFFER_BINDING = 0x8C2A_u32 84 | TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D_u32 85 | TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D_u32 86 | TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E_u32 87 | TEXTURE_BUFFER_OFFSET = 0x919D_u32 88 | TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F_u32 89 | TEXTURE_BUFFER_SIZE = 0x919E_u32 90 | TEXTURE_COMPARE_FUNC = 0x884D_u32 91 | TEXTURE_COMPARE_MODE = 0x884C_u32 92 | TEXTURE_COMPRESSED = 0x86A1_u32 93 | TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2_u32 94 | TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3_u32 95 | TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1_u32 96 | TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0_u32 97 | TEXTURE_COMPRESSION_HINT = 0x84EF_u32 98 | TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25_u32 99 | TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F_u32 100 | TEXTURE_CUBE_MAP = 0x8513_u32 101 | TEXTURE_CUBE_MAP_ARRAY = 0x9009_u32 102 | TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009_u32 103 | TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516_u32 104 | TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518_u32 105 | TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A_u32 106 | TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515_u32 107 | TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517_u32 108 | TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519_u32 109 | TEXTURE_CUBE_MAP_SEAMLESS = 0x884F_u32 110 | TEXTURE_DEPTH = 0x8071_u32 111 | TEXTURE_DEPTH_SIZE = 0x884A_u32 112 | TEXTURE_DEPTH_TYPE = 0x8C16_u32 113 | TEXTURE_FETCH_BARRIER_BIT = 0x00000008_u32 114 | TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107_u32 115 | TEXTURE_GATHER = 0x82A2_u32 116 | TEXTURE_GATHER_SHADOW = 0x82A3_u32 117 | TEXTURE_GREEN_SIZE = 0x805D_u32 118 | TEXTURE_GREEN_TYPE = 0x8C11_u32 119 | TEXTURE_HEIGHT = 0x1001_u32 120 | TEXTURE_IMAGE_FORMAT = 0x828F_u32 121 | TEXTURE_IMAGE_TYPE = 0x8290_u32 122 | TEXTURE_IMMUTABLE_FORMAT = 0x912F_u32 123 | TEXTURE_IMMUTABLE_LEVELS = 0x82DF_u32 124 | TEXTURE_INTERNAL_FORMAT = 0x1003_u32 125 | TEXTURE_LOD_BIAS = 0x8501_u32 126 | TEXTURE_MAG_FILTER = 0x2800_u32 127 | TEXTURE_MAX_ANISOTROPY = 0x84FE_u32 128 | TEXTURE_MAX_LEVEL = 0x813D_u32 129 | TEXTURE_MAX_LOD = 0x813B_u32 130 | TEXTURE_MIN_FILTER = 0x2801_u32 131 | TEXTURE_MIN_LOD = 0x813A_u32 132 | TEXTURE_RECTANGLE = 0x84F5_u32 133 | TEXTURE_REDUCTION_MODE_ARB = 0x9366_u32 134 | TEXTURE_RED_SIZE = 0x805C_u32 135 | TEXTURE_RED_TYPE = 0x8C10_u32 136 | TEXTURE_SAMPLES = 0x9106_u32 137 | TEXTURE_SHADOW = 0x82A1_u32 138 | TEXTURE_SHARED_SIZE = 0x8C3F_u32 139 | TEXTURE_SPARSE_ARB = 0x91A6_u32 140 | TEXTURE_SRGB_DECODE_EXT = 0x8A48_u32 141 | TEXTURE_STENCIL_SIZE = 0x88F1_u32 142 | TEXTURE_SWIZZLE_A = 0x8E45_u32 143 | TEXTURE_SWIZZLE_B = 0x8E44_u32 144 | TEXTURE_SWIZZLE_G = 0x8E43_u32 145 | TEXTURE_SWIZZLE_R = 0x8E42_u32 146 | TEXTURE_SWIZZLE_RGBA = 0x8E46_u32 147 | TEXTURE_TARGET = 0x1006_u32 148 | TEXTURE_UPDATE_BARRIER_BIT = 0x00000100_u32 149 | TEXTURE_VIEW = 0x82B5_u32 150 | TEXTURE_VIEW_MIN_LAYER = 0x82DD_u32 151 | TEXTURE_VIEW_MIN_LEVEL = 0x82DB_u32 152 | TEXTURE_VIEW_NUM_LAYERS = 0x82DE_u32 153 | TEXTURE_VIEW_NUM_LEVELS = 0x82DC_u32 154 | TEXTURE_WIDTH = 0x1000_u32 155 | TEXTURE_WRAP_R = 0x8072_u32 156 | TEXTURE_WRAP_S = 0x2802_u32 157 | TEXTURE_WRAP_T = 0x2803_u32 158 | TIMEOUT_EXPIRED = 0x911B_u32 159 | TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF_u64 160 | TIMESTAMP = 0x8E28_u32 161 | TIME_ELAPSED = 0x88BF_u32 162 | TOP_LEVEL_ARRAY_SIZE = 0x930C_u32 163 | TOP_LEVEL_ARRAY_STRIDE = 0x930D_u32 164 | TRANSFORM_FEEDBACK = 0x8E22_u32 165 | TRANSFORM_FEEDBACK_ACTIVE = 0x8E24_u32 166 | TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800_u32 167 | TRANSFORM_FEEDBACK_BINDING = 0x8E25_u32 168 | TRANSFORM_FEEDBACK_BUFFER = 0x8C8E_u32 169 | TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24_u32 170 | TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F_u32 171 | TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B_u32 172 | TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F_u32 173 | TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23_u32 174 | TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85_u32 175 | TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84_u32 176 | TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C_u32 177 | TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC_u32 178 | TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC_u32 179 | TRANSFORM_FEEDBACK_PAUSED = 0x8E23_u32 180 | TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88_u32 181 | TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED_u32 182 | TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED_u32 183 | TRANSFORM_FEEDBACK_VARYING = 0x92F4_u32 184 | TRANSFORM_FEEDBACK_VARYINGS = 0x8C83_u32 185 | TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76_u32 186 | TRANSLATE_2D_NV = 0x9090_u32 187 | TRANSLATE_3D_NV = 0x9091_u32 188 | TRANSLATE_X_NV = 0x908E_u32 189 | TRANSLATE_Y_NV = 0x908F_u32 190 | TRANSPOSE_AFFINE_2D_NV = 0x9096_u32 191 | TRANSPOSE_AFFINE_3D_NV = 0x9098_u32 192 | TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E_u32 193 | TRIANGLES = 0x0004_u32 194 | TRIANGLES_ADJACENCY = 0x000C_u32 195 | TRIANGLES_ADJACENCY_ARB = 0x000C_u32 196 | TRIANGLE_FAN = 0x0006_u32 197 | TRIANGLE_STRIP = 0x0005_u32 198 | TRIANGLE_STRIP_ADJACENCY = 0x000D_u32 199 | TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D_u32 200 | TRIANGULAR_NV = 0x90A5_u32 201 | TRUE = 1_u8 202 | TYPE = 0x92FA_u32 203 | end 204 | -------------------------------------------------------------------------------- /src/lib_gl/constants/c.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | CAVEAT_SUPPORT = 0x82B8_u32 3 | CCW = 0x0901_u32 4 | CIRCULAR_CCW_ARC_TO_NV = 0xF8_u32 5 | CIRCULAR_CW_ARC_TO_NV = 0xFA_u32 6 | CIRCULAR_TANGENT_ARC_TO_NV = 0xFC_u32 7 | CLAMP_READ_COLOR = 0x891C_u32 8 | CLAMP_TO_BORDER = 0x812D_u32 9 | CLAMP_TO_BORDER_ARB = 0x812D_u32 10 | CLAMP_TO_EDGE = 0x812F_u32 11 | CLEAR = 0x1500_u32 12 | CLEAR_BUFFER = 0x82B4_u32 13 | CLEAR_TEXTURE = 0x9365_u32 14 | CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000_u32 15 | CLIENT_STORAGE_BIT = 0x0200_u32 16 | CLIPPING_INPUT_PRIMITIVES = 0x82F6_u32 17 | CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6_u32 18 | CLIPPING_OUTPUT_PRIMITIVES = 0x82F7_u32 19 | CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7_u32 20 | CLIP_DEPTH_MODE = 0x935D_u32 21 | CLIP_DISTANCE0 = 0x3000_u32 22 | CLIP_DISTANCE1 = 0x3001_u32 23 | CLIP_DISTANCE2 = 0x3002_u32 24 | CLIP_DISTANCE3 = 0x3003_u32 25 | CLIP_DISTANCE4 = 0x3004_u32 26 | CLIP_DISTANCE5 = 0x3005_u32 27 | CLIP_DISTANCE6 = 0x3006_u32 28 | CLIP_DISTANCE7 = 0x3007_u32 29 | CLIP_ORIGIN = 0x935C_u32 30 | CLOSE_PATH_NV = 0x00_u32 31 | COLOR = 0x1800_u32 32 | COLORBURN_KHR = 0x929A_u32 33 | COLORBURN_NV = 0x929A_u32 34 | COLORDODGE_KHR = 0x9299_u32 35 | COLORDODGE_NV = 0x9299_u32 36 | COLOR_ARRAY_ADDRESS_NV = 0x8F23_u32 37 | COLOR_ARRAY_LENGTH_NV = 0x8F2D_u32 38 | COLOR_ATTACHMENT0 = 0x8CE0_u32 39 | COLOR_ATTACHMENT1 = 0x8CE1_u32 40 | COLOR_ATTACHMENT10 = 0x8CEA_u32 41 | COLOR_ATTACHMENT11 = 0x8CEB_u32 42 | COLOR_ATTACHMENT12 = 0x8CEC_u32 43 | COLOR_ATTACHMENT13 = 0x8CED_u32 44 | COLOR_ATTACHMENT14 = 0x8CEE_u32 45 | COLOR_ATTACHMENT15 = 0x8CEF_u32 46 | COLOR_ATTACHMENT16 = 0x8CF0_u32 47 | COLOR_ATTACHMENT17 = 0x8CF1_u32 48 | COLOR_ATTACHMENT18 = 0x8CF2_u32 49 | COLOR_ATTACHMENT19 = 0x8CF3_u32 50 | COLOR_ATTACHMENT2 = 0x8CE2_u32 51 | COLOR_ATTACHMENT20 = 0x8CF4_u32 52 | COLOR_ATTACHMENT21 = 0x8CF5_u32 53 | COLOR_ATTACHMENT22 = 0x8CF6_u32 54 | COLOR_ATTACHMENT23 = 0x8CF7_u32 55 | COLOR_ATTACHMENT24 = 0x8CF8_u32 56 | COLOR_ATTACHMENT25 = 0x8CF9_u32 57 | COLOR_ATTACHMENT26 = 0x8CFA_u32 58 | COLOR_ATTACHMENT27 = 0x8CFB_u32 59 | COLOR_ATTACHMENT28 = 0x8CFC_u32 60 | COLOR_ATTACHMENT29 = 0x8CFD_u32 61 | COLOR_ATTACHMENT3 = 0x8CE3_u32 62 | COLOR_ATTACHMENT30 = 0x8CFE_u32 63 | COLOR_ATTACHMENT31 = 0x8CFF_u32 64 | COLOR_ATTACHMENT4 = 0x8CE4_u32 65 | COLOR_ATTACHMENT5 = 0x8CE5_u32 66 | COLOR_ATTACHMENT6 = 0x8CE6_u32 67 | COLOR_ATTACHMENT7 = 0x8CE7_u32 68 | COLOR_ATTACHMENT8 = 0x8CE8_u32 69 | COLOR_ATTACHMENT9 = 0x8CE9_u32 70 | COLOR_BUFFER_BIT = 0x00004000_u32 71 | COLOR_CLEAR_VALUE = 0x0C22_u32 72 | COLOR_COMPONENTS = 0x8283_u32 73 | COLOR_ENCODING = 0x8296_u32 74 | COLOR_LOGIC_OP = 0x0BF2_u32 75 | COLOR_RENDERABLE = 0x8286_u32 76 | COLOR_SAMPLES_NV = 0x8E20_u32 77 | COLOR_WRITEMASK = 0x0C23_u32 78 | COMMAND_BARRIER_BIT = 0x00000040_u32 79 | COMPARE_REF_TO_TEXTURE = 0x884E_u32 80 | COMPATIBLE_SUBROUTINES = 0x8E4B_u32 81 | COMPILE_STATUS = 0x8B81_u32 82 | COMPLETION_STATUS_ARB = 0x91B1_u32 83 | COMPLETION_STATUS_KHR = 0x91B1_u32 84 | COMPRESSED_R11_EAC = 0x9270_u32 85 | COMPRESSED_RED = 0x8225_u32 86 | COMPRESSED_RED_RGTC1 = 0x8DBB_u32 87 | COMPRESSED_RG = 0x8226_u32 88 | COMPRESSED_RG11_EAC = 0x9272_u32 89 | COMPRESSED_RGB = 0x84ED_u32 90 | COMPRESSED_RGB8_ETC2 = 0x9274_u32 91 | COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276_u32 92 | COMPRESSED_RGBA = 0x84EE_u32 93 | COMPRESSED_RGBA8_ETC2_EAC = 0x9278_u32 94 | COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB_u32 95 | COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8_u32 96 | COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9_u32 97 | COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA_u32 98 | COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC_u32 99 | COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD_u32 100 | COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0_u32 101 | COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1_u32 102 | COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2_u32 103 | COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3_u32 104 | COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4_u32 105 | COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5_u32 106 | COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6_u32 107 | COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7_u32 108 | COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C_u32 109 | COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C_u32 110 | COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1_u32 111 | COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2_u32 112 | COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3_u32 113 | COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E_u32 114 | COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E_u32 115 | COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F_u32 116 | COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F_u32 117 | COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0_u32 118 | COMPRESSED_RG_RGTC2 = 0x8DBD_u32 119 | COMPRESSED_SIGNED_R11_EAC = 0x9271_u32 120 | COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC_u32 121 | COMPRESSED_SIGNED_RG11_EAC = 0x9273_u32 122 | COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE_u32 123 | COMPRESSED_SRGB = 0x8C48_u32 124 | COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB_u32 125 | COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8_u32 126 | COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9_u32 127 | COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA_u32 128 | COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC_u32 129 | COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD_u32 130 | COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0_u32 131 | COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1_u32 132 | COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2_u32 133 | COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3_u32 134 | COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4_u32 135 | COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5_u32 136 | COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6_u32 137 | COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7_u32 138 | COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279_u32 139 | COMPRESSED_SRGB8_ETC2 = 0x9275_u32 140 | COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277_u32 141 | COMPRESSED_SRGB_ALPHA = 0x8C49_u32 142 | COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D_u32 143 | COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D_u32 144 | COMPRESSED_TEXTURE_FORMATS = 0x86A3_u32 145 | COMPUTE_SHADER = 0x91B9_u32 146 | COMPUTE_SHADER_BIT = 0x00000020_u32 147 | COMPUTE_SHADER_INVOCATIONS = 0x82F5_u32 148 | COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5_u32 149 | COMPUTE_SUBROUTINE = 0x92ED_u32 150 | COMPUTE_SUBROUTINE_UNIFORM = 0x92F3_u32 151 | COMPUTE_TEXTURE = 0x82A0_u32 152 | COMPUTE_WORK_GROUP_SIZE = 0x8267_u32 153 | CONDITION_SATISFIED = 0x911C_u32 154 | CONFORMANT_NV = 0x9374_u32 155 | CONIC_CURVE_TO_NV = 0x1A_u32 156 | CONJOINT_NV = 0x9284_u32 157 | CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE_u32 158 | CONSERVATIVE_RASTERIZATION_NV = 0x9346_u32 159 | CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B_u32 160 | CONSERVATIVE_RASTER_DILATE_NV = 0x9379_u32 161 | CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A_u32 162 | CONSERVATIVE_RASTER_MODE_NV = 0x954D_u32 163 | CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E_u32 164 | CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F_u32 165 | CONSTANT_ALPHA = 0x8003_u32 166 | CONSTANT_COLOR = 0x8001_u32 167 | CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002_u32 168 | CONTEXT_CORE_PROFILE_BIT = 0x00000001_u32 169 | CONTEXT_FLAGS = 0x821E_u32 170 | CONTEXT_FLAG_DEBUG_BIT = 0x00000002_u32 171 | CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001_u32 172 | CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008_u32 173 | CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008_u32 174 | CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004_u32 175 | CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004_u32 176 | CONTEXT_LOST = 0x0507_u32 177 | CONTEXT_PROFILE_MASK = 0x9126_u32 178 | CONTEXT_RELEASE_BEHAVIOR = 0x82FB_u32 179 | CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC_u32 180 | CONTEXT_ROBUST_ACCESS = 0x90F3_u32 181 | CONTRAST_NV = 0x92A1_u32 182 | CONVEX_HULL_NV = 0x908B_u32 183 | COPY = 0x1503_u32 184 | COPY_INVERTED = 0x150C_u32 185 | COPY_READ_BUFFER = 0x8F36_u32 186 | COPY_READ_BUFFER_BINDING = 0x8F36_u32 187 | COPY_WRITE_BUFFER = 0x8F37_u32 188 | COPY_WRITE_BUFFER_BINDING = 0x8F37_u32 189 | COUNTER_RANGE_AMD = 0x8BC1_u32 190 | COUNTER_TYPE_AMD = 0x8BC0_u32 191 | COUNT_DOWN_NV = 0x9089_u32 192 | COUNT_UP_NV = 0x9088_u32 193 | COVERAGE_MODULATION_NV = 0x9332_u32 194 | COVERAGE_MODULATION_TABLE_NV = 0x9331_u32 195 | COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333_u32 196 | CUBIC_CURVE_TO_NV = 0x0C_u32 197 | CULL_FACE = 0x0B44_u32 198 | CULL_FACE_MODE = 0x0B45_u32 199 | CURRENT_PROGRAM = 0x8B8D_u32 200 | CURRENT_QUERY = 0x8865_u32 201 | CURRENT_VERTEX_ATTRIB = 0x8626_u32 202 | CW = 0x0900_u32 203 | end 204 | -------------------------------------------------------------------------------- /src/lib_gl/constants/m.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | MAJOR_VERSION = 0x821B_u32 3 | MANUAL_GENERATE_MIPMAP = 0x8294_u32 4 | MAP_COHERENT_BIT = 0x0080_u32 5 | MAP_FLUSH_EXPLICIT_BIT = 0x0010_u32 6 | MAP_INVALIDATE_BUFFER_BIT = 0x0008_u32 7 | MAP_INVALIDATE_RANGE_BIT = 0x0004_u32 8 | MAP_PERSISTENT_BIT = 0x0040_u32 9 | MAP_READ_BIT = 0x0001_u32 10 | MAP_UNSYNCHRONIZED_BIT = 0x0020_u32 11 | MAP_WRITE_BIT = 0x0002_u32 12 | MATRIX_STRIDE = 0x92FF_u32 13 | MAX = 0x8008_u32 14 | MAX_3D_TEXTURE_SIZE = 0x8073_u32 15 | MAX_ARRAY_TEXTURE_LAYERS = 0x88FF_u32 16 | MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC_u32 17 | MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8_u32 18 | MAX_CLIP_DISTANCES = 0x0D32_u32 19 | MAX_COLOR_ATTACHMENTS = 0x8CDF_u32 20 | MAX_COLOR_TEXTURE_SAMPLES = 0x910E_u32 21 | MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7_u32 22 | MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1_u32 23 | MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA_u32 24 | MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266_u32 25 | MAX_COMBINED_DIMENSIONS = 0x8282_u32 26 | MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33_u32 27 | MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32_u32 28 | MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF_u32 29 | MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39_u32 30 | MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39_u32 31 | MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC_u32 32 | MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E_u32 33 | MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F_u32 34 | MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D_u32 35 | MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E_u32 36 | MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31_u32 37 | MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265_u32 38 | MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264_u32 39 | MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB_u32 40 | MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF_u32 41 | MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD_u32 42 | MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB_u32 43 | MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262_u32 44 | MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC_u32 45 | MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB_u32 46 | MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263_u32 47 | MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344_u32 48 | MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345_u32 49 | MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE_u32 50 | MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB_u32 51 | MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF_u32 52 | MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C_u32 53 | MAX_CULL_DISTANCES = 0x82F9_u32 54 | MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C_u32 55 | MAX_DEBUG_LOGGED_MESSAGES = 0x9144_u32 56 | MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144_u32 57 | MAX_DEBUG_MESSAGE_LENGTH = 0x9143_u32 58 | MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143_u32 59 | MAX_DEPTH = 0x8280_u32 60 | MAX_DEPTH_TEXTURE_SAMPLES = 0x910F_u32 61 | MAX_DRAW_BUFFERS = 0x8824_u32 62 | MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC_u32 63 | MAX_ELEMENTS_INDICES = 0x80E9_u32 64 | MAX_ELEMENTS_VERTICES = 0x80E8_u32 65 | MAX_ELEMENT_INDEX = 0x8D6B_u32 66 | MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6_u32 67 | MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0_u32 68 | MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE_u32 69 | MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125_u32 70 | MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C_u32 71 | MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA_u32 72 | MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D_u32 73 | MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49_u32 74 | MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD_u32 75 | MAX_FRAMEBUFFER_HEIGHT = 0x9316_u32 76 | MAX_FRAMEBUFFER_LAYERS = 0x9317_u32 77 | MAX_FRAMEBUFFER_SAMPLES = 0x9318_u32 78 | MAX_FRAMEBUFFER_WIDTH = 0x9315_u32 79 | MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5_u32 80 | MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF_u32 81 | MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD_u32 82 | MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123_u32 83 | MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124_u32 84 | MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0_u32 85 | MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0_u32 86 | MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A_u32 87 | MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7_u32 88 | MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29_u32 89 | MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29_u32 90 | MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1_u32 91 | MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1_u32 92 | MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C_u32 93 | MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF_u32 94 | MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF_u32 95 | MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD_u32 96 | MAX_HEIGHT = 0x827F_u32 97 | MAX_IMAGE_SAMPLES = 0x906D_u32 98 | MAX_IMAGE_UNITS = 0x8F38_u32 99 | MAX_INTEGER_SAMPLES = 0x9110_u32 100 | MAX_LABEL_LENGTH = 0x82E8_u32 101 | MAX_LAYERS = 0x8281_u32 102 | MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11_u32 103 | MAX_NAME_LENGTH = 0x92F6_u32 104 | MAX_NUM_ACTIVE_VARIABLES = 0x92F7_u32 105 | MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8_u32 106 | MAX_PATCH_VERTICES = 0x8E7D_u32 107 | MAX_PROGRAM_TEXEL_OFFSET = 0x8905_u32 108 | MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F_u32 109 | MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F_u32 110 | MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F_u32 111 | MAX_RASTER_SAMPLES_EXT = 0x9329_u32 112 | MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8_u32 113 | MAX_RENDERBUFFER_SIZE = 0x84E8_u32 114 | MAX_SAMPLES = 0x8D57_u32 115 | MAX_SAMPLE_MASK_WORDS = 0x8E59_u32 116 | MAX_SERVER_WAIT_TIMEOUT = 0x9111_u32 117 | MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35_u32 118 | MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0_u32 119 | MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0_u32 120 | MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE_u32 121 | MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD_u32 122 | MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199_u32 123 | MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A_u32 124 | MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198_u32 125 | MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349_u32 126 | MAX_SUBROUTINES = 0x8DE7_u32 127 | MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8_u32 128 | MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3_u32 129 | MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD_u32 130 | MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB_u32 131 | MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C_u32 132 | MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83_u32 133 | MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8_u32 134 | MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81_u32 135 | MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85_u32 136 | MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89_u32 137 | MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F_u32 138 | MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4_u32 139 | MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE_u32 140 | MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC_u32 141 | MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D_u32 142 | MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86_u32 143 | MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9_u32 144 | MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82_u32 145 | MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A_u32 146 | MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80_u32 147 | MAX_TESS_GEN_LEVEL = 0x8E7E_u32 148 | MAX_TESS_PATCH_COMPONENTS = 0x8E84_u32 149 | MAX_TEXTURE_BUFFER_SIZE = 0x8C2B_u32 150 | MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B_u32 151 | MAX_TEXTURE_IMAGE_UNITS = 0x8872_u32 152 | MAX_TEXTURE_LOD_BIAS = 0x84FD_u32 153 | MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF_u32 154 | MAX_TEXTURE_SIZE = 0x0D33_u32 155 | MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70_u32 156 | MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A_u32 157 | MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B_u32 158 | MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80_u32 159 | MAX_UNIFORM_BLOCK_SIZE = 0x8A30_u32 160 | MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F_u32 161 | MAX_UNIFORM_LOCATIONS = 0x826E_u32 162 | MAX_VARYING_COMPONENTS = 0x8B4B_u32 163 | MAX_VARYING_FLOATS = 0x8B4B_u32 164 | MAX_VARYING_VECTORS = 0x8DFC_u32 165 | MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2_u32 166 | MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC_u32 167 | MAX_VERTEX_ATTRIBS = 0x8869_u32 168 | MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA_u32 169 | MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9_u32 170 | MAX_VERTEX_ATTRIB_STRIDE = 0x82E5_u32 171 | MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA_u32 172 | MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122_u32 173 | MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6_u32 174 | MAX_VERTEX_STREAMS = 0x8E71_u32 175 | MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C_u32 176 | MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B_u32 177 | MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A_u32 178 | MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB_u32 179 | MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE_u32 180 | MAX_VIEWPORTS = 0x825B_u32 181 | MAX_VIEWPORT_DIMS = 0x0D3A_u32 182 | MAX_VIEWS_OVR = 0x9631_u32 183 | MAX_WIDTH = 0x827E_u32 184 | MAX_WINDOW_RECTANGLES_EXT = 0x8F14_u32 185 | MEDIUM_FLOAT = 0x8DF1_u32 186 | MEDIUM_INT = 0x8DF4_u32 187 | MIN = 0x8007_u32 188 | MINOR_VERSION = 0x821C_u32 189 | MINUS_CLAMPED_NV = 0x92B3_u32 190 | MINUS_NV = 0x929F_u32 191 | MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B_u32 192 | MIN_MAP_BUFFER_ALIGNMENT = 0x90BC_u32 193 | MIN_PROGRAM_TEXEL_OFFSET = 0x8904_u32 194 | MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E_u32 195 | MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E_u32 196 | MIN_SAMPLE_SHADING_VALUE = 0x8C37_u32 197 | MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37_u32 198 | MIPMAP = 0x8293_u32 199 | MIRRORED_REPEAT = 0x8370_u32 200 | MIRRORED_REPEAT_ARB = 0x8370_u32 201 | MIRROR_CLAMP_TO_EDGE = 0x8743_u32 202 | MITER_REVERT_NV = 0x90A7_u32 203 | MITER_TRUNCATE_NV = 0x90A8_u32 204 | MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F_u32 205 | MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330_u32 206 | MOVE_TO_CONTINUES_NV = 0x90B6_u32 207 | MOVE_TO_NV = 0x02_u32 208 | MOVE_TO_RESETS_NV = 0x90B5_u32 209 | MULTIPLY_KHR = 0x9294_u32 210 | MULTIPLY_NV = 0x9294_u32 211 | MULTISAMPLE = 0x809D_u32 212 | MULTISAMPLES_NV = 0x9371_u32 213 | MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12_u32 214 | MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382_u32 215 | MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381_u32 216 | MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B_u32 217 | end 218 | -------------------------------------------------------------------------------- /src/lib_gl/functions/t.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Attaches the storage for a buffer object to the active buffer texture. 3 | fun tex_buffer = glTexBuffer( target : Enum, 4 | internal_format : Enum, 5 | buffer : UInt) : Void 6 | 7 | # Binds a range of a buffer's data store to a buffer texture. 8 | fun tex_buffer_range = glTexBufferRange(target : Enum, 9 | internal_format : Enum, 10 | buffer : UInt, 11 | offset : IntPtr, 12 | size : SizeiPtr) : Void 13 | 14 | # Specifies a one-dimensional texture image. 15 | fun tex_image_1d = glTexImage1D(target : Enum, 16 | level : Int, 17 | internal_format : Int, 18 | width : Sizei, 19 | border : Int, 20 | format : Enum, 21 | data_type : Enum, 22 | data : Pointer(Void)) : Void 23 | 24 | # Specifies a two-dimensional texture image. 25 | fun tex_image_2d = glTexImage2D(target : Enum, 26 | level : Int, 27 | internal_format : Int, 28 | width : Sizei, 29 | height : Sizei, 30 | border : Int, 31 | format : Enum, 32 | data_type : Enum, 33 | data : Pointer(Void)) : Void 34 | 35 | # Establishes the data storage, format, dimensions, and number of samples of a multisample texture's image. 36 | fun tex_image_2d_multisample = glTexImage2DMultisample( target : Enum, 37 | samples : Sizei, 38 | internal_format : Int, 39 | width : Sizei, 40 | height : Sizei, 41 | fixed_sample_locations : Boolean) : Void 42 | 43 | # Specifies a three-dimensional texture image. 44 | fun tex_image_3d = glTexImage3D(target : Enum, 45 | level : Int, 46 | internal_format : Int, 47 | width : Sizei, 48 | height : Sizei, 49 | depth : Sizei, 50 | border : Int, 51 | format : Enum, 52 | data_type : Enum, 53 | data : Pointer(Void)) : Void 54 | 55 | # Establishes the data storage, format, dimensions, and number of samples of a multisample texture's image. 56 | fun tex_image_3d_multisample = glTexImage3DMultisample( target : Enum, 57 | samples : Sizei, 58 | internal_format : Int, 59 | width : Sizei, 60 | height : Sizei, 61 | depth : Sizei, 62 | fixed_sample_locations : Boolean) : Void 63 | 64 | # Sets texture parameters. 65 | fun tex_parameter_f = glTexParameterf(target : Enum, 66 | p_name : Enum, 67 | param : Float) : Void 68 | 69 | # Sets texture parameters. 70 | fun tex_parameter_i = glTexParameteri(target : Enum, 71 | p_name : Enum, 72 | param : Int) : Void 73 | 74 | # Sets texture parameters. 75 | fun tex_parameter_fv = glTexParameterfv(target : Enum, 76 | p_name : Enum, 77 | params : Pointer(Float)) : Void 78 | 79 | # Sets texture parameters. 80 | fun tex_parameter_iv = glTexParameteriv(target : Enum, 81 | p_name : Enum, 82 | params : Pointer(Int)) : Void 83 | 84 | # Sets texture parameters. 85 | fun tex_parameter_iiv = glTexParameterIiv(target : Enum, 86 | p_name : Enum, 87 | params : Pointer(Int)) : Void 88 | 89 | # Sets texture parameters. 90 | fun tex_parameter_iuiv = glTexParameterIuiv(target : Enum, 91 | p_name : Enum, 92 | params : Pointer(UInt)) : Void 93 | 94 | # Simultaneously specify storage for all levels of a one-dimensional texture. 95 | fun tex_storage_1d = glTexStorage1D(target : Enum, 96 | levels : Sizei, 97 | internal_format : Enum, 98 | width : Sizei) : Void 99 | 100 | # Simultaneously specify storage for all levels of a two-dimensional texture. 101 | fun tex_storage_2d = glTexStorage2D(target : Enum, 102 | levels : Sizei, 103 | internal_format : Enum, 104 | width : Sizei, 105 | height : Sizei) : Void 106 | 107 | # Specifies storage for a two-dimensional multisample texture. 108 | fun tex_storage_2d_multisample = glTexStorage2DMultisample( target : Enum, 109 | samples : Sizei, 110 | internal_format : Enum, 111 | width : Sizei, 112 | height : Sizei, 113 | fixed_sample_locations : Boolean) : Void 114 | 115 | # Simultaneously specify storage for all levels of a three-dimensional texture. 116 | fun tex_storage_3d = glTexStorage3D(target : Enum, 117 | levels : Sizei, 118 | internal_format : Enum, 119 | width : Sizei, 120 | height : Sizei, 121 | depth : Sizei) : Void 122 | 123 | # Specifies storage for a three-dimensional multisample texture. 124 | fun tex_storage_3d_multisample = glTexStorage3DMultisample( target : Enum, 125 | samples : Sizei, 126 | internal_format : Enum, 127 | width : Sizei, 128 | height : Sizei, 129 | depth : Sizei, 130 | fixed_sample_locations : Boolean) : Void 131 | 132 | # Specifies a one-dimensional texture subimage. 133 | fun tex_sub_image_1d = glTexSubImage1D( target : Enum, 134 | level : Int, 135 | x_offset : Int, 136 | width : Sizei, 137 | format : Enum, 138 | data_type : Enum, 139 | data : Pointer(Void)) : Void 140 | 141 | # Specifies a two-dimensional texture subimage. 142 | fun tex_sub_image_2d = glTexSubImage2D( target : Enum, 143 | level : Int, 144 | x_offset : Int, 145 | y_offset : Int, 146 | width : Sizei, 147 | height : Sizei, 148 | format : Enum, 149 | data_type : Enum, 150 | data : Pointer(Void)) : Void 151 | 152 | # Specifies a three-dimensional texture subimage. 153 | fun tex_sub_image_3d = glTexSubImage3D( target : Enum, 154 | level : Int, 155 | x_offset : Int, 156 | y_offset : Int, 157 | z_offset : Int, 158 | width : Sizei, 159 | height : Sizei, 160 | depth : Sizei, 161 | format : Enum, 162 | data_type : Enum, 163 | data : Pointer(Void)) : Void 164 | 165 | # Initializes a texture as a data alias of another texture's data store. 166 | fun texture_view = glTextureView( texture : UInt, 167 | target : Enum, 168 | orig_texture : UInt, 169 | internal_format : Enum, 170 | min_level : UInt, 171 | num_levels : UInt, 172 | min_layer : UInt, 173 | num_layers : UInt) : Void 174 | 175 | # Specifies values to record in transform feedback buffers. 176 | fun transform_feedback_varyings = glTransformFeedbackVaryings(program : UInt, 177 | count : Sizei, 178 | varyings : Pointer(Pointer(Char)), 179 | buffer_mode : Enum) : Void 180 | end -------------------------------------------------------------------------------- /src/lib_gl/functions/b.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | 3 | fun begin = glBegin(mode : Enum) : Void 4 | 5 | # Begins conditional rendering. 6 | fun begin_conditional_render = glBeginConditionalRender(id : UInt, 7 | mode : Enum) : Void 8 | # Delimits the boundaries of a query object. 9 | fun begin_query = glBeginQuery(target : Enum, 10 | id : UInt) : Void 11 | 12 | # Delimits the bouundaries of a query object on an indexed target. 13 | fun begin_query_indexed = glBeginQueryIndexed(target : Enum, 14 | index : UInt, 15 | id : UInt) : Void 16 | 17 | # Starts transform feedback operation. 18 | fun begin_transform_feedback = glBeginTransformFeedback(primitive_mode : Enum) : Void 19 | 20 | # Associates a generic vertex attribute index with a named attribute variable. 21 | fun bind_attrib_location = glBindAttribLocation(program : UInt, 22 | index : UInt, 23 | name : Pointer(Char)) : Void 24 | 25 | # Binds a named buffer object. 26 | fun bind_buffer = glBindBuffer(target : Enum, 27 | buffer : UInt) : Void 28 | 29 | # Binds a buffer object to an indexed buffer target. 30 | fun bind_buffer_base = glBindBufferBase(target : Enum, 31 | index : UInt, 32 | buffer : UInt) : Void 33 | 34 | # Binds a range within a buffer object to an indexed buffer target. 35 | fun bind_buffer_range = glBindBufferRange(target : Enum, 36 | index : UInt, 37 | buffer : UInt, 38 | offset : IntPtr, 39 | size : SizeiPtr) : Void 40 | 41 | # Binds one or more buffer objects to a sequence of indexed buffer targets. 42 | fun bind_buffers_base = glBindBuffersBase(target : Enum, 43 | first : UInt, 44 | count : Sizei, 45 | buffers : Pointer(UInt)) : Void 46 | 47 | # Binds ranges of one or more buffer objects to a sequence of indexed buffer targets. 48 | fun bind_buffers_range = glBindBuffersRange(target : Enum, 49 | first : UInt, 50 | count : Sizei, 51 | buffers : Pointer(UInt), 52 | offsets : Pointer(IntPtr), 53 | sizes : Pointer(IntPtr)) : Void 54 | 55 | # Binds a user-defined varying out variable to a fragment shader color number. 56 | fun bind_frag_data_location = glBindFragDataLocation(program : UInt, 57 | color_number : UInt, 58 | name : Pointer(Char)) : Void 59 | 60 | # Binds a user-defined varying out variable to a fragment shader color number and index. 61 | fun bind_frag_data_location_indexed = glBindFragDataLocationIndexed(program : UInt, 62 | color_number : UInt, 63 | index : UInt, 64 | name : Pointer(Char)) : Void 65 | 66 | # Binds a framebuffer to a framebuffer target. 67 | fun bind_framebuffer = glBindFramebuffer( target : Enum, 68 | framebuffer : UInt) : Void 69 | 70 | # Binds a level of a texture to an image unit. 71 | fun bind_image_texture = glBindImageTexture(unit : UInt, 72 | texture : UInt, 73 | level : Int, 74 | layered : Boolean, 75 | layer : Int, 76 | access : Enum, 77 | format : Enum) : Void 78 | 79 | # Binds one or more named texture images to a sequence of consecutive image units. 80 | fun bind_image_textures = glBindImageTextures(first : UInt, 81 | count : Int, 82 | textures : Pointer(UInt)) : Void 83 | 84 | # Binds a program pipeline to the current context. 85 | fun bind_program_pipeline = glBindProgramPipeline(pipeline : UInt) : Void 86 | 87 | # Binds a renderbuffer to a renderbuffer target. 88 | fun bind_renderbuffer = glBindRenderbuffer( target : Enum, 89 | renderbuffer : UInt) : Void 90 | 91 | # Binds a named sampler to a texturing target. 92 | fun bind_sampler = glBindSampler( unit : UInt, 93 | sampler : UInt) : Void 94 | 95 | # Binds one or more named sampler objects to a sequence of consecutive sampler units. 96 | fun bind_samplers = glBindSamplers( first : UInt, 97 | count : Sizei, 98 | samplers : Pointer(UInt)) : Void 99 | 100 | # Binds a named texture to a texturing target. 101 | fun bind_texture = glBindTexture( target : Enum, 102 | texture : UInt) : Void 103 | 104 | # Binds one or more named textures to a sequence of consecutive texture units. 105 | fun bind_textures = glBindTextures( first : UInt, 106 | count : Sizei, 107 | textures : Pointer(UInt)) : Void 108 | 109 | # Binds a transform feedback object. 110 | fun bind_transform_feedback = glBindTransformFeedback(target : Enum, 111 | id : UInt) : Void 112 | 113 | # Binds a vertex array object. 114 | fun bind_vertex_array = glBindVertexArray(array : UInt) : Void 115 | 116 | # Binds a buffer to a vertex buffer bind point. 117 | fun bind_vertex_buffer = glBindVertexBuffer(binding_index : UInt, 118 | buffer : UInt, 119 | offset : IntPtr, 120 | stride : Sizei) : Void 121 | 122 | # Binds one or more named buffer objects to a sequence of consecutive vertex buffer binding points. 123 | fun bind_vertex_buffers = glBindVertexBuffers(first : UInt, 124 | count : Sizei, 125 | buffers : Pointer(UInt), 126 | offsets : Pointer(IntPtr), 127 | strides : Pointer(Sizei)) : Void 128 | 129 | # Sets the blend color. 130 | fun blend_color = glBlendColor( red : Float, 131 | green : Float, 132 | blue : Float, 133 | alpha : Float) : Void 134 | 135 | # Sets the blend equation. 136 | fun blend_equation = glBlendEquation(mode : Enum) : Void 137 | 138 | # Sets the blend equation for the given draw buffer. 139 | fun blend_equation_i = glBlendEquationi(buf : UInt, 140 | mode : Enum) : Void 141 | 142 | # Sets the RGB blend equation and the alpha blend equation separately. 143 | fun blend_equation_separate = glBlendEquationSeparate(mode_rgb : Enum, 144 | mode_alpha : Enum) : Void 145 | 146 | # Sets the RGB blend equation and the alpha blend equation separately for the given draw buffer. 147 | fun blend_equation_separate_i = glBlendEquationSeparatei( buf : UInt, 148 | mode_rgb : Enum, 149 | mode_alpha : Enum) : Void 150 | 151 | # Specifies pixel arithmetic for RGB and Alpha components. 152 | fun blend_func = glBlendFunc( sfactor : Enum, 153 | dfactor : Enum) : Void 154 | 155 | # Specifies pixel arithmetic for RGB and Alpha components for the given draw buffer. 156 | fun blend_func_i = glBlendFunci(buf : UInt, 157 | sfactor : Enum, 158 | dfactor : Enum) : Void 159 | 160 | # Specifies pixel arithmetic for RGB and Alpha components separately. 161 | fun blend_func_separate = glBlendFuncSeparate(src_rgb : Enum, 162 | dst_rgb : Enum, 163 | src_alpha : Enum, 164 | dst_alpha : Enum) : Void 165 | 166 | # Specifies pixel arithmetic for RGB and Alpha components separately for the given draw buffer. 167 | fun blend_func_separate_i = glBlendFuncSeparatei( buf : UInt, 168 | src_rgb : Enum, 169 | dst_rgb : Enum, 170 | src_alpha : Enum, 171 | dst_alpha : Enum) : Void 172 | 173 | # Copies a block of pixels from the read framebuffer to the draw framebuffer. 174 | fun blit_framebuffer = glBlitFramebuffer( src_x0 : Int, 175 | src_y0 : Int, 176 | src_x1 : Int, 177 | src_y1 : Int, 178 | dst_x0 : Int, 179 | dst_y0 : Int, 180 | dst_x1 : Int, 181 | dst_y1 : Int, 182 | mask : Bitfield, 183 | filter : Enum) : Void 184 | 185 | # Creates and initializes a buffer object's data store. 186 | fun buffer_data = glBufferData( target : Enum, 187 | size : SizeiPtr, 188 | data : Pointer(Void), 189 | usage : Enum) : Void 190 | 191 | # Creates and initializes a buffer object's immutable data store. 192 | fun buffer_storage = glBufferStorage( target : Enum, 193 | size : SizeiPtr, 194 | data : Pointer(Void), 195 | flags : Bitfield) : Void 196 | 197 | # Updates a subset of a buffer object's data store. 198 | fun buffer_sub_data = glBufferSubData(target : Enum, 199 | offset : IntPtr, 200 | size : SizeiPtr, 201 | data : Pointer(Void)) : Void 202 | end 203 | -------------------------------------------------------------------------------- /src/lib_gl/functions/u.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Specifies the value of a uniform variable for the current program object. 3 | fun uniform_1f = glUniform1f(location : Int, 4 | v0 : Float) : Void 5 | 6 | # Specifies the value of a uniform variable for the current program object. 7 | fun uniform_2f = glUniform2f(location : Int, 8 | v0 : Float, 9 | v1 : Float) : Void 10 | 11 | # Specifies the value of a uniform variable for the current program object. 12 | fun uniform_3f = glUniform3f(location : Int, 13 | v0 : Float, 14 | v1 : Float, 15 | v2 : Float) : Void 16 | 17 | # Specifies the value of a uniform variable for the current program object. 18 | fun uniform_4f = glUniform4f(location : Int, 19 | v0 : Float, 20 | v1 : Float, 21 | v2 : Float, 22 | v3 : Float) : Void 23 | 24 | # Specifies the value of a uniform variable for the current program object. 25 | fun uniform_1i = glUniform1i( location : Int, 26 | v0 : Int) : Void 27 | 28 | # Specifies the value of a uniform variable for the current program object. 29 | fun uniform_2i = glUniform2i( location : Int, 30 | v0 : Int, 31 | v1 : Int) : Void 32 | 33 | # Specifies the value of a uniform variable for the current program object. 34 | fun uniform_3i = glUniform3i( location : Int, 35 | v0 : Int, 36 | v1 : Int, 37 | v2 : Int) : Void 38 | 39 | # Specifies the value of a uniform variable for the current program object. 40 | fun uniform_4i = glUniform4i( location : Int, 41 | v0 : Int, 42 | v1 : Int, 43 | v2 : Int, 44 | v3 : Int) : Void 45 | 46 | # Specifies the value of a uniform variable for the current program object. 47 | fun uniform_1ui = glUniform1ui( location : Int, 48 | v0 : UInt) : Void 49 | 50 | # Specifies the value of a uniform variable for the current program object. 51 | fun uniform_2ui = glUniform2ui( location : Int, 52 | v0 : UInt, 53 | v1 : UInt) : Void 54 | 55 | # Specifies the value of a uniform variable for the current program object. 56 | fun uniform_3ui = glUniform3ui( location : Int, 57 | v0 : UInt, 58 | v1 : UInt, 59 | v2 : UInt) : Void 60 | 61 | # Specifies the value of a uniform variable for the current program object. 62 | fun uniform_4ui = glUniform4ui( location : Int, 63 | v0 : UInt, 64 | v1 : UInt, 65 | v2 : UInt, 66 | v3 : UInt) : Void 67 | 68 | # Specifies the value of a uniform variable for the current program object. 69 | fun uniform_1fv = glUniform1fv( location : Int, 70 | count : Sizei, 71 | value : Pointer(Float)) : Void 72 | 73 | # Specifies the value of a uniform variable for the current program object. 74 | fun uniform_2fv = glUniform2fv( location : Int, 75 | count : Sizei, 76 | value : Pointer(Float)) : Void 77 | 78 | # Specifies the value of a uniform variable for the current program object. 79 | fun uniform_3fv = glUniform3fv( location : Int, 80 | count : Sizei, 81 | value : Pointer(Float)) : Void 82 | 83 | # Specifies the value of a uniform variable for the current program object. 84 | fun uniform_4fv = glUniform4fv( location : Int, 85 | count : Sizei, 86 | value : Pointer(Float)) : Void 87 | 88 | # Specifies the value of a uniform variable for the current program object. 89 | fun uniform_1iv = glUniform1iv( location : Int, 90 | count : Sizei, 91 | value : Pointer(Int)) : Void 92 | 93 | # Specifies the value of a uniform variable for the current program object. 94 | fun uniform_2iv = glUniform2iv( location : Int, 95 | count : Sizei, 96 | value : Pointer(Int)) : Void 97 | 98 | # Specifies the value of a uniform variable for the current program object. 99 | fun uniform_3iv = glUniform3iv( location : Int, 100 | count : Sizei, 101 | value : Pointer(Int)) : Void 102 | 103 | # Specifies the value of a uniform variable for the current program object. 104 | fun uniform_4iv = glUniform4iv( location : Int, 105 | count : Sizei, 106 | value : Pointer(Int)) : Void 107 | 108 | # Specifies the value of a uniform variable for the current program object. 109 | fun uniform_1uiv = glUniform1uiv( location : Int, 110 | count : Sizei, 111 | value : Pointer(UInt)) : Void 112 | 113 | # Specifies the value of a uniform variable for the current program object. 114 | fun uniform_2uiv = glUniform2uiv( location : Int, 115 | count : Sizei, 116 | value : Pointer(UInt)) : Void 117 | 118 | # Specifies the value of a uniform variable for the current program object. 119 | fun uniform_3uiv = glUniform3uiv( location : Int, 120 | count : Sizei, 121 | value : Pointer(UInt)) : Void 122 | 123 | # Specifies the value of a uniform variable for the current program object. 124 | fun uniform_4uiv = glUniform4uiv( location : Int, 125 | count : Sizei, 126 | value : Pointer(UInt)) : Void 127 | 128 | # Specifies the value of a uniform variable for the current program object. 129 | fun uniform_matrix_2fv = glUniformMatrix2fv(location : Int, 130 | count : Sizei, 131 | transpose : Boolean, 132 | value : Pointer(Float)) : Void 133 | 134 | # Specifies the value of a uniform variable for the current program object. 135 | fun uniform_matrix_3fv = glUniformMatrix3fv(location : Int, 136 | count : Sizei, 137 | transpose : Boolean, 138 | value : Pointer(Float)) : Void 139 | 140 | # Specifies the value of a uniform variable for the current program object. 141 | fun uniform_matrix_4fv = glUniformMatrix4fv(location : Int, 142 | count : Sizei, 143 | transpose : Boolean, 144 | value : Pointer(Float)) : Void 145 | 146 | # Specifies the value of a uniform variable for the current program object. 147 | fun uniform_matrix_2x3fv = glUniformMatrix2x3fv(location : Int, 148 | count : Sizei, 149 | transpose : Boolean, 150 | value : Pointer(Float)) : Void 151 | 152 | # Specifies the value of a uniform variable for the current program object. 153 | fun uniform_matrix_3x2fv = glUniformMatrix3x2fv(location : Int, 154 | count : Sizei, 155 | transpose : Boolean, 156 | value : Pointer(Float)) : Void 157 | 158 | # Specifies the value of a uniform variable for the current program object. 159 | fun uniform_matrix_2x4fv = glUniformMatrix2x4fv(location : Int, 160 | count : Sizei, 161 | transpose : Boolean, 162 | value : Pointer(Float)) : Void 163 | 164 | # Specifies the value of a uniform variable for the current program object. 165 | fun uniform_matrix_4x2fv = glUniformMatrix4x2fv(location : Int, 166 | count : Sizei, 167 | transpose : Boolean, 168 | value : Pointer(Float)) : Void 169 | 170 | # Specifies the value of a uniform variable for the current program object. 171 | fun uniform_matrix_3x4fv = glUniformMatrix3x4fv(location : Int, 172 | count : Sizei, 173 | transpose : Boolean, 174 | value : Pointer(Float)) : Void 175 | 176 | # Specifies the value of a uniform variable for the current program object. 177 | fun uniform_matrix_4x3fv = glUniformMatrix4x3fv(location : Int, 178 | count : Sizei, 179 | transpose : Boolean, 180 | value : Pointer(Float)) : Void 181 | 182 | # Assigns a binding point to an active uniform block. 183 | fun uniform_block_binding = glUniformBlockBinding(program : UInt, 184 | uniform_block_index : UInt, 185 | uniform_block_binding : UInt) : Void 186 | 187 | # Loads active subroutine uniforms. 188 | fun uniform_subroutines_uiv = glUniformSubroutinesuiv(shader_type : Enum, 189 | count : Sizei, 190 | indices : Pointer(UInt)) : Void 191 | 192 | # Unmaps a buffer object's data store. 193 | fun unmap_buffer = glUnmapBuffer(target : Enum) : Boolean 194 | 195 | # Installs a program object as part of current rendering state. 196 | fun use_program = glUseProgram(program : UInt) : Void 197 | 198 | # Binds stages of a program object to a program pipeline. 199 | fun use_program_stages = glUseProgramStages(pipeline : UInt, 200 | stages : Bitfield, 201 | program : UInt) : Void 202 | end -------------------------------------------------------------------------------- /src/lib_gl/functions/d.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Specifies a callback to receive debugging messages from the GL. 3 | fun debug_message_callback = glDebugMessageCallback(callback : Debugproc, 4 | user_param : Pointer(Void)) : Void 5 | 6 | # Controls the reporting of debug messages in a debug context. 7 | fun debug_message_control = glDebugMessageControl(source : Enum, 8 | message_type : Enum, 9 | severity : Enum, 10 | count : Sizei, 11 | ids : Pointer(UInt), 12 | enabled : Boolean) : Void 13 | 14 | # Injects an application-supplied message into the debug message queue. 15 | fun debug_message_insert = glDebugMessageInsert(source : Enum, 16 | message_type : Enum, 17 | id : UInt, 18 | severity : Enum, 19 | length : Sizei, 20 | message : Pointer(Char)) : Void 21 | 22 | # Deletes named buffer objects. 23 | fun delete_buffers = glDeleteBuffers( n : Sizei, 24 | buffers : Pointer(UInt)) : Void 25 | 26 | # Deletes framebuffer objects. 27 | fun delete_framebuffers = glDeleteFramebuffers( n : Sizei, 28 | framebuffers : Pointer(UInt)) : Void 29 | 30 | # Deletes a program object. 31 | fun delete_program = glDeleteProgram(program : UInt) : Void 32 | 33 | # Deletes program pipeline objects. 34 | fun delete_program_pipelines = glDeleteProgramPipelines(n : Sizei, 35 | pipelines : Pointer(UInt)) : Void 36 | 37 | # Deletes named query objects. 38 | fun delete_queries = glDeleteQueries( n : Sizei, 39 | ids : Pointer(UInt)) : Void 40 | 41 | # Deletes renderbuffer objects. 42 | fun delete_renderbuffers = glDeleteRenderbuffers( n : Sizei, 43 | renderbuffers : Pointer(UInt)) : Void 44 | 45 | # Deletes named sampler objects. 46 | fun delete_samplers = glDeleteSamplers( n : Sizei, 47 | samplers : Pointer(UInt)) : Void 48 | 49 | # Deletes a shader object. 50 | fun delete_shader = glDeleteShader(shader : UInt) : Void 51 | 52 | # Deletes a sync object. 53 | fun delete_sync = glDeleteSync(sync : Sync) : Void 54 | 55 | # Deletes named textures. 56 | fun delete_textures = glDeleteTextures( n : Sizei, 57 | textures : Pointer(UInt)) : Void 58 | 59 | # Deletes transform feedback objects. 60 | fun delete_transform_feedbacks = glDeleteTransformFeedbacks(n : Sizei, 61 | ids : Pointer(UInt)) : Void 62 | 63 | # Deletes vertex array objects. 64 | fun delete_vertex_arrays = glDeleteVertexArrays(n : Sizei, 65 | arrays : Pointer(UInt)) : Void 66 | 67 | # Specifies the value used for depth buffer comparisons. 68 | fun depth_func = glDepthFunc(func : Enum) : Void 69 | 70 | # Enbales or disables writing into the depth buffer. 71 | fun depth_mask = glDepthMask(flag : Boolean) : Void 72 | 73 | # Specifies mapping of depth values from normalized device coordinates to window coordinates 74 | fun depth_range = glDepthRange( near_val : Double, 75 | far_val : Double) : Void 76 | 77 | # Specifies mapping of depth values from normalized device coordinates to window coordinates 78 | fun depth_range_f = glDepthRangef(near_val : Float, 79 | far_val : Float) : Void 80 | 81 | # Specifies mapping of depth values from normalized device coordinates to window coordinates for a specified set of viewports. 82 | fun depth_range_array_v = glDepthRangeArrayv( first : UInt, 83 | count : Sizei, 84 | v : Pointer(Double)) : Void 85 | 86 | # Specifies mapping of depth values from normalized device coordinates to window coordinates for a specified viewport. 87 | fun depth_range_indexed = glDepthRangeIndexed(index : UInt, 88 | near_val : Double, 89 | far_val : Double) : Void 90 | 91 | # Detaches a shader object from a program object to which it is attached. 92 | fun detach_shader = glDetachShader( program : UInt, 93 | shader : UInt) : Void 94 | 95 | # Disables server-side GL capabilities. 96 | fun disable = glDisable(cap : Enum) : Void 97 | 98 | # Disables server-side GL capabilities. 99 | fun disable_i = glDisablei( cap : Enum, 100 | index : UInt) : Void 101 | 102 | # Disables a generic vertex attribute array. 103 | fun disable_vertex_attrib_array = glDisableVertexAttribArray(index : UInt) : Void 104 | 105 | # Launches one or more compute work groups. 106 | fun dispatch_compute = glDispatchCompute( num_groups_x : UInt, 107 | num_groups_y : UInt, 108 | num_groups_z : UInt) : Void 109 | 110 | # Launches one or more compute work groups using parameters stored in a buffer. 111 | fun dispatch_compute_indirect = glDispatchComputeIndirect(indirect : IntPtr) : Void 112 | 113 | # Renders primitives from array data. 114 | fun draw_arrays = glDrawArrays( mode : Enum, 115 | first : Int, 116 | count : Sizei) : Void 117 | 118 | # Renders primitives from array data, taking parameters from memory. 119 | fun draw_arrays_indirect = glDrawArraysIndirect(mode : Enum, 120 | indirect : Pointer(Void)) : Void 121 | 122 | # Draws multiple instances of a range of elements. 123 | fun draw_arrays_instanced = glDrawArraysInstanced(mode : Enum, 124 | first : Int, 125 | count : Sizei, 126 | prim_count : Sizei) : Void 127 | 128 | # Draws multiple instances of a range of elements with offset applied to instanced attributes 129 | fun draw_arrays_instanced_base_instance = glDrawArraysInstancedBaseInstance(mode : Enum, 130 | first : Int, 131 | count : Sizei, 132 | prim_count : Sizei, 133 | base_instance : UInt) : Void 134 | 135 | # Specifies which color buffers are to be drawn into. 136 | fun draw_buffer = glDrawBuffer(mode : Enum) : Void 137 | 138 | # Specifies a list of color buffers to be drawn into. 139 | fun draw_buffers = glDrawBuffers( n : Sizei, 140 | bufs : Pointer(Enum)) : Void 141 | 142 | # Renders primitives from array data. 143 | fun draw_elements = glDrawElements( mode : Enum, 144 | count : Sizei, 145 | value_type : Enum, 146 | indices : Pointer(Void)) : Void 147 | 148 | # Renders primitives from array data with a per-element offset. 149 | fun draw_elements_base_vertex = glDrawElementsBaseVertex( mode : Enum, 150 | count : Sizei, 151 | value_type : Enum, 152 | indices : Pointer(Void), 153 | base_vertex : Int) : Void 154 | 155 | # Renders indexed primitives from array data, taking parameters from memory. 156 | fun draw_elements_indirect = glDrawElementsIndirect(mode : Enum, 157 | data_type : Enum, 158 | indirect : Pointer(Void)) : Void 159 | 160 | # Draws multiple instances of a set of elements. 161 | fun draw_elements_instanced = glDrawElementsInstanced(mode : Enum, 162 | count : Sizei, 163 | value_type : Enum, 164 | indices : Pointer(Void), 165 | prim_count : Sizei) : Void 166 | 167 | # Draws multiple instances of a set of elements with offset applied to instanced attributes. 168 | fun draw_elements_instanced_base_instance = glDrawElementsInstancedBaseInstance(mode : Enum, 169 | count : Sizei, 170 | value_type : Enum, 171 | indices : Pointer(Void), 172 | prim_count : Sizei, 173 | base_instance : UInt) : Void 174 | 175 | # Renders multiple instances of a set of primitives from array data with a per-element offset 176 | fun draw_elements_instanced_base_vertex = glDrawElementsInstancedBaseVertex(mode : Enum, 177 | count : Sizei, 178 | value_type : Enum, 179 | indices : Pointer(Void), 180 | prim_count : Sizei, 181 | base_vertex : Int) : Void 182 | 183 | # Renders multiple instances of a set of primitives from array data with a per-element offset. 184 | fun draw_elements_instanced_base_vertex_base_instance = glDrawElementsInstancedBaseVertexBaseInstance(mode : Enum, 185 | count : Sizei, 186 | value_type : Enum, 187 | indices : Pointer(Void), 188 | prim_count : Sizei, 189 | base_vertex : Int, 190 | base_instance : UInt) : Void 191 | 192 | # Renders primitives from array data. 193 | fun draw_range_elements = glDrawRangeElements(mode : Enum, 194 | min : UInt, 195 | max : UInt, 196 | count : Sizei, 197 | value_type : Enum, 198 | indices : Pointer(Void)) : Void 199 | 200 | # Renders primitives from array data with a per-element offset. 201 | fun draw_range_elements_base_vertex = glDrawRangeElementsBaseVertex(mode : Enum, 202 | min : UInt, 203 | max : UInt, 204 | count : Sizei, 205 | value_type : Enum, 206 | indices : Pointer(Void), 207 | base_vertex : Int) : Void 208 | 209 | # Renders primitives using a count derived from a transform feedback object. 210 | fun draw_transform_feedback = glDrawTransformFeedback(mode : Enum, 211 | id : UInt) : Void 212 | 213 | # Renders multiple instances of primitives using a count derived from a transform feedback object. 214 | fun draw_transform_feedback_instanced = glDrawTransformFeedbackInstanced( mode : Enum, 215 | id : UInt, 216 | instance_count : Sizei) : Void 217 | 218 | # Renders primitives using a count derived from a specified stream of a transform feedback object. 219 | fun draw_transform_feedback_stream = glDrawTransformFeedbackStream( mode : Enum, 220 | id : UInt, 221 | stream : UInt) : Void 222 | 223 | # Renders multiple instances of primitives using a count derived from a specified stream of a transform feedback object. 224 | fun draw_transform_feedback_stream_instanced = glDrawTransformFeedbackStreamInstanced(mode : Enum, 225 | id : UInt, 226 | stream : UInt, 227 | instance_count : Sizei) : Void 228 | end -------------------------------------------------------------------------------- /src/lib_gl/functions/c.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | 3 | fun color3f = glColor3f(red : LibC::Float, green : LibC::Float, blue : LibC::Float) : Void 4 | 5 | # Checks the completeness status of a framebuffer. 6 | fun check_framebuffer_status = glCheckFramebufferStatus(target : Enum) : Enum 7 | 8 | # Specifies whether data read via `read_pixels` should be clamped. 9 | fun clamp_color = glClampColor( target : Enum, 10 | clamp : Enum) : Void 11 | 12 | # Clears buffers to preset values. 13 | fun clear = glClear(mask : Bitfield) : Void 14 | 15 | # Clears individual buffers of the currently bound draw framebuffer. 16 | fun clear_buffer_iv = glClearBufferiv(buffer : Enum, 17 | draw_buffer : Int, 18 | value : Pointer(Int)) : Void 19 | 20 | # Clears individual buffers of the currently bound draw framebuffer. 21 | fun clear_buffer_uiv = glClearBufferuiv(buffer : Enum, 22 | draw_buffer : Int, 23 | value : Pointer(UInt)) : Void 24 | 25 | # Clears individual buffers of the currently bound draw framebuffer. 26 | fun clear_buffer_fv = glClearBufferfv(buffer : Enum, 27 | draw_buffer : Int, 28 | value : Pointer(Float)) : Void 29 | 30 | # Clears individual buffers of the currently bound draw framebuffer. 31 | fun clear_buffer_fi = glClearBufferfi(buffer : Enum, 32 | draw_buffer : Int, 33 | depth : Float, 34 | stencil : Int) : Void 35 | 36 | # Fills a buffer object's data store with a fixed value. 37 | fun clear_buffer_data = glClearBufferData(target : Enum, 38 | internal_format : Enum, 39 | format : Enum, 40 | data_type : Enum, 41 | data : Pointer(Void)) : Void 42 | 43 | # Fills all or part of a buffer object's data store with a fixed value. 44 | fun clear_buffer_sub_data = glClearBufferSubData( target : Enum, 45 | internal_format : Enum, 46 | offset : IntPtr, 47 | size : SizeiPtr, 48 | format : Enum, 49 | data_type : Enum, 50 | data : Pointer(Void)) : Void 51 | 52 | # Specifies clear values for the color buffers. 53 | fun clear_color = glClearColor( red : Float, 54 | green : Float, 55 | blue : Float, 56 | alpha : Float) : Void 57 | 58 | # Specifies the clear value for the depth buffer. 59 | fun clear_depth = glClearDepth(depth : Double) : Void 60 | 61 | # Specifies the clear value for the depth buffer. 62 | fun clear_depth_f = glClearDepthf(depth : Float) : Void 63 | 64 | # Specifies the clear value for the stencil buffer. 65 | fun clear_stencil = glClearStencil(s : Int) : Void 66 | 67 | # Fills all of a texture image with a constant value. 68 | fun clear_tex_image = glClearTexImage(texture : UInt, 69 | level : Int, 70 | format : Enum, 71 | data_type : Enum, 72 | data : Pointer(Void)) : Void 73 | 74 | # Fills all or part of a texture image with a constant value. 75 | fun clear_tex_sub_image = glClearTexSubImage( texture : UInt, 76 | level : Int, 77 | x_offset : Int, 78 | y_offset : Int, 79 | z_offset : Int, 80 | width : SizeiPtr, 81 | height : SizeiPtr, 82 | depth : SizeiPtr, 83 | format : Enum, 84 | data_type : Enum, 85 | data : Pointer(Void)) : Void 86 | 87 | # Blocks and waits for a sync object to become signaled. 88 | fun client_wait_sync = glClientWaitSync(sync : Sync, 89 | flags : Bitfield, 90 | timeout : ULong) : Enum 91 | 92 | # Enables and disables writing of framebuffer color components. 93 | fun color_mask = glColorMask( red : Boolean, 94 | green : Boolean, 95 | blue : Boolean, 96 | alpha : Boolean) : Void 97 | 98 | # Enables and disables writing of framebuffer color components. 99 | fun color_mask_i = glColorMaski(buf : UInt, 100 | red : Boolean, 101 | green : Boolean, 102 | blue : Boolean, 103 | alpha : Boolean) : Void 104 | 105 | # Compiles a shader object. 106 | fun compile_shader = glCompileShader(shader : UInt) : Void 107 | 108 | # Specifies a texture image in a compressed format. 109 | fun compressed_tex_image_1d = glCompressedTexImage1D( target : Enum, 110 | level : Int, 111 | internal_format : Enum, 112 | width : Sizei, 113 | border : Int, 114 | image_size : Sizei, 115 | data : Pointer(Void)) : Void 116 | 117 | # Specifies a texture image in a compressed format. 118 | fun compressed_tex_image_2d = glCompressedTexImage2D( target : Enum, 119 | level : Int, 120 | internal_format : Enum, 121 | width : Sizei, 122 | height : Sizei, 123 | border : Int, 124 | image_size : Sizei, 125 | data : Pointer(Void)) : Void 126 | 127 | # Specifies a texture image in a compressed format. 128 | fun compressed_tex_image_3d = glCompressedTexImage3D( target : Enum, 129 | level : Int, 130 | internal_format : Enum, 131 | width : Sizei, 132 | height : Sizei, 133 | depth : Sizei, 134 | border : Int, 135 | image_size : Sizei, 136 | data : Pointer(Void)) : Void 137 | 138 | # Specifies a texture subimage in a compressed format. 139 | fun compressed_tex_sub_image_1d = glCompressedTexSubImage1D(target : Enum, 140 | level : Int, 141 | x_offset : Int, 142 | width : Sizei, 143 | format : Enum, 144 | image_size : Sizei, 145 | data : Pointer(Void)) : Void 146 | 147 | # Specifies a texture subimage in a compressed format. 148 | fun compressed_tex_sub_image_2d = glCompressedTexSubImage2D(target : Enum, 149 | level : Int, 150 | x_offset : Int, 151 | y_offset : Int, 152 | width : Sizei, 153 | height : Sizei, 154 | format : Enum, 155 | image_size : Sizei, 156 | data : Pointer(Void)) : Void 157 | 158 | # Specifies a texture subimage in a compressed format. 159 | fun compressed_tex_sub_image_3d = glCompressedTexSubImage3D(target : Enum, 160 | level : Int, 161 | x_offset : Int, 162 | y_offset : Int, 163 | z_offset : Int, 164 | width : Sizei, 165 | height : Sizei, 166 | depth : Sizei, 167 | format : Enum, 168 | image_size : Sizei, 169 | data : Pointer(Void)) : Void 170 | 171 | # Copies part of the data store of a buffer object to the data store of another buffer object. 172 | fun copy_buffer_sub_data = glCopyBufferSubData( read_target : Enum, 173 | write_target : Enum, 174 | read_offset : IntPtr, 175 | write_offset : IntPtr, 176 | size : SizeiPtr) : Void 177 | 178 | # Performs a raw data copy between two images. 179 | fun copy_image_sub_data = glCopyImageSubData( src_name : UInt, 180 | src_target : Enum, 181 | src_level : Int, 182 | src_x : Int, 183 | src_y : Int, 184 | src_z : Int, 185 | dst_name : UInt, 186 | dst_target : Enum, 187 | dst_level : Int, 188 | dst_x : Int, 189 | dst_y : Int, 190 | dst_z : Int, 191 | src_width : Sizei, 192 | src_height : Sizei, 193 | src_depth : Sizei) : Void 194 | 195 | # Copies pixels into a texture image. 196 | fun copy_tex_image_1d = glCopyTexImage1D( target : Enum, 197 | level : Int, 198 | internal_format : Enum, 199 | x : Int, 200 | y : Int, 201 | width : Sizei, 202 | border : Int) : Void 203 | 204 | # Copies pixels into a texture image. 205 | fun copy_tex_image_2d = glCopyTexImage2D( target : Enum, 206 | level : Int, 207 | internal_format : Enum, 208 | x : Int, 209 | y : Int, 210 | width : Sizei, 211 | height : Sizei, 212 | border : Int) : Void 213 | 214 | # Copies a texture subimage. 215 | fun copy_tex_sub_image_1d = glCopyTexSubImage1D(target : Enum, 216 | level : Int, 217 | x_offset : Int, 218 | x : Int, 219 | y : Int, 220 | width : Sizei) : Void 221 | 222 | # Copies a texture subimage. 223 | fun copy_tex_sub_image_2d = glCopyTexSubImage2D(target : Enum, 224 | level : Int, 225 | x_offset : Int, 226 | y_offset : Int, 227 | x : Int, 228 | y : Int, 229 | width : Sizei, 230 | height : Sizei) : Void 231 | 232 | # Copies a texture subimage. 233 | fun copy_tex_sub_image_3d = glCopyTexSubImage3D(target : Enum, 234 | level : Int, 235 | x_offset : Int, 236 | y_offset : Int, 237 | z_offset : Int, 238 | x : Int, 239 | y : Int, 240 | width : Sizei, 241 | height : Sizei) : Void 242 | 243 | # Creates a program object. 244 | fun create_program = glCreateProgram : UInt 245 | 246 | # Creates a shader object. 247 | fun create_shader = glCreateShader(shader_type : Enum) : UInt 248 | 249 | # Creates a standalone program from an array of null-terminated source code strings. 250 | fun create_shader_program_v = glCreateShaderProgramv( shader_type : Enum, 251 | count : SizeiPtr, 252 | strings : Pointer(Pointer(Char))) : UInt 253 | 254 | # Specifies whether front or back facing facets can be culled. 255 | fun cull_face = glCullFace(mode : Enum) : Void 256 | end 257 | -------------------------------------------------------------------------------- /src/lib_gl/functions/p.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | # Specifies the parameters for patch primitives 3 | fun patch_parameter_i = glPatchParameteri(name : Enum, 4 | value : Int) : Void 5 | 6 | # Specifies the parameters for patch primitives 7 | fun patch_parameter_fv = glPatchParameterfv(name : Enum, 8 | values : Pointer(Float)) : Void 9 | 10 | # Pauses transform feedback operations. 11 | fun pause_transform_feedback = glPauseTransformFeedback : Void 12 | 13 | # Sets pixel storage modes. 14 | fun pixel_store_f = glPixelStoref(p_name : Enum, 15 | param : Float) : Void 16 | 17 | # Sets pixel storage modes. 18 | fun pixel_store_i = glPixelStorei(p_name : Enum, 19 | param : Int) : Void 20 | 21 | # Specifies point parameters. 22 | fun point_parameter_f = glPointParameterf(p_name : Enum, 23 | param : Float) : Void 24 | 25 | # Specifies point parameters. 26 | fun point_parameter_i = glPointParameteri(p_name : Enum, 27 | param : Int) : Void 28 | 29 | # Specifies the diameter of rasterized points. 30 | fun point_size = glPointSize(size : Float) : Void 31 | 32 | # Selects a polygon rasterization mode. 33 | fun polygon_mode = glPolygonMode( face : Enum, 34 | mode : Enum) : Void 35 | 36 | # Sets the scale and units used to calculate depth values. 37 | fun polygon_offset = glPolygonOffset( factor : Float, 38 | units : Float) : Void 39 | 40 | # Pops the active debug group. 41 | fun pop_debug_group = glPopDebugGroup : Void 42 | 43 | # Specifies the primitive restart index. 44 | fun primitive_restart_index = glPrimitiveRestartIndex(index : UInt) : Void 45 | 46 | # Loads a program object with a program binary. 47 | fun program_binary = glProgramBinary( program : UInt, 48 | binary_format : Enum, 49 | binary : Pointer(Void), 50 | length : Sizei) : Void 51 | 52 | # Specifies a parameter for a program object. 53 | fun program_parameter_i = glProgramParameteri(program : UInt, 54 | p_name : Enum, 55 | value : Int) : Void 56 | 57 | # Specifies the value of a uniform variable for a specified program object. 58 | fun program_uniform_1f = glProgramUniform1f(program : UInt, 59 | location : Int, 60 | v0 : Float) : Void 61 | 62 | # Specifies the value of a uniform variable for a specified program object. 63 | fun program_uniform_2f = glProgramUniform2f(program : UInt, 64 | location : Int, 65 | v0 : Float, 66 | v1 : Float) : Void 67 | 68 | # Specifies the value of a uniform variable for a specified program object. 69 | fun program_uniform_3f = glProgramUniform3f(program : UInt, 70 | location : Int, 71 | v0 : Float, 72 | v1 : Float, 73 | v2 : Float) : Void 74 | 75 | # Specifies the value of a uniform variable for a specified program object. 76 | fun program_uniform_4f = glProgramUniform4f(program : UInt, 77 | location : Int, 78 | v0 : Float, 79 | v1 : Float, 80 | v2 : Float, 81 | v3 : Float) : Void 82 | 83 | # Specifies the value of a uniform variable for a specified program object. 84 | fun program_uniform_1i = glProgramUniform1i(program : UInt, 85 | location : Int, 86 | v0 : Int) : Void 87 | 88 | # Specifies the value of a uniform variable for a specified program object. 89 | fun program_uniform_2i = glProgramUniform2i(program : UInt, 90 | location : Int, 91 | v0 : Int, 92 | v1 : Int) : Void 93 | 94 | # Specifies the value of a uniform variable for a specified program object. 95 | fun program_uniform_3i = glProgramUniform3i(program : UInt, 96 | location : Int, 97 | v0 : Int, 98 | v1 : Int, 99 | v2 : Int) : Void 100 | 101 | # Specifies the value of a uniform variable for a specified program object. 102 | fun program_uniform_4i = glProgramUniform4i(program : UInt, 103 | location : Int, 104 | v0 : Int, 105 | v1 : Int, 106 | v2 : Int, 107 | v3 : Int) : Void 108 | 109 | # Specifies the value of a uniform variable for a specified program object. 110 | fun program_uniform_1ui = glProgramUniform1ui(program : UInt, 111 | location : Int, 112 | v0 : UInt) : Void 113 | 114 | # Specifies the value of a uniform variable for a specified program object. 115 | fun program_uniform_2ui = glProgramUniform2ui(program : UInt, 116 | location : Int, 117 | v0 : UInt, 118 | v1 : UInt) : Void 119 | 120 | # Specifies the value of a uniform variable for a specified program object. 121 | fun program_uniform_3ui = glProgramUniform3ui(program : UInt, 122 | location : Int, 123 | v0 : UInt, 124 | v1 : UInt, 125 | v2 : UInt) : Void 126 | 127 | # Specifies the value of a uniform variable for a specified program object. 128 | fun program_uniform_4ui = glProgramUniform4ui(program : UInt, 129 | location : Int, 130 | v0 : UInt, 131 | v1 : UInt, 132 | v2 : UInt, 133 | v3 : UInt) : Void 134 | 135 | # Specifies the value of a uniform variable for a specified program object. 136 | fun program_uniform_1fv = glProgramUniform1fv(program : UInt, 137 | location : Int, 138 | count : Sizei, 139 | value : Pointer(Float)) : Void 140 | 141 | # Specifies the value of a uniform variable for a specified program object. 142 | fun program_uniform_2fv = glProgramUniform2fv(program : UInt, 143 | location : Int, 144 | count : Sizei, 145 | value : Pointer(Float)) : Void 146 | 147 | # Specifies the value of a uniform variable for a specified program object. 148 | fun program_uniform_3fv = glProgramUniform3fv(program : UInt, 149 | location : Int, 150 | count : Sizei, 151 | value : Pointer(Float)) : Void 152 | 153 | # Specifies the value of a uniform variable for a specified program object. 154 | fun program_uniform_4fv = glProgramUniform4fv(program : UInt, 155 | location : Int, 156 | count : Sizei, 157 | value : Pointer(Float)) : Void 158 | 159 | # Specifies the value of a uniform variable for a specified program object. 160 | fun program_uniform_1iv = glProgramUniform1iv(program : UInt, 161 | location : Int, 162 | count : Sizei, 163 | value : Pointer(Int)) : Void 164 | 165 | # Specifies the value of a uniform variable for a specified program object. 166 | fun program_uniform_2iv = glProgramUniform2iv(program : UInt, 167 | location : Int, 168 | count : Sizei, 169 | value : Pointer(Int)) : Void 170 | 171 | # Specifies the value of a uniform variable for a specified program object. 172 | fun program_uniform_3iv = glProgramUniform3iv(program : UInt, 173 | location : Int, 174 | count : Sizei, 175 | value : Pointer(Int)) : Void 176 | 177 | # Specifies the value of a uniform variable for a specified program object. 178 | fun program_uniform_4iv = glProgramUniform4iv(program : UInt, 179 | location : Int, 180 | count : Sizei, 181 | value : Pointer(Int)) : Void 182 | 183 | # Specifies the value of a uniform variable for a specified program object. 184 | fun program_uniform_1uiv = glProgramUniform1uiv(program : UInt, 185 | location : Int, 186 | count : Sizei, 187 | value : Pointer(UInt)) : Void 188 | 189 | # Specifies the value of a uniform variable for a specified program object. 190 | fun program_uniform_2uiv = glProgramUniform2uiv(program : UInt, 191 | location : Int, 192 | count : Sizei, 193 | value : Pointer(UInt)) : Void 194 | 195 | # Specifies the value of a uniform variable for a specified program object. 196 | fun program_uniform_3uiv = glProgramUniform3uiv(program : UInt, 197 | location : Int, 198 | count : Sizei, 199 | value : Pointer(UInt)) : Void 200 | 201 | # Specifies the value of a uniform variable for a specified program object. 202 | fun program_uniform_4uiv = glProgramUniform4uiv(program : UInt, 203 | location : Int, 204 | count : Sizei, 205 | value : Pointer(UInt)) : Void 206 | 207 | # Specifies the value of a uniform variable for a specified program object. 208 | fun program_uniform_matrix_2fv = glProgramUniformMatrix2fv( program : UInt, 209 | location : Int, 210 | count : Sizei, 211 | transpose : Boolean, 212 | value : Pointer(Float)) : Void 213 | 214 | # Specifies the value of a uniform variable for a specified program object. 215 | fun program_uniform_matrix_3fv = glProgramUniformMatrix3fv( program : UInt, 216 | location : Int, 217 | count : Sizei, 218 | transpose : Boolean, 219 | value : Pointer(Float)) : Void 220 | 221 | # Specifies the value of a uniform variable for a specified program object. 222 | fun program_uniform_matrix_4fv = glProgramUniformMatrix4fv( program : UInt, 223 | location : Int, 224 | count : Sizei, 225 | transpose : Boolean, 226 | value : Pointer(Float)) : Void 227 | 228 | # Specifies the value of a uniform variable for a specified program object. 229 | fun program_uniform_matrix_2x3fv = glProgramUniformMatrix2x3fv( program : UInt, 230 | location : Int, 231 | count : Sizei, 232 | transpose : Boolean, 233 | value : Pointer(Float)) : Void 234 | 235 | # Specifies the value of a uniform variable for a specified program object. 236 | fun program_uniform_matrix_3x2fv = glProgramUniformMatrix3x2fv( program : UInt, 237 | location : Int, 238 | count : Sizei, 239 | transpose : Boolean, 240 | value : Pointer(Float)) : Void 241 | 242 | # Specifies the value of a uniform variable for a specified program object. 243 | fun program_uniform_matrix_2x4fv = glProgramUniformMatrix2x4fv( program : UInt, 244 | location : Int, 245 | count : Sizei, 246 | transpose : Boolean, 247 | value : Pointer(Float)) : Void 248 | 249 | # Specifies the value of a uniform variable for a specified program object. 250 | fun program_uniform_matrix_4x2fv = glProgramUniformMatrix4x2fv( program : UInt, 251 | location : Int, 252 | count : Sizei, 253 | transpose : Boolean, 254 | value : Pointer(Float)) : Void 255 | 256 | # Specifies the value of a uniform variable for a specified program object. 257 | fun program_uniform_matrix_3x4fv = glProgramUniformMatrix3x4fv( program : UInt, 258 | location : Int, 259 | count : Sizei, 260 | transpose : Boolean, 261 | value : Pointer(Float)) : Void 262 | 263 | # Specifies the value of a uniform variable for a specified program object. 264 | fun program_uniform_matrix_4x3fv = glProgramUniformMatrix4x3fv( program : UInt, 265 | location : Int, 266 | count : Sizei, 267 | transpose : Boolean, 268 | value : Pointer(Float)) : Void 269 | 270 | # Specifies the vertex to be used as the source of data for flat shaded varings. 271 | fun provoking_vertex = glProvokingVertex(provoke_mode : Enum) : Void 272 | 273 | # Pushes a named debug group into the command stream. 274 | fun push_debug_group = glPushDebugGroup(source : Enum, 275 | id : UInt, 276 | length : Sizei, 277 | message : Pointer(Char)) : Void 278 | end -------------------------------------------------------------------------------- /src/lib_gl/functions/v.cr: -------------------------------------------------------------------------------- 1 | lib LibGL 2 | 3 | fun vertex3f = glVertex3f(x : Float, 4 | y : Float, 5 | z : Float) : Void 6 | 7 | fun vertex2f = glVertex2f(x : Float, 8 | y : Float) : Void 9 | 10 | # Validates a program object. 11 | fun validate_program = glValidateProgram(program : UInt) : Void 12 | 13 | # Validates a program pipeline object against current GL State. 14 | fun validate_program_pipeline = glValidateProgramPipeline(pipeline : UInt) : Void 15 | 16 | # Specifies the value of a generic vertex attribute. 17 | fun vertex_attrib_1f = glVertexAttrib1f(index : UInt, 18 | v0 : Float) : Void 19 | 20 | # Specifies the value of a generic vertex attribute. 21 | fun vertex_attrib_2f = glVertexAttrib2f(index : UInt, 22 | v0 : Float, 23 | v1 : Float) : Void 24 | 25 | # Specifies the value of a generic vertex attribute. 26 | fun vertex_attrib_3f = glVertexAttrib3f(index : UInt, 27 | v0 : Float, 28 | v1 : Float, 29 | v2 : Float) : Void 30 | 31 | # Specifies the value of a generic vertex attribute. 32 | fun vertex_attrib_4f = glVertexAttrib4f(index : UInt, 33 | v0 : Float, 34 | v1 : Float, 35 | v2 : Float, 36 | v3 : Float) : Void 37 | 38 | # Specifies the value of a generic vertex attribute. 39 | fun vertex_attrib_1s = glVertexAttrib1s(index : UInt, 40 | v0 : Short) : Void 41 | 42 | # Specifies the value of a generic vertex attribute. 43 | fun vertex_attrib_2s = glVertexAttrib2s(index : UInt, 44 | v0 : Short, 45 | v1 : Short) : Void 46 | 47 | # Specifies the value of a generic vertex attribute. 48 | fun vertex_attrib_3s = glVertexAttrib3s(index : UInt, 49 | v0 : Short, 50 | v1 : Short, 51 | v2 : Short) : Void 52 | 53 | # Specifies the value of a generic vertex attribute. 54 | fun vertex_attrib_4s = glVertexAttrib4s(index : UInt, 55 | v0 : Short, 56 | v1 : Short, 57 | v2 : Short, 58 | v3 : Short) : Void 59 | 60 | # Specifies the value of a generic vertex attribute. 61 | fun vertex_attrib_1d = glVertexAttrib1d(index : UInt, 62 | v0 : Double) : Void 63 | 64 | # Specifies the value of a generic vertex attribute. 65 | fun vertex_attrib_2d = glVertexAttrib2d(index : UInt, 66 | v0 : Double, 67 | v1 : Double) : Void 68 | 69 | # Specifies the value of a generic vertex attribute. 70 | fun vertex_attrib_3d = glVertexAttrib3d(index : UInt, 71 | v0 : Double, 72 | v1 : Double, 73 | v2 : Double) : Void 74 | 75 | # Specifies the value of a generic vertex attribute. 76 | fun vertex_attrib_4d = glVertexAttrib4d(index : UInt, 77 | v0 : Double, 78 | v1 : Double, 79 | v2 : Double, 80 | v3 : Double) : Void 81 | 82 | # Specifies the value of a generic vertex attribute. 83 | fun vertex_attrib_i1i = glVertexAttribI1i(index : UInt, 84 | v0 : Int) : Void 85 | 86 | # Specifies the value of a generic vertex attribute. 87 | fun vertex_attrib_i2i = glVertexAttribI2i(index : UInt, 88 | v0 : Int, 89 | v1 : Int) : Void 90 | 91 | # Specifies the value of a generic vertex attribute. 92 | fun vertex_attrib_i3i = glVertexAttribI3i(index : UInt, 93 | v0 : Int, 94 | v1 : Int, 95 | v2 : Int) : Void 96 | 97 | # Specifies the value of a generic vertex attribute. 98 | fun vertex_attrib_i4i = glVertexAttribI4i(index : UInt, 99 | v0 : Int, 100 | v1 : Int, 101 | v2 : Int, 102 | v3 : Int) : Void 103 | 104 | # Specifies the value of a generic vertex attribute. 105 | fun vertex_attrib_i1ui = glVertexAttribI1ui(index : UInt, 106 | v0 : UInt) : Void 107 | 108 | # Specifies the value of a generic vertex attribute. 109 | fun vertex_attrib_i2ui = glVertexAttribI2ui(index : UInt, 110 | v0 : UInt, 111 | v1 : UInt) : Void 112 | 113 | # Specifies the value of a generic vertex attribute. 114 | fun vertex_attrib_i3ui = glVertexAttribI3ui(index : UInt, 115 | v0 : UInt, 116 | v1 : UInt, 117 | v2 : UInt) : Void 118 | 119 | # Specifies the value of a generic vertex attribute. 120 | fun vertex_attrib_i4ui = glVertexAttribI4ui(index : UInt, 121 | v0 : UInt, 122 | v1 : UInt, 123 | v2 : UInt, 124 | v3 : UInt) : Void 125 | 126 | # Specifies the value of a generic vertex attribute. 127 | fun vertex_attrib_l1d = glVertexAttribL1d(index : UInt, 128 | v0 : Double) : Void 129 | 130 | # Specifies the value of a generic vertex attribute. 131 | fun vertex_attrib_l2d = glVertexAttribL2d(index : UInt, 132 | v0 : Double, 133 | v1 : Double) : Void 134 | 135 | # Specifies the value of a generic vertex attribute. 136 | fun vertex_attrib_l3d = glVertexAttribL3d(index : UInt, 137 | v0 : Double, 138 | v1 : Double, 139 | v2 : Double) : Void 140 | 141 | # Specifies the value of a generic vertex attribute. 142 | fun vertex_attrib_l4d = glVertexAttribL4d(index : UInt, 143 | v0 : Double, 144 | v1 : Double, 145 | v2 : Double, 146 | v3 : Double) : Void 147 | 148 | # Specifies the value of a generic vertex attribute. 149 | fun vertex_attrib_4nub = glVertexAttrib4Nub(index : UInt, 150 | v0 : UByte, 151 | v1 : UByte, 152 | v2 : UByte, 153 | v3 : UByte) : Void 154 | 155 | # Specifies the value of a generic vertex attribute. 156 | fun vertex_attrib_1fv = glVertexAttrib1fv(index : UInt, 157 | v : Pointer(Float)) : Void 158 | 159 | # Specifies the value of a generic vertex attribute. 160 | fun vertex_attrib_2fv = glVertexAttrib2fv(index : UInt, 161 | v : Pointer(Float)) : Void 162 | 163 | # Specifies the value of a generic vertex attribute. 164 | fun vertex_attrib_3fv = glVertexAttrib3fv(index : UInt, 165 | v : Pointer(Float)) : Void 166 | 167 | # Specifies the value of a generic vertex attribute. 168 | fun vertex_attrib_4fv = glVertexAttrib4fv(index : UInt, 169 | v : Pointer(Float)) : Void 170 | 171 | # Specifies the value of a generic vertex attribute. 172 | fun vertex_attrib_1sv = glVertexAttrib1sv(index : UInt, 173 | v : Pointer(Short)) : Void 174 | 175 | # Specifies the value of a generic vertex attribute. 176 | fun vertex_attrib_2sv = glVertexAttrib2sv(index : UInt, 177 | v : Pointer(Short)) : Void 178 | 179 | # Specifies the value of a generic vertex attribute. 180 | fun vertex_attrib_3sv = glVertexAttrib3sv(index : UInt, 181 | v : Pointer(Short)) : Void 182 | 183 | # Specifies the value of a generic vertex attribute. 184 | fun vertex_attrib_4sv = glVertexAttrib4sv(index : UInt, 185 | v : Pointer(Short)) : Void 186 | 187 | # Specifies the value of a generic vertex attribute. 188 | fun vertex_attrib_1dv = glVertexAttrib1dv(index : UInt, 189 | v : Pointer(Double)) : Void 190 | 191 | # Specifies the value of a generic vertex attribute. 192 | fun vertex_attrib_2dv = glVertexAttrib2dv(index : UInt, 193 | v : Pointer(Double)) : Void 194 | 195 | # Specifies the value of a generic vertex attribute. 196 | fun vertex_attrib_3dv = glVertexAttrib3dv(index : UInt, 197 | v : Pointer(Double)) : Void 198 | 199 | # Specifies the value of a generic vertex attribute. 200 | fun vertex_attrib_4dv = glVertexAttrib4dv(index : UInt, 201 | v : Pointer(Double)) : Void 202 | 203 | # Specifies the value of a generic vertex attribute. 204 | fun vertex_attrib_i1iv = glVertexAttribI1iv(index : UInt, 205 | v : Pointer(Int)) : Void 206 | 207 | # Specifies the value of a generic vertex attribute. 208 | fun vertex_attrib_i2iv = glVertexAttribI2iv(index : UInt, 209 | v : Pointer(Int)) : Void 210 | 211 | # Specifies the value of a generic vertex attribute. 212 | fun vertex_attrib_i3iv = glVertexAttribI3iv(index : UInt, 213 | v : Pointer(Int)) : Void 214 | 215 | # Specifies the value of a generic vertex attribute. 216 | fun vertex_attrib_i4iv = glVertexAttribI4iv(index : UInt, 217 | v : Pointer(Int)) : Void 218 | 219 | # Specifies the value of a generic vertex attribute. 220 | fun vertex_attrib_i1uiv = glVertexAttribI1uiv(index : UInt, 221 | v : Pointer(UInt)) : Void 222 | 223 | # Specifies the value of a generic vertex attribute. 224 | fun vertex_attrib_i2uiv = glVertexAttribI2uiv(index : UInt, 225 | v : Pointer(UInt)) : Void 226 | 227 | # Specifies the value of a generic vertex attribute. 228 | fun vertex_attrib_i3uiv = glVertexAttribI3uiv(index : UInt, 229 | v : Pointer(UInt)) : Void 230 | 231 | # Specifies the value of a generic vertex attribute. 232 | fun vertex_attrib_i4uiv = glVertexAttribI4uiv(index : UInt, 233 | v : Pointer(UInt)) : Void 234 | 235 | # Specifies the value of a generic vertex attribute. 236 | fun vertex_attrib_l1dv = glVertexAttribL1dv(index : UInt, 237 | v : Pointer(Double)) : Void 238 | 239 | # Specifies the value of a generic vertex attribute. 240 | fun vertex_attrib_l2dv = glVertexAttribL2dv(index : UInt, 241 | v : Pointer(Double)) : Void 242 | 243 | # Specifies the value of a generic vertex attribute. 244 | fun vertex_attrib_l3dv = glVertexAttribL3dv(index : UInt, 245 | v : Pointer(Double)) : Void 246 | 247 | # Specifies the value of a generic vertex attribute. 248 | fun vertex_attrib_l4dv = glVertexAttribL4dv(index : UInt, 249 | v : Pointer(Double)) : Void 250 | 251 | # Specifies the value of a generic vertex attribute. 252 | fun vertex_attrib_4iv = glVertexAttrib4iv(index : UInt, 253 | v : Pointer(Int)) : Void 254 | 255 | # Specifies the value of a generic vertex attribute. 256 | fun vertex_attrib_4bv = glVertexAttrib4bv(index : UInt, 257 | v : Pointer(Byte)) : Void 258 | 259 | # Specifies the value of a generic vertex attribute. 260 | fun vertex_attrib_4ubv = glVertexAttrib4ubv(index : UInt, 261 | v : Pointer(UByte)) : Void 262 | 263 | # Specifies the value of a generic vertex attribute. 264 | fun vertex_attrib_4usv = glVertexAttrib4usv(index : UInt, 265 | v : Pointer(UShort)) : Void 266 | 267 | # Specifies the value of a generic vertex attribute. 268 | fun vertex_attrib_4uiv = glVertexAttrib4uiv(index : UInt, 269 | v : Pointer(UInt)) : Void 270 | 271 | # Specifies the value of a generic vertex attribute. 272 | fun vertex_attrib_4nbv = glVertexAttrib4nbv(index : UInt, 273 | v : Pointer(Byte)) : Void 274 | 275 | # Specifies the value of a generic vertex attribute. 276 | fun vertex_attrib_4nsv = glVertexAttrib4nsv(index : UInt, 277 | v : Pointer(Short)) : Void 278 | 279 | # Specifies the value of a generic vertex attribute. 280 | fun vertex_attrib_4niv = glVertexAttrib4niv(index : UInt, 281 | v : Pointer(Int)) : Void 282 | 283 | # Specifies the value of a generic vertex attribute. 284 | fun vertex_attrib_4nubv = glVertexAttrib4nubv(index : UInt, 285 | v : Pointer(UByte)) : Void 286 | 287 | # Specifies the value of a generic vertex attribute. 288 | fun vertex_attrib_4nusv = glVertexAttrib4nusv(index : UInt, 289 | v : Pointer(UShort)) : Void 290 | 291 | # Specifies the value of a generic vertex attribute. 292 | fun vertex_attrib_4nuiv = glVertexAttrib4nuiv(index : UInt, 293 | v : Pointer(UInt)) : Void 294 | 295 | # Specifies the value of a generic vertex attribute. 296 | fun vertex_attrib_i4bv = glVertexAttribI4bv(index : UInt, 297 | v : Pointer(Int8)) : Void 298 | 299 | # Specifies the value of a generic vertex attribute. 300 | fun vertex_attrib_i4ubv = glVertexAttribI4ubv(index : UInt, 301 | v : Pointer(UByte)) : Void 302 | 303 | # Specifies the value of a generic vertex attribute. 304 | fun vertex_attrib_i4sv = glVertexAttribI4sv(index : UInt, 305 | v : Pointer(Short)) : Void 306 | 307 | # Specifies the value of a generic vertex attribute. 308 | fun vertex_attrib_i4usv = glVertexAttribI4usv(index : UInt, 309 | v : Pointer(UShort)) : Void 310 | 311 | # Specifies the value of a generic vertex attribute. 312 | fun vertex_attrib_p1ui = glVertexAttribP1ui(index : UInt, 313 | packing_type : UInt, 314 | normalized : Boolean, 315 | value : UInt) : Void 316 | 317 | # Specifies the value of a generic vertex attribute. 318 | fun vertex_attrib_p2ui = glVertexAttribP2ui(index : UInt, 319 | packing_type : UInt, 320 | normalized : Boolean, 321 | value : UInt) : Void 322 | 323 | # Specifies the value of a generic vertex attribute. 324 | fun vertex_attrib_p3ui = glVertexAttribP3ui(index : UInt, 325 | packing_type : UInt, 326 | normalized : Boolean, 327 | value : UInt) : Void 328 | 329 | # Specifies the value of a generic vertex attribute. 330 | fun vertex_attrib_p4ui = glVertexAttribP4ui(index : UInt, 331 | packing_type : UInt, 332 | normalized : Boolean, 333 | value : UInt) : Void 334 | 335 | # Specifies the value of a generic vertex attribute. 336 | fun vertex_attrib_p1uiv = glVertexAttribP1uiv(index : UInt, 337 | packing_type : UInt, 338 | normalized : Boolean, 339 | value : Pointer(UInt)) : Void 340 | 341 | # Specifies the value of a generic vertex attribute. 342 | fun vertex_attrib_p2uiv = glVertexAttribP2uiv(index : UInt, 343 | packing_type : UInt, 344 | normalized : Boolean, 345 | value : Pointer(UInt)) : Void 346 | 347 | # Specifies the value of a generic vertex attribute. 348 | fun vertex_attrib_p3uiv = glVertexAttribP3uiv(index : UInt, 349 | packing_type : UInt, 350 | normalized : Boolean, 351 | value : Pointer(UInt)) : Void 352 | 353 | # Specifies the value of a generic vertex attribute. 354 | fun vertex_attrib_p4uiv = glVertexAttribP4uiv(index : UInt, 355 | packing_type : UInt, 356 | normalized : Boolean, 357 | value : Pointer(UInt)) : Void 358 | 359 | # Associates a vertex attribute and a vertex buffer binding. 360 | fun vertex_attrib_binding = glVertexAttribBinding(attrib_index : UInt, 361 | binding_index : UInt) : Void 362 | 363 | # Modifies the rate at which generic vertex attributes advance during instanced rendering. 364 | fun vertex_attrib_divisor = glVertexAttribDivisor(index : UInt, 365 | divisor : UInt) : Void 366 | 367 | # Specifies the organization of vertex arrays. 368 | fun vertex_attrib_format = glVertexAttribFormat(attrib_index : UInt, 369 | size : Int, 370 | data_type : Enum, 371 | normalized : Boolean, 372 | relative_offset : UInt) : Void 373 | 374 | # Specifies the organization of vertex arrays. 375 | fun vertex_attrib_i_format = glVertexAttribIFormat( attrib_index : UInt, 376 | size : Int, 377 | data_type : Enum, 378 | relative_offset : UInt) : Void 379 | 380 | # Specifies the organization of vertex arrays. 381 | fun vertex_attrib_l_format = glVertexAttribLFormat( attrib_index : UInt, 382 | size : Int, 383 | data_type : Enum, 384 | relative_offset : UInt) : Void 385 | 386 | # Defines an array of generic vertex attribute data. 387 | fun vertex_attrib_pointer = glVertexAttribPointer(index : UInt, 388 | size : Int, 389 | data_type : Enum, 390 | normalized : Boolean, 391 | stride : Sizei, 392 | pointer : Pointer(Void)) : Void 393 | 394 | # Defines an array of generic vertex attribute data. 395 | fun vertex_attrib_i_pointer = glVertexAttribIPointer( index : UInt, 396 | size : Int, 397 | data_type : Enum, 398 | stride : Sizei, 399 | pointer : Pointer(Void)) : Void 400 | 401 | # Defines an array of generic vertex attribute data. 402 | fun vertex_attrib_l_pointer = glVertexAttribLPointer( index : UInt, 403 | size : Int, 404 | data_type : Enum, 405 | stride : Sizei, 406 | pointer : Pointer(Void)) : Void 407 | 408 | # Modifies the rate at which generic vertex attributes advance. 409 | fun vertex_binding_divisor = glVertexBindingDivisor(binding_index : UInt, 410 | divisor : UInt) : Void 411 | 412 | # Sets the viewport. 413 | fun viewport = glViewport(x : Int, 414 | y : Int, 415 | width : Sizei, 416 | height : Sizei) : Void 417 | 418 | # Sets multiple viewports. 419 | fun viewport_array_v = glViewportArrayv(first : UInt, 420 | count : Sizei, 421 | v : Pointer(Float)) : Void 422 | 423 | # Sets a specified viewport. 424 | fun viewport_indexed_f = glViewportIndexedf(index : UInt, 425 | x : Float, 426 | y : Float, 427 | w : Float, 428 | h : Float) : Void 429 | 430 | # Sets a specified viewport. 431 | fun viewport_indexed_fv = glViewportIndexedfv(index : UInt, 432 | v : Pointer(Float)) : Void 433 | end 434 | --------------------------------------------------------------------------------