gl

package
v0.0.0-...-6aa7f09 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2023 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Overview

nolint: revive

Package gl provides interface to access underlying platform gl context

Package gl makes gl implementations uniform nolint: lll,golint

nolint

Index

Constants

View Source
const (
	DEPTH_BUFFER_BIT                             = 0x00000100
	STENCIL_BUFFER_BIT                           = 0x00000400
	COLOR_BUFFER_BIT                             = 0x00004000
	FALSE                                        = 0
	TRUE                                         = 1
	POINTS                                       = 0x0000
	LINES                                        = 0x0001
	LINE_LOOP                                    = 0x0002
	LINE_STRIP                                   = 0x0003
	TRIANGLES                                    = 0x0004
	TRIANGLE_STRIP                               = 0x0005
	TRIANGLE_FAN                                 = 0x0006
	ZERO                                         = 0
	ONE                                          = 1
	SRC_COLOR                                    = 0x0300
	ONE_MINUS_SRC_COLOR                          = 0x0301
	SRC_ALPHA                                    = 0x0302
	ONE_MINUS_SRC_ALPHA                          = 0x0303
	DST_ALPHA                                    = 0x0304
	ONE_MINUS_DST_ALPHA                          = 0x0305
	DST_COLOR                                    = 0x0306
	ONE_MINUS_DST_COLOR                          = 0x0307
	SRC_ALPHA_SATURATE                           = 0x0308
	FUNC_ADD                                     = 0x8006
	BLEND_EQUATION                               = 0x8009
	BLEND_EQUATION_RGB                           = 0x8009
	BLEND_EQUATION_ALPHA                         = 0x883D
	FUNC_SUBTRACT                                = 0x800A
	FUNC_REVERSE_SUBTRACT                        = 0x800B
	BLEND_DST_RGB                                = 0x80C8
	BLEND_SRC_RGB                                = 0x80C9
	BLEND_DST_ALPHA                              = 0x80CA
	BLEND_SRC_ALPHA                              = 0x80CB
	CONSTANT_COLOR                               = 0x8001
	ONE_MINUS_CONSTANT_COLOR                     = 0x8002
	CONSTANT_ALPHA                               = 0x8003
	ONE_MINUS_CONSTANT_ALPHA                     = 0x8004
	BLEND_COLOR                                  = 0x8005
	ARRAY_BUFFER                                 = 0x8892
	ELEMENT_ARRAY_BUFFER                         = 0x8893
	ARRAY_BUFFER_BINDING                         = 0x8894
	ELEMENT_ARRAY_BUFFER_BINDING                 = 0x8895
	STREAM_DRAW                                  = 0x88E0
	STATIC_DRAW                                  = 0x88E4
	DYNAMIC_DRAW                                 = 0x88E8
	BUFFER_SIZE                                  = 0x8764
	BUFFER_USAGE                                 = 0x8765
	CURRENT_VERTEX_ATTRIB                        = 0x8626
	FRONT                                        = 0x0404
	BACK                                         = 0x0405
	FRONT_AND_BACK                               = 0x0408
	TEXTURE_2D                                   = 0x0DE1
	CULL_FACE                                    = 0x0B44
	BLEND                                        = 0x0BE2
	DITHER                                       = 0x0BD0
	STENCIL_TEST                                 = 0x0B90
	DEPTH_TEST                                   = 0x0B71
	SCISSOR_TEST                                 = 0x0C11
	POLYGON_OFFSET_FILL                          = 0x8037
	SAMPLE_ALPHA_TO_COVERAGE                     = 0x809E
	SAMPLE_COVERAGE                              = 0x80A0
	NO_ERROR                                     = 0
	INVALID_ENUM                                 = 0x0500
	INVALID_VALUE                                = 0x0501
	INVALID_OPERATION                            = 0x0502
	OUT_OF_MEMORY                                = 0x0505
	CW                                           = 0x0900
	CCW                                          = 0x0901
	LINE_WIDTH                                   = 0x0B21
	ALIASED_POINT_SIZE_RANGE                     = 0x846D
	ALIASED_LINE_WIDTH_RANGE                     = 0x846E
	CULL_FACE_MODE                               = 0x0B45
	FRONT_FACE                                   = 0x0B46
	DEPTH_RANGE                                  = 0x0B70
	DEPTH_WRITEMASK                              = 0x0B72
	DEPTH_CLEAR_VALUE                            = 0x0B73
	DEPTH_FUNC                                   = 0x0B74
	STENCIL_CLEAR_VALUE                          = 0x0B91
	STENCIL_FUNC                                 = 0x0B92
	STENCIL_FAIL                                 = 0x0B94
	STENCIL_PASS_DEPTH_FAIL                      = 0x0B95
	STENCIL_PASS_DEPTH_PASS                      = 0x0B96
	STENCIL_REF                                  = 0x0B97
	STENCIL_VALUE_MASK                           = 0x0B93
	STENCIL_WRITEMASK                            = 0x0B98
	STENCIL_BACK_FUNC                            = 0x8800
	STENCIL_BACK_FAIL                            = 0x8801
	STENCIL_BACK_PASS_DEPTH_FAIL                 = 0x8802
	STENCIL_BACK_PASS_DEPTH_PASS                 = 0x8803
	STENCIL_BACK_REF                             = 0x8CA3
	STENCIL_BACK_VALUE_MASK                      = 0x8CA4
	STENCIL_BACK_WRITEMASK                       = 0x8CA5
	VIEWPORT                                     = 0x0BA2
	SCISSOR_BOX                                  = 0x0C10
	COLOR_CLEAR_VALUE                            = 0x0C22
	COLOR_WRITEMASK                              = 0x0C23
	UNPACK_ALIGNMENT                             = 0x0CF5
	PACK_ALIGNMENT                               = 0x0D05
	MAX_TEXTURE_SIZE                             = 0x0D33
	MAX_VIEWPORT_DIMS                            = 0x0D3A
	SUBPIXEL_BITS                                = 0x0D50
	RED_BITS                                     = 0x0D52
	GREEN_BITS                                   = 0x0D53
	BLUE_BITS                                    = 0x0D54
	ALPHA_BITS                                   = 0x0D55
	DEPTH_BITS                                   = 0x0D56
	STENCIL_BITS                                 = 0x0D57
	POLYGON_OFFSET_UNITS                         = 0x2A00
	POLYGON_OFFSET_FACTOR                        = 0x8038
	TEXTURE_BINDING_2D                           = 0x8069
	SAMPLE_BUFFERS                               = 0x80A8
	SAMPLES                                      = 0x80A9
	SAMPLE_COVERAGE_VALUE                        = 0x80AA
	SAMPLE_COVERAGE_INVERT                       = 0x80AB
	NUM_COMPRESSED_TEXTURE_FORMATS               = 0x86A2
	COMPRESSED_TEXTURE_FORMATS                   = 0x86A3
	DONT_CARE                                    = 0x1100
	FASTEST                                      = 0x1101
	NICEST                                       = 0x1102
	GENERATE_MIPMAP_HINT                         = 0x8192
	BYTE                                         = 0x1400
	UNSIGNED_BYTE                                = 0x1401
	SHORT                                        = 0x1402
	UNSIGNED_SHORT                               = 0x1403
	INT                                          = 0x1404
	UNSIGNED_INT                                 = 0x1405
	FLOAT                                        = 0x1406
	FIXED                                        = 0x140C
	DEPTH_COMPONENT                              = 0x1902
	ALPHA                                        = 0x1906
	RGB                                          = 0x1907
	RGBA                                         = 0x1908
	LUMINANCE                                    = 0x1909
	LUMINANCE_ALPHA                              = 0x190A
	UNSIGNED_SHORT_4_4_4_4                       = 0x8033
	UNSIGNED_SHORT_5_5_5_1                       = 0x8034
	UNSIGNED_SHORT_5_6_5                         = 0x8363
	FRAGMENT_SHADER                              = 0x8B30
	VERTEX_SHADER                                = 0x8B31
	MAX_VERTEX_ATTRIBS                           = 0x8869
	MAX_VERTEX_UNIFORM_VECTORS                   = 0x8DFB
	MAX_VARYING_VECTORS                          = 0x8DFC
	MAX_COMBINED_TEXTURE_IMAGE_UNITS             = 0x8B4D
	MAX_VERTEX_TEXTURE_IMAGE_UNITS               = 0x8B4C
	MAX_TEXTURE_IMAGE_UNITS                      = 0x8872
	MAX_FRAGMENT_UNIFORM_VECTORS                 = 0x8DFD
	SHADER_TYPE                                  = 0x8B4F
	DELETE_STATUS                                = 0x8B80
	LINK_STATUS                                  = 0x8B82
	VALIDATE_STATUS                              = 0x8B83
	ATTACHED_SHADERS                             = 0x8B85
	ACTIVE_UNIFORMS                              = 0x8B86
	ACTIVE_UNIFORM_MAX_LENGTH                    = 0x8B87
	ACTIVE_ATTRIBUTES                            = 0x8B89
	ACTIVE_ATTRIBUTE_MAX_LENGTH                  = 0x8B8A
	SHADING_LANGUAGE_VERSION                     = 0x8B8C
	CURRENT_PROGRAM                              = 0x8B8D
	NEVER                                        = 0x0200
	LESS                                         = 0x0201
	EQUAL                                        = 0x0202
	LEQUAL                                       = 0x0203
	GREATER                                      = 0x0204
	NOTEQUAL                                     = 0x0205
	GEQUAL                                       = 0x0206
	ALWAYS                                       = 0x0207
	KEEP                                         = 0x1E00
	REPLACE                                      = 0x1E01
	INCR                                         = 0x1E02
	DECR                                         = 0x1E03
	INVERT                                       = 0x150A
	INCR_WRAP                                    = 0x8507
	DECR_WRAP                                    = 0x8508
	VENDOR                                       = 0x1F00
	RENDERER                                     = 0x1F01
	VERSION                                      = 0x1F02
	EXTENSIONS                                   = 0x1F03
	NEAREST                                      = 0x2600
	LINEAR                                       = 0x2601
	NEAREST_MIPMAP_NEAREST                       = 0x2700
	LINEAR_MIPMAP_NEAREST                        = 0x2701
	NEAREST_MIPMAP_LINEAR                        = 0x2702
	LINEAR_MIPMAP_LINEAR                         = 0x2703
	TEXTURE_MAG_FILTER                           = 0x2800
	TEXTURE_MIN_FILTER                           = 0x2801
	TEXTURE_WRAP_S                               = 0x2802
	TEXTURE_WRAP_T                               = 0x2803
	TEXTURE                                      = 0x1702
	TEXTURE_CUBE_MAP                             = 0x8513
	TEXTURE_BINDING_CUBE_MAP                     = 0x8514
	TEXTURE_CUBE_MAP_POSITIVE_X                  = 0x8515
	TEXTURE_CUBE_MAP_NEGATIVE_X                  = 0x8516
	TEXTURE_CUBE_MAP_POSITIVE_Y                  = 0x8517
	TEXTURE_CUBE_MAP_NEGATIVE_Y                  = 0x8518
	TEXTURE_CUBE_MAP_POSITIVE_Z                  = 0x8519
	TEXTURE_CUBE_MAP_NEGATIVE_Z                  = 0x851A
	MAX_CUBE_MAP_TEXTURE_SIZE                    = 0x851C
	TEXTURE0                                     = 0x84C0
	TEXTURE1                                     = 0x84C1
	TEXTURE2                                     = 0x84C2
	TEXTURE3                                     = 0x84C3
	TEXTURE4                                     = 0x84C4
	TEXTURE5                                     = 0x84C5
	TEXTURE6                                     = 0x84C6
	TEXTURE7                                     = 0x84C7
	TEXTURE8                                     = 0x84C8
	TEXTURE9                                     = 0x84C9
	TEXTURE10                                    = 0x84CA
	TEXTURE11                                    = 0x84CB
	TEXTURE12                                    = 0x84CC
	TEXTURE13                                    = 0x84CD
	TEXTURE14                                    = 0x84CE
	TEXTURE15                                    = 0x84CF
	TEXTURE16                                    = 0x84D0
	TEXTURE17                                    = 0x84D1
	TEXTURE18                                    = 0x84D2
	TEXTURE19                                    = 0x84D3
	TEXTURE20                                    = 0x84D4
	TEXTURE21                                    = 0x84D5
	TEXTURE22                                    = 0x84D6
	TEXTURE23                                    = 0x84D7
	TEXTURE24                                    = 0x84D8
	TEXTURE25                                    = 0x84D9
	TEXTURE26                                    = 0x84DA
	TEXTURE27                                    = 0x84DB
	TEXTURE28                                    = 0x84DC
	TEXTURE29                                    = 0x84DD
	TEXTURE30                                    = 0x84DE
	TEXTURE31                                    = 0x84DF
	ACTIVE_TEXTURE                               = 0x84E0
	REPEAT                                       = 0x2901
	CLAMP_TO_EDGE                                = 0x812F
	MIRRORED_REPEAT                              = 0x8370
	FLOAT_VEC2                                   = 0x8B50
	FLOAT_VEC3                                   = 0x8B51
	FLOAT_VEC4                                   = 0x8B52
	INT_VEC2                                     = 0x8B53
	INT_VEC3                                     = 0x8B54
	INT_VEC4                                     = 0x8B55
	BOOL                                         = 0x8B56
	BOOL_VEC2                                    = 0x8B57
	BOOL_VEC3                                    = 0x8B58
	BOOL_VEC4                                    = 0x8B59
	FLOAT_MAT2                                   = 0x8B5A
	FLOAT_MAT3                                   = 0x8B5B
	FLOAT_MAT4                                   = 0x8B5C
	SAMPLER_2D                                   = 0x8B5E
	SAMPLER_CUBE                                 = 0x8B60
	VERTEX_ATTRIB_ARRAY_ENABLED                  = 0x8622
	VERTEX_ATTRIB_ARRAY_SIZE                     = 0x8623
	VERTEX_ATTRIB_ARRAY_STRIDE                   = 0x8624
	VERTEX_ATTRIB_ARRAY_TYPE                     = 0x8625
	VERTEX_ATTRIB_ARRAY_NORMALIZED               = 0x886A
	VERTEX_ATTRIB_ARRAY_POINTER                  = 0x8645
	VERTEX_ATTRIB_ARRAY_BUFFER_BINDING           = 0x889F
	IMPLEMENTATION_COLOR_READ_TYPE               = 0x8B9A
	IMPLEMENTATION_COLOR_READ_FORMAT             = 0x8B9B
	COMPILE_STATUS                               = 0x8B81
	INFO_LOG_LENGTH                              = 0x8B84
	SHADER_SOURCE_LENGTH                         = 0x8B88
	SHADER_COMPILER                              = 0x8DFA
	SHADER_BINARY_FORMATS                        = 0x8DF8
	NUM_SHADER_BINARY_FORMATS                    = 0x8DF9
	LOW_FLOAT                                    = 0x8DF0
	MEDIUM_FLOAT                                 = 0x8DF1
	HIGH_FLOAT                                   = 0x8DF2
	LOW_INT                                      = 0x8DF3
	MEDIUM_INT                                   = 0x8DF4
	HIGH_INT                                     = 0x8DF5
	FRAMEBUFFER                                  = 0x8D40
	RENDERBUFFER                                 = 0x8D41
	RGBA4                                        = 0x8056
	RGB5_A1                                      = 0x8057
	RGB565                                       = 0x8D62
	DEPTH_COMPONENT16                            = 0x81A5
	STENCIL_INDEX8                               = 0x8D48
	RENDERBUFFER_WIDTH                           = 0x8D42
	RENDERBUFFER_HEIGHT                          = 0x8D43
	RENDERBUFFER_INTERNAL_FORMAT                 = 0x8D44
	RENDERBUFFER_RED_SIZE                        = 0x8D50
	RENDERBUFFER_GREEN_SIZE                      = 0x8D51
	RENDERBUFFER_BLUE_SIZE                       = 0x8D52
	RENDERBUFFER_ALPHA_SIZE                      = 0x8D53
	RENDERBUFFER_DEPTH_SIZE                      = 0x8D54
	RENDERBUFFER_STENCIL_SIZE                    = 0x8D55
	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           = 0x8CD0
	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           = 0x8CD1
	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         = 0x8CD2
	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3
	COLOR_ATTACHMENT0                            = 0x8CE0
	DEPTH_ATTACHMENT                             = 0x8D00
	STENCIL_ATTACHMENT                           = 0x8D20
	NONE                                         = 0
	FRAMEBUFFER_COMPLETE                         = 0x8CD5
	FRAMEBUFFER_INCOMPLETE_ATTACHMENT            = 0x8CD6
	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT    = 0x8CD7
	FRAMEBUFFER_INCOMPLETE_DIMENSIONS            = 0x8CD9
	FRAMEBUFFER_UNSUPPORTED                      = 0x8CDD
	FRAMEBUFFER_BINDING                          = 0x8CA6
	RENDERBUFFER_BINDING                         = 0x8CA7
	MAX_RENDERBUFFER_SIZE                        = 0x84E8
	INVALID_FRAMEBUFFER_OPERATION                = 0x0506
)

