wasmgl

package module
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2022 License: MIT Imports: 4 Imported by: 0

README

Go WASM GL

This project aims to expose the WebGL2 API as Go API that can be used in wasm projects.

Warning: The project is in early development and the API is likely to change in backward incompatible ways!

Getting Started

You need to add the project as a dependency.

go get github.com/mokiat/wasmgl@latest

The implementation uses syscall/js calls and as such requires that client applications are compiled with the GOOS=js and GOARCH=wasm options.

If you are unfamiliar with how Go and WASM works, then you should have a look at the official WebAssembly with Go documentation.

Following is an example Go code that clears the canvas with a green color.

package main

import (
	"log"

	"github.com/mokiat/wasmgl"
)

func main() {
	const canvasElementID = "glcanvas"

	if err := wasmgl.InitFromID(canvasElementID); err != nil {
		log.Fatalf("Failed to initialize wasmgl: %v", err)
	}

	wasmgl.ClearColor(0.0, 1.0, 0.0, 1.0)
	wasmgl.Clear(wasmgl.COLOR_BUFFER_BIT)
}

Documentation

Rendered for js/wasm

Index

Constants

View Source
const (
	DEPTH_BUFFER_BIT   = 0x00000100
	STENCIL_BUFFER_BIT = 0x00000400
	COLOR_BUFFER_BIT   = 0x00004000

	POINTS         = 0x0000
	LINES          = 0x0001
	LINE_LOOP      = 0x0002
	LINE_STRIP     = 0x0003
	TRIANGLES      = 0x0004
	TRIANGLE_STRIP = 0x0005
	TRIANGLE_FAN   = 0x0006

	ZERO                = 0x0000
	ONE                 = 0x0001
	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

	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          = 0x0000
	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

	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

	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_ATTRIBUTES                = 0x8B89
	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

	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_2D = 0x0DE1
	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

	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
	DEPTH_STENCIL     = 0x84F9

	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
	DEPTH_STENCIL_ATTACHMENT = 0x821A

	NONE = 0x0000

	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

	UNPACK_FLIP_Y_WEBGL                = 0x9240
	UNPACK_PREMULTIPLY_ALPHA_WEBGL     = 0x9241
	CONTEXT_LOST_WEBGL                 = 0x9242
	UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243
	BROWSER_DEFAULT_WEBGL              = 0x9244

	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
	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
	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_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
	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
	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
	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE            = 0x8D56
	MAX_SAMPLES                                   = 0x8D57
	HALF_FLOAT                                    = 0x140B
	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
	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_BLOCKS                         = 0x8A36
	UNIFORM_TYPE                                  = 0x8A37
	UNIFORM_SIZE                                  = 0x8A38
	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_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
	VERTEX_ATTRIB_ARRAY_DIVISOR                   = 0x88FE
	ANY_SAMPLES_PASSED                            = 0x8C2F
	ANY_SAMPLES_PASSED_CONSERVATIVE               = 0x8D6A
	SAMPLER_BINDING                               = 0x8919
	RGB10_A2UI                                    = 0x906F
	INT_2_10_10_10_REV                            = 0x8D9F
	TRANSFORM_FEEDBACK                            = 0x8E22
	TRANSFORM_FEEDBACK_PAUSED                     = 0x8E23
	TRANSFORM_FEEDBACK_ACTIVE                     = 0x8E24
	TRANSFORM_FEEDBACK_BINDING                    = 0x8E25
	TEXTURE_IMMUTABLE_FORMAT                      = 0x912F
	MAX_ELEMENT_INDEX                             = 0x8D6B
	TEXTURE_IMMUTABLE_LEVELS                      = 0x82DF
)

Variables

View Source
var NilBuffer = Buffer(js.Null())

NilBuffer equals the zero Buffer.

View Source
var NilFramebuffer = Framebuffer(js.Null())

NilFramebuffer equals the zero Framebuffer.

View Source
var NilProgram = Program(js.Null())

NilProgram equals the zero Program.

View Source
var NilShader = Shader(js.Null())

NilShader equals the zero Shader.

View Source
var NilSync = Sync(js.Null())

NilSync equals the zero Sync.

View Source
var NilTexture = Texture(js.Null())

NilTexture equals the zero Texture.

