gl.go raw

   1  // SPDX-License-Identifier: Unlicense OR MIT
   2  
   3  package gl
   4  
   5  type (
   6  	Attrib uint
   7  	Enum   uint
   8  )
   9  
  10  const (
  11  	ALL_BARRIER_BITS                      = 0xffffffff
  12  	ARRAY_BUFFER                          = 0x8892
  13  	BLEND                                 = 0xbe2
  14  	CLAMP_TO_EDGE                         = 0x812f
  15  	COLOR_ATTACHMENT0                     = 0x8ce0
  16  	COLOR_BUFFER_BIT                      = 0x4000
  17  	COMPILE_STATUS                        = 0x8b81
  18  	COMPUTE_SHADER                        = 0x91B9
  19  	DEPTH_BUFFER_BIT                      = 0x100
  20  	DEPTH_ATTACHMENT                      = 0x8d00
  21  	DEPTH_COMPONENT16                     = 0x81a5
  22  	DEPTH_COMPONENT24                     = 0x81A6
  23  	DEPTH_COMPONENT32F                    = 0x8CAC
  24  	DEPTH_TEST                            = 0xb71
  25  	DRAW_FRAMEBUFFER                      = 0x8CA9
  26  	DST_COLOR                             = 0x306
  27  	DYNAMIC_DRAW                          = 0x88E8
  28  	DYNAMIC_READ                          = 0x88E9
  29  	ELEMENT_ARRAY_BUFFER                  = 0x8893
  30  	EXTENSIONS                            = 0x1f03
  31  	FALSE                                 = 0
  32  	FLOAT                                 = 0x1406
  33  	FRAGMENT_SHADER                       = 0x8b30
  34  	FRAMEBUFFER                           = 0x8d40
  35  	FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210
  36  	FRAMEBUFFER_BINDING                   = 0x8ca6
  37  	FRAMEBUFFER_COMPLETE                  = 0x8cd5
  38  	HALF_FLOAT                            = 0x140b
  39  	HALF_FLOAT_OES                        = 0x8d61
  40  	INFO_LOG_LENGTH                       = 0x8B84
  41  	INVALID_INDEX                         = ^uint(0)
  42  	GREATER                               = 0x204
  43  	GEQUAL                                = 0x206
  44  	LINEAR                                = 0x2601
  45  	LINK_STATUS                           = 0x8b82
  46  	LUMINANCE                             = 0x1909
  47  	MAP_READ_BIT                          = 0x0001
  48  	MAX_TEXTURE_SIZE                      = 0xd33
  49  	NEAREST                               = 0x2600
  50  	NO_ERROR                              = 0x0
  51  	NUM_EXTENSIONS                        = 0x821D
  52  	ONE                                   = 0x1
  53  	ONE_MINUS_SRC_ALPHA                   = 0x303
  54  	PROGRAM_BINARY_LENGTH                 = 0x8741
  55  	QUERY_RESULT                          = 0x8866
  56  	QUERY_RESULT_AVAILABLE                = 0x8867
  57  	R16F                                  = 0x822d
  58  	R8                                    = 0x8229
  59  	READ_FRAMEBUFFER                      = 0x8ca8
  60  	READ_ONLY                             = 0x88B8
  61  	READ_WRITE                            = 0x88BA
  62  	RED                                   = 0x1903
  63  	RENDERER                              = 0x1F01
  64  	RENDERBUFFER                          = 0x8d41
  65  	RENDERBUFFER_BINDING                  = 0x8ca7
  66  	RENDERBUFFER_HEIGHT                   = 0x8d43
  67  	RENDERBUFFER_WIDTH                    = 0x8d42
  68  	RGB                                   = 0x1907
  69  	RGBA                                  = 0x1908
  70  	RGBA8                                 = 0x8058
  71  	SHADER_STORAGE_BUFFER                 = 0x90D2
  72  	SHORT                                 = 0x1402
  73  	SRGB                                  = 0x8c40
  74  	SRGB_ALPHA_EXT                        = 0x8c42
  75  	SRGB8                                 = 0x8c41
  76  	SRGB8_ALPHA8                          = 0x8c43
  77  	STATIC_DRAW                           = 0x88e4
  78  	STENCIL_BUFFER_BIT                    = 0x00000400
  79  	TEXTURE_2D                            = 0xde1
  80  	TEXTURE_MAG_FILTER                    = 0x2800
  81  	TEXTURE_MIN_FILTER                    = 0x2801
  82  	TEXTURE_WRAP_S                        = 0x2802
  83  	TEXTURE_WRAP_T                        = 0x2803
  84  	TEXTURE0                              = 0x84c0
  85  	TEXTURE1                              = 0x84c1
  86  	TRIANGLE_STRIP                        = 0x5
  87  	TRIANGLES                             = 0x4
  88  	TRUE                                  = 1
  89  	UNIFORM_BUFFER                        = 0x8A11
  90  	UNPACK_ALIGNMENT                      = 0xcf5
  91  	UNSIGNED_BYTE                         = 0x1401
  92  	UNSIGNED_SHORT                        = 0x1403
  93  	VERSION                               = 0x1f02
  94  	VERTEX_SHADER                         = 0x8b31
  95  	WRITE_ONLY                            = 0x88B9
  96  	ZERO                                  = 0x0
  97  
  98  	// EXT_disjoint_timer_query
  99  	TIME_ELAPSED_EXT = 0x88BF
 100  	GPU_DISJOINT_EXT = 0x8FBB
 101  )
 102  
 103  var _ interface {
 104  	ActiveTexture(texture Enum)
 105  	AttachShader(p Program, s Shader)
 106  	BeginQuery(target Enum, query Query)
 107  	BindAttribLocation(p Program, a Attrib, name string)
 108  	BindBuffer(target Enum, b Buffer)
 109  	BindBufferBase(target Enum, index int, buffer Buffer)
 110  	BindFramebuffer(target Enum, fb Framebuffer)
 111  	BindImageTexture(unit int, t Texture, level int, layered bool, layer int, access, format Enum)
 112  	BindRenderbuffer(target Enum, fb Renderbuffer)
 113  	BindTexture(target Enum, t Texture)
 114  	BlendEquation(mode Enum)
 115  	BlendFunc(sfactor, dfactor Enum)
 116  	BlitFramebuffer(sx0, sy0, sx1, sy1, dx0, dy0, dx1, dy1 int, mask Enum, filter Enum)
 117  	BufferData(target Enum, size int, usage Enum)
 118  	BufferSubData(target Enum, offset int, src []byte)
 119  	CheckFramebufferStatus(target Enum) Enum
 120  	Clear(mask Enum)
 121  	ClearColor(red, green, blue, alpha float32)
 122  	ClearDepthf(d float32)
 123  	CompileShader(s Shader)
 124  	CreateBuffer() Buffer
 125  	CreateFramebuffer() Framebuffer
 126  	CreateProgram() Program
 127  	CreateQuery() Query
 128  	CreateRenderbuffer() Renderbuffer
 129  	CreateShader(ty Enum) Shader
 130  	CreateTexture() Texture
 131  	DeleteBuffer(v Buffer)
 132  	DeleteFramebuffer(v Framebuffer)
 133  	DeleteProgram(p Program)
 134  	DeleteQuery(query Query)
 135  	DeleteRenderbuffer(r Renderbuffer)
 136  	DeleteShader(s Shader)
 137  	DeleteTexture(v Texture)
 138  	DepthFunc(f Enum)
 139  	DepthMask(mask bool)
 140  	DisableVertexAttribArray(a Attrib)
 141  	Disable(cap Enum)
 142  	DispatchCompute(x, y, z int)
 143  	DrawArrays(mode Enum, first, count int)
 144  	DrawElements(mode Enum, count int, ty Enum, offset int)
 145  	Enable(cap Enum)
 146  	EnableVertexAttribArray(a Attrib)
 147  	EndQuery(target Enum)
 148  	FramebufferTexture2D(target, attachment, texTarget Enum, t Texture, level int)
 149  	FramebufferRenderbuffer(target, attachment, renderbuffertarget Enum, renderbuffer Renderbuffer)
 150  	GetBinding(pname Enum) Object
 151  	GetError() Enum
 152  	GetInteger(pname Enum) int
 153  	GetProgrami(p Program, pname Enum) int
 154  	GetProgramInfoLog(p Program) string
 155  	GetQueryObjectuiv(query Query, pname Enum) uint
 156  	GetShaderi(s Shader, pname Enum) int
 157  	GetShaderInfoLog(s Shader) string
 158  	GetString(pname Enum) string
 159  	GetUniformBlockIndex(p Program, name string) uint
 160  	GetUniformLocation(p Program, name string) Uniform
 161  	InvalidateFramebuffer(target, attachment Enum)
 162  	LinkProgram(p Program)
 163  	MapBufferRange(target Enum, offset, length int, access Enum) []byte
 164  	MemoryBarrier(barriers Enum)
 165  	ReadPixels(x, y, width, height int, format, ty Enum, data []byte)
 166  	RenderbufferStorage(target, internalformat Enum, width, height int)
 167  	ShaderSource(s Shader, src string)
 168  	TexImage2D(target Enum, level int, internalFormat Enum, width, height int, format, ty Enum)
 169  	TexParameteri(target, pname Enum, param int)
 170  	TexStorage2D(target Enum, levels int, internalFormat Enum, width, height int)
 171  	TexSubImage2D(target Enum, level, xoff, yoff int, width, height int, format, ty Enum, data []byte)
 172  	UniformBlockBinding(p Program, uniformBlockIndex uint, uniformBlockBinding uint)
 173  	Uniform1f(dst Uniform, v float32)
 174  	Uniform1i(dst Uniform, v int)
 175  	Uniform2f(dst Uniform, v0, v1 float32)
 176  	Uniform3f(dst Uniform, v0, v1, v2 float32)
 177  	Uniform4f(dst Uniform, v0, v1, v2, v3 float32)
 178  	UseProgram(p Program)
 179  	UnmapBuffer(target Enum) bool
 180  	VertexAttribPointer(dst Attrib, size int, ty Enum, normalized bool, stride, offset int)
 181  	Viewport(x, y, width, height int)
 182  } = (*Functions)(nil)
 183