gles 2

View Source
const (
	READ_BUFFER                                   = 0x0C02
	UNPACK_ROW_LENGTH                             = 0x0CF2
	UNPACK_SKIP_ROWS                              = 0x0CF3
	UNPACK_SKIP_PIXELS                            = 0x0CF4
	PACK_ROW_LENGTH                               = 0x0D02
	PACK_SKIP_ROWS                                = 0x0D03
	PACK_SKIP_PIXELS                              = 0x0D04
	COLOR                                         = 0x1800
	DEPTH                                         = 0x1801
	STENCIL                                       = 0x1802
	RED                                           = 0x1903
	RGB8                                          = 0x8051
	RGBA8                                         = 0x8058
	RGB10_A2                                      = 0x8059
	TEXTURE_BINDING_3D                            = 0x806A
	UNPACK_SKIP_IMAGES                            = 0x806D
	UNPACK_IMAGE_HEIGHT                           = 0x806E
	TEXTURE_3D                                    = 0x806F
	TEXTURE_WRAP_R                                = 0x8072
	MAX_3D_TEXTURE_SIZE                           = 0x8073
	UNSIGNED_INT_2_10_10_10_REV                   = 0x8368
	MAX_ELEMENTS_VERTICES                         = 0x80E8
	MAX_ELEMENTS_INDICES                          = 0x80E9
	TEXTURE_MIN_LOD                               = 0x813A
	TEXTURE_MAX_LOD                               = 0x813B
	TEXTURE_BASE_LEVEL                            = 0x813C
	TEXTURE_MAX_LEVEL                             = 0x813D
	MIN                                           = 0x8007
	MAX                                           = 0x8008
	DEPTH_COMPONENT24                             = 0x81A6
	MAX_TEXTURE_LOD_BIAS                          = 0x84FD
	TEXTURE_COMPARE_MODE                          = 0x884C
	TEXTURE_COMPARE_FUNC                          = 0x884D
	CURRENT_QUERY                                 = 0x8865
	QUERY_RESULT                                  = 0x8866
	QUERY_RESULT_AVAILABLE                        = 0x8867
	BUFFER_MAPPED                                 = 0x88BC
	BUFFER_MAP_POINTER                            = 0x88BD
	STREAM_READ                                   = 0x88E1
	STREAM_COPY                                   = 0x88E2
	STATIC_READ                                   = 0x88E5
	STATIC_COPY                                   = 0x88E6
	DYNAMIC_READ                                  = 0x88E9
	DYNAMIC_COPY                                  = 0x88EA
	MAX_DRAW_BUFFERS                              = 0x8824
	DRAW_BUFFER0                                  = 0x8825
	DRAW_BUFFER1                                  = 0x8826
	DRAW_BUFFER2                                  = 0x8827
	DRAW_BUFFER3                                  = 0x8828
	DRAW_BUFFER4                                  = 0x8829
	DRAW_BUFFER5                                  = 0x882A
	DRAW_BUFFER6                                  = 0x882B
	DRAW_BUFFER7                                  = 0x882C
	DRAW_BUFFER8                                  = 0x882D
	DRAW_BUFFER9                                  = 0x882E
	DRAW_BUFFER10                                 = 0x882F
	DRAW_BUFFER11                                 = 0x8830
	DRAW_BUFFER12                                 = 0x8831
	DRAW_BUFFER13                                 = 0x8832
	DRAW_BUFFER14                                 = 0x8833
	DRAW_BUFFER15                                 = 0x8834
	MAX_FRAGMENT_UNIFORM_COMPONENTS               = 0x8B49
	MAX_VERTEX_UNIFORM_COMPONENTS                 = 0x8B4A
	SAMPLER_3D                                    = 0x8B5F
	SAMPLER_2D_SHADOW                             = 0x8B62
	FRAGMENT_SHADER_DERIVATIVE_HINT               = 0x8B8B
	PIXEL_PACK_BUFFER                             = 0x88EB
	PIXEL_UNPACK_BUFFER                           = 0x88EC
	PIXEL_PACK_BUFFER_BINDING                     = 0x88ED
	PIXEL_UNPACK_BUFFER_BINDING                   = 0x88EF
	FLOAT_MAT2x3                                  = 0x8B65
	FLOAT_MAT2x4                                  = 0x8B66
	FLOAT_MAT3x2                                  = 0x8B67
	FLOAT_MAT3x4                                  = 0x8B68
	FLOAT_MAT4x2                                  = 0x8B69
	FLOAT_MAT4x3                                  = 0x8B6A
	SRGB                                          = 0x8C40
	SRGB8                                         = 0x8C41
	SRGB8_ALPHA8                                  = 0x8C43
	COMPARE_REF_TO_TEXTURE                        = 0x884E
	MAJOR_VERSION                                 = 0x821B
	MINOR_VERSION                                 = 0x821C
	NUM_EXTENSIONS                                = 0x821D
	RGBA32F                                       = 0x8814
	RGB32F                                        = 0x8815
	RGBA16F                                       = 0x881A
	RGB16F                                        = 0x881B
	VERTEX_ATTRIB_ARRAY_INTEGER                   = 0x88FD
	MAX_ARRAY_TEXTURE_LAYERS                      = 0x88FF
	MIN_PROGRAM_TEXEL_OFFSET                      = 0x8904
	MAX_PROGRAM_TEXEL_OFFSET                      = 0x8905
	MAX_VARYING_COMPONENTS                        = 0x8B4B
	TEXTURE_2D_ARRAY                              = 0x8C1A
	TEXTURE_BINDING_2D_ARRAY                      = 0x8C1D
	R11F_G11F_B10F                                = 0x8C3A
	UNSIGNED_INT_10F_11F_11F_REV                  = 0x8C3B
	RGB9_E5                                       = 0x8C3D
	UNSIGNED_INT_5_9_9_9_REV                      = 0x8C3E
	TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH         = 0x8C76
	TRANSFORM_FEEDBACK_BUFFER_MODE                = 0x8C7F
	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS    = 0x8C80
	TRANSFORM_FEEDBACK_VARYINGS                   = 0x8C83
	TRANSFORM_FEEDBACK_BUFFER_START               = 0x8C84
	TRANSFORM_FEEDBACK_BUFFER_SIZE                = 0x8C85
	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN         = 0x8C88
	RASTERIZER_DISCARD                            = 0x8C89
	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A
	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS       = 0x8C8B
	INTERLEAVED_ATTRIBS                           = 0x8C8C
	SEPARATE_ATTRIBS                              = 0x8C8D
	TRANSFORM_FEEDBACK_BUFFER                     = 0x8C8E
	TRANSFORM_FEEDBACK_BUFFER_BINDING             = 0x8C8F
	RGBA32UI                                      = 0x8D70
	RGB32UI                                       = 0x8D71
	RGBA16UI                                      = 0x8D76
	RGB16UI                                       = 0x8D77
	RGBA8UI                                       = 0x8D7C
	RGB8UI                                        = 0x8D7D
	RGBA32I                                       = 0x8D82
	RGB32I                                        = 0x8D83
	RGBA16I                                       = 0x8D88
	RGB16I                                        = 0x8D89
	RGBA8I                                        = 0x8D8E
	RGB8I                                         = 0x8D8F
	RED_INTEGER                                   = 0x8D94
	RGB_INTEGER                                   = 0x8D98
	RGBA_INTEGER                                  = 0x8D99
	SAMPLER_2D_ARRAY                              = 0x8DC1
	SAMPLER_2D_ARRAY_SHADOW                       = 0x8DC4
	SAMPLER_CUBE_SHADOW                           = 0x8DC5
	UNSIGNED_INT_VEC2                             = 0x8DC6
	UNSIGNED_INT_VEC3                             = 0x8DC7
	UNSIGNED_INT_VEC4                             = 0x8DC8
	INT_SAMPLER_2D                                = 0x8DCA
	INT_SAMPLER_3D                                = 0x8DCB
	INT_SAMPLER_CUBE                              = 0x8DCC
	INT_SAMPLER_2D_ARRAY                          = 0x8DCF
	UNSIGNED_INT_SAMPLER_2D                       = 0x8DD2
	UNSIGNED_INT_SAMPLER_3D                       = 0x8DD3
	UNSIGNED_INT_SAMPLER_CUBE                     = 0x8DD4
	UNSIGNED_INT_SAMPLER_2D_ARRAY                 = 0x8DD7
	BUFFER_ACCESS_FLAGS                           = 0x911F
	BUFFER_MAP_LENGTH                             = 0x9120
	BUFFER_MAP_OFFSET                             = 0x9121
	DEPTH_COMPONENT32F                            = 0x8CAC
	DEPTH32F_STENCIL8                             = 0x8CAD
	FLOAT_32_UNSIGNED_INT_24_8_REV                = 0x8DAD
	FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING         = 0x8210
	FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE         = 0x8211
	FRAMEBUFFER_ATTACHMENT_RED_SIZE               = 0x8212
	FRAMEBUFFER_ATTACHMENT_GREEN_SIZE             = 0x8213
	FRAMEBUFFER_ATTACHMENT_BLUE_SIZE              = 0x8214
	FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE             = 0x8215
	FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE             = 0x8216
	FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE           = 0x8217
	FRAMEBUFFER_DEFAULT                           = 0x8218
	FRAMEBUFFER_UNDEFINED                         = 0x8219
	DEPTH_STENCIL_ATTACHMENT                      = 0x821A
	DEPTH_STENCIL                                 = 0x84F9
	UNSIGNED_INT_24_8                             = 0x84FA
	DEPTH24_STENCIL8                              = 0x88F0
	UNSIGNED_NORMALIZED                           = 0x8C17
	DRAW_FRAMEBUFFER_BINDING                      = 0x8CA6
	READ_FRAMEBUFFER                              = 0x8CA8
	DRAW_FRAMEBUFFER                              = 0x8CA9
	READ_FRAMEBUFFER_BINDING                      = 0x8CAA
	RENDERBUFFER_SAMPLES                          = 0x8CAB
	FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER          = 0x8CD4
	MAX_COLOR_ATTACHMENTS                         = 0x8CDF
	COLOR_ATTACHMENT1                             = 0x8CE1
	COLOR_ATTACHMENT2                             = 0x8CE2
	COLOR_ATTACHMENT3                             = 0x8CE3
	COLOR_ATTACHMENT4                             = 0x8CE4
	COLOR_ATTACHMENT5                             = 0x8CE5
	COLOR_ATTACHMENT6                             = 0x8CE6
	COLOR_ATTACHMENT7                             = 0x8CE7
	COLOR_ATTACHMENT8                             = 0x8CE8
	COLOR_ATTACHMENT9                             = 0x8CE9
	COLOR_ATTACHMENT10                            = 0x8CEA
	COLOR_ATTACHMENT11                            = 0x8CEB
	COLOR_ATTACHMENT12                            = 0x8CEC
	COLOR_ATTACHMENT13                            = 0x8CED
	COLOR_ATTACHMENT14                            = 0x8CEE
	COLOR_ATTACHMENT15                            = 0x8CEF
	COLOR_ATTACHMENT16                            = 0x8CF0
	COLOR_ATTACHMENT17                            = 0x8CF1
	COLOR_ATTACHMENT18                            = 0x8CF2
	COLOR_ATTACHMENT19                            = 0x8CF3
	COLOR_ATTACHMENT20                            = 0x8CF4
	COLOR_ATTACHMENT21                            = 0x8CF5
	COLOR_ATTACHMENT22                            = 0x8CF6
	COLOR_ATTACHMENT23                            = 0x8CF7
	COLOR_ATTACHMENT24                            = 0x8CF8
	COLOR_ATTACHMENT25                            = 0x8CF9
	COLOR_ATTACHMENT26                            = 0x8CFA
	COLOR_ATTACHMENT27                            = 0x8CFB
	COLOR_ATTACHMENT28                            = 0x8CFC
	COLOR_ATTACHMENT29                            = 0x8CFD
	COLOR_ATTACHMENT30                            = 0x8CFE
	COLOR_ATTACHMENT31                            = 0x8CFF
	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE            = 0x8D56
	MAX_SAMPLES                                   = 0x8D57
	HALF_FLOAT                                    = 0x140B
	MAP_READ_BIT                                  = 0x0001
	MAP_WRITE_BIT                                 = 0x0002
	MAP_INVALIDATE_RANGE_BIT                      = 0x0004
	MAP_INVALIDATE_BUFFER_BIT                     = 0x0008
	MAP_FLUSH_EXPLICIT_BIT                        = 0x0010
	MAP_UNSYNCHRONIZED_BIT                        = 0x0020
	RG                                            = 0x8227
	RG_INTEGER                                    = 0x8228
	R8                                            = 0x8229
	RG8                                           = 0x822B
	R16F                                          = 0x822D
	R32F                                          = 0x822E
	RG16F                                         = 0x822F
	RG32F                                         = 0x8230
	R8I                                           = 0x8231
	R8UI                                          = 0x8232
	R16I                                          = 0x8233
	R16UI                                         = 0x8234
	R32I                                          = 0x8235
	R32UI                                         = 0x8236
	RG8I                                          = 0x8237
	RG8UI                                         = 0x8238
	RG16I                                         = 0x8239
	RG16UI                                        = 0x823A
	RG32I                                         = 0x823B
	RG32UI                                        = 0x823C
	VERTEX_ARRAY_BINDING                          = 0x85B5
	R8_SNORM                                      = 0x8F94
	RG8_SNORM                                     = 0x8F95
	RGB8_SNORM                                    = 0x8F96
	RGBA8_SNORM                                   = 0x8F97
	SIGNED_NORMALIZED                             = 0x8F9C
	PRIMITIVE_RESTART_FIXED_INDEX                 = 0x8D69
	COPY_READ_BUFFER                              = 0x8F36
	COPY_WRITE_BUFFER                             = 0x8F37
	COPY_READ_BUFFER_BINDING                      = 0x8F36
	COPY_WRITE_BUFFER_BINDING                     = 0x8F37
	UNIFORM_BUFFER                                = 0x8A11
	UNIFORM_BUFFER_BINDING                        = 0x8A28
	UNIFORM_BUFFER_START                          = 0x8A29
	UNIFORM_BUFFER_SIZE                           = 0x8A2A
	MAX_VERTEX_UNIFORM_BLOCKS                     = 0x8A2B
	MAX_FRAGMENT_UNIFORM_BLOCKS                   = 0x8A2D
	MAX_COMBINED_UNIFORM_BLOCKS                   = 0x8A2E
	MAX_UNIFORM_BUFFER_BINDINGS                   = 0x8A2F
	MAX_UNIFORM_BLOCK_SIZE                        = 0x8A30
	MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS        = 0x8A31
	MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS      = 0x8A33
	UNIFORM_BUFFER_OFFSET_ALIGNMENT               = 0x8A34
	ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH          = 0x8A35
	ACTIVE_UNIFORM_BLOCKS                         = 0x8A36
	UNIFORM_TYPE                                  = 0x8A37
	UNIFORM_SIZE                                  = 0x8A38
	UNIFORM_NAME_LENGTH                           = 0x8A39
	UNIFORM_BLOCK_INDEX                           = 0x8A3A
	UNIFORM_OFFSET                                = 0x8A3B
	UNIFORM_ARRAY_STRIDE                          = 0x8A3C
	UNIFORM_MATRIX_STRIDE                         = 0x8A3D
	UNIFORM_IS_ROW_MAJOR                          = 0x8A3E
	UNIFORM_BLOCK_BINDING                         = 0x8A3F
	UNIFORM_BLOCK_DATA_SIZE                       = 0x8A40
	UNIFORM_BLOCK_NAME_LENGTH                     = 0x8A41
	UNIFORM_BLOCK_ACTIVE_UNIFORMS                 = 0x8A42
	UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES          = 0x8A43
	UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER     = 0x8A44
	UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER   = 0x8A46
	INVALID_INDEX                                 = 0xFFFFFFFF
	MAX_VERTEX_OUTPUT_COMPONENTS                  = 0x9122
	MAX_FRAGMENT_INPUT_COMPONENTS                 = 0x9125
	MAX_SERVER_WAIT_TIMEOUT                       = 0x9111
	OBJECT_TYPE                                   = 0x9112
	SYNC_CONDITION                                = 0x9113
	SYNC_STATUS                                   = 0x9114
	SYNC_FLAGS                                    = 0x9115
	SYNC_FENCE                                    = 0x9116
	SYNC_GPU_COMMANDS_COMPLETE                    = 0x9117
	UNSIGNALED                                    = 0x9118
	SIGNALED                                      = 0x9119
	ALREADY_SIGNALED                              = 0x911A
	TIMEOUT_EXPIRED                               = 0x911B
	CONDITION_SATISFIED                           = 0x911C
	WAIT_FAILED                                   = 0x911D
	SYNC_FLUSH_COMMANDS_BIT                       = 0x00000001
	TIMEOUT_IGNORED                               = 0xFFFFFFFFFFFFFFFF
	VERTEX_ATTRIB_ARRAY_DIVISOR                   = 0x88FE
	ANY_SAMPLES_PASSED                            = 0x8C2F
	ANY_SAMPLES_PASSED_CONSERVATIVE               = 0x8D6A
	SAMPLER_BINDING                               = 0x8919
	RGB10_A2UI                                    = 0x906F
	TEXTURE_SWIZZLE_R                             = 0x8E42
	TEXTURE_SWIZZLE_G                             = 0x8E43
	TEXTURE_SWIZZLE_B                             = 0x8E44
	TEXTURE_SWIZZLE_A                             = 0x8E45
	GREEN                                         = 0x1904
	BLUE                                          = 0x1905
	INT_2_10_10_10_REV                            = 0x8D9F
	TRANSFORM_FEEDBACK                            = 0x8E22
	TRANSFORM_FEEDBACK_PAUSED                     = 0x8E23
	TRANSFORM_FEEDBACK_ACTIVE                     = 0x8E24
	TRANSFORM_FEEDBACK_BINDING                    = 0x8E25
	PROGRAM_BINARY_RETRIEVABLE_HINT               = 0x8257
	PROGRAM_BINARY_LENGTH                         = 0x8741
	NUM_PROGRAM_BINARY_FORMATS                    = 0x87FE
	PROGRAM_BINARY_FORMATS                        = 0x87FF
	COMPRESSED_R11_EAC                            = 0x9270
	COMPRESSED_SIGNED_R11_EAC                     = 0x9271
	COMPRESSED_RG11_EAC                           = 0x9272
	COMPRESSED_SIGNED_RG11_EAC                    = 0x9273
	COMPRESSED_RGB8_ETC2                          = 0x9274
	COMPRESSED_SRGB8_ETC2                         = 0x9275
	COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2      = 0x9276
	COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2     = 0x9277
	COMPRESSED_RGBA8_ETC2_EAC                     = 0x9278
	COMPRESSED_SRGB8_ALPHA8_ETC2_EAC              = 0x9279
	TEXTURE_IMMUTABLE_FORMAT                      = 0x912F
	MAX_ELEMENT_INDEX                             = 0x8D6B
	NUM_SAMPLE_COUNTS                             = 0x9380
	TEXTURE_IMMUTABLE_LEVELS                      = 0x82DF
)