View Source
var NilUniformLocation = UniformLocation(js.Null())

NilUniformLocation equals the nil UniformLocation.

View Source
var NilVertexArray = VertexArray(js.Null())

NilVertexArray equals the zero VertexArray.

Functions

func ActiveTexture

func ActiveTexture(texture GLenum)

func AttachShader

func AttachShader(program Program, shader Shader)

func BindBuffer

func BindBuffer(target GLenum, buffer Buffer)

func BindBufferBase added in v0.5.0

func BindBufferBase(target GLenum, index GLuint, buffer Buffer)

func BindBufferRange added in v0.5.0

func BindBufferRange(target GLenum, index GLuint, buffer Buffer, offset GLintptr, size GLsizeiptr)

func BindFramebuffer

func BindFramebuffer(target GLenum, framebuffer Framebuffer)

func BindTexture

func BindTexture(target GLenum, texture Texture)

func BindVertexArray

func BindVertexArray(array VertexArray)

func BlendColor added in v0.2.0

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

func BlendEquationSeparate

func BlendEquationSeparate(modeRGB, modeAlpha GLenum)

func BlendFunc

func BlendFunc(sfactor, dfactor GLenum)

func BlendFuncSeparate

func BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha GLenum)

func BlitFramebuffer

func BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1 GLint, mask GLbitfield, filter GLenum)

func BufferData

func BufferData(target GLenum, size GLsizeiptr, data []byte, usage GLenum)

func BufferSubData

func BufferSubData(target GLenum, dstOffset GLintptr, data []byte)

func Clear

func Clear(mask GLbitfield)

func ClearBufferfi added in v0.2.0

func ClearBufferfi(buffer GLenum, drawBuffer GLint, depth GLfloat, stencil GLint)

func ClearBufferfv added in v0.2.0

func ClearBufferfv(buffer GLenum, drawBuffer GLint, values Float32List)

func ClearBufferiv added in v0.2.0

func ClearBufferiv(buffer GLenum, drawBuffer GLint, values Int32List)

func ClearBufferuiv added in v0.2.0

func ClearBufferuiv(buffer GLenum, drawBuffer GLint, values Uint32List)

func ClearColor

func ClearColor(r, g, b, a GLclampf)

func ClearDepth

func ClearDepth(depth GLclampf)

func ClearStencil

func ClearStencil(stencil GLint)

func ColorMask

func ColorMask(r, g, b, a GLboolean)

func CompileShader

func CompileShader(shader Shader)

func CopyTexSubImage2D

func CopyTexSubImage2D(target GLenum, level, xoffset, yoffset, x, y GLint, width, height GLsizei)

func CullFace

func CullFace(mode GLenum)

func DeleteBuffer

func DeleteBuffer(buffer Buffer)

func DeleteFramebuffer

func DeleteFramebuffer(framebuffer Framebuffer)

func DeleteProgram

func DeleteProgram(program Program)

func DeleteShader

func DeleteShader(shader Shader)

func DeleteSync

func DeleteSync(sync Sync)

func DeleteTexture

func DeleteTexture(texture Texture)

func DeleteVertexArray

func DeleteVertexArray(array VertexArray)

func DepthFunc

func DepthFunc(fn GLenum)

func DepthMask

func DepthMask(mask GLboolean)

func DetachShader

func DetachShader(program Program, shader Shader)

func Disable

func Disable(cap GLenum)

func DisableVertexAttribArray

func DisableVertexAttribArray(index GLuint)

func DrawArrays

func DrawArrays(mode GLenum, first GLint, count GLsizei)

func DrawArraysInstanced added in v0.2.0

func DrawArraysInstanced(mode GLenum, first GLint, count, instanceCount GLsizei)

func DrawBuffers

func DrawBuffers(buffers []GLenum)

func DrawElements

func DrawElements(mode GLenum, count GLsizei, dtype GLenum, offset GLintptr)

func DrawElementsInstanced added in v0.2.0

func DrawElementsInstanced(mode GLenum, count GLsizei, pType GLenum, offset GLintptr, instanceCount GLsizei)

func DrawingBufferHeight

func DrawingBufferHeight() int

func DrawingBufferWidth

func DrawingBufferWidth() int

func Enable

