Versions in this module Expand all Collapse all v0 v0.0.3 Jun 26, 2021 v0.0.2 Jun 26, 2021 v0.0.1 Mar 17, 2021 Changes in this version + const LAY_ANY + const LAY_BOTTOM + const LAY_BREAK + const LAY_CENTER + const LAY_COLUMN + const LAY_END + const LAY_FILL + const LAY_FLEX + const LAY_HCENTER + const LAY_HFILL + const LAY_ITEM_BOX_MASK + const LAY_ITEM_BOX_MODEL_MASK + const LAY_ITEM_COMPARE_MASK + const LAY_ITEM_FIXED_MASK + const LAY_ITEM_HFIXED + const LAY_ITEM_INSERTED + const LAY_ITEM_LAYOUT_MASK + const LAY_ITEM_VFIXED + const LAY_JUSTIFY + const LAY_LAYOUT + const LAY_LEFT + const LAY_MIDDLE + const LAY_NOWRAP + const LAY_RIGHT + const LAY_ROW + const LAY_START + const LAY_TOP + const LAY_USERMASK + const LAY_VCENTER + const LAY_VFILL + const LAY_WRAP + func FreeSerif() (*os.File, error) + func GetShaderInfoLog(shader *Shader) string + func LAY_ASSERT(cond bool) + func ShaderSource(shader *Shader, src string) + type BoundBuilder struct + type Bounds struct + X r1.Interval + Y r1.Interval + Z r1.Interval + func ComputeBounds(vertices []mgl32.Vec3) Bounds + func (b Bounds) Center() mgl32.Vec3 + func (b Bounds) Length() float32 + func (b Bounds) Union(o Bounds) Bounds + type Buffer struct + type Button struct + Size image.Point + func NewButton(size image.Point) (btn *Button, err error) + func (b *Button) Delete() + func (b *Button) Draw(color [4]float32, bg [4]float32, animTime float32, mat mgl32.Mat3) (err error) + type ButtonProgram struct + func (b *ButtonProgram) Delete() + type Char struct + Index int + X int + Y int + type Context struct + ARRAY_BUFFER int + ARRAY_BUFFER_BINDING int + ATTACHED_SHADERS int + BACK int + BLEND int + BLEND_COLOR int + BLEND_DST_ALPHA int + BLEND_DST_RGB int + BLEND_EQUATION int + BLEND_EQUATION_ALPHA int + BLEND_EQUATION_RGB int + BLEND_SRC_ALPHA int + BLEND_SRC_RGB int + BLUE_BITS int + BOOL int + BOOL_VEC2 int + BOOL_VEC3 int + BOOL_VEC4 int + BROWSER_DEFAULT_WEBGL int + BUFFER_SIZE int + BUFFER_USAGE int + BYTE int + CCW int + CLAMP_TO_BORDER int + CLAMP_TO_EDGE int + COLOR_ATTACHMENT0 int + COLOR_BUFFER_BIT int + COLOR_CLEAR_VALUE int + COLOR_WRITEMASK int + COMPILE_STATUS uint32 + COMPRESSED_TEXTURE_FORMATS int + CONSTANT_ALPHA int + CONSTANT_COLOR int + CONTEXT_LOST_WEBGL int + CULL_FACE int + CULL_FACE_MODE int + CURRENT_PROGRAM int + CURRENT_VERTEX_ATTRIB int + CW int + DECR int + DECR_WRAP int + DELETE_STATUS int + DEPTH_ATTACHMENT int + DEPTH_BITS int + DEPTH_BUFFER_BIT int + DEPTH_CLEAR_VALUE int + DEPTH_COMPONENT int + DEPTH_COMPONENT16 int + DEPTH_FUNC int + DEPTH_RANGE int + DEPTH_STENCIL int + DEPTH_STENCIL_ATTACHMENT int + DEPTH_TEST int + DEPTH_WRITEMASK int + DITHER int + DONT_CARE int + DST_ALPHA int + DST_COLOR int + DYNAMIC_DRAW int + ELEMENT_ARRAY_BUFFER int + ELEMENT_ARRAY_BUFFER_BINDING int + EQUAL int + FASTEST int + FLOAT int + FLOAT_MAT2 int + FLOAT_MAT3 int + FLOAT_MAT4 int + FLOAT_VEC2 int + FLOAT_VEC3 int + FLOAT_VEC4 int + FRAGMENT_SHADER int + FRAMEBUFFER int + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME int + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE int + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE int + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL int + FRAMEBUFFER_BINDING int + FRAMEBUFFER_COMPLETE int + FRAMEBUFFER_INCOMPLETE_ATTACHMENT int + FRAMEBUFFER_INCOMPLETE_DIMENSIONS int + FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER int + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT int + FRAMEBUFFER_INCOMPLETE_READ_BUFFER int + FRAMEBUFFER_UNSUPPORTED int + FRONT int + FRONT_AND_BACK int + FRONT_FACE int + FUNC_ADD int + FUNC_REVERSE_SUBTRACT int + FUNC_SUBTRACT int + GENERATE_MIPMAP_HINT int + GEQUAL int + GREATER int + GREEN_BITS int + HIGH_FLOAT int + HIGH_INT int + INCR int + INCR_WRAP int + INFO_LOG_LENGTH uint32 + INT int + INT_VEC2 int + INT_VEC3 int + INT_VEC4 int + INVALID_ENUM int + INVALID_FRAMEBUFFER_OPERATION int + INVALID_OPERATION int + INVALID_VALUE int + INVERT int + KEEP int + LEQUAL int + LESS int + LINEAR int + LINEAR_MIPMAP_LINEAR int + LINEAR_MIPMAP_NEAREST int + LINES int + LINE_LOOP int + LINE_STRIP int + LINE_WIDTH int + LINK_STATUS int + LOW_FLOAT int + LOW_INT int + LUMINANCE int + LUMINANCE_ALPHA int + MAX_COMBINED_TEXTURE_IMAGE_UNITS int + MAX_CUBE_MAP_TEXTURE_SIZE int + MAX_FRAGMENT_UNIFORM_VECTORS int + MAX_RENDERBUFFER_SIZE int + MAX_TEXTURE_IMAGE_UNITS int + MAX_TEXTURE_SIZE int + MAX_VARYING_VECTORS int + MAX_VERTEX_ATTRIBS int + MAX_VERTEX_TEXTURE_IMAGE_UNITS int + MAX_VERTEX_UNIFORM_VECTORS int + MAX_VIEWPORT_DIMS int + MEDIUM_FLOAT int + MEDIUM_INT int + MIRRORED_REPEAT int + MULTISAMPLE int + NEAREST int + NEAREST_MIPMAP_LINEAR int + NEAREST_MIPMAP_NEAREST int + NEVER int + NICEST int + NONE int + NOTEQUAL int + NO_ERROR int + NUM_COMPRESSED_TEXTURE_FORMATS int + ONE int + ONE_MINUS_CONSTANT_ALPHA int + ONE_MINUS_CONSTANT_COLOR int + ONE_MINUS_DST_ALPHA int + ONE_MINUS_DST_COLOR int + ONE_MINUS_SRC_ALPHA int + ONE_MINUS_SRC_COLOR int + OUT_OF_MEMORY int + PACK_ALIGNMENT int + POINTS int + POLYGON_OFFSET_FACTOR int + POLYGON_OFFSET_FILL int + POLYGON_OFFSET_UNITS int + R32F int + R8 int + RED int + RED_BITS int + RENDERBUFFER int + RENDERBUFFER_ALPHA_SIZE int + RENDERBUFFER_BINDING int + RENDERBUFFER_BLUE_SIZE int + RENDERBUFFER_DEPTH_SIZE int + RENDERBUFFER_GREEN_SIZE int + RENDERBUFFER_HEIGHT int + RENDERBUFFER_INTERNAL_FORMAT int + RENDERBUFFER_RED_SIZE int + RENDERBUFFER_STENCIL_SIZE int + RENDERBUFFER_WIDTH int + RENDERER int + REPEAT int + REPLACE int + RGB int + RGB565 int + RGB5_A1 int + RGBA int + RGBA32F int + RGBA4 int + SAMPLER_2D int + SAMPLER_CUBE int + SAMPLES int + SAMPLE_ALPHA_TO_COVERAGE int + SAMPLE_BUFFERS int + SAMPLE_COVERAGE int + SAMPLE_COVERAGE_INVERT int + SAMPLE_COVERAGE_VALUE int + SCISSOR_BOX int + SCISSOR_TEST int + SHADER_COMPILER int + SHADER_SOURCE_LENGTH int + SHADER_TYPE int + SHADING_LANGUAGE_VERSION int + SHORT int + SRC_ALPHA int + SRC_ALPHA_SATURATE int + SRC_COLOR int + STATIC_DRAW int + STENCIL_ATTACHMENT int + STENCIL_BACK_FAIL int + STENCIL_BACK_FUNC int + STENCIL_BACK_PASS_DEPTH_FAIL int + STENCIL_BACK_PASS_DEPTH_PASS int + STENCIL_BACK_REF int + STENCIL_BACK_VALUE_MASK int + STENCIL_BACK_WRITEMASK int + STENCIL_BITS int + STENCIL_BUFFER_BIT int + STENCIL_CLEAR_VALUE int + STENCIL_FAIL int + STENCIL_FUNC int + STENCIL_INDEX int + STENCIL_INDEX8 int + STENCIL_PASS_DEPTH_FAIL int + STENCIL_PASS_DEPTH_PASS int + STENCIL_REF int + STENCIL_TEST int + STENCIL_VALUE_MASK int + STENCIL_WRITEMASK int + STREAM_DRAW int + SUBPIXEL_BITS int + TEXTURE int + TEXTURE0 int + TEXTURE1 int + TEXTURE10 int + TEXTURE11 int + TEXTURE12 int + TEXTURE13 int + TEXTURE14 int + TEXTURE15 int + TEXTURE16 int + TEXTURE17 int + TEXTURE18 int + TEXTURE19 int + TEXTURE2 int + TEXTURE20 int + TEXTURE21 int + TEXTURE22 int + TEXTURE23 int + TEXTURE24 int + TEXTURE25 int + TEXTURE26 int + TEXTURE27 int + TEXTURE28 int + TEXTURE29 int + TEXTURE3 int + TEXTURE30 int + TEXTURE31 int + TEXTURE4 int + TEXTURE5 int + TEXTURE6 int + TEXTURE7 int + TEXTURE8 int + TEXTURE9 int + TEXTURE_2D int + TEXTURE_BINDING_2D int + TEXTURE_BINDING_CUBE_MAP int + TEXTURE_CUBE_MAP int + TEXTURE_CUBE_MAP_NEGATIVE_X int + TEXTURE_CUBE_MAP_NEGATIVE_Y int + TEXTURE_CUBE_MAP_NEGATIVE_Z int + TEXTURE_CUBE_MAP_POSITIVE_X int + TEXTURE_CUBE_MAP_POSITIVE_Y int + TEXTURE_CUBE_MAP_POSITIVE_Z int + TEXTURE_MAG_FILTER int + TEXTURE_MIN_FILTER int + TEXTURE_WRAP_S int + TEXTURE_WRAP_T int + TRIANGLES int + TRIANGLE_FAN int + TRIANGLE_STRIP int + TRUE int + UNPACK_ALIGNMENT int + UNPACK_COLORSPACE_CONVERSION_WEBGL int + UNPACK_FLIP_Y_WEBGL int + UNPACK_PREMULTIPLY_ALPHA_WEBGL int + UNSIGNED_BYTE int + UNSIGNED_INT int + UNSIGNED_SHORT int + UNSIGNED_SHORT_4_4_4_4 int + UNSIGNED_SHORT_5_5_5_1 int + UNSIGNED_SHORT_5_6_5 int + VALIDATE_STATUS int + VENDOR int + VERSION int + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING int + VERTEX_ATTRIB_ARRAY_ENABLED int + VERTEX_ATTRIB_ARRAY_NORMALIZED int + VERTEX_ATTRIB_ARRAY_POINTER int + VERTEX_ATTRIB_ARRAY_SIZE int + VERTEX_ATTRIB_ARRAY_STRIDE int + VERTEX_ATTRIB_ARRAY_TYPE int + VERTEX_SHADER int + VIEWPORT int + ZERO int + var Gl *Context + func NewContext() *Context + func (c *Context) ActiveTexture(texture int) + func (c *Context) AttachShader(program *Program, shader *Shader) + func (c *Context) BindAttribLocation(program *Program, index int, name string) + func (c *Context) BindBuffer(target int, buffer *Buffer) + func (c *Context) BindFrameBuffer(target int, vao *FrameBuffer) + func (c *Context) BindRenderBuffer(target int, vao *RenderBuffer) + func (c *Context) BindTexture(target int, texture *Texture) + func (c *Context) BindVertexArray(vao *VertexArray) + func (c *Context) BlendEquation(mode int) + func (c *Context) BlendFunc(src, dst int) + func (c *Context) BufferData(target int, data interface{}, usage int) + func (c *Context) CheckFramebufferStatus(target int) int + func (c *Context) Clear(flags int) + func (c *Context) ClearColor(r, g, b, a float32) + func (c *Context) CompileShader(shader *Shader) + func (c *Context) CreateBuffer() *Buffer + func (c *Context) CreateFrameBuffer() *FrameBuffer + func (c *Context) CreateProgram() *Program + func (c *Context) CreateRenderBuffer() *RenderBuffer + func (c *Context) CreateShader(typ int) *Shader + func (c *Context) CreateTexture() *Texture + func (c *Context) CreateVertexArray() *VertexArray + func (c *Context) DeleteBuffer(buffer *Buffer) + func (c *Context) DeleteFrameBuffer(vao *FrameBuffer) + func (c *Context) DeleteProgram(program *Program) + func (c *Context) DeleteRenderBuffer(vao *RenderBuffer) + func (c *Context) DeleteShader(shader *Shader) + func (c *Context) DeleteTexture(texture *Texture) + func (c *Context) DeleteVertexArray(vao *VertexArray) + func (c *Context) Disable(flag int) + func (c *Context) DisableVertexAttribArray(index int) + func (c *Context) DrawArrays(mode, first, count int) + func (c *Context) DrawBuffer(buf int) + func (c *Context) DrawElements(mode, count, typ, offset int) + func (c *Context) Enable(flag int) + func (c *Context) EnableVertexAttribArray(index int) + func (c *Context) Flush() + func (c *Context) FramebufferRenderbuffer(target, attachment, renderbuffertarget int, renderbuffer *RenderBuffer) + func (c *Context) FramebufferTexture2D(target, attachment, textarget int, texture *Texture, level int) + func (c *Context) GetAttribLocation(program *Program, name string) int + func (c *Context) GetError() int + func (c *Context) GetProgramInfoLog(program *Program) string + func (c *Context) GetProgramParameterb(program *Program, pname int) bool + func (c *Context) GetProgramParameteri(program *Program, pname int) int + func (c *Context) GetShaderInfoLog(shader *Shader) string + func (c *Context) GetShaderiv(shader *Shader, pname uint32) bool + func (c *Context) GetUniformLocation(program *Program, name string) *UniformLocation + func (c *Context) LinkProgram(program *Program) + func (c *Context) Ptr(data interface{}) unsafe.Pointer + func (c *Context) ReadBuffer(src int) + func (c *Context) ReadPixels(x, y, width, height, format, typ int, pixels unsafe.Pointer) + func (c *Context) RenderbufferStorage(target, internalFormat, width, height int) + func (c *Context) ShaderSource(shader *Shader, source string) + func (c *Context) TexImage2D(target, level, internalFormat, width, height, format, kind int, ...) + func (c *Context) TexParameteri(target int, pname int, param int) + func (c *Context) Uniform1f(location *UniformLocation, x float32) + func (c *Context) Uniform1i(location *UniformLocation, x int) + func (c *Context) Uniform2f(location *UniformLocation, x, y float32) + func (c *Context) Uniform3f(location *UniformLocation, x, y, z float32) + func (c *Context) Uniform4f(location *UniformLocation, x, y, z, w float32) + func (c *Context) UniformMatrix3fv(location *UniformLocation, transpose bool, value []float32) + func (c *Context) UniformMatrix4fv(location *UniformLocation, transpose bool, value []float32) + func (c *Context) UseProgram(program *Program) + func (c *Context) ValidateProgram(program *Program) + func (c *Context) Version() string + func (c *Context) VertexAttribPointer(index, size, typ int, normal bool, stride int, offset int) + func (c *Context) Viewport(x, y, width, height int) + type Font struct + func NewFont(reader io.Reader) (font *Font, err error) + func (f *Font) BindTexture(unit int) + func (f *Font) DeleteFont() + func (f *Font) GetUVForChar(c rune) mgl32.Vec4 + func (f *Font) NewString(s string) *String + func (f *Font) UnbindTexture(unit int) + type FrameBuffer struct + type GPProgram struct + func LoadShaderProgram(vertShader string, fragShader string, attribs []string) (*GPProgram, error) + func (p *GPProgram) DeleteProgram() + func (p *GPProgram) GetAttribLocation(s string) int + func (p *GPProgram) GetAttribs() (attribs map[string]int) + func (p *GPProgram) GetProgramInfoLog() string + func (p *GPProgram) GetUniformLocation(s string) *UniformLocation + func (p *GPProgram) Material(m *Material) + func (p *GPProgram) ProgramUniform1f(uniform string, value float32) + func (p *GPProgram) ProgramUniform1i(uniform string, value int) + func (p *GPProgram) ProgramUniform2f(uniform string, v0 float32, v1 float32) + func (p *GPProgram) ProgramUniform3fv(uniform string, value [3]float32) + func (p *GPProgram) ProgramUniform4fv(uniform string, value [4]float32) + func (p *GPProgram) ProgramUniformMatrix3fv(uniform string, matrix [9]float32) + func (p *GPProgram) ProgramUniformMatrix4fv(uniform string, matrix [16]float32) + func (p *GPProgram) UnuseProgram() + func (p *GPProgram) UseProgram() + func (p *GPProgram) ValidateProgram() error + type GPTexture struct + Size image.Point + func GenTexture(size image.Point) (texture *GPTexture) + func LoadTexture(file string, linear, repeat bool) (texture *GPTexture, img image.Image, err error) + func NewRGBATexture(rgba *image.RGBA, linear, repeat bool) (texture *GPTexture, err error) + func (t *GPTexture) BindTexture(unit int) + func (t *GPTexture) DeleteTexture() + func (t *GPTexture) Handle() *Texture + func (t *GPTexture) UnbindTexture(unit int) + type Lay_context struct + func (ctx *Lay_context) Lay_append(earlier Lay_id, later Lay_id) + func (ctx *Lay_context) Lay_clear_item_break(item Lay_id) + func (ctx *Lay_context) Lay_first_child(id Lay_id) Lay_id + func (ctx *Lay_context) Lay_get_item(id Lay_id) *Lay_item_t + func (ctx *Lay_context) Lay_get_margins(item Lay_id) Lay_vec4 + func (ctx *Lay_context) Lay_get_margins_ltrb(item Lay_id) Lay_vec4 + func (ctx *Lay_context) Lay_get_rect(id Lay_id) Lay_vec4 + func (ctx *Lay_context) Lay_get_rect_xywh(id Lay_id) Lay_vec4 + func (ctx *Lay_context) Lay_get_size(item Lay_id) Lay_vec2 + func (ctx *Lay_context) Lay_get_size_xy(item Lay_id) Lay_vec2 + func (ctx *Lay_context) Lay_insert(parent Lay_id, child Lay_id) + func (ctx *Lay_context) Lay_item() Lay_id + func (ctx *Lay_context) Lay_items_capacity() Lay_id + func (ctx *Lay_context) Lay_items_count() Lay_id + func (ctx *Lay_context) Lay_last_child(parent Lay_id) Lay_id + func (ctx *Lay_context) Lay_next_sibling(id Lay_id) Lay_id + func (ctx *Lay_context) Lay_push(parent Lay_id, new_child Lay_id) + func (ctx *Lay_context) Lay_run_context() + func (ctx *Lay_context) Lay_run_item(item Lay_id) + func (ctx *Lay_context) Lay_set_behave(item Lay_id, flags int32) + func (ctx *Lay_context) Lay_set_contain(item Lay_id, flags int32) + func (ctx *Lay_context) Lay_set_margins(item Lay_id, ltrb Lay_vec4) + func (ctx *Lay_context) Lay_set_margins_ltrb(item Lay_id, l, t, r, b Lay_scalar) + func (ctx *Lay_context) Lay_set_size(item Lay_id, size Lay_vec2) + func (ctx *Lay_context) Lay_set_size_xy(item Lay_id, width, height Lay_scalar) + type Lay_id uint32 + const LAY_INVALID_ID + type Lay_item_t struct + type Lay_scalar int16 + type Lay_vec2 [2]Lay_scalar + type Lay_vec4 [4]Lay_scalar + func Lay_vec4_xyzw(x, y, z, w Lay_scalar) Lay_vec4 + type Material struct + Ambient []float32 + Diffuse []float32 + Shininess float32 + Specular []float32 + func MakeDefaultMaterial() *Material + type Obj struct + Bounds Bounds + Marker Bounds + Name string + ObjVertices []float32 + SubMaterials []SubMaterial + SubObjects []SubObject + TexImg *image.RGBA + func LoadObj(input io.Reader, opts *ObjOptions) (objs []*Obj, err error) + func (m *Obj) NormalizedMat() (mres mgl32.Mat4) + type ObjOptions struct + Colors map[string]float32 + Single bool + TexImg *image.RGBA + type ObjRender struct + Obj *Obj + func NewObjVBO(obj *Obj, hasColorTable bool) (m *ObjRender) + func (m *ObjRender) Delete() + func (m *ObjRender) Draw(material *Material, camera, projection, model mgl32.Mat4, light mgl32.Vec3, ...) + func (m *ObjRender) NormalizedMat() (mres mgl32.Mat4) + type ObjsRender struct + Objs []*ObjRender + func NewObjsVBO(objs []*Obj, hasColorTable bool) (m *ObjsRender) + func (m *ObjsRender) Bounds() (b Bounds) + func (m *ObjsRender) Delete() + func (m *ObjsRender) Draw(material *Material, camera, projection, model mgl32.Mat4, light mgl32.Vec3, ...) + func (m *ObjsRender) NormalizedMat() (mres mgl32.Mat4) + type OpenGL3 struct + func NewOpenGL3(io imgui.IO) (*OpenGL3, error) + func (renderer *OpenGL3) Dispose() + func (renderer *OpenGL3) PreRender(clearColor [4]float32) + func (renderer *OpenGL3) Render(displaySize [2]float32, framebufferSize [2]float32, drawData imgui.DrawData) + type Program struct + type ProgramCache struct + func (b *ProgramCache) Delete() + type ReferenceCountable interface + Decr func() bool + Incr func() + type ReleasingReferenceCount struct + func NewReferenceCount() ReleasingReferenceCount + func (rrc ReleasingReferenceCount) Decr() bool + func (rrc ReleasingReferenceCount) Incr() + type RenderBuffer struct + type RenderTarget struct + Tex *GPTexture + func NewRenderTarget(hasDepth bool) (r *RenderTarget) + func (r *RenderTarget) Bind(tex *GPTexture) + func (r *RenderTarget) Delete() + func (r *RenderTarget) EnsureSize(size image.Point) + func (r *RenderTarget) ReadBuffer(w, h int) (newImage *image.RGBA) + func (r *RenderTarget) Unbind(tex *GPTexture) + type Shader struct + type String struct + Chars []Char + Size image.Point + func (s *String) DeleteString() + func (s *String) Draw(f *Font, color [4]float32, bg [4]float32, mat mgl32.Mat3, scale float32, ...) (err error) + type SubMaterial struct + FaceEndIndex int + Name string + type SubObject struct + FaceEndIndex int + Name string + type Texture struct + type UniformLocation struct + type VBO struct + func NewVBO(prog *GPProgram, options VBOOptions, verts []float32, indices []uint32) (vbo *VBO) + func NewVBOCube(prog *GPProgram, x float32, y float32, z float32, u float32, v float32, ...) (vbo *VBO) + func NewVBOCubeNormal(prog *GPProgram, x float32, y float32, z float32, u float32, v float32, ...) (vbo *VBO) + func NewVBOQuad(prog *GPProgram, x float32, y float32, w float32, h float32) (vbo *VBO) + func (v *VBO) Bind(prog *GPProgram) + func (v *VBO) DeleteVBO() + func (v *VBO) Draw() + func (v *VBO) Unbind(prog *GPProgram) + type VBOOptions struct + IsStrip bool + Normals int + Quads int + UV int + Vertex int + func DefaultVBOOptions() VBOOptions + type VertexArray struct