gles 30

View Source
const (
	COMPUTE_SHADER                             = 0x91B9
	MAX_COMPUTE_UNIFORM_BLOCKS                 = 0x91BB
	MAX_COMPUTE_TEXTURE_IMAGE_UNITS            = 0x91BC
	MAX_COMPUTE_IMAGE_UNIFORMS                 = 0x91BD
	MAX_COMPUTE_SHARED_MEMORY_SIZE             = 0x8262
	MAX_COMPUTE_UNIFORM_COMPONENTS             = 0x8263
	MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS         = 0x8264
	MAX_COMPUTE_ATOMIC_COUNTERS                = 0x8265
	MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS    = 0x8266
	MAX_COMPUTE_WORK_GROUP_INVOCATIONS         = 0x90EB
	MAX_COMPUTE_WORK_GROUP_COUNT               = 0x91BE
	MAX_COMPUTE_WORK_GROUP_SIZE                = 0x91BF
	COMPUTE_WORK_GROUP_SIZE                    = 0x8267
	DISPATCH_INDIRECT_BUFFER                   = 0x90EE
	DISPATCH_INDIRECT_BUFFER_BINDING           = 0x90EF
	COMPUTE_SHADER_BIT                         = 0x00000020
	DRAW_INDIRECT_BUFFER                       = 0x8F3F
	DRAW_INDIRECT_BUFFER_BINDING               = 0x8F43
	MAX_UNIFORM_LOCATIONS                      = 0x826E
	FRAMEBUFFER_DEFAULT_WIDTH                  = 0x9310
	FRAMEBUFFER_DEFAULT_HEIGHT                 = 0x9311
	FRAMEBUFFER_DEFAULT_SAMPLES                = 0x9313
	FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314
	MAX_FRAMEBUFFER_WIDTH                      = 0x9315
	MAX_FRAMEBUFFER_HEIGHT                     = 0x9316
	MAX_FRAMEBUFFER_SAMPLES                    = 0x9318
	UNIFORM                                    = 0x92E1
	UNIFORM_BLOCK                              = 0x92E2
	PROGRAM_INPUT                              = 0x92E3
	PROGRAM_OUTPUT                             = 0x92E4
	BUFFER_VARIABLE                            = 0x92E5
	SHADER_STORAGE_BLOCK                       = 0x92E6
	ATOMIC_COUNTER_BUFFER                      = 0x92C0
	TRANSFORM_FEEDBACK_VARYING                 = 0x92F4
	ACTIVE_RESOURCES                           = 0x92F5
	MAX_NAME_LENGTH                            = 0x92F6
	MAX_NUM_ACTIVE_VARIABLES                   = 0x92F7
	NAME_LENGTH                                = 0x92F9
	TYPE                                       = 0x92FA
	ARRAY_SIZE                                 = 0x92FB
	OFFSET                                     = 0x92FC
	BLOCK_INDEX                                = 0x92FD
	ARRAY_STRIDE                               = 0x92FE
	MATRIX_STRIDE                              = 0x92FF
	IS_ROW_MAJOR                               = 0x9300
	ATOMIC_COUNTER_BUFFER_INDEX                = 0x9301
	BUFFER_BINDING                             = 0x9302
	BUFFER_DATA_SIZE                           = 0x9303
	NUM_ACTIVE_VARIABLES                       = 0x9304
	ACTIVE_VARIABLES                           = 0x9305
	REFERENCED_BY_VERTEX_SHADER                = 0x9306
	REFERENCED_BY_FRAGMENT_SHADER              = 0x930A
	REFERENCED_BY_COMPUTE_SHADER               = 0x930B
	TOP_LEVEL_ARRAY_SIZE                       = 0x930C
	TOP_LEVEL_ARRAY_STRIDE                     = 0x930D
	LOCATION                                   = 0x930E
	VERTEX_SHADER_BIT                          = 0x00000001
	FRAGMENT_SHADER_BIT                        = 0x00000002
	ALL_SHADER_BITS                            = 0xFFFFFFFF
	PROGRAM_SEPARABLE                          = 0x8258
	ACTIVE_PROGRAM                             = 0x8259
	PROGRAM_PIPELINE_BINDING                   = 0x825A
	ATOMIC_COUNTER_BUFFER_BINDING              = 0x92C1
	ATOMIC_COUNTER_BUFFER_START                = 0x92C2
	ATOMIC_COUNTER_BUFFER_SIZE                 = 0x92C3
	MAX_VERTEX_ATOMIC_COUNTER_BUFFERS          = 0x92CC
	MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS        = 0x92D0
	MAX_COMBINED_ATOMIC_COUNTER_BUFFERS        = 0x92D1
	MAX_VERTEX_ATOMIC_COUNTERS                 = 0x92D2
	MAX_FRAGMENT_ATOMIC_COUNTERS               = 0x92D6
	MAX_COMBINED_ATOMIC_COUNTERS               = 0x92D7
	MAX_ATOMIC_COUNTER_BUFFER_SIZE             = 0x92D8
	MAX_ATOMIC_COUNTER_BUFFER_BINDINGS         = 0x92DC
	ACTIVE_ATOMIC_COUNTER_BUFFERS              = 0x92D9
	UNSIGNED_INT_ATOMIC_COUNTER                = 0x92DB
	MAX_IMAGE_UNITS                            = 0x8F38
	MAX_VERTEX_IMAGE_UNIFORMS                  = 0x90CA
	MAX_FRAGMENT_IMAGE_UNIFORMS                = 0x90CE
	MAX_COMBINED_IMAGE_UNIFORMS                = 0x90CF
	IMAGE_BINDING_NAME                         = 0x8F3A
	IMAGE_BINDING_LEVEL                        = 0x8F3B
	IMAGE_BINDING_LAYERED                      = 0x8F3C
	IMAGE_BINDING_LAYER                        = 0x8F3D
	IMAGE_BINDING_ACCESS                       = 0x8F3E
	IMAGE_BINDING_FORMAT                       = 0x906E
	VERTEX_ATTRIB_ARRAY_BARRIER_BIT            = 0x00000001
	ELEMENT_ARRAY_BARRIER_BIT                  = 0x00000002
	UNIFORM_BARRIER_BIT                        = 0x00000004
	TEXTURE_FETCH_BARRIER_BIT                  = 0x00000008
	SHADER_IMAGE_ACCESS_BARRIER_BIT            = 0x00000020
	COMMAND_BARRIER_BIT                        = 0x00000040
	PIXEL_BUFFER_BARRIER_BIT                   = 0x00000080
	TEXTURE_UPDATE_BARRIER_BIT                 = 0x00000100
	BUFFER_UPDATE_BARRIER_BIT                  = 0x00000200
	FRAMEBUFFER_BARRIER_BIT                    = 0x00000400
	TRANSFORM_FEEDBACK_BARRIER_BIT             = 0x00000800
	ATOMIC_COUNTER_BARRIER_BIT                 = 0x00001000
	ALL_BARRIER_BITS                           = 0xFFFFFFFF
	IMAGE_2D                                   = 0x904D
	IMAGE_3D                                   = 0x904E
	IMAGE_CUBE                                 = 0x9050
	IMAGE_2D_ARRAY                             = 0x9053
	INT_IMAGE_2D                               = 0x9058
	INT_IMAGE_3D                               = 0x9059
	INT_IMAGE_CUBE                             = 0x905B
	INT_IMAGE_2D_ARRAY                         = 0x905E
	UNSIGNED_INT_IMAGE_2D                      = 0x9063
	UNSIGNED_INT_IMAGE_3D                      = 0x9064
	UNSIGNED_INT_IMAGE_CUBE                    = 0x9066
	UNSIGNED_INT_IMAGE_2D_ARRAY                = 0x9069
	IMAGE_FORMAT_COMPATIBILITY_TYPE            = 0x90C7
	IMAGE_FORMAT_COMPATIBILITY_BY_SIZE         = 0x90C8
	IMAGE_FORMAT_COMPATIBILITY_BY_CLASS        = 0x90C9
	READ_ONLY                                  = 0x88B8
	WRITE_ONLY                                 = 0x88B9
	READ_WRITE                                 = 0x88BA
	SHADER_STORAGE_BUFFER                      = 0x90D2
	SHADER_STORAGE_BUFFER_BINDING              = 0x90D3
	SHADER_STORAGE_BUFFER_START                = 0x90D4
	SHADER_STORAGE_BUFFER_SIZE                 = 0x90D5
	MAX_VERTEX_SHADER_STORAGE_BLOCKS           = 0x90D6
	MAX_FRAGMENT_SHADER_STORAGE_BLOCKS         = 0x90DA
	MAX_COMPUTE_SHADER_STORAGE_BLOCKS          = 0x90DB
	MAX_COMBINED_SHADER_STORAGE_BLOCKS         = 0x90DC
	MAX_SHADER_STORAGE_BUFFER_BINDINGS         = 0x90DD
	MAX_SHADER_STORAGE_BLOCK_SIZE              = 0x90DE
	SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT     = 0x90DF
	SHADER_STORAGE_BARRIER_BIT                 = 0x00002000
	MAX_COMBINED_SHADER_OUTPUT_RESOURCES       = 0x8F39
	DEPTH_STENCIL_TEXTURE_MODE                 = 0x90EA
	STENCIL_INDEX                              = 0x1901
	MIN_PROGRAM_TEXTURE_GATHER_OFFSET          = 0x8E5E
	MAX_PROGRAM_TEXTURE_GATHER_OFFSET          = 0x8E5F
	SAMPLE_POSITION                            = 0x8E50
	SAMPLE_MASK                                = 0x8E51
	SAMPLE_MASK_VALUE                          = 0x8E52
	TEXTURE_2D_MULTISAMPLE                     = 0x9100
	MAX_SAMPLE_MASK_WORDS                      = 0x8E59
	MAX_COLOR_TEXTURE_SAMPLES                  = 0x910E
	MAX_DEPTH_TEXTURE_SAMPLES                  = 0x910F
	MAX_INTEGER_SAMPLES                        = 0x9110
	TEXTURE_BINDING_2D_MULTISAMPLE             = 0x9104
	TEXTURE_SAMPLES                            = 0x9106
	TEXTURE_FIXED_SAMPLE_LOCATIONS             = 0x9107
	TEXTURE_WIDTH                              = 0x1000
	TEXTURE_HEIGHT                             = 0x1001
	TEXTURE_DEPTH                              = 0x8071
	TEXTURE_INTERNAL_FORMAT                    = 0x1003
	TEXTURE_RED_SIZE                           = 0x805C
	TEXTURE_GREEN_SIZE                         = 0x805D
	TEXTURE_BLUE_SIZE                          = 0x805E
	TEXTURE_ALPHA_SIZE                         = 0x805F
	TEXTURE_DEPTH_SIZE                         = 0x884A
	TEXTURE_STENCIL_SIZE                       = 0x88F1
	TEXTURE_SHARED_SIZE                        = 0x8C3F
	TEXTURE_RED_TYPE                           = 0x8C10
	TEXTURE_GREEN_TYPE                         = 0x8C11
	TEXTURE_BLUE_TYPE                          = 0x8C12
	TEXTURE_ALPHA_TYPE                         = 0x8C13
	TEXTURE_DEPTH_TYPE                         = 0x8C16
	TEXTURE_COMPRESSED                         = 0x86A1
	SAMPLER_2D_MULTISAMPLE                     = 0x9108
	INT_SAMPLER_2D_MULTISAMPLE                 = 0x9109
	UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE        = 0x910A
	VERTEX_ATTRIB_BINDING                      = 0x82D4
	VERTEX_ATTRIB_RELATIVE_OFFSET              = 0x82D5
	VERTEX_BINDING_DIVISOR                     = 0x82D6
	VERTEX_BINDING_OFFSET                      = 0x82D7
	VERTEX_BINDING_STRIDE                      = 0x82D8
	VERTEX_BINDING_BUFFER                      = 0x8F4F
	MAX_VERTEX_ATTRIB_RELATIVE_OFFSET          = 0x82D9
	MAX_VERTEX_ATTRIB_BINDINGS                 = 0x82DA
	MAX_VERTEX_ATTRIB_STRIDE                   = 0x82E5
)

gles31