func Enable(cap GLenum)

func EnableVertexAttribArray

func EnableVertexAttribArray(index GLuint)

func Finish added in v0.4.0

func Finish()

func Flush added in v0.4.0

func Flush()

func FramebufferTexture2D

func FramebufferTexture2D(target, attachment, texTarget GLenum, texture Texture, level GLint)

func FrontFace added in v0.2.0

func FrontFace(mode GLenum)

func GenerateMipmap

func GenerateMipmap(target GLenum)

func GetBufferSubData

func GetBufferSubData[T DataTypes](target GLenum, srcOffset GLintptr, data []T)

func GetExtension

func GetExtension(name string) interface{}

func GetProgramInfoLog

func GetProgramInfoLog(program Program) string

func GetShaderInfoLog

func GetShaderInfoLog(shader Shader) string

func InitFromCanvas

func InitFromCanvas(htmlCanvas js.Value, opts ...ContextOption) error

InitFromCanvas initializes webgl context and bindings from the specified htmlCanvas canvas element reference.

func InitFromID

func InitFromID(canvasID string, opts ...ContextOption) error

InitFromID initializes webgl context and bindings from the canvas that has the specified canvasID ID.

func InvalidateFramebuffer added in v0.2.0

func InvalidateFramebuffer(target GLenum, attachments []GLenum)

func LineWidth added in v0.2.0

func LineWidth(width GLfloat)

func LinkProgram

func LinkProgram(program Program)

func ReadPixels

func ReadPixels(x, y GLint, width, height GLsizei, format, dtype GLenum, offset GLintptr)

func Scissor

func Scissor(x, y GLint, width, height GLsizei)

func ShaderSource

func ShaderSource(shader Shader, source string)

func StencilFuncSeparate

func StencilFuncSeparate(face, fun GLenum, ref GLint, mask GLuint)

func StencilMaskSeparate added in v0.2.0

func StencilMaskSeparate(face GLenum, mask GLuint)

func StencilOpSeparate

func StencilOpSeparate(face, fail, zfail, zpass GLenum)

func TexImage2D

func TexImage2D(target GLenum, level, internalFormat GLint, width, height GLsizei, border GLint, format, dtype GLenum, data []byte)

func TexParameteri

func TexParameteri(target, pname GLenum, param GLint)

func TexStorage2D

func TexStorage2D(target GLenum, levels GLsizei, internalFormat GLenum, width, height GLsizei)

func TexSubImage2D

func TexSubImage2D(target GLenum, level, xoffset, yoffset GLint, width, height GLsizei, format, dtype GLenum, data []byte)

func TexSubImage3D

func TexSubImage3D(target GLenum, level GLint, xoffset, yoffset, zoffset GLint, width, height, depth GLsizei, format, dtype GLenum, data []byte)

func Uniform1f

func Uniform1f(location UniformLocation, x GLfloat)

func Uniform1i

func Uniform1i(location UniformLocation, x GLint)

func Uniform2f

func Uniform2f(location UniformLocation, x, y GLfloat)

func Uniform2i

func Uniform2i(location UniformLocation, x, y GLint)

func Uniform3f

func Uniform3f(location UniformLocation, x, y, z GLfloat)

func Uniform3i

func Uniform3i(location UniformLocation, x, y, z GLint)

func Uniform4f

func Uniform4f(location UniformLocation, x, y, z, w GLfloat)

func Uniform4i

func Uniform4i(location UniformLocation, x, y, z, w GLint)

func UniformBlockBinding added in v0.5.0

func UniformBlockBinding(program Program, index, binding GLuint)

func UniformMatrix4fv

func UniformMatrix4fv(location UniformLocation, transpose GLboolean, data []GLfloat)

func UseProgram

func UseProgram(program Program)

func VertexAttribIPointer added in v0.5.0

func VertexAttribIPointer(index GLuint, size GLint, dtype GLenum, stride GLsizei, offset GLintptr)

func VertexAttribPointer

func VertexAttribPointer(index GLuint, size GLint, dtype GLenum, normalized GLboolean, stride GLsizei, offset GLintptr)

func Viewport

func Viewport(x, y GLint, width, height GLsizei)

Types

type Buffer

type Buffer js.Value

