package gl
import "github.com/fyne-io/gl-js"
Package gl is a Go cross-platform binding for OpenGL, with an OpenGL ES 2-like API.
It supports:
- macOS, Linux and Windows via OpenGL 2.1 backend,
- iOS and Android via OpenGL ES 2.0 backend,
- Modern Browsers (desktop and mobile) via WebGL 1.0 backend.
This is a fork of golang.org/x/mobile/gl package with [CL 8793](https://go-review.googlesource.com/8793) merged in and Windows support added. This package is fully functional, but may eventually become superceded by the new x/mobile/gl plan. It will exist and be fully supported until it can be safely replaced by a better package.
## Usage
This OpenGL binding has a ContextWatcher, which implements [glfw.ContextWatcher](https://godoc.org/github.com/goxjs/glfw#ContextWatcher) interface. Recommended usage is with github.com/goxjs/glfw package, which accepts a ContextWatcher in its Init, and takes on the responsibility of notifying it when context is made current or detached.
if err := glfw.Init(gl.ContextWatcher); err != nil { // Handle error. } defer glfw.Terminate()
If you're not using a ContextWatcher-aware glfw library, you must call methods of gl.ContextWatcher yourself whenever you make a context current or detached.
window.MakeContextCurrent() gl.ContextWatcher.OnMakeCurrent(nil) glfw.DetachCurrentContext() gl.ContextWatcher.OnDetach()
Index ¶
- Constants
- Variables
- func ActiveTexture(texture Enum)
- func AttachShader(p Program, s Shader)
- func BindAttribLocation(p Program, a Attrib, name string)
- func BindBuffer(target Enum, b Buffer)
- func BindFramebuffer(target Enum, fb Framebuffer)
- func BindRenderbuffer(target Enum, rb Renderbuffer)
- func BindTexture(target Enum, t Texture)
- func BlendColor(red, green, blue, alpha float32)
- func BlendEquation(mode Enum)
- func BlendEquationSeparate(modeRGB, modeAlpha Enum)
- func BlendFunc(sfactor, dfactor Enum)
- func BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha Enum)
- func BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1 int, mask, filter Enum)
- func BufferData(target Enum, data interface{}, usage Enum)
- func BufferInit(target Enum, size int, usage Enum)
- func BufferSubData(target Enum, offset int, data interface{})
- func Clear(mask Enum)
- func ClearColor(red, green, blue, alpha float32)
- func ClearDepthf(d float32)
- func ClearStencil(s int)
- func ColorMask(red, green, blue, alpha bool)
- func CompileShader(s Shader)
- func CompressedTexImage2D(target Enum, level int, internalformat Enum, width, height, border int, data interface{})
- func CompressedTexSubImage2D(target Enum, level, xoffset, yoffset, width, height int, format Enum, data interface{})
- func CopyTexImage2D(target Enum, level int, internalformat Enum, x, y, width, height, border int)
- func CopyTexSubImage2D(target Enum, level, xoffset, yoffset, x, y, width, height int)
- func CullFace(mode Enum)
- func DeleteBuffer(v Buffer)
- func DeleteFramebuffer(v Framebuffer)
- func DeleteProgram(p Program)
- func DeleteRenderbuffer(v Renderbuffer)
- func DeleteShader(s Shader)
- func DeleteTexture(v Texture)
- func DepthFunc(fn Enum)
- func DepthMask(flag bool)
- func DepthRangef(n, f float32)
- func DetachShader(p Program, s Shader)
- func Disable(cap Enum)
- func DisableVertexAttribArray(a Attrib)
- func DrawArrays(mode Enum, first, count int)
- func DrawElements(mode Enum, count int, ty Enum, offset int)
- func Enable(cap Enum)
- func EnableVertexAttribArray(a Attrib)
- func Finish()
- func Flush()
- func FramebufferRenderbuffer(target, attachment, rbTarget Enum, rb Renderbuffer)
- func FramebufferTexture2D(target, attachment, texTarget Enum, t Texture, level int)
- func FrontFace(mode Enum)
- func GenerateMipmap(target Enum)
- func GetBooleanv(dst []bool, pname Enum)
- func GetBufferParameteri(target, pname Enum) int
- func GetFloatv(dst []float32, pname Enum)
- func GetFramebufferAttachmentParameteri(target, attachment, pname Enum) int
- func GetInteger(pname Enum) int
- func GetIntegerv(pname Enum, data []int32)
- func GetProgramInfoLog(p Program) string
- func GetProgrami(p Program, pname Enum) int
- func GetRenderbufferParameteri(target, pname Enum) int
- func GetShaderInfoLog(s Shader) string
- func GetShaderPrecisionFormat(shadertype, precisiontype Enum) (rangeMin, rangeMax, precision int)
- func GetShaderSource(s Shader) string
- func GetShaderi(s Shader, pname Enum) int
- func GetString(pname Enum) string
- func GetTexParameterfv(dst []float32, target, pname Enum)
- func GetTexParameteriv(dst []int32, target, pname Enum)
- func GetUniformfv(dst []float32, src Uniform, p Program)
- func GetUniformiv(dst []int32, src Uniform, p Program)
- func GetVertexAttribf(src Attrib, pname Enum) float32
- func GetVertexAttribfv(dst []float32, src Attrib, pname Enum)
- func GetVertexAttribi(src Attrib, pname Enum) int32
- func GetVertexAttribiv(dst []int32, src Attrib, pname Enum)
- func Hint(target, mode Enum)
- func IsBuffer(b Buffer) bool
- func IsEnabled(cap Enum) bool
- func IsFramebuffer(fb Framebuffer) bool
- func IsProgram(p Program) bool
- func IsRenderbuffer(rb Renderbuffer) bool
- func IsShader(s Shader) bool
- func IsTexture(t Texture) bool
- func LineWidth(width float32)
- func LinkProgram(p Program)
- func ObjectLabel(o Object, label string)
- func PixelStorei(pname Enum, param int32)
- func PolygonOffset(factor, units float32)
- func ReadPixels(dst []byte, x, y, width, height int, format, ty Enum)
- func ReleaseShaderCompiler()
- func RenderbufferStorage(target, internalFormat Enum, width, height int)
- func SampleCoverage(value float32, invert bool)
- func Scissor(x, y, width, height int32)
- func ShaderSource(s Shader, src string)
- func SliceToTypedArray(s interface{}) js.Value
- func StencilFunc(fn Enum, ref int, mask uint32)
- func StencilFuncSeparate(face, fn Enum, ref int, mask uint32)
- func StencilMask(mask uint32)
- func StencilMaskSeparate(face Enum, mask uint32)
- func StencilOp(fail, zfail, zpass Enum)
- func StencilOpSeparate(face, sfail, dpfail, dppass Enum)
- func TexImage2D(target Enum, level int, width, height int, format Enum, ty Enum, data interface{})
- func TexImage2DMultisample(target Enum, samples int, internalformat Enum, width, height int, fixedsamplelocations bool)
- func TexParameterf(target, pname Enum, param float32)
- func TexParameterfv(target, pname Enum, params []float32)
- func TexParameteri(target, pname Enum, param int)
- func TexParameteriv(target, pname Enum, params []int32)
- func TexSubImage2D(target Enum, level int, x, y, width, height int, format, ty Enum, data interface{})
- func Uniform1f(dst Uniform, v float32)
- func Uniform1fv(dst Uniform, src []float32)
- func Uniform1i(dst Uniform, v int)
- func Uniform1iv(dst Uniform, src []int32)
- func Uniform2f(dst Uniform, v0, v1 float32)
- func Uniform2fv(dst Uniform, src []float32)
- func Uniform2i(dst Uniform, v0, v1 int)
- func Uniform2iv(dst Uniform, src []int32)
- func Uniform3f(dst Uniform, v0, v1, v2 float32)
- func Uniform3fv(dst Uniform, src []float32)
- func Uniform3i(dst Uniform, v0, v1, v2 int32)
- func Uniform3iv(dst Uniform, src []int32)
- func Uniform4f(dst Uniform, v0, v1, v2, v3 float32)
- func Uniform4fv(dst Uniform, src []float32)
- func Uniform4i(dst Uniform, v0, v1, v2, v3 int32)
- func Uniform4iv(dst Uniform, src []int32)
- func UniformMatrix2fv(dst Uniform, src []float32)
- func UniformMatrix3fv(dst Uniform, src []float32)
- func UniformMatrix4fv(dst Uniform, src []float32)
- func UseProgram(p Program)
- func ValidateProgram(p Program)
- func VertexAttrib1f(dst Attrib, x float32)
- func VertexAttrib1fv(dst Attrib, src []float32)
- func VertexAttrib2f(dst Attrib, x, y float32)
- func VertexAttrib2fv(dst Attrib, src []float32)
- func VertexAttrib3f(dst Attrib, x, y, z float32)
- func VertexAttrib3fv(dst Attrib, src []float32)
- func VertexAttrib4f(dst Attrib, x, y, z, w float32)
- func VertexAttrib4fv(dst Attrib, src []float32)
- func VertexAttribPointer(dst Attrib, size int, ty Enum, normalized bool, stride, offset int)
- func Viewport(x, y, width, height int)
- type Attrib
- type Buffer
- func CreateBuffer() Buffer
- func (b Buffer) Identifier() Enum
- func (v Buffer) IsValid() bool
- func (b Buffer) Name() js.Value
- type Enum
- func CheckFramebufferStatus(target Enum) Enum
- func GetActiveAttrib(p Program, index uint32) (name string, size int, ty Enum)
- func GetActiveUniform(p Program, index uint32) (name string, size int, ty Enum)
- func GetError() Enum
- type Framebuffer
- func CreateFramebuffer() Framebuffer
- func GetBoundFramebuffer() Framebuffer
- func (fb Framebuffer) Identifier() Enum
- func (v Framebuffer) IsValid() bool
- func (fb Framebuffer) Name() js.Value
- type Object
- type Program
- func CreateProgram() Program
- func (p Program) Identifier() Enum
- func (v Program) IsValid() bool
- func (p Program) Name() js.Value
- type Renderbuffer
- func CreateRenderbuffer() Renderbuffer
- func (rb Renderbuffer) Identifier() Enum
- func (v Renderbuffer) IsValid() bool
- func (rb Renderbuffer) Name() js.Value
- type Shader
- func CreateShader(ty Enum) Shader
- func GetAttachedShaders(p Program) []Shader
- func (s Shader) Identifier() Enum
- func (v Shader) IsValid() bool
- func (s Shader) Name() js.Value
- type Texture
- func CreateTexture() Texture
- func (t Texture) Identifier() Enum
- func (v Texture) IsValid() bool
- func (t Texture) Name() js.Value
- type Uniform
Constants ¶
const ( POINTS = 0x0000 LINES = 0x0001 LINE_LOOP = 0x0002 LINE_STRIP = 0x0003 TRIANGLES = 0x0004 TRIANGLE_STRIP = 0x0005 TRIANGLE_FAN = 0x0006 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 TEXTURE_2D_MULTISAMPLE = 0x9100 CULL_FACE = 0x0B44 BLEND = 0x0BE2 DITHER = 0x0BD0 STENCIL_TEST = 0x0B90 DEPTH_TEST = 0x0B71 SCISSOR_TEST = 0x0C11 POLYGON_OFFSET_FILL = 0x8037 MULTISAMPLE = 0x809D SAMPLE_ALPHA_TO_COVERAGE = 0x809E SAMPLE_COVERAGE = 0x80A0 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 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 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 BUFFER = 0x82E0 SHADER = 0x82E1 PROGRAM = 0x82E2 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 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 READ_FRAMEBUFFER = 0x8CA8 DRAW_FRAMEBUFFER = 0x8CA9 MAX_RENDERBUFFER_SIZE = 0x84E8 INVALID_FRAMEBUFFER_OPERATION = 0x0506 )
const ( DEPTH_BUFFER_BIT = 0x00000100 STENCIL_BUFFER_BIT = 0x00000400 COLOR_BUFFER_BIT = 0x00004000 )
const ( 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 )
const ( FRAGMENT_SHADER = 0x8B30 VERTEX_SHADER = 0x8B31 )
const ( FALSE = 0 TRUE = 1 ZERO = 0 ONE = 1 NO_ERROR = 0 NONE = 0 )
Variables ¶
var ContextWatcher contextWatcher
var NoFramebuffer = Framebuffer{js.Null()}
var NoRenderbuffer = Renderbuffer{js.Null()}
Functions ¶
func ActiveTexture ¶
func ActiveTexture(texture Enum)
func AttachShader ¶
func BindAttribLocation ¶
func BindBuffer ¶
func BindFramebuffer ¶
func BindFramebuffer(target Enum, fb Framebuffer)
func BindRenderbuffer ¶
func BindRenderbuffer(target Enum, rb Renderbuffer)
func BindTexture ¶
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 BlitFramebuffer ¶
func BufferData ¶
func BufferInit ¶
func BufferSubData ¶
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 interface{})
func CompressedTexSubImage2D ¶
func CompressedTexSubImage2D(target Enum, level, xoffset, yoffset, width, height int, format Enum, data interface{})
func CopyTexImage2D ¶
func CopyTexSubImage2D ¶
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 DepthFunc ¶
func DepthFunc(fn Enum)
func DepthMask ¶
func DepthMask(flag bool)
func DepthRangef ¶
func DepthRangef(n, f float32)
func DetachShader ¶
func Disable ¶
func Disable(cap Enum)
func DisableVertexAttribArray ¶
func DisableVertexAttribArray(a Attrib)
func DrawArrays ¶
func DrawElements ¶
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 FrontFace ¶
func FrontFace(mode Enum)
func GenerateMipmap ¶
func GenerateMipmap(target Enum)
func GetBooleanv ¶
func GetBufferParameteri ¶
func GetFloatv ¶
func GetFramebufferAttachmentParameteri ¶
func GetInteger ¶
func GetIntegerv ¶
func GetProgramInfoLog ¶
func GetProgrami ¶
func GetRenderbufferParameteri ¶
func GetShaderInfoLog ¶
func GetShaderPrecisionFormat ¶
func GetShaderSource ¶
func GetShaderi ¶
func GetString ¶
func GetTexParameterfv ¶
func GetTexParameteriv ¶
func GetUniformfv ¶
func GetUniformiv ¶
func GetVertexAttribf ¶
func GetVertexAttribfv ¶
func GetVertexAttribi ¶
func GetVertexAttribiv ¶
func Hint ¶
func Hint(target, mode Enum)
func IsBuffer ¶
func IsEnabled ¶
func IsFramebuffer ¶
func IsFramebuffer(fb Framebuffer) bool
func IsProgram ¶
func IsRenderbuffer ¶
func IsRenderbuffer(rb Renderbuffer) bool
func IsShader ¶
func IsTexture ¶
func LineWidth ¶
func LineWidth(width float32)
func LinkProgram ¶
func LinkProgram(p Program)
func ObjectLabel ¶
func PixelStorei ¶
func PolygonOffset ¶
func PolygonOffset(factor, units float32)
func ReadPixels ¶
func ReleaseShaderCompiler ¶
func ReleaseShaderCompiler()
func RenderbufferStorage ¶
func SampleCoverage ¶
func Scissor ¶
func Scissor(x, y, width, height int32)
func ShaderSource ¶
func SliceToTypedArray ¶
func StencilFunc ¶
func StencilFuncSeparate ¶
func StencilMask ¶
func StencilMask(mask uint32)
func StencilMaskSeparate ¶
func StencilOp ¶
func StencilOp(fail, zfail, zpass Enum)
func StencilOpSeparate ¶
func StencilOpSeparate(face, sfail, dpfail, dppass Enum)
func TexImage2D ¶
func TexImage2DMultisample ¶
func TexImage2DMultisample(target Enum, samples int, internalformat Enum, width, height int, fixedsamplelocations bool)
func TexParameterf ¶
func TexParameterfv ¶
func TexParameteri ¶
func TexParameteriv ¶
func TexSubImage2D ¶
func TexSubImage2D(target Enum, level int, x, y, width, height int, format, ty Enum, data interface{})
func Uniform1f ¶
func Uniform1fv ¶
func Uniform1i ¶
func Uniform1iv ¶
func Uniform2f ¶
func Uniform2fv ¶
func Uniform2i ¶
func Uniform2iv ¶
func Uniform3f ¶
func Uniform3fv ¶
func Uniform3i ¶
func Uniform3iv ¶
func Uniform4f ¶
func Uniform4fv ¶
func Uniform4i ¶
func Uniform4iv ¶
func UniformMatrix2fv ¶
func UniformMatrix3fv ¶
func UniformMatrix4fv ¶
func UseProgram ¶
func UseProgram(p Program)
func ValidateProgram ¶
func ValidateProgram(p Program)
func VertexAttrib1f ¶
func VertexAttrib1fv ¶
func VertexAttrib2f ¶
func VertexAttrib2fv ¶
func VertexAttrib3f ¶
func VertexAttrib3fv ¶
func VertexAttrib4f ¶
func VertexAttrib4fv ¶
func VertexAttribPointer ¶
func Viewport ¶
func Viewport(x, y, width, height int)
Types ¶
type Attrib ¶
type Attrib struct { Value int }
var NoAttrib Attrib
func GetAttribLocation ¶
func (Attrib) IsValid ¶
type Buffer ¶
func CreateBuffer ¶
func CreateBuffer() Buffer
func (Buffer) Identifier ¶
func (Buffer) IsValid ¶
func (Buffer) Name ¶
type Enum ¶
type Enum int
func CheckFramebufferStatus ¶
func GetActiveAttrib ¶
func GetActiveUniform ¶
func GetError ¶
func GetError() Enum
type Framebuffer ¶
func CreateFramebuffer ¶
func CreateFramebuffer() Framebuffer
func GetBoundFramebuffer ¶
func GetBoundFramebuffer() Framebuffer
func (Framebuffer) Identifier ¶
func (fb Framebuffer) Identifier() Enum
func (Framebuffer) IsValid ¶
func (v Framebuffer) IsValid() bool
func (Framebuffer) Name ¶
func (fb Framebuffer) Name() js.Value
type Object ¶
Object is a generic interface for OpenGL objects
type Program ¶
func CreateProgram ¶
func CreateProgram() Program
func (Program) Identifier ¶
Implement Identifier() for the Object interface
func (Program) IsValid ¶
func (Program) Name ¶
Implement Name() for the Object interface
type Renderbuffer ¶
func CreateRenderbuffer ¶
func CreateRenderbuffer() Renderbuffer
func (Renderbuffer) Identifier ¶
func (rb Renderbuffer) Identifier() Enum
func (Renderbuffer) IsValid ¶
func (v Renderbuffer) IsValid() bool
func (Renderbuffer) Name ¶
func (rb Renderbuffer) Name() js.Value
type Shader ¶
func CreateShader ¶
func GetAttachedShaders ¶
func (Shader) Identifier ¶
func (Shader) IsValid ¶
func (Shader) Name ¶
type Texture ¶
func CreateTexture ¶
func CreateTexture() Texture
func (Texture) Identifier ¶
func (Texture) IsValid ¶
func (Texture) Name ¶
type Uniform ¶
func GetUniformLocation ¶
func (Uniform) IsValid ¶
Source Files ¶
consts.go doc.go gl_webgl_wasm.go types_webgl_wasm.go
Directories ¶
Path | Synopsis |
---|---|
glutil | Package glutil implements OpenGL utility functions. |
test | Package test contains tests for github.com/fyne-io/gl-js. |
- Version
- v0.1.0 (latest)
- Published
- Feb 8, 2025
- Platform
- js/wasm
- Imports
- 8 packages
- Last checked
- now –
Tools for package owners.