View Source
const (
	MULTISAMPLE_LINE_WIDTH_RANGE                    = 0x9381
	MULTISAMPLE_LINE_WIDTH_GRANULARITY              = 0x9382
	MULTIPLY                                        = 0x9294
	SCREEN                                          = 0x9295
	OVERLAY                                         = 0x9296
	DARKEN                                          = 0x9297
	LIGHTEN                                         = 0x9298
	COLORDODGE                                      = 0x9299
	COLORBURN                                       = 0x929A
	HARDLIGHT                                       = 0x929B
	SOFTLIGHT                                       = 0x929C
	DIFFERENCE                                      = 0x929E
	EXCLUSION                                       = 0x92A0
	HSL_HUE                                         = 0x92AD
	HSL_SATURATION                                  = 0x92AE
	HSL_COLOR                                       = 0x92AF
	HSL_LUMINOSITY                                  = 0x92B0
	DEBUG_OUTPUT_SYNCHRONOUS                        = 0x8242
	DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                = 0x8243
	DEBUG_CALLBACK_FUNCTION                         = 0x8244
	DEBUG_CALLBACK_USER_PARAM                       = 0x8245
	DEBUG_SOURCE_API                                = 0x8246
	DEBUG_SOURCE_WINDOW_SYSTEM                      = 0x8247
	DEBUG_SOURCE_SHADER_COMPILER                    = 0x8248
	DEBUG_SOURCE_THIRD_PARTY                        = 0x8249
	DEBUG_SOURCE_APPLICATION                        = 0x824A
	DEBUG_SOURCE_OTHER                              = 0x824B
	DEBUG_TYPE_ERROR                                = 0x824C
	DEBUG_TYPE_DEPRECATED_BEHAVIOR                  = 0x824D
	DEBUG_TYPE_UNDEFINED_BEHAVIOR                   = 0x824E
	DEBUG_TYPE_PORTABILITY                          = 0x824F
	DEBUG_TYPE_PERFORMANCE                          = 0x8250
	DEBUG_TYPE_OTHER                                = 0x8251
	DEBUG_TYPE_MARKER                               = 0x8268
	DEBUG_TYPE_PUSH_GROUP                           = 0x8269
	DEBUG_TYPE_POP_GROUP                            = 0x826A
	DEBUG_SEVERITY_NOTIFICATION                     = 0x826B
	MAX_DEBUG_GROUP_STACK_DEPTH                     = 0x826C
	DEBUG_GROUP_STACK_DEPTH                         = 0x826D
	BUFFER                                          = 0x82E0
	SHADER                                          = 0x82E1
	PROGRAM                                         = 0x82E2
	VERTEX_ARRAY                                    = 0x8074
	QUERY                                           = 0x82E3
	PROGRAM_PIPELINE                                = 0x82E4
	SAMPLER                                         = 0x82E6
	MAX_LABEL_LENGTH                                = 0x82E8
	MAX_DEBUG_MESSAGE_LENGTH                        = 0x9143
	MAX_DEBUG_LOGGED_MESSAGES                       = 0x9144
	DEBUG_LOGGED_MESSAGES                           = 0x9145
	DEBUG_SEVERITY_HIGH                             = 0x9146
	DEBUG_SEVERITY_MEDIUM                           = 0x9147
	DEBUG_SEVERITY_LOW                              = 0x9148
	DEBUG_OUTPUT                                    = 0x92E0
	CONTEXT_FLAG_DEBUG_BIT                          = 0x00000002
	STACK_OVERFLOW                                  = 0x0503
	STACK_UNDERFLOW                                 = 0x0504
	GEOMETRY_SHADER                                 = 0x8DD9
	GEOMETRY_SHADER_BIT                             = 0x00000004
	GEOMETRY_VERTICES_OUT                           = 0x8916
	GEOMETRY_INPUT_TYPE                             = 0x8917
	GEOMETRY_OUTPUT_TYPE                            = 0x8918
	GEOMETRY_SHADER_INVOCATIONS                     = 0x887F
	LAYER_PROVOKING_VERTEX                          = 0x825E
	LINES_ADJACENCY                                 = 0x000A
	LINE_STRIP_ADJACENCY                            = 0x000B
	TRIANGLES_ADJACENCY                             = 0x000C
	TRIANGLE_STRIP_ADJACENCY                        = 0x000D
	MAX_GEOMETRY_UNIFORM_COMPONENTS                 = 0x8DDF
	MAX_GEOMETRY_UNIFORM_BLOCKS                     = 0x8A2C
	MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS        = 0x8A32
	MAX_GEOMETRY_INPUT_COMPONENTS                   = 0x9123
	MAX_GEOMETRY_OUTPUT_COMPONENTS                  = 0x9124
	MAX_GEOMETRY_OUTPUT_VERTICES                    = 0x8DE0
	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS            = 0x8DE1
	MAX_GEOMETRY_SHADER_INVOCATIONS                 = 0x8E5A
	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS                = 0x8C29
	MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS             = 0x92CF
	MAX_GEOMETRY_ATOMIC_COUNTERS                    = 0x92D5
	MAX_GEOMETRY_IMAGE_UNIFORMS                     = 0x90CD
	MAX_GEOMETRY_SHADER_STORAGE_BLOCKS              = 0x90D7
	FIRST_VERTEX_CONVENTION                         = 0x8E4D
	LAST_VERTEX_CONVENTION                          = 0x8E4E
	UNDEFINED_VERTEX                                = 0x8260
	PRIMITIVES_GENERATED                            = 0x8C87
	FRAMEBUFFER_DEFAULT_LAYERS                      = 0x9312
	MAX_FRAMEBUFFER_LAYERS                          = 0x9317
	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS            = 0x8DA8
	FRAMEBUFFER_ATTACHMENT_LAYERED                  = 0x8DA7
	REFERENCED_BY_GEOMETRY_SHADER                   = 0x9309
	PRIMITIVE_BOUNDING_BOX                          = 0x92BE
	CONTEXT_FLAG_ROBUST_ACCESS_BIT                  = 0x00000004
	CONTEXT_FLAGS                                   = 0x821E
	LOSE_CONTEXT_ON_RESET                           = 0x8252
	GUILTY_CONTEXT_RESET                            = 0x8253
	INNOCENT_CONTEXT_RESET                          = 0x8254
	UNKNOWN_CONTEXT_RESET                           = 0x8255
	RESET_NOTIFICATION_STRATEGY                     = 0x8256
	NO_RESET_NOTIFICATION                           = 0x8261
	CONTEXT_LOST                                    = 0x0507
	SAMPLE_SHADING                                  = 0x8C36
	MIN_SAMPLE_SHADING_VALUE                        = 0x8C37
	MIN_FRAGMENT_INTERPOLATION_OFFSET               = 0x8E5B
	MAX_FRAGMENT_INTERPOLATION_OFFSET               = 0x8E5C
	FRAGMENT_INTERPOLATION_OFFSET_BITS              = 0x8E5D
	PATCHES                                         = 0x000E
	PATCH_VERTICES                                  = 0x8E72
	TESS_CONTROL_OUTPUT_VERTICES                    = 0x8E75
	TESS_GEN_MODE                                   = 0x8E76
	TESS_GEN_SPACING                                = 0x8E77
	TESS_GEN_VERTEX_ORDER                           = 0x8E78
	TESS_GEN_POINT_MODE                             = 0x8E79
	ISOLINES                                        = 0x8E7A
	QUADS                                           = 0x0007
	FRACTIONAL_ODD                                  = 0x8E7B
	FRACTIONAL_EVEN                                 = 0x8E7C
	MAX_PATCH_VERTICES                              = 0x8E7D
	MAX_TESS_GEN_LEVEL                              = 0x8E7E
	MAX_TESS_CONTROL_UNIFORM_COMPONENTS             = 0x8E7F
	MAX_TESS_EVALUATION_UNIFORM_COMPONENTS          = 0x8E80
	MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS            = 0x8E81
	MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS         = 0x8E82
	MAX_TESS_CONTROL_OUTPUT_COMPONENTS              = 0x8E83
	MAX_TESS_PATCH_COMPONENTS                       = 0x8E84
	MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS        = 0x8E85
	MAX_TESS_EVALUATION_OUTPUT_COMPONENTS           = 0x8E86
	MAX_TESS_CONTROL_UNIFORM_BLOCKS                 = 0x8E89
	MAX_TESS_EVALUATION_UNIFORM_BLOCKS              = 0x8E8A
	MAX_TESS_CONTROL_INPUT_COMPONENTS               = 0x886C
	MAX_TESS_EVALUATION_INPUT_COMPONENTS            = 0x886D
	MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS    = 0x8E1E
	MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F
	MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS         = 0x92CD
	MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS      = 0x92CE
	MAX_TESS_CONTROL_ATOMIC_COUNTERS                = 0x92D3
	MAX_TESS_EVALUATION_ATOMIC_COUNTERS             = 0x92D4
	MAX_TESS_CONTROL_IMAGE_UNIFORMS                 = 0x90CB
	MAX_TESS_EVALUATION_IMAGE_UNIFORMS              = 0x90CC
	MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS          = 0x90D8
	MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS       = 0x90D9
	PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED         = 0x8221
	IS_PER_PATCH                                    = 0x92E7
	REFERENCED_BY_TESS_CONTROL_SHADER               = 0x9307
	REFERENCED_BY_TESS_EVALUATION_SHADER            = 0x9308
	TESS_CONTROL_SHADER                             = 0x8E88
	TESS_EVALUATION_SHADER                          = 0x8E87
	TESS_CONTROL_SHADER_BIT                         = 0x00000008
	TESS_EVALUATION_SHADER_BIT                      = 0x00000010
	TEXTURE_BORDER_COLOR                            = 0x1004
	CLAMP_TO_BORDER                                 = 0x812D
	TEXTURE_BUFFER                                  = 0x8C2A
	TEXTURE_BUFFER_BINDING                          = 0x8C2A
	MAX_TEXTURE_BUFFER_SIZE                         = 0x8C2B
	TEXTURE_BINDING_BUFFER                          = 0x8C2C
	TEXTURE_BUFFER_DATA_STORE_BINDING               = 0x8C2D
	TEXTURE_BUFFER_OFFSET_ALIGNMENT                 = 0x919F
	SAMPLER_BUFFER                                  = 0x8DC2
	INT_SAMPLER_BUFFER                              = 0x8DD0
	UNSIGNED_INT_SAMPLER_BUFFER                     = 0x8DD8
	IMAGE_BUFFER                                    = 0x9051
	INT_IMAGE_BUFFER                                = 0x905C
	UNSIGNED_INT_IMAGE_BUFFER                       = 0x9067
	TEXTURE_BUFFER_OFFSET                           = 0x919D
	TEXTURE_BUFFER_SIZE                             = 0x919E
	COMPRESSED_RGBA_ASTC_4x4                        = 0x93B0
	COMPRESSED_RGBA_ASTC_5x4                        = 0x93B1
	COMPRESSED_RGBA_ASTC_5x5                        = 0x93B2
	COMPRESSED_RGBA_ASTC_6x5                        = 0x93B3
	COMPRESSED_RGBA_ASTC_6x6                        = 0x93B4
	COMPRESSED_RGBA_ASTC_8x5                        = 0x93B5
	COMPRESSED_RGBA_ASTC_8x6                        = 0x93B6
	COMPRESSED_RGBA_ASTC_8x8                        = 0x93B7
	COMPRESSED_RGBA_ASTC_10x5                       = 0x93B8
	COMPRESSED_RGBA_ASTC_10x6                       = 0x93B9
	COMPRESSED_RGBA_ASTC_10x8                       = 0x93BA
	COMPRESSED_RGBA_ASTC_10x10                      = 0x93BB
	COMPRESSED_RGBA_ASTC_12x10                      = 0x93BC
	COMPRESSED_RGBA_ASTC_12x12                      = 0x93BD
	COMPRESSED_SRGB8_ALPHA8_ASTC_4x4                = 0x93D0
	COMPRESSED_SRGB8_ALPHA8_ASTC_5x4                = 0x93D1
	COMPRESSED_SRGB8_ALPHA8_ASTC_5x5                = 0x93D2
	COMPRESSED_SRGB8_ALPHA8_ASTC_6x5                = 0x93D3
	COMPRESSED_SRGB8_ALPHA8_ASTC_6x6                = 0x93D4
	COMPRESSED_SRGB8_ALPHA8_ASTC_8x5                = 0x93D5
	COMPRESSED_SRGB8_ALPHA8_ASTC_8x6                = 0x93D6
	COMPRESSED_SRGB8_ALPHA8_ASTC_8x8                = 0x93D7
	COMPRESSED_SRGB8_ALPHA8_ASTC_10x5               = 0x93D8
	COMPRESSED_SRGB8_ALPHA8_ASTC_10x6               = 0x93D9
	COMPRESSED_SRGB8_ALPHA8_ASTC_10x8               = 0x93DA
	COMPRESSED_SRGB8_ALPHA8_ASTC_10x10              = 0x93DB
	COMPRESSED_SRGB8_ALPHA8_ASTC_12x10              = 0x93DC
	COMPRESSED_SRGB8_ALPHA8_ASTC_12x12              = 0x93DD
	TEXTURE_CUBE_MAP_ARRAY                          = 0x9009
	TEXTURE_BINDING_CUBE_MAP_ARRAY                  = 0x900A
	SAMPLER_CUBE_MAP_ARRAY                          = 0x900C
	SAMPLER_CUBE_MAP_ARRAY_SHADOW                   = 0x900D
	INT_SAMPLER_CUBE_MAP_ARRAY                      = 0x900E
	UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY             = 0x900F
	IMAGE_CUBE_MAP_ARRAY                            = 0x9054
	INT_IMAGE_CUBE_MAP_ARRAY                        = 0x905F
	UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY               = 0x906A
	TEXTURE_2D_MULTISAMPLE_ARRAY                    = 0x9102
	TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY            = 0x9105
	SAMPLER_2D_MULTISAMPLE_ARRAY                    = 0x910B
	INT_SAMPLER_2D_MULTISAMPLE_ARRAY                = 0x910C
	UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY       = 0x910D
)

gles32

View Source
const (
	TEXTURE_MAX_ANISOTROPY_EXT     = 0x84FE
	MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF

	// From glfw
	PROGRAM_POINT_SIZE = 0x8642
)

nolint: revive

View Source
const (
	// NullTexture is a nil texture
	NullTexture     = Texture(0)
	NullFramebuffer = Framebuffer(0)
	NullBuffer      = Buffer(0)
	NullVertexArray = VertexArray(0)
	// Null value varies with the wrapper
	Null = 0
)

glfw default Null targets.

Variables

This section is empty.

Functions

func ActiveTexture

func ActiveTexture(texture Enum)

func AttachShader

func AttachShader(p Program, s Shader)

func BindAttribLocation

func BindAttribLocation(p Program, a Attrib, name string)

func BindBuffer

func BindBuffer(target Enum, b Buffer)

func BindBufferBase

func BindBufferBase(target Enum, n uint32, b Buffer)

func BindFramebuffer

func BindFramebuffer(target Enum, fb Framebuffer)

func BindRenderbuffer

func BindRenderbuffer(target Enum, rb Renderbuffer)

func BindTexture

func BindTexture(target Enum, t Texture)

func BindVertexArray

func BindVertexArray(rb VertexArray)

func BlendColor

func BlendColor(red, green, blue, alpha float32)

func BlendEquation

func BlendEquation(mode Enum)

func BlendEquationSeparate

func BlendEquationSeparate(modeRGB, modeAlpha Enum)

func BlendFunc

func BlendFunc(sfactor, dfactor Enum)

func BlendFuncSeparate

func BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha Enum)

func BufferData

func BufferData(target Enum, src any, usage Enum)

func BufferInit

func BufferInit(target Enum, size int, usage Enum)

func BufferSubData

func BufferSubData(target Enum, offset int, src any)

func Clear

func Clear(mask Enum)

func ClearColor

func ClearColor(red, green, blue, alpha float32)

func ClearDepthf

func ClearDepthf(d float32)

func ClearStencil

func ClearStencil(s int)

func ColorMask

func ColorMask(red, green, blue, alpha bool)

func CompileShader

func CompileShader(s Shader)

func CompressedTexImage2D

func CompressedTexImage2D(target Enum, level int, internalformat Enum, width, height, border int, data []byte)

func CompressedTexSubImage2D

func CompressedTexSubImage2D(target Enum, level, xoffset, yoffset, width, height int, format Enum, data []byte)

func CopyTexImage2D

func CopyTexImage2D(target Enum, level int, internalformat Enum, x, y, width, height, border int)

func CopyTexSubImage2D

func CopyTexSubImage2D(target Enum, level, xoffset, yoffset, x, y, width, height int)

func CullFace

func CullFace(mode Enum)

func DeleteBuffer

func DeleteBuffer(v Buffer)

func DeleteFramebuffer

func DeleteFramebuffer(v Framebuffer)

func DeleteProgram

func DeleteProgram(p Program)

func DeleteRenderbuffer

func DeleteRenderbuffer(v Renderbuffer)

func DeleteShader

func DeleteShader(s Shader)

func DeleteTexture

func DeleteTexture(v Texture)

func DeleteVertexArray

func DeleteVertexArray(v VertexArray)

func DepthFunc

func DepthFunc(fn Enum)

func DepthMask

func DepthMask(flag bool)

func DepthRangef

func DepthRangef(n, f float32)

func DetachShader

func DetachShader(p Program, s Shader)

func Disable

func Disable(cap Enum)

func DisableVertexAttribArray

func DisableVertexAttribArray(a Attrib)

func DrawArrays

func DrawArrays(mode Enum, first, count int)

func DrawArraysInstanced

func DrawArraysInstanced(mode Enum, first, count, primcount uint32)

func DrawElements

func DrawElements(mode Enum, count int, ty Enum, offset int)

func DrawElementsInstanced

func DrawElementsInstanced(mode Enum, count uint32, typ Enum, offset, primcount uint32)

func Enable

func Enable(cap Enum)

func EnableVertexAttribArray

func EnableVertexAttribArray(a Attrib)

func Finish

func Finish()

func Flush

func Flush()

func FramebufferRenderbuffer

func FramebufferRenderbuffer(target, attachment, rbTarget Enum, rb Renderbuffer)

func FramebufferTexture2D

func FramebufferTexture2D(target, attachment, texTarget Enum, t Texture, level int)

func FrontFace

func FrontFace(mode Enum)

func GenerateMipmap

func GenerateMipmap(target Enum)

func GetActiveUniformBlockName

func GetActiveUniformBlockName(p Program, index uint32) string

func GetActiveUniformBlockiv