Buffer represents the WebGLBuffer type from the specification.

func CreateBuffer

func CreateBuffer() Buffer

func (Buffer) IsValid

func (b Buffer) IsValid() bool

IsValid returns whether this Buffer is different from the zero Buffer or an unspecified Buffer.

type ContextOption

type ContextOption func(v js.Value)

ContextOption represents a configuration option for the WebGL2 context.

func WithOptionAlpha

func WithOptionAlpha(alpha bool) ContextOption

WithOptionAlpha configures the alpha context option.

func WithOptionAntialias

func WithOptionAntialias(antialias bool) ContextOption

WithOptionAntialias configures the antialias context option.

func WithOptionDepth

func WithOptionDepth(depth bool) ContextOption

WithOptionDepth configures the depth context option.

func WithOptionDesynchronized

func WithOptionDesynchronized(desynchronized bool) ContextOption

WithOptionDesynchronized configures the alpha context option.

func WithOptionFailIfMajorPerformanceCaveat

func WithOptionFailIfMajorPerformanceCaveat(fail bool) ContextOption

WithOptionFailIfMajorPerformanceCaveat configures the failIfMajorPerformanceCaveat context option.

func WithOptionPowerPreference

func WithOptionPowerPreference(pref PowerPreference) ContextOption

WithOptionPowerPreference configures the powerPreference context option.

func WithOptionPremultipliedAlpha

func WithOptionPremultipliedAlpha(premultiplied bool) ContextOption

WithOptionPremultipliedAlpha configures the premultipliedAlpha context option.

func WithOptionPreserveDrawingBuffer

func WithOptionPreserveDrawingBuffer(preserve bool) ContextOption

WithOptionPreserveDrawingBuffer configures the preserveDrawingBuffer context option.

func WithOptionStencil

func WithOptionStencil(stencil bool) ContextOption

WithOptionStencil configures the stencil context option.

func WithOptionXRCompatible

func WithOptionXRCompatible(compatible bool) ContextOption

WithOptionXRCompatible configures the xrCompatible context option.

type DataTypes added in v0.2.0

type DataTypes interface {
	~int8 | ~uint8 | ~int16 | ~uint16 | ~int32 | ~uint32 | ~float32 | ~float64
}

DataTypes represents allowed data slice types.

type Float32List added in v0.5.0

type Float32List = []float32

Float32List represents the Float32List type from the specification.

type Framebuffer

type Framebuffer js.Value

Framebuffer represents the WebGLFramebuffer type from the specification.

func CreateFramebuffer

func CreateFramebuffer() Framebuffer

func (Framebuffer) IsValid

func (f Framebuffer) IsValid() bool

IsValid returns whether this Framebuffer is different from the zero Framebuffer or an unspecified Framebuffer.

type GLbitfield added in v0.5.0

type GLbitfield = uint32

GLbitfield represents the GLbitfield type from the specification.

type GLboolean added in v0.5.0

type GLboolean = bool

GLboolean represents the GLboolean type from the specification.

type GLbyte added in v0.5.0

type GLbyte = int8

GLbyte represents the GLbyte type from the specification.

type GLclampf added in v0.5.0

type GLclampf = float32

GLclampf represents the GLclampf type from the specification.

type GLenum added in v0.5.0

type GLenum = uint32

GLenum represents the GLenum type from the specification.

func CheckFramebufferStatus

func CheckFramebufferStatus(target GLenum) GLenum

func ClientWaitSync

func ClientWaitSync(sync Sync, flags GLbitfield, timeout GLuint64) GLenum

func GetError

func GetError() GLenum

type GLfloat added in v0.5.0

type GLfloat = float32

GLfloat represents the GLfloat type from the specification.

type GLint added in v0.5.0

type GLint = int32

GLint represents the GLint type from the specification.

func GetAttribLocation

func GetAttribLocation(program Program, name string) GLint

type GLint64 added in v0.5.0

type GLint64 = int64

GLint64 represents the GLint64 type from the specification.

type GLintptr added in v0.5.0

type GLintptr = int64

GLintptr represents the GLintptr type from the specification.

type GLshort added in v0.5.0

type GLshort = uint16

GLshort represents the GLshort type from the specification.

type GLsizei added in v0.5.0

type GLsizei = int32