func GetActiveUniformBlockiv(p Program, index uint32, pname Enum, params []int32)

func GetActiveUniformi

func GetActiveUniformi(p Program, index uint32, pname Enum) int32

func GetBooleanv

func GetBooleanv(dst []bool, pname Enum)

func GetBufferParameteri

func GetBufferParameteri(target, value Enum) int

func GetFloatv

func GetFloatv(dst []float32, pname Enum)

func GetFramebufferAttachmentParameteri

func GetFramebufferAttachmentParameteri(target, attachment, pname Enum) int

func GetInteger

func GetInteger(pname Enum) int

func GetIntegerv

func GetIntegerv(dst []int32, pname Enum)

func GetProgramInfoLog

func GetProgramInfoLog(p Program) string

func GetProgrami

func GetProgrami(p Program, pname Enum) int

func GetRenderbufferParameteri

func GetRenderbufferParameteri(target, pname Enum) int

func GetShaderInfoLog

func GetShaderInfoLog(s Shader) string

func GetShaderPrecisionFormat

func GetShaderPrecisionFormat(shadertype, precisiontype Enum) (rangeLow, rangeHigh, precision int)

func GetShaderSource

func GetShaderSource(s Shader) string

func GetShaderi

func GetShaderi(s Shader, pname Enum) int

func GetString

func GetString(pname Enum) string

func GetTexParameterfv

func GetTexParameterfv(dst []float32, target, pname Enum)

func GetTexParameteriv

func GetTexParameteriv(dst []int32, target, pname Enum)

func GetUniformBlockIndex

func GetUniformBlockIndex(p Program, name string) uint32

func GetUniformfv

func GetUniformfv(dst []float32, src Uniform, p Program)

func GetUniformiv

func GetUniformiv(dst []int32, src Uniform, p Program)

func GetVertexAttribf

func GetVertexAttribf(src Attrib, pname Enum) float32

func GetVertexAttribfv

func GetVertexAttribfv(dst []float32, src Attrib, pname Enum)

func GetVertexAttribi

func GetVertexAttribi(src Attrib, pname Enum) int32

func GetVertexAttribiv

func GetVertexAttribiv(dst []int32, src Attrib, pname Enum)

func Global

func Global() wrapperi

func Hint

func Hint(target, mode Enum)

func Init

func Init(w *Wrapper)

func IsBuffer

func IsBuffer(b Buffer) bool

func IsEnabled

func IsEnabled(cap Enum) bool

func IsFramebuffer

func IsFramebuffer(fb Framebuffer) bool

func IsProgram

func IsProgram(p Program) bool

func IsRenderbuffer

func IsRenderbuffer(rb Renderbuffer) bool

func IsShader

func IsShader(s Shader) bool

func IsTexture

func IsTexture(t Texture) bool

func IsValid

func IsValid(v Uint) bool

IsValid returns if any of the values above is valid

func LineWidth

func LineWidth(width float32)

func LinkProgram

func LinkProgram(p Program)

func PixelStorei

func PixelStorei(pname Enum, param int32)

func PolygonOffset

func PolygonOffset(factor, units float32)

func ReadPixels

func ReadPixels(dst []byte, x, y, width, height int, format, ty Enum)

func ReleaseShaderCompiler

func ReleaseShaderCompiler()

func RenderbufferStorage

func RenderbufferStorage(target, internalFormat Enum, width, height int)

func SampleCoverage

func SampleCoverage(value float32, invert bool)

func Scissor

func Scissor(x, y, width, height int32)

func ShaderSource

func ShaderSource(s Shader, src string)

func StencilFunc

func StencilFunc(fn Enum, ref int, mask uint32)

func StencilFuncSeparate

func StencilFuncSeparate(face, fn Enum, ref int, mask uint32)

func StencilMask

func StencilMask(mask uint32)

func StencilMaskSeparate

func StencilMaskSeparate(face Enum, mask uint32)

func StencilOp

func StencilOp(fail, zfail, zpass Enum)

func StencilOpSeparate

func StencilOpSeparate(face, sfail, dpfail, dppass Enum)

func TexImage2D

func TexImage2D(target Enum, level int, internalFormat int, width, height int, format Enum, ty Enum, data []byte)

func TexParameterf

func TexParameterf(target, pname Enum, param float32)

func TexParameterfv

func TexParameterfv(target, pname Enum, params []float32)

func TexParameteri

func TexParameteri(target, pname Enum, param int)

func TexParameteriv

func TexParameteriv(target, pname Enum, params []int32)

func TexSubImage2D

func TexSubImage2D(target Enum, level int, x, y, width, height int, format, ty Enum, data []byte)

func Uniform1f

func Uniform1f(dst Uniform, v float32)

func Uniform1fv

func Uniform1fv(dst Uniform, src []float32)

func Uniform1i

func Uniform1i(dst Uniform, v int)

func Uniform1iv

func Uniform1iv(dst Uniform, src []int32)

func Uniform2f

func Uniform2f(dst Uniform, v0, v1 float32)

func Uniform2fv

func Uniform2fv(dst Uniform, src []float32)

func Uniform2i

func Uniform2i(dst Uniform, v0, v1 int)

func Uniform2iv

func Uniform2iv(dst Uniform, src []int32)

func Uniform3f

func Uniform3f(dst Uniform, v0, v1, v2 float32)

func Uniform3fv

func Uniform3fv(dst Uniform, src []float32)

func Uniform3i

func Uniform3i(dst Uniform, v0, v1, v2 int32)

func Uniform3iv

func Uniform3iv(dst Uniform, src []int32)

func Uniform4f

func Uniform4f(dst Uniform, v0, v1, v2, v3 float32)

func Uniform4fv

func Uniform4fv(dst Uniform, src []float32)

func Uniform4i

func Uniform4i(dst Uniform, v0, v1, v2, v3 int32)

func Uniform4iv

func Uniform4iv(dst Uniform, src []int32)

func UniformBlockBinding

func UniformBlockBinding(p Program, index, bind uint32)

func UniformMatrix2fv

func UniformMatrix2fv(dst Uniform, src []float32)

func UniformMatrix3fv

func UniformMatrix3fv(dst Uniform, src []float32)

func UniformMatrix4fv

func UniformMatrix4fv(dst Uniform, src []float32)

func UseProgram

func UseProgram(p Program)

func ValidateProgram

func ValidateProgram(p Program)

func VertexAttrib1f

func VertexAttrib1f(dst Attrib, x float32)

func VertexAttrib1fv

func VertexAttrib1fv(dst Attrib, src []float32)

func VertexAttrib2f

func VertexAttrib2f(dst Attrib, x, y float32)

func VertexAttrib2fv

func VertexAttrib2fv(dst Attrib, src []float32)

func VertexAttrib3f

func VertexAttrib3f(dst Attrib, x, y, z float32)

func VertexAttrib3fv

func VertexAttrib3fv(dst Attrib, src []float32)

func VertexAttrib4f

func VertexAttrib4f(dst Attrib, x, y, z, w float32)

func VertexAttrib4fv

func VertexAttrib4fv(dst Attrib, src []float32)

func VertexAttribDivisor

func VertexAttribDivisor(index Attrib, divisor uint32)

func VertexAttribPointer

func VertexAttribPointer(dst Attrib, size int, ty Enum, normalized bool, stride, offset int)

func Viewport

func Viewport(x, y, width, height int32)

Types

type Attrib

type Attrib = Uint

nolint: revive

func GetAttribLocation

func GetAttribLocation(p Program, name string) Attrib

type Buffer

type Buffer = Uint

nolint: revive

func CreateBuffer

func CreateBuffer() Buffer

type Context

type Context interface {
	// ActiveTexture sets the active texture unit.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glActiveTexture.xhtml
	ActiveTexture(texture Enum)

	// AttachShader attaches a shader to a program.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glAttachShader.xhtml
	AttachShader(p Program, s Shader)

	// BindAttribLocation binds a vertex attribute index with a named
	// variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBindAttribLocation.xhtml
	BindAttribLocation(p Program, a Attrib, name string)

	// BindBuffer binds a buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBindBuffer.xhtml
	BindBuffer(target Enum, b Buffer)

	// BindFramebuffer binds a framebuffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBindFramebuffer.xhtml
	BindFramebuffer(target Enum, fb Framebuffer)

	// BindRenderbuffer binds a render buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBindRenderbuffer.xhtml
	BindRenderbuffer(target Enum, rb Renderbuffer)

	// BindTexture binds a texture.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBindTexture.xhtml
	BindTexture(target Enum, t Texture)

	// BindVertexArray binds a vertex array.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBindVertexArray.xhtml
	BindVertexArray(rb VertexArray)

	// BlendColor sets the blend color.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendColor.xhtml
	BlendColor(red, green, blue, alpha float32)

	// BlendEquation sets both RGB and alpha blend equations.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendEquation.xhtml
	BlendEquation(mode Enum)

	// BlendEquationSeparate sets RGB and alpha blend equations separately.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendEquationSeparate.xhtml
	BlendEquationSeparate(modeRGB, modeAlpha Enum)

	// BlendFunc sets the pixel blending factors.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendFunc.xhtml
	BlendFunc(sfactor, dfactor Enum)

	// BlendFunc sets the pixel RGB and alpha blending factors separately.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendFuncSeparate.xhtml
	BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha Enum)

	// BufferInit creates a new uninitialized data store for the bound buffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBufferData.xhtml
	BufferInit(target Enum, size int, usage Enum)

	// BufferData creates a new data store for the bound buffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBufferData.xhtml
	BufferData(target Enum, src any, usage Enum)

	// BufferSubData sets some of data in the bound buffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBufferSubData.xhtml
	BufferSubData(target Enum, offset int, src any)

	// CheckFramebufferStatus reports the completeness status of the
	// active framebuffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCheckFramebufferStatus.xhtml
	CheckFramebufferStatus(target Enum) Enum

	// Clear clears the window.
	//
	// The behavior of Clear is influenced by the pixel ownership test,
	// the scissor test, dithering, and the buffer writemasks.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glClear.xhtml
	Clear(mask Enum)

	// ClearColor specifies the RGBA values used to clear color buffers.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glClearColor.xhtml
	ClearColor(red, green, blue, alpha float32)

	// ClearDepthf sets the depth value used to clear the depth buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glClearDepthf.xhtml
	ClearDepthf(d float32)

	// ClearStencil sets the index used to clear the stencil buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glClearStencil.xhtml
	ClearStencil(s int)

	// ColorMask specifies whether color components in the framebuffer
	// can be written.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glColorMask.xhtml
	ColorMask(red, green, blue, alpha bool)

	// CompileShader compiles the source code of s.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCompileShader.xhtml
	CompileShader(s Shader)

	// CompressedTexImage2D writes a compressed 2D texture.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCompressedTexImage2D.xhtml
	CompressedTexImage2D(target Enum, level int, internalformat Enum, width, height, border int, data []byte)

	// CompressedTexSubImage2D writes a subregion of a compressed 2D texture.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCompressedTexSubImage2D.xhtml
	CompressedTexSubImage2D(target Enum, level, xoffset, yoffset, width, height int, format Enum, data []byte)

	// CopyTexImage2D writes a 2D texture from the current framebuffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCopyTexImage2D.xhtml
	CopyTexImage2D(target Enum, level int, internalformat Enum, x, y, width, height, border int)

	// CopyTexSubImage2D writes a 2D texture subregion from the
	// current framebuffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCopyTexSubImage2D.xhtml
	CopyTexSubImage2D(target Enum, level, xoffset, yoffset, x, y, width, height int)

	// CreateBuffer creates a buffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGenBuffers.xhtml
	CreateBuffer() Buffer

	// CreateFramebuffer creates a framebuffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGenFramebuffers.xhtml
	CreateFramebuffer() Framebuffer

	// CreateProgram creates a new empty program object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCreateProgram.xhtml
	CreateProgram() Program

	// CreateRenderbuffer create a renderbuffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGenRenderbuffers.xhtml
	CreateRenderbuffer() Renderbuffer

	// CreateShader creates a new empty shader object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCreateShader.xhtml
	CreateShader(ty Enum) Shader

	// CreateTexture creates a texture object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGenTextures.xhtml
	CreateTexture() Texture

	// CreateTVertexArray creates a vertex array.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGenVertexArrays.xhtml
	CreateVertexArray() VertexArray

	// CullFace specifies which polygons are candidates for culling.
	//
	// Valid modes: FRONT, BACK, FRONT_AND_BACK.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glCullFace.xhtml
	CullFace(mode Enum)

	// DeleteBuffer deletes the given buffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteBuffers.xhtml
	DeleteBuffer(v Buffer)

	// DeleteFramebuffer deletes the given framebuffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteFramebuffers.xhtml
	DeleteFramebuffer(v Framebuffer)

	// DeleteProgram deletes the given program object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteProgram.xhtml
	DeleteProgram(p Program)

	// DeleteRenderbuffer deletes the given render buffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteRenderbuffers.xhtml
	DeleteRenderbuffer(v Renderbuffer)

	// DeleteShader deletes shader s.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteShader.xhtml
	DeleteShader(s Shader)

	// DeleteTexture deletes the given texture object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteTextures.xhtml
	DeleteTexture(v Texture)

	// DeleteVertexArray deletes the given render buffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteVertexArrays.xhtml
	DeleteVertexArray(v VertexArray)

	// DepthFunc sets the function used for depth buffer comparisons.
	//
	// Valid fn values:
	//	NEVER
	//	LESS
	//	EQUAL
	//	LEQUAL
	//	GREATER
	//	NOTEQUAL
	//	GEQUAL
	//	ALWAYS
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDepthFunc.xhtml
	DepthFunc(fn Enum)

	// DepthMask sets the depth buffer enabled for writing.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDepthMask.xhtml
	DepthMask(flag bool)

	// DepthRangef sets the mapping from normalized device coordinates to
	// window coordinates.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDepthRangef.xhtml
	DepthRangef(n, f float32)

	// DetachShader detaches the shader s from the program p.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDetachShader.xhtml
	DetachShader(p Program, s Shader)

	// Disable disables various GL capabilities.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDisable.xhtml
	Disable(cap Enum)

	// DisableVertexAttribArray disables a vertex attribute array.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDisableVertexAttribArray.xhtml
	DisableVertexAttribArray(a Attrib)

	// DrawArrays renders geometric primitives from the bound data.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawArrays.xhtml
	DrawArrays(mode Enum, first, count int)

	// DrawElements renders primitives from a bound buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawElements.xhtml
	DrawElements(mode Enum, count int, ty Enum, offset int)

	// Enable enables various GL capabilities.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glEnable.xhtml
	Enable(cap Enum)

	// EnableVertexAttribArray enables a vertex attribute array.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glEnableVertexAttribArray.xhtml
	EnableVertexAttribArray(a Attrib)

	// Finish blocks until the effects of all previously called GL
	// commands are complete.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glFinish.xhtml
	Finish()

	// Flush empties all buffers. It does not block.
	//
	// An OpenGL implementation may buffer network communication,
	// the command stream, or data inside the graphics accelerator.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glFlush.xhtml
	Flush()

	// FramebufferRenderbuffer attaches rb to the current frame buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glFramebufferRenderbuffer.xhtml
	FramebufferRenderbuffer(target, attachment, rbTarget Enum, rb Renderbuffer)

	// FramebufferTexture2D attaches the t to the current frame buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glFramebufferTexture2D.xhtml
	FramebufferTexture2D(target, attachment, texTarget Enum, t Texture, level int)

	// FrontFace defines which polygons are front-facing.
	//
	// Valid modes: CW, CCW.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glFrontFace.xhtml
	FrontFace(mode Enum)

	// GenerateMipmap generates mipmaps for the current texture.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGenerateMipmap.xhtml
	GenerateMipmap(target Enum)

	// GetActiveAttrib returns details about an active attribute variable.
	// A value of 0 for index selects the first active attribute variable.
	// Permissible values for index range from 0 to the number of active
	// attribute variables minus 1.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetActiveAttrib.xhtml
	GetActiveAttrib(p Program, index uint32) (name string, size int, ty Enum)

	// GetActiveUniform returns details about an active uniform variable.
	// A value of 0 for index selects the first active uniform variable.
	// Permissible values for index range from 0 to the number of active
	// uniform variables minus 1.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetActiveUniform.xhtml
	GetActiveUniform(p Program, index uint32) (name string, size int, ty Enum)

	// GetAttachedShaders returns the shader objects attached to program p.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetAttachedShaders.xhtml
	GetAttachedShaders(p Program) []Shader

	// GetAttribLocation returns the location of an attribute variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetAttribLocation.xhtml
	GetAttribLocation(p Program, name string) Attrib

	// GetBooleanv returns the boolean values of parameter pname.
	//
	// Many boolean parameters can be queried more easily using IsEnabled.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml
	GetBooleanv(dst []bool, pname Enum)

	// GetFloatv returns the float values of parameter pname.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml
	GetFloatv(dst []float32, pname Enum)

	// GetIntegerv returns the int values of parameter pname.
	//
	// Single values may be queried more easily using GetInteger.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml
	GetIntegerv(dst []int32, pname Enum)

	// GetInteger returns the int value of parameter pname.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml
	GetInteger(pname Enum) int

	// GetBufferParameteri returns a parameter for the active buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetBufferParameter.xhtml
	GetBufferParameteri(target, value Enum) int

	// GetError returns the next error.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetError.xhtml
	GetError() Enum

	// GetFramebufferAttachmentParameteri returns attachment parameters
	// for the active framebuffer object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetFramebufferAttachmentParameteriv.xhtml
	GetFramebufferAttachmentParameteri(target, attachment, pname Enum) int

	// GetProgrami returns a parameter value for a program.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetProgramiv.xhtml
	GetProgrami(p Program, pname Enum) int

	// GetProgramInfoLog returns the information log for a program.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetProgramInfoLog.xhtml
	GetProgramInfoLog(p Program) string

	// GetRenderbufferParameteri returns a parameter value for a render buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetRenderbufferParameteriv.xhtml
	GetRenderbufferParameteri(target, pname Enum) int

	// GetShaderi returns a parameter value for a shader.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderiv.xhtml
	GetShaderi(s Shader, pname Enum) int

	// GetShaderInfoLog returns the information log for a shader.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderInfoLog.xhtml
	GetShaderInfoLog(s Shader) string

	// GetShaderPrecisionFormat returns range and precision limits for
	// shader types.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderPrecisionFormat.xhtml
	GetShaderPrecisionFormat(shadertype, precisiontype Enum) (rangeLow, rangeHigh, precision int)

	// GetShaderSource returns source code of shader s.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderSource.xhtml
	GetShaderSource(s Shader) string

	// GetString reports current GL state.
	//
	// Valid name values:
	//	EXTENSIONS
	//	RENDERER
	//	SHADING_LANGUAGE_VERSION
	//	VENDOR
	//	VERSION
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetString.xhtml
	GetString(pname Enum) string

	// GetTexParameterfv returns the float values of a texture parameter.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetTexParameter.xhtml
	GetTexParameterfv(dst []float32, target, pname Enum)

	// GetTexParameteriv returns the int values of a texture parameter.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetTexParameter.xhtml
	GetTexParameteriv(dst []int32, target, pname Enum)

	// GetUniformfv returns the float values of a uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetUniform.xhtml
	GetUniformfv(dst []float32, src Uniform, p Program)

	// GetUniformiv returns the float values of a uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetUniform.xhtml
	GetUniformiv(dst []int32, src Uniform, p Program)

	// GetUniformLocation returns the location of a uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetUniformLocation.xhtml
	GetUniformLocation(p Program, name string) Uniform

	// GetVertexAttribf reads the float value of a vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml
	GetVertexAttribf(src Attrib, pname Enum) float32

	// GetVertexAttribfv reads float values of a vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml
	GetVertexAttribfv(dst []float32, src Attrib, pname Enum)

	// GetVertexAttribi reads the int value of a vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml
	GetVertexAttribi(src Attrib, pname Enum) int32

	// GetVertexAttribiv reads int values of a vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml
	GetVertexAttribiv(dst []int32, src Attrib, pname Enum)

	// Hint sets implementation-specific modes.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glHint.xhtml
	Hint(target, mode Enum)

	// IsBuffer reports if b is a valid buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glIsBuffer.xhtml
	IsBuffer(b Buffer) bool

	// IsEnabled reports if cap is an enabled capability.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glIsEnabled.xhtml
	IsEnabled(cap Enum) bool

	// IsFramebuffer reports if fb is a valid frame buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glIsFramebuffer.xhtml
	IsFramebuffer(fb Framebuffer) bool

	// IsProgram reports if p is a valid program object.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glIsProgram.xhtml
	IsProgram(p Program) bool

	// IsRenderbuffer reports if rb is a valid render buffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glIsRenderbuffer.xhtml
	IsRenderbuffer(rb Renderbuffer) bool

	// IsShader reports if s is valid shader.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glIsShader.xhtml
	IsShader(s Shader) bool

	// IsTexture reports if t is a valid texture.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glIsTexture.xhtml
	IsTexture(t Texture) bool

	// LineWidth specifies the width of lines.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glLineWidth.xhtml
	LineWidth(width float32)

	// LinkProgram links the specified program.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glLinkProgram.xhtml
	LinkProgram(p Program)

	// PixelStorei sets pixel storage parameters.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glPixelStorei.xhtml
	PixelStorei(pname Enum, param int32)

	// PolygonOffset sets the scaling factors for depth offsets.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glPolygonOffset.xhtml
	PolygonOffset(factor, units float32)

	// ReadPixels returns pixel data from a buffer.
	//
	// In GLES 3, the source buffer is controlled with ReadBuffer.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glReadPixels.xhtml
	ReadPixels(dst []byte, x, y, width, height int, format, ty Enum)

	// ReleaseShaderCompiler frees resources allocated by the shader compiler.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glReleaseShaderCompiler.xhtml
	ReleaseShaderCompiler()

	// RenderbufferStorage establishes the data storage, format, and
	// dimensions of a renderbuffer object's image.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glRenderbufferStorage.xhtml
	RenderbufferStorage(target, internalFormat Enum, width, height int)

	// SampleCoverage sets multisample coverage parameters.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glSampleCoverage.xhtml
	SampleCoverage(value float32, invert bool)

	// Scissor defines the scissor box rectangle, in window coordinates.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glScissor.xhtml
	Scissor(x, y, width, height int32)

	// ShaderSource sets the source code of s to the given source code.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glShaderSource.xhtml
	ShaderSource(s Shader, src string)

	// StencilFunc sets the front and back stencil test reference value.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilFunc.xhtml
	StencilFunc(fn Enum, ref int, mask uint32)

	// StencilFunc sets the front or back stencil test reference value.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilFuncSeparate.xhtml
	StencilFuncSeparate(face, fn Enum, ref int, mask uint32)

	// StencilMask controls the writing of bits in the stencil planes.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilMask.xhtml
	StencilMask(mask uint32)

	// StencilMaskSeparate controls the writing of bits in the stencil planes.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilMaskSeparate.xhtml
	StencilMaskSeparate(face Enum, mask uint32)

	// StencilOp sets front and back stencil test actions.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilOp.xhtml
	StencilOp(fail, zfail, zpass Enum)

	// StencilOpSeparate sets front or back stencil tests.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilOpSeparate.xhtml
	StencilOpSeparate(face, sfail, dpfail, dppass Enum)

	// TexImage2D writes a 2D texture image.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glTexImage2D.xhtml
	TexImage2D(target Enum, level int, internalFormat int, width, height int, format Enum, ty Enum, data []byte)

	// TexSubImage2D writes a subregion of a 2D texture image.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glTexSubImage2D.xhtml
	TexSubImage2D(target Enum, level int, x, y, width, height int, format, ty Enum, data []byte)

	// TexParameterf sets a float texture parameter.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml
	TexParameterf(target, pname Enum, param float32)

	// TexParameterfv sets a float texture parameter array.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml
	TexParameterfv(target, pname Enum, params []float32)

	// TexParameteri sets an integer texture parameter.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml
	TexParameteri(target, pname Enum, param int)

	// TexParameteriv sets an integer texture parameter array.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml
	TexParameteriv(target, pname Enum, params []int32)

	// Uniform1f writes a float uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform1f(dst Uniform, v float32)

	// Uniform1fv writes a [len(src)]float uniform array.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform1fv(dst Uniform, src []float32)

	// Uniform1i writes an int uniform variable.
	//
	// Uniform1i and Uniform1iv are the only two functions that may be used
	// to load uniform variables defined as sampler types. Loading samplers
	// with any other function will result in a INVALID_OPERATION error.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform1i(dst Uniform, v int)

	// Uniform1iv writes a int uniform array of len(src) elements.
	//
	// Uniform1i and Uniform1iv are the only two functions that may be used
	// to load uniform variables defined as sampler types. Loading samplers
	// with any other function will result in a INVALID_OPERATION error.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform1iv(dst Uniform, src []int32)

	// Uniform2f writes a vec2 uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform2f(dst Uniform, v0, v1 float32)

	// Uniform2fv writes a vec2 uniform array of len(src)/2 elements.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform2fv(dst Uniform, src []float32)

	// Uniform2i writes an ivec2 uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform2i(dst Uniform, v0, v1 int)

	// Uniform2iv writes an ivec2 uniform array of len(src)/2 elements.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform2iv(dst Uniform, src []int32)

	// Uniform3f writes a vec3 uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform3f(dst Uniform, v0, v1, v2 float32)

	// Uniform3fv writes a vec3 uniform array of len(src)/3 elements.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform3fv(dst Uniform, src []float32)

	// Uniform3i writes an ivec3 uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform3i(dst Uniform, v0, v1, v2 int32)

	// Uniform3iv writes an ivec3 uniform array of len(src)/3 elements.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform3iv(dst Uniform, src []int32)

	// Uniform4f writes a vec4 uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform4f(dst Uniform, v0, v1, v2, v3 float32)

	// Uniform4fv writes a vec4 uniform array of len(src)/4 elements.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform4fv(dst Uniform, src []float32)

	// Uniform4i writes an ivec4 uniform variable.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform4i(dst Uniform, v0, v1, v2, v3 int32)

	// Uniform4i writes an ivec4 uniform array of len(src)/4 elements.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	Uniform4iv(dst Uniform, src []int32)

	// UniformMatrix2fv writes 2x2 matrices. Each matrix uses four
	// float32 values, so the number of matrices written is len(src)/4.
	//
	// Each matrix must be supplied in column major order.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	UniformMatrix2fv(dst Uniform, src []float32)

	// UniformMatrix3fv writes 3x3 matrices. Each matrix uses nine
	// float32 values, so the number of matrices written is len(src)/9.
	//
	// Each matrix must be supplied in column major order.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	UniformMatrix3fv(dst Uniform, src []float32)

	// UniformMatrix4fv writes 4x4 matrices. Each matrix uses 16
	// float32 values, so the number of matrices written is len(src)/16.
	//
	// Each matrix must be supplied in column major order.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml
	UniformMatrix4fv(dst Uniform, src []float32)

	// UseProgram sets the active program.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUseProgram.xhtml
	UseProgram(p Program)

	// ValidateProgram checks to see whether the executables contained in
	// program can execute given the current OpenGL state.
	//
	// Typically only used for debugging.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glValidateProgram.xhtml
	ValidateProgram(p Program)

	// VertexAttrib1f writes a float vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib1f(dst Attrib, x float32)

	// VertexAttrib1fv writes a float vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib1fv(dst Attrib, src []float32)

	// VertexAttrib2f writes a vec2 vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib2f(dst Attrib, x, y float32)

	// VertexAttrib2fv writes a vec2 vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib2fv(dst Attrib, src []float32)

	// VertexAttrib3f writes a vec3 vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib3f(dst Attrib, x, y, z float32)

	// VertexAttrib3fv writes a vec3 vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib3fv(dst Attrib, src []float32)

	// VertexAttrib4f writes a vec4 vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib4f(dst Attrib, x, y, z, w float32)

	// VertexAttrib4fv writes a vec4 vertex attribute.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml
	VertexAttrib4fv(dst Attrib, src []float32)

	// VertexAttribPointer uses a bound buffer to define vertex attribute data.
	//
	// Direct use of VertexAttribPointer to load data into OpenGL is not
	// supported via the Go bindings. Instead, use BindBuffer with an
	// ARRAY_BUFFER and then fill it using BufferData.
	//
	// The size argument specifies the number of components per attribute,
	// between 1-4. The stride argument specifies the byte offset between
	// consecutive vertex attributes.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttribPointer.xhtml
	VertexAttribPointer(dst Attrib, size int, ty Enum, normalized bool, stride, offset int)

	// Viewport sets the viewport, an affine transformation that
	// normalizes device coordinates to window coordinates.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glViewport.xhtml
	Viewport(x, y, width, height int32)
}

Context FROM golang.org/x/mobile/gl/interface.go

type Context3

type Context3 interface {
	Context

	GetActiveUniformi(p Program, index uint32, pname Enum) int32
	// glGetUniformBlockIndex retrieves the index of a uniform block within program.
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniformBlockIndex.xhtml
	GetUniformBlockIndex(p Program, name string) uint32

	// UniformBlockBinding assign a binding point to an active uniform block
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glUniformBlockBinding.xhtml
	UniformBlockBinding(p Program, index, bind uint32)

	// BindBufferBase bind a buffer object to an indexed buffer target
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glBindBufferBase.xhtml
	BindBufferBase(target Enum, n uint32, b Buffer)

	// glGetActiveUniformBlockiv — query information about an active uniform block
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetActiveUniformBlockiv.xhtml
	GetActiveUniformBlockiv(p Program, index uint32, pname Enum, params []int32)

	// glGetActiveUniformBlockName — retrieve the name of an active uniform block
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glGetActiveUniformBlockName.xhtml
	GetActiveUniformBlockName(p Program, index uint32) string

	// DrawArraysInstanced draw multiple instances of a range of elements
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawArraysInstanced.xhtml
	DrawArraysInstanced(mode Enum, first, count, primcount uint32)

	// DrawElementsInstanced — draw multiple instances of a set of elements
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawElementsInstanced.xhtml
	DrawElementsInstanced(mode Enum, count uint32, typ Enum, offset, primcount uint32)

	// VertexAttribDivisor  modify the rate at which generic vertex attributes
	// advance during instanced rendering
	//
	// http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawArraysInstanced.xhtml
	VertexAttribDivisor(index Attrib, divisor uint32)
}

Context3 opengles3/webgl2 funcs Not all

type Enum

type Enum = Uint

nolint: revive

func CheckFramebufferStatus

func CheckFramebufferStatus(target Enum) Enum

func GetActiveAttrib

func GetActiveAttrib(p Program, index uint32) (name string, size int, ty Enum)

func GetActiveUniform

func GetActiveUniform(p Program, index uint32) (name string, size int, ty Enum)

func GetError

func GetError() Enum

type Framebuffer

type Framebuffer = Uint

nolint: revive

func CreateFramebuffer

func CreateFramebuffer() Framebuffer

type Program

type Program = Uint

nolint: revive

func CreateProgram

func CreateProgram() Program

type Renderbuffer

type Renderbuffer = Uint

nolint: revive

func CreateRenderbuffer

func CreateRenderbuffer() Renderbuffer

type Shader

type Shader = Uint

nolint: revive

func CreateShader

func CreateShader(ty Enum) Shader

func GetAttachedShaders

func GetAttachedShaders(p Program) []Shader

type Texture

type Texture = Uint

nolint: revive

func CreateTexture

func CreateTexture() Texture

type Uint

type Uint = uint32

nolint: revive

type Uniform

type Uniform = Uint

nolint: revive

func GetUniformLocation

func GetUniformLocation(p Program, name string) Uniform

type VertexArray

type VertexArray = Uint

nolint: revive

func CreateVertexArray

func CreateVertexArray() VertexArray

type Wrapper

type Wrapper struct{}

Wrapper for gl funcs

func (*Wrapper) ActiveTexture

func (g *Wrapper) ActiveTexture(texture Enum)

ActiveTexture sets the active texture unit.

http://www.khronos.org/opengles/sdk/docs/man3/html/glActiveTexture.xhtml

func (*Wrapper) AttachShader

func (g *Wrapper) AttachShader(p Program, s Shader)

AttachShader attaches a shader to a program.

http://www.khronos.org/opengles/sdk/docs/man3/html/glAttachShader.xhtml

func (*Wrapper) BindAttribLocation

func (g *Wrapper) BindAttribLocation(p Program, a Attrib, name string)

BindAttribLocation binds a vertex attribute index with a named variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBindAttribLocation.xhtml

func (*Wrapper) BindBuffer

func (g *Wrapper) BindBuffer(target Enum, b Buffer)

BindBuffer binds a buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBindBuffer.xhtml

func (*Wrapper) BindBufferBase

func (g *Wrapper) BindBufferBase(target Enum, index uint32, b Buffer)

BindBufferBase bind a buffer object to an indexed buffer target

http://www.khronos.org/opengles/sdk/docs/man3/html/glBindBufferBase.xhtml

func (*Wrapper) BindFramebuffer

func (g *Wrapper) BindFramebuffer(target Enum, fb Framebuffer)

BindFramebuffer binds a framebuffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBindFramebuffer.xhtml

func (*Wrapper) BindRenderbuffer

func (g *Wrapper) BindRenderbuffer(target Enum, rb Renderbuffer)

BindRenderbuffer binds a render buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBindRenderbuffer.xhtml

func (*Wrapper) BindTexture

func (g *Wrapper) BindTexture(target Enum, t Texture)

BindTexture binds a texture.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBindTexture.xhtml

func (*Wrapper) BindVertexArray

func (g *Wrapper) BindVertexArray(rb VertexArray)

BindVertexArray binds a vertex array.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBindVertexArray.xhtml

func (*Wrapper) BlendColor

func (g *Wrapper) BlendColor(red float32, green float32, blue float32, alpha float32)

BlendColor sets the blend color.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendColor.xhtml

func (*Wrapper) BlendEquation

func (g *Wrapper) BlendEquation(mode Enum)

BlendEquation sets both RGB and alpha blend equations.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendEquation.xhtml

func (*Wrapper) BlendEquationSeparate

func (g *Wrapper) BlendEquationSeparate(modeRGB Enum, modeAlpha Enum)

BlendEquationSeparate sets RGB and alpha blend equations separately.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendEquationSeparate.xhtml

func (*Wrapper) BlendFunc

func (g *Wrapper) BlendFunc(sfactor Enum, dfactor Enum)

BlendFunc sets the pixel blending factors.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendFunc.xhtml

func (*Wrapper) BlendFuncSeparate

func (g *Wrapper) BlendFuncSeparate(sfactorRGB Enum, dfactorRGB Enum, sfactorAlpha Enum, dfactorAlpha Enum)

BlendFuncSeparate sets the pixel RGB and alpha blending factors separately.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBlendFuncSeparate.xhtml

func (*Wrapper) BufferData

func (g *Wrapper) BufferData(target Enum, data any, usage Enum)

BufferData creates a new data store for the bound buffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBufferData.xhtml

func (*Wrapper) BufferInit

func (g *Wrapper) BufferInit(target Enum, size int, usage Enum)

BufferInit creates a new uninitialized data store for the bound buffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBufferData.xhtml

func (*Wrapper) BufferSubData

func (g *Wrapper) BufferSubData(target Enum, offset int, data any)

BufferSubData sets some of data in the bound buffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glBufferSubData.xhtml

func (*Wrapper) CheckFramebufferStatus

func (g *Wrapper) CheckFramebufferStatus(target Enum) Enum

CheckFramebufferStatus reports the completeness status of the active framebuffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCheckFramebufferStatus.xhtml

func (*Wrapper) Clear

func (g *Wrapper) Clear(mask Enum)

Clear clears the window.

The behavior of Clear is influenced by the pixel ownership test, the scissor test, dithering, and the buffer writemasks.

http://www.khronos.org/opengles/sdk/docs/man3/html/glClear.xhtml

func (*Wrapper) ClearColor

func (g *Wrapper) ClearColor(red float32, green float32, blue float32, alpha float32)

ClearColor specifies the RGBA values used to clear color buffers.

http://www.khronos.org/opengles/sdk/docs/man3/html/glClearColor.xhtml

func (*Wrapper) ClearDepthf

func (g *Wrapper) ClearDepthf(d float32)

ClearDepthf sets the depth value used to clear the depth buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glClearDepthf.xhtml

func (*Wrapper) ClearStencil

func (g *Wrapper) ClearStencil(s int)

ClearStencil sets the index used to clear the stencil buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glClearStencil.xhtml

func (*Wrapper) ColorMask

func (g *Wrapper) ColorMask(red bool, green bool, blue bool, alpha bool)

ColorMask specifies whether color components in the framebuffer can be written.

http://www.khronos.org/opengles/sdk/docs/man3/html/glColorMask.xhtml

func (*Wrapper) CompileShader

func (g *Wrapper) CompileShader(s Shader)

CompileShader compiles the source code of s.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCompileShader.xhtml

func (*Wrapper) CompressedTexImage2D

func (g *Wrapper) CompressedTexImage2D(target Enum, level int, internalformat Enum, width int, height int, border int, data []byte)

CompressedTexImage2D writes a compressed 2D texture.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCompressedTexImage2D.xhtml

func (*Wrapper) CompressedTexSubImage2D

func (g *Wrapper) CompressedTexSubImage2D(target Enum, level int, xoffset int, yoffset int, width int, height int, format Enum, data []byte)

CompressedTexSubImage2D writes a subregion of a compressed 2D texture.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCompressedTexSubImage2D.xhtml

func (*Wrapper) CopyTexImage2D

func (g *Wrapper) CopyTexImage2D(target Enum, level int, internalformat Enum, x int, y int, width int, height int, border int)

CopyTexImage2D writes a 2D texture from the current framebuffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCopyTexImage2D.xhtml

func (*Wrapper) CopyTexSubImage2D

func (g *Wrapper) CopyTexSubImage2D(target Enum, level int, xoffset int, yoffset int, x int, y int, width int, height int)

CopyTexSubImage2D writes a 2D texture subregion from the current framebuffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCopyTexSubImage2D.xhtml

func (*Wrapper) CreateBuffer

func (g *Wrapper) CreateBuffer() Buffer

CreateBuffer creates a buffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGenBuffers.xhtml

func (*Wrapper) CreateFramebuffer

func (g *Wrapper) CreateFramebuffer() Framebuffer

CreateFramebuffer creates a framebuffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGenFramebuffers.xhtml

func (*Wrapper) CreateProgram

func (g *Wrapper) CreateProgram() Program

CreateProgram creates a new empty program object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCreateProgram.xhtml

func (*Wrapper) CreateRenderbuffer

func (g *Wrapper) CreateRenderbuffer() Renderbuffer

CreateRenderbuffer create a renderbuffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGenRenderbuffers.xhtml

func (*Wrapper) CreateShader

func (g *Wrapper) CreateShader(ty Enum) Shader

CreateShader creates a new empty shader object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCreateShader.xhtml

func (*Wrapper) CreateTexture

func (g *Wrapper) CreateTexture() Texture

CreateTexture creates a texture object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGenTextures.xhtml

func (*Wrapper) CreateVertexArray

func (g *Wrapper) CreateVertexArray() VertexArray

CreateVertexArray creates a vertex array.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGenVertexArrays.xhtml

func (*Wrapper) CullFace

func (g *Wrapper) CullFace(mode Enum)

CullFace specifies which polygons are candidates for culling.

Valid modes: FRONT, BACK, FRONT_AND_BACK.

http://www.khronos.org/opengles/sdk/docs/man3/html/glCullFace.xhtml

func (*Wrapper) DeleteBuffer

func (g *Wrapper) DeleteBuffer(v Buffer)

DeleteBuffer deletes the given buffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteBuffers.xhtml

func (*Wrapper) DeleteFramebuffer

func (g *Wrapper) DeleteFramebuffer(v Framebuffer)

DeleteFramebuffer deletes the given framebuffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteFramebuffers.xhtml

func (*Wrapper) DeleteProgram

func (g *Wrapper) DeleteProgram(p Program)

DeleteProgram deletes the given program object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteProgram.xhtml

func (*Wrapper) DeleteRenderbuffer

func (g *Wrapper) DeleteRenderbuffer(v Renderbuffer)

DeleteRenderbuffer deletes the given render buffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteRenderbuffers.xhtml

func (*Wrapper) DeleteShader

func (g *Wrapper) DeleteShader(s Shader)

DeleteShader deletes shader s.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteShader.xhtml

func (*Wrapper) DeleteTexture

func (g *Wrapper) DeleteTexture(v Texture)

DeleteTexture deletes the given texture object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteTextures.xhtml

func (*Wrapper) DeleteVertexArray

func (g *Wrapper) DeleteVertexArray(v VertexArray)

DeleteVertexArray deletes the given render buffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDeleteVertexArrays.xhtml

func (*Wrapper) DepthFunc

func (g *Wrapper) DepthFunc(fn Enum)

DepthFunc sets the function used for depth buffer comparisons.

Valid fn values:

NEVER
LESS
EQUAL
LEQUAL
GREATER
NOTEQUAL
GEQUAL
ALWAYS

http://www.khronos.org/opengles/sdk/docs/man3/html/glDepthFunc.xhtml

func (*Wrapper) DepthMask

func (g *Wrapper) DepthMask(flag bool)

DepthMask sets the depth buffer enabled for writing.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDepthMask.xhtml

func (*Wrapper) DepthRangef

func (g *Wrapper) DepthRangef(n float32, f float32)

DepthRangef sets the mapping from normalized device coordinates to window coordinates.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDepthRangef.xhtml

func (*Wrapper) DetachShader

func (g *Wrapper) DetachShader(p Program, s Shader)

DetachShader detaches the shader s from the program p.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDetachShader.xhtml

func (*Wrapper) Disable

func (g *Wrapper) Disable(cap Enum)

Disable disables various GL capabilities.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDisable.xhtml

func (*Wrapper) DisableVertexAttribArray

func (g *Wrapper) DisableVertexAttribArray(a Attrib)

DisableVertexAttribArray disables a vertex attribute array.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDisableVertexAttribArray.xhtml

func (*Wrapper) DrawArrays

func (g *Wrapper) DrawArrays(mode Enum, first int, count int)

DrawArrays renders geometric primitives from the bound data.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawArrays.xhtml

func (*Wrapper) DrawArraysInstanced

func (g *Wrapper) DrawArraysInstanced(mode Enum, first, count, primcount uint32)

DrawArraysInstanced draw multiple instances of a range of elements

http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawArraysInstanced.xhtml

func (*Wrapper) DrawElements

func (g *Wrapper) DrawElements(mode Enum, count int, ty Enum, offset int)

DrawElements renders primitives from a bound buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawElements.xhtml

func (*Wrapper) DrawElementsInstanced

func (g *Wrapper) DrawElementsInstanced(mode Enum, count uint32, typ Enum, offset, primcount uint32)

DrawElementsInstanced — draw multiple instances of a set of elements

http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawElementsInstanced.xhtml

func (*Wrapper) Enable

func (g *Wrapper) Enable(cap Enum)

Enable enables various GL capabilities.

http://www.khronos.org/opengles/sdk/docs/man3/html/glEnable.xhtml

func (*Wrapper) EnableVertexAttribArray

func (g *Wrapper) EnableVertexAttribArray(a Attrib)

EnableVertexAttribArray enables a vertex attribute array.

http://www.khronos.org/opengles/sdk/docs/man3/html/glEnableVertexAttribArray.xhtml

func (*Wrapper) Finish

func (g *Wrapper) Finish()

Finish blocks until the effects of all previously called GL commands are complete.

http://www.khronos.org/opengles/sdk/docs/man3/html/glFinish.xhtml

func (*Wrapper) Flush

func (g *Wrapper) Flush()

Flush empties all buffers. It does not block.

An OpenGL implementation may buffer network communication, the command stream, or data inside the graphics accelerator.

http://www.khronos.org/opengles/sdk/docs/man3/html/glFlush.xhtml

func (*Wrapper) FramebufferRenderbuffer

func (g *Wrapper) FramebufferRenderbuffer(target Enum, attachment Enum, rbTarget Enum, rb Renderbuffer)

FramebufferRenderbuffer attaches rb to the current frame buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glFramebufferRenderbuffer.xhtml

func (*Wrapper) FramebufferTexture2D

func (g *Wrapper) FramebufferTexture2D(target Enum, attachment Enum, texTarget Enum, t Texture, level int)

FramebufferTexture2D attaches the t to the current frame buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glFramebufferTexture2D.xhtml

func (*Wrapper) FramebufferTextureLayer

func (g *Wrapper) FramebufferTextureLayer(
	target Enum,
	attachment Enum,
	texture Texture,
	level int,
	layer int,
)

FramebufferTextureLayer ...

func (*Wrapper) FrontFace

func (g *Wrapper) FrontFace(mode Enum)

FrontFace defines which polygons are front-facing.

Valid modes: CW, CCW.

http://www.khronos.org/opengles/sdk/docs/man3/html/glFrontFace.xhtml

func (*Wrapper) GenerateMipmap

func (g *Wrapper) GenerateMipmap(target Enum)

GenerateMipmap generates mipmaps for the current texture.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGenerateMipmap.xhtml

func (*Wrapper) GetActiveAttrib

func (g *Wrapper) GetActiveAttrib(p Program, index uint32) (string, int, Enum)

GetActiveAttrib returns details about an active attribute variable. A value of 0 for index selects the first active attribute variable. Permissible values for index range from 0 to the number of active attribute variables minus 1.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetActiveAttrib.xhtml

func (*Wrapper) GetActiveUniform

func (g *Wrapper) GetActiveUniform(p Program, index uint32) (string, int, Enum)

GetActiveUniform returns details about an active uniform variable. A value of 0 for index selects the first active uniform variable. Permissible values for index range from 0 to the number of active uniform variables minus 1.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetActiveUniform.xhtml

func (*Wrapper) GetActiveUniformBlockName

func (g *Wrapper) GetActiveUniformBlockName(p Program, index uint32) string

GetActiveUniformBlockName gets active uniform name

func (*Wrapper) GetActiveUniformBlockiv

func (g *Wrapper) GetActiveUniformBlockiv(p Program, index uint32, pname Enum, params []int32)

GetActiveUniformBlockiv gets active uniform block

func (Wrapper) GetActiveUniformi

func (g Wrapper) GetActiveUniformi(p Program, index uint32, pname Enum) int32

GetActiveUniformi gets active uniform flag

func (*Wrapper) GetAttachedShaders

func (g *Wrapper) GetAttachedShaders(p Program) []Shader

GetAttachedShaders returns the shader objects attached to program p.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetAttachedShaders.xhtml

func (*Wrapper) GetAttribLocation

func (g *Wrapper) GetAttribLocation(p Program, name string) Attrib

GetAttribLocation returns the location of an attribute variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetAttribLocation.xhtml

func (*Wrapper) GetBooleanv

func (g *Wrapper) GetBooleanv(dst []bool, pname Enum)

GetBooleanv returns the boolean values of parameter pname.

Many boolean parameters can be queried more easily using IsEnabled.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml

func (*Wrapper) GetBufferParameteri

func (g *Wrapper) GetBufferParameteri(target Enum, value Enum) int

GetBufferParameteri returns a parameter for the active buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetBufferParameter.xhtml

func (*Wrapper) GetError

func (g *Wrapper) GetError() Enum

GetError returns the next error.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetError.xhtml

func (*Wrapper) GetFloatv

func (g *Wrapper) GetFloatv(dst []float32, pname Enum)

GetFloatv returns the float values of parameter pname.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml

func (*Wrapper) GetFramebufferAttachmentParameteri

func (g *Wrapper) GetFramebufferAttachmentParameteri(target Enum, attachment Enum, pname Enum) int

GetFramebufferAttachmentParameteri returns attachment parameters for the active framebuffer object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetFramebufferAttachmentParameteriv.xhtml

func (*Wrapper) GetInteger

func (g *Wrapper) GetInteger(pname Enum) int

GetInteger returns the int value of parameter pname.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml

func (*Wrapper) GetIntegerv

func (g *Wrapper) GetIntegerv(dst []int32, pname Enum)

GetIntegerv returns the int values of parameter pname.

Single values may be queried more easily using GetInteger.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGet.xhtml

func (*Wrapper) GetProgramInfoLog

func (g *Wrapper) GetProgramInfoLog(p Program) string

GetProgramInfoLog returns the information log for a program.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetProgramInfoLog.xhtml

func (*Wrapper) GetProgrami

func (g *Wrapper) GetProgrami(p Program, pname Enum) int

GetProgrami returns a parameter value for a program.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetProgramiv.xhtml

func (*Wrapper) GetRenderbufferParameteri

func (g *Wrapper) GetRenderbufferParameteri(target Enum, pname Enum) int

GetRenderbufferParameteri returns a parameter value for a render buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetRenderbufferParameteriv.xhtml

func (*Wrapper) GetShaderInfoLog

func (g *Wrapper) GetShaderInfoLog(s Shader) string

GetShaderInfoLog returns the information log for a shader.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderInfoLog.xhtml

func (*Wrapper) GetShaderPrecisionFormat

func (g *Wrapper) GetShaderPrecisionFormat(shadertype Enum, precisiontype Enum) (rangeLow int, rangeHigh int, precision int)

GetShaderPrecisionFormat returns range and precision limits for shader types.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderPrecisionFormat.xhtml

func (*Wrapper) GetShaderSource

func (g *Wrapper) GetShaderSource(s Shader) string

GetShaderSource returns source code of shader s.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderSource.xhtml

func (*Wrapper) GetShaderi

func (g *Wrapper) GetShaderi(s Shader, pname Enum) int

GetShaderi returns a parameter value for a shader.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetShaderiv.xhtml

func (*Wrapper) GetString

func (g *Wrapper) GetString(pname Enum) string

GetString reports current GL state.