GLsizei represents the GLsizei type from the specification.

type GLsizeiptr added in v0.5.0

type GLsizeiptr = int64

GLsizeiptr represents the GLsizeiptr type from the specification.

type GLubyte added in v0.5.0

type GLubyte = uint8

GLubyte represents the GLubyte type from the specification.

type GLuint added in v0.5.0

type GLuint = uint32

GLuint represents the GLuint type from the specification.

func GetUniformBlockIndex added in v0.5.0

func GetUniformBlockIndex(program Program, name string) GLuint

type GLuint64 added in v0.5.0

type GLuint64 = uint64

GLuint64 represents the GLuint64 type from the specification.

type GLushort added in v0.5.0

type GLushort = uint16

GLushort represents the GLushort type from the specification.

type Int32List added in v0.5.0

type Int32List = []int32

Int32List represents the Int32List type from the specification.

type PowerPreference

type PowerPreference string

PowerPreference represents a context power preference.

const (
	PowerPreferenceDefault         PowerPreference = "default"
	PowerPreferenceHighPerformance PowerPreference = "high-performance"
	PowerPreferenceLowPower        PowerPreference = "low-power"
)

type Program

type Program js.Value

Program represents the WebGLProgram type from the specification.

func CreateProgram

func CreateProgram() Program

func (Program) IsValid

func (p Program) IsValid() bool

IsValid returns whether this Program is different from the zero Program or an unspecified Program.

type Result

type Result js.Value

Result represents an undefined return type. In the specification this is indicated with the `any` keyword.

func GetParameter added in v0.5.0

func GetParameter(name GLenum) Result

func GetProgramParameter

func GetProgramParameter(program Program, pname GLenum) Result

func GetShaderParameter

func GetShaderParameter(shader Shader, pname GLenum) Result

func GetSyncParameter added in v0.3.0

func GetSyncParameter(sync Sync, pname GLenum) Result

func (Result) GLboolean added in v0.5.0

func (r Result) GLboolean() GLboolean

GLboolean returns the contents of this Result as a GLboolean type.

func (Result) GLenum added in v0.5.0

func (r Result) GLenum() GLenum

GLenum returns the contents of this Result as a GLenum type.

func (Result) GLint added in v0.5.0

func (r Result) GLint() GLint

GLint returns the contents of this Result as a GLint type.

func (Result) IsValid

func (r Result) IsValid() bool

IsValid returns whether this Result is specified and can be used.

type Shader

type Shader js.Value

Shader represents the WebGLShader type from the specification.

func CreateShader

func CreateShader(shaderType GLenum) Shader

func (Shader) IsValid

func (s Shader) IsValid() bool

IsValid returns whether this Shader is different from the zero Shader or an unspecified Shader.

type Sync

type Sync js.Value

Sync represents the WebGLSync type from the specification.

func FenceSync

func FenceSync(condition GLenum, flags GLbitfield) Sync

func (Sync) Valid

func (s Sync) Valid() bool

IsValid returns whether this Sync is different from the zero Sync or an unspecified Sync.

type Texture

type Texture js.Value

Texture represents the WebGLTexture type from the specification.

func CreateTexture

func CreateTexture() Texture

func (Texture) IsValid

func (t Texture) IsValid() bool

IsValid returns whether this Texture is different from the zero Texture or an unspecified Texture.

type Uint32List added in v0.5.0

type Uint32List = []uint32

Uint32List represents the Uint32List type from the specification.

type UniformLocation

type UniformLocation js.Value

UniformLocation represents the WebGLUniformLocation type from the specification.

func GetUniformLocation

func GetUniformLocation(program Program, name string) UniformLocation

func (UniformLocation) IsValid

func (l UniformLocation) IsValid() bool

IsValid returns whether this UniformLocation is different from the nil UniformLocation or an unspecified UniformLocation.

type VertexArray

type VertexArray js.Value

VertexArray represents the WebGLVertexArrayObject type from the specification.

func CreateVertexArray

func CreateVertexArray() VertexArray

func (VertexArray) IsValid

func (a VertexArray) IsValid() bool

IsValid returns whether this VertexArray is different from the zero VertexArray or an unspecified VertexArray.

Jump to

Keyboard shortcuts

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