Valid name values:

EXTENSIONS
RENDERER
SHADING_LANGUAGE_VERSION
VENDOR
VERSION

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetString.xhtml

func (*Wrapper) GetTexParameterfv

func (g *Wrapper) GetTexParameterfv(dst []float32, target Enum, pname Enum)

GetTexParameterfv returns the float values of a texture parameter.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetTexParameter.xhtml

func (*Wrapper) GetTexParameteriv

func (g *Wrapper) GetTexParameteriv(dst []int32, target Enum, pname Enum)

GetTexParameteriv returns the int values of a texture parameter.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetTexParameter.xhtml

func (*Wrapper) GetUniformBlockIndex

func (g *Wrapper) GetUniformBlockIndex(p Program, name string) uint32

GetUniformBlockIndex retrieves the index of a uniform block within program.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniformBlockIndex.xhtml

func (*Wrapper) GetUniformLocation

func (g *Wrapper) GetUniformLocation(p Program, name string) Uniform

GetUniformLocation returns the location of a uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetUniformLocation.xhtml

func (*Wrapper) GetUniformfv

func (g *Wrapper) GetUniformfv(dst []float32, src Uniform, p Program)

GetUniformfv returns the float values of a uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetUniform.xhtml

func (*Wrapper) GetUniformiv

func (g *Wrapper) GetUniformiv(dst []int32, src Uniform, p Program)

GetUniformiv returns the float values of a uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetUniform.xhtml

func (*Wrapper) GetVertexAttribf

func (g *Wrapper) GetVertexAttribf(src Attrib, pname Enum) float32

GetVertexAttribf reads the float value of a vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml

func (*Wrapper) GetVertexAttribfv

func (g *Wrapper) GetVertexAttribfv(dst []float32, src Attrib, pname Enum)

GetVertexAttribfv reads float values of a vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml

func (*Wrapper) GetVertexAttribi

func (g *Wrapper) GetVertexAttribi(src Attrib, pname Enum) int32

GetVertexAttribi reads the int value of a vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml

func (*Wrapper) GetVertexAttribiv

func (g *Wrapper) GetVertexAttribiv(dst []int32, src Attrib, pname Enum)

GetVertexAttribiv reads int values of a vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glGetVertexAttrib.xhtml

func (*Wrapper) Hint

func (g *Wrapper) Hint(target Enum, mode Enum)

Hint sets implementation-specific modes.

http://www.khronos.org/opengles/sdk/docs/man3/html/glHint.xhtml

func (Wrapper) Impl

func (g Wrapper) Impl() string

func (*Wrapper) IsBuffer

func (g *Wrapper) IsBuffer(b Buffer) bool

IsBuffer reports if b is a valid buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glIsBuffer.xhtml

func (*Wrapper) IsEnabled

func (g *Wrapper) IsEnabled(cap Enum) bool

IsEnabled reports if cap is an enabled capability.

http://www.khronos.org/opengles/sdk/docs/man3/html/glIsEnabled.xhtml

func (*Wrapper) IsFramebuffer

func (g *Wrapper) IsFramebuffer(fb Framebuffer) bool

IsFramebuffer reports if fb is a valid frame buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glIsFramebuffer.xhtml

func (*Wrapper) IsProgram

func (g *Wrapper) IsProgram(p Program) bool

IsProgram reports if p is a valid program object.

http://www.khronos.org/opengles/sdk/docs/man3/html/glIsProgram.xhtml

func (*Wrapper) IsRenderbuffer

func (g *Wrapper) IsRenderbuffer(rb Renderbuffer) bool

IsRenderbuffer reports if rb is a valid render buffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glIsRenderbuffer.xhtml

func (*Wrapper) IsShader

func (g *Wrapper) IsShader(s Shader) bool

IsShader reports if s is valid shader.

http://www.khronos.org/opengles/sdk/docs/man3/html/glIsShader.xhtml

func (*Wrapper) IsTexture

func (g *Wrapper) IsTexture(t Texture) bool

IsTexture reports if t is a valid texture.

http://www.khronos.org/opengles/sdk/docs/man3/html/glIsTexture.xhtml

func (*Wrapper) LineWidth

func (g *Wrapper) LineWidth(width float32)

LineWidth specifies the width of lines.

http://www.khronos.org/opengles/sdk/docs/man3/html/glLineWidth.xhtml

func (*Wrapper) LinkProgram

func (g *Wrapper) LinkProgram(p Program)

LinkProgram links the specified program.

http://www.khronos.org/opengles/sdk/docs/man3/html/glLinkProgram.xhtml

func (*Wrapper) PixelStorei

func (g *Wrapper) PixelStorei(pname Enum, param int32)

PixelStorei sets pixel storage parameters.

http://www.khronos.org/opengles/sdk/docs/man3/html/glPixelStorei.xhtml

func (*Wrapper) PolygonOffset

func (g *Wrapper) PolygonOffset(factor float32, units float32)

PolygonOffset sets the scaling factors for depth offsets.

http://www.khronos.org/opengles/sdk/docs/man3/html/glPolygonOffset.xhtml

func (*Wrapper) ReadPixels

func (g *Wrapper) ReadPixels(dst []byte, x int, y int, width int, height int, format Enum, ty Enum)

ReadPixels returns pixel data from a buffer.

In GLES 3, the source buffer is controlled with ReadBuffer.

http://www.khronos.org/opengles/sdk/docs/man3/html/glReadPixels.xhtml

func (*Wrapper) ReleaseShaderCompiler

func (g *Wrapper) ReleaseShaderCompiler()

ReleaseShaderCompiler frees resources allocated by the shader compiler.

http://www.khronos.org/opengles/sdk/docs/man3/html/glReleaseShaderCompiler.xhtml

func (*Wrapper) RenderbufferStorage

func (g *Wrapper) RenderbufferStorage(target Enum, internalFormat Enum, width int, height int)

RenderbufferStorage establishes the data storage, format, and dimensions of a renderbuffer object's image.

http://www.khronos.org/opengles/sdk/docs/man3/html/glRenderbufferStorage.xhtml

func (*Wrapper) SampleCoverage

func (g *Wrapper) SampleCoverage(value float32, invert bool)

SampleCoverage sets multisample coverage parameters.

http://www.khronos.org/opengles/sdk/docs/man3/html/glSampleCoverage.xhtml

func (*Wrapper) Scissor

func (g *Wrapper) Scissor(x int32, y int32, width int32, height int32)

Scissor defines the scissor box rectangle, in window coordinates.

http://www.khronos.org/opengles/sdk/docs/man3/html/glScissor.xhtml

func (*Wrapper) ShaderSource

func (g *Wrapper) ShaderSource(s Shader, src string)

ShaderSource sets the source code of s to the given source code.

http://www.khronos.org/opengles/sdk/docs/man3/html/glShaderSource.xhtml

func (*Wrapper) StencilFunc

func (g *Wrapper) StencilFunc(fn Enum, ref int, mask uint32)

StencilFunc sets the front and back stencil test reference value.

http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilFunc.xhtml

func (*Wrapper) StencilFuncSeparate

func (g *Wrapper) StencilFuncSeparate(face Enum, fn Enum, ref int, mask uint32)

StencilFuncSeparate sets the front or back stencil test reference value.

http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilFuncSeparate.xhtml

func (*Wrapper) StencilMask

func (g *Wrapper) StencilMask(mask uint32)

StencilMask controls the writing of bits in the stencil planes.

http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilMask.xhtml

func (*Wrapper) StencilMaskSeparate

func (g *Wrapper) StencilMaskSeparate(face Enum, mask uint32)

StencilMaskSeparate controls the writing of bits in the stencil planes.

http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilMaskSeparate.xhtml

func (*Wrapper) StencilOp

func (g *Wrapper) StencilOp(fail Enum, zfail Enum, zpass Enum)

StencilOp sets front and back stencil test actions.

http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilOp.xhtml

func (*Wrapper) StencilOpSeparate

func (g *Wrapper) StencilOpSeparate(face Enum, sfail Enum, dpfail Enum, dppass Enum)

StencilOpSeparate sets front or back stencil tests.

http://www.khronos.org/opengles/sdk/docs/man3/html/glStencilOpSeparate.xhtml

func (Wrapper) String

func (g Wrapper) String() string

func (*Wrapper) TexImage2D

func (g *Wrapper) TexImage2D(target Enum, level int, internalFormat int, width int, height int, format Enum, ty Enum, data []byte)

TexImage2D writes a 2D texture image.

http://www.khronos.org/opengles/sdk/docs/man3/html/glTexImage2D.xhtml

func (*Wrapper) TexImage3D

func (g *Wrapper) TexImage3D(
	target Enum,
	level, internalFormat, width, height, depth int,
	format, ty Enum,
	data []byte,
)

TexImage3D ... TODO: {lpf} grab khronos doc.

func (*Wrapper) TexParameterf

func (g *Wrapper) TexParameterf(target Enum, pname Enum, param float32)

TexParameterf sets a float texture parameter.

http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml

func (*Wrapper) TexParameterfv

func (g *Wrapper) TexParameterfv(target Enum, pname Enum, params []float32)

TexParameterfv sets a float texture parameter array.

http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml

func (*Wrapper) TexParameteri

func (g *Wrapper) TexParameteri(target Enum, pname Enum, param int)

TexParameteri sets an integer texture parameter.

http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml

func (*Wrapper) TexParameteriv

func (g *Wrapper) TexParameteriv(target Enum, pname Enum, params []int32)

TexParameteriv sets an integer texture parameter array.

http://www.khronos.org/opengles/sdk/docs/man3/html/glTexParameter.xhtml

func (*Wrapper) TexSubImage2D

func (g *Wrapper) TexSubImage2D(target Enum, level int, x int, y int, width int, height int, format Enum, ty Enum, data []byte)

TexSubImage2D writes a subregion of a 2D texture image.

http://www.khronos.org/opengles/sdk/docs/man3/html/glTexSubImage2D.xhtml

func (*Wrapper) Uniform1f

func (g *Wrapper) Uniform1f(dst Uniform, v float32)

Uniform1f writes a float uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform1fv

func (g *Wrapper) Uniform1fv(dst Uniform, src []float32)

Uniform1fv writes a [len(src)]float uniform array.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform1i

func (g *Wrapper) Uniform1i(dst Uniform, v int)

Uniform1i writes an int uniform variable.

Uniform1i and Uniform1iv are the only two functions that may be used to load uniform variables defined as sampler types. Loading samplers with any other function will result in a INVALID_OPERATION error.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform1iv

func (g *Wrapper) Uniform1iv(dst Uniform, src []int32)

Uniform1iv writes a int uniform array of len(src) elements.

Uniform1i and Uniform1iv are the only two functions that may be used to load uniform variables defined as sampler types. Loading samplers with any other function will result in a INVALID_OPERATION error.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform2f

func (g *Wrapper) Uniform2f(dst Uniform, v0 float32, v1 float32)

Uniform2f writes a vec2 uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform2fv

func (g *Wrapper) Uniform2fv(dst Uniform, src []float32)

Uniform2fv writes a vec2 uniform array of len(src)/2 elements.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform2i

func (g *Wrapper) Uniform2i(dst Uniform, v0 int, v1 int)

Uniform2i writes an ivec2 uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform2iv

func (g *Wrapper) Uniform2iv(dst Uniform, src []int32)

Uniform2iv writes an ivec2 uniform array of len(src)/2 elements.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform3f

func (g *Wrapper) Uniform3f(dst Uniform, v0 float32, v1 float32, v2 float32)

Uniform3f writes a vec3 uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform3fv

func (g *Wrapper) Uniform3fv(dst Uniform, src []float32)

Uniform3fv writes a vec3 uniform array of len(src)/3 elements.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform3i

func (g *Wrapper) Uniform3i(dst Uniform, v0 int32, v1 int32, v2 int32)

Uniform3i writes an ivec3 uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform3iv

func (g *Wrapper) Uniform3iv(dst Uniform, src []int32)

Uniform3iv writes an ivec3 uniform array of len(src)/3 elements.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform4f

func (g *Wrapper) Uniform4f(dst Uniform, v0 float32, v1 float32, v2 float32, v3 float32)

Uniform4f writes a vec4 uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform4fv

func (g *Wrapper) Uniform4fv(dst Uniform, src []float32)

Uniform4fv writes a vec4 uniform array of len(src)/4 elements.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform4i

func (g *Wrapper) Uniform4i(dst Uniform, v0 int32, v1 int32, v2 int32, v3 int32)

Uniform4i writes an ivec4 uniform variable.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) Uniform4iv

func (g *Wrapper) Uniform4iv(dst Uniform, src []int32)

Uniform4iv writes an ivec4 uniform array of len(src)/4 elements.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) UniformBlockBinding

func (g *Wrapper) UniformBlockBinding(p Program, index uint32, bind Enum)

UniformBlockBinding assign a binding point to an active uniform block

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniformBlockBinding.xhtml

func (*Wrapper) UniformMatrix2fv

func (g *Wrapper) UniformMatrix2fv(dst Uniform, src []float32)

UniformMatrix2fv writes 2x2 matrices. Each matrix uses four float32 values, so the number of matrices written is len(src)/4.

Each matrix must be supplied in column major order.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) UniformMatrix3fv

func (g *Wrapper) UniformMatrix3fv(dst Uniform, src []float32)

UniformMatrix3fv writes 3x3 matrices. Each matrix uses nine float32 values, so the number of matrices written is len(src)/9.

Each matrix must be supplied in column major order.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) UniformMatrix4fv

func (g *Wrapper) UniformMatrix4fv(dst Uniform, src []float32)

UniformMatrix4fv writes 4x4 matrices. Each matrix uses 16 float32 values, so the number of matrices written is len(src)/16.

Each matrix must be supplied in column major order.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUniform.xhtml

func (*Wrapper) UseProgram

func (g *Wrapper) UseProgram(p Program)

UseProgram sets the active program.

http://www.khronos.org/opengles/sdk/docs/man3/html/glUseProgram.xhtml

func (*Wrapper) ValidateProgram

func (g *Wrapper) ValidateProgram(p Program)

ValidateProgram checks to see whether the executables contained in program can execute given the current OpenGL state.

Typically only used for debugging.

http://www.khronos.org/opengles/sdk/docs/man3/html/glValidateProgram.xhtml

func (*Wrapper) VertexAttrib1f

func (g *Wrapper) VertexAttrib1f(dst Attrib, x float32)

VertexAttrib1f writes a float vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttrib1fv

func (g *Wrapper) VertexAttrib1fv(dst Attrib, src []float32)

VertexAttrib1fv writes a float vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttrib2f

func (g *Wrapper) VertexAttrib2f(dst Attrib, x float32, y float32)

VertexAttrib2f writes a vec2 vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttrib2fv

func (g *Wrapper) VertexAttrib2fv(dst Attrib, src []float32)

VertexAttrib2fv writes a vec2 vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttrib3f

func (g *Wrapper) VertexAttrib3f(dst Attrib, x float32, y float32, z float32)

VertexAttrib3f writes a vec3 vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttrib3fv

func (g *Wrapper) VertexAttrib3fv(dst Attrib, src []float32)

VertexAttrib3fv writes a vec3 vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttrib4f

func (g *Wrapper) VertexAttrib4f(dst Attrib, x float32, y float32, z float32, w float32)

VertexAttrib4f writes a vec4 vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttrib4fv

func (g *Wrapper) VertexAttrib4fv(dst Attrib, src []float32)

VertexAttrib4fv writes a vec4 vertex attribute.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttrib.xhtml

func (*Wrapper) VertexAttribDivisor

func (g *Wrapper) VertexAttribDivisor(index Attrib, divisor uint32)

VertexAttribDivisor modify the rate at which generic vertex attributes advance during instanced rendering

http://www.khronos.org/opengles/sdk/docs/man3/html/glDrawArraysInstanced.xhtml

func (*Wrapper) VertexAttribPointer

func (g *Wrapper) VertexAttribPointer(dst Attrib, size int, ty Enum, normalized bool, stride int, offset int)

VertexAttribPointer uses a bound buffer to define vertex attribute data.

Direct use of VertexAttribPointer to load data into OpenGL is not supported via the Go bindings. Instead, use BindBuffer with an ARRAY_BUFFER and then fill it usingBufferData.

The size argument specifies the number of components per attribute, between 1-4. The stride argument specifies the byte offset between consecutive vertex attributes.

http://www.khronos.org/opengles/sdk/docs/man3/html/glVertexAttribPointer.xhtml

func (*Wrapper) Viewport

func (g *Wrapper) Viewport(x, y, width, height int32)

Viewport sets the viewport, an affine transformation that normalizes device coordinates to window coordinates.

http://www.khronos.org/opengles/sdk/docs/man3/html/glViewport.xhtml

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL