canvas/backend/goglbackend/gl/package.go

2053 lines
100 KiB
Go

// Code generated by glow (https://github.com/go-gl/glow). DO NOT EDIT.
// Copyright (c) 2010 Khronos Group.
// This material may be distributed subject to the terms and conditions
// set forth in the Open Publication License, v 1.0, 8 June 1999.
// http://opencontent.org/openpub/.
//
// Copyright (c) 1991-2006 Silicon Graphics, Inc.
// This document is licensed under the SGI Free Software B License.
// For details, see http://oss.sgi.com/projects/FreeB.
// Package gl implements Go bindings to OpenGL.
//
// This package was automatically generated using Glow:
// https://github.com/go-gl/glow
//
package gl
// #cgo darwin,!ios LDFLAGS: -framework OpenGL
// #cgo darwin,ios LDFLAGS: -framework OpenGLES
// #cgo linux,!android LDFLAGS: -lGL
// #cgo freebsd,!android LDFLAGS: -lGL
// #cgo windows LDFLAGS: -lopengl32
// #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
// #ifndef WIN32_LEAN_AND_MEAN
// #define WIN32_LEAN_AND_MEAN 1
// #endif
// #include <windows.h>
// #endif
// #ifndef APIENTRY
// #define APIENTRY
// #endif
// #ifndef APIENTRYP
// #define APIENTRYP APIENTRY *
// #endif
// #ifndef GLAPI
// #define GLAPI extern
// #endif
// #include <stddef.h>
// typedef unsigned int GLenum;
// typedef unsigned char GLboolean;
// typedef unsigned int GLbitfield;
// typedef signed char GLbyte;
// typedef short GLshort;
// typedef int GLint;
// typedef unsigned char GLubyte;
// typedef unsigned short GLushort;
// typedef unsigned int GLuint;
// typedef int GLsizei;
// typedef float GLfloat;
// typedef double GLdouble;
// typedef char GLchar;
// #include "khrplatform.h"
// typedef unsigned int GLenum;
// typedef unsigned char GLboolean;
// typedef unsigned int GLbitfield;
// typedef int GLint;
// typedef unsigned int GLuint;
// typedef int GLsizei;
// typedef char GLchar;
// typedef khronos_uint8_t GLubyte;
// typedef khronos_float_t GLfloat;
// typedef khronos_intptr_t GLintptr;
// typedef khronos_ssize_t GLsizeiptr;
// typedef void (APIENTRYP GPACTIVETEXTURE)(GLenum texture);
// typedef void (APIENTRYP GPATTACHSHADER)(GLuint program, GLuint shader);
// typedef void (APIENTRYP GPBINDATTRIBLOCATION)(GLuint program, GLuint index, const GLchar * name);
// typedef void (APIENTRYP GPBINDBUFFER)(GLenum target, GLuint buffer);
// typedef void (APIENTRYP GPBINDFRAMEBUFFER)(GLenum target, GLuint framebuffer);
// typedef void (APIENTRYP GPBINDRENDERBUFFER)(GLenum target, GLuint renderbuffer);
// typedef void (APIENTRYP GPBINDTEXTURE)(GLenum target, GLuint texture);
// typedef void (APIENTRYP GPBLENDCOLOR)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
// typedef void (APIENTRYP GPBLENDEQUATION)(GLenum mode);
// typedef void (APIENTRYP GPBLENDEQUATIONSEPARATE)(GLenum modeRGB, GLenum modeAlpha);
// typedef void (APIENTRYP GPBLENDFUNC)(GLenum sfactor, GLenum dfactor);
// typedef void (APIENTRYP GPBLENDFUNCSEPARATE)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
// typedef void (APIENTRYP GPBUFFERDATA)(GLenum target, GLsizeiptr size, const void * data, GLenum usage);
// typedef void (APIENTRYP GPBUFFERSUBDATA)(GLenum target, GLintptr offset, GLsizeiptr size, const void * data);
// typedef GLenum (APIENTRYP GPCHECKFRAMEBUFFERSTATUS)(GLenum target);
// typedef void (APIENTRYP GPCLEAR)(GLbitfield mask);
// typedef void (APIENTRYP GPCLEARCOLOR)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
// typedef void (APIENTRYP GPCLEARSTENCIL)(GLint s);
// typedef void (APIENTRYP GPCOLORMASK)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
// typedef void (APIENTRYP GPCOMPILESHADER)(GLuint shader);
// typedef void (APIENTRYP GPCOMPRESSEDTEXIMAGE2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
// typedef void (APIENTRYP GPCOMPRESSEDTEXSUBIMAGE2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
// typedef void (APIENTRYP GPCOPYTEXIMAGE2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
// typedef void (APIENTRYP GPCOPYTEXSUBIMAGE2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
// typedef GLuint (APIENTRYP GPCREATEPROGRAM)();
// typedef GLuint (APIENTRYP GPCREATESHADER)(GLenum type);
// typedef void (APIENTRYP GPCULLFACE)(GLenum mode);
// typedef void (APIENTRYP GPDELETEBUFFERS)(GLsizei n, const GLuint * buffers);
// typedef void (APIENTRYP GPDELETEFRAMEBUFFERS)(GLsizei n, const GLuint * framebuffers);
// typedef void (APIENTRYP GPDELETEPROGRAM)(GLuint program);
// typedef void (APIENTRYP GPDELETERENDERBUFFERS)(GLsizei n, const GLuint * renderbuffers);
// typedef void (APIENTRYP GPDELETESHADER)(GLuint shader);
// typedef void (APIENTRYP GPDELETETEXTURES)(GLsizei n, const GLuint * textures);
// typedef void (APIENTRYP GPDEPTHFUNC)(GLenum func);
// typedef void (APIENTRYP GPDEPTHMASK)(GLboolean flag);
// typedef void (APIENTRYP GPDETACHSHADER)(GLuint program, GLuint shader);
// typedef void (APIENTRYP GPDISABLE)(GLenum cap);
// typedef void (APIENTRYP GPDISABLEVERTEXATTRIBARRAY)(GLuint index);
// typedef void (APIENTRYP GPDRAWARRAYS)(GLenum mode, GLint first, GLsizei count);
// typedef void (APIENTRYP GPDRAWELEMENTS)(GLenum mode, GLsizei count, GLenum type, const void * indices);
// typedef void (APIENTRYP GPENABLE)(GLenum cap);
// typedef void (APIENTRYP GPENABLEVERTEXATTRIBARRAY)(GLuint index);
// typedef void (APIENTRYP GPFINISH)();
// typedef void (APIENTRYP GPFLUSH)();
// typedef void (APIENTRYP GPFRAMEBUFFERRENDERBUFFER)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
// typedef void (APIENTRYP GPFRAMEBUFFERTEXTURE2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
// typedef void (APIENTRYP GPFRONTFACE)(GLenum mode);
// typedef void (APIENTRYP GPGENBUFFERS)(GLsizei n, GLuint * buffers);
// typedef void (APIENTRYP GPGENFRAMEBUFFERS)(GLsizei n, GLuint * framebuffers);
// typedef void (APIENTRYP GPGENRENDERBUFFERS)(GLsizei n, GLuint * renderbuffers);
// typedef void (APIENTRYP GPGENTEXTURES)(GLsizei n, GLuint * textures);
// typedef void (APIENTRYP GPGENERATEMIPMAP)(GLenum target);
// typedef void (APIENTRYP GPGETACTIVEATTRIB)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
// typedef void (APIENTRYP GPGETACTIVEUNIFORM)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
// typedef void (APIENTRYP GPGETATTACHEDSHADERS)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders);
// typedef GLint (APIENTRYP GPGETATTRIBLOCATION)(GLuint program, const GLchar * name);
// typedef void (APIENTRYP GPGETBOOLEANV)(GLenum pname, GLboolean * data);
// typedef void (APIENTRYP GPGETBUFFERPARAMETERIV)(GLenum target, GLenum pname, GLint * params);
// typedef GLenum (APIENTRYP GPGETERROR)();
// typedef void (APIENTRYP GPGETFLOATV)(GLenum pname, GLfloat * data);
// typedef void (APIENTRYP GPGETFRAMEBUFFERATTACHMENTPARAMETERIV)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
// typedef void (APIENTRYP GPGETINTEGERV)(GLenum pname, GLint * data);
// typedef void (APIENTRYP GPGETPROGRAMINFOLOG)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
// typedef void (APIENTRYP GPGETPROGRAMIV)(GLuint program, GLenum pname, GLint * params);
// typedef void (APIENTRYP GPGETRENDERBUFFERPARAMETERIV)(GLenum target, GLenum pname, GLint * params);
// typedef void (APIENTRYP GPGETSHADERINFOLOG)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
// typedef void (APIENTRYP GPGETSHADERSOURCE)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source);
// typedef void (APIENTRYP GPGETSHADERIV)(GLuint shader, GLenum pname, GLint * params);
// typedef const GLubyte * (APIENTRYP GPGETSTRING)(GLenum name);
// typedef void (APIENTRYP GPGETTEXPARAMETERFV)(GLenum target, GLenum pname, GLfloat * params);
// typedef void (APIENTRYP GPGETTEXPARAMETERIV)(GLenum target, GLenum pname, GLint * params);
// typedef GLint (APIENTRYP GPGETUNIFORMLOCATION)(GLuint program, const GLchar * name);
// typedef void (APIENTRYP GPGETUNIFORMFV)(GLuint program, GLint location, GLfloat * params);
// typedef void (APIENTRYP GPGETUNIFORMIV)(GLuint program, GLint location, GLint * params);
// typedef void (APIENTRYP GPGETVERTEXATTRIBPOINTERV)(GLuint index, GLenum pname, void ** pointer);
// typedef void (APIENTRYP GPGETVERTEXATTRIBFV)(GLuint index, GLenum pname, GLfloat * params);
// typedef void (APIENTRYP GPGETVERTEXATTRIBIV)(GLuint index, GLenum pname, GLint * params);
// typedef void (APIENTRYP GPHINT)(GLenum target, GLenum mode);
// typedef GLboolean (APIENTRYP GPISBUFFER)(GLuint buffer);
// typedef GLboolean (APIENTRYP GPISENABLED)(GLenum cap);
// typedef GLboolean (APIENTRYP GPISFRAMEBUFFER)(GLuint framebuffer);
// typedef GLboolean (APIENTRYP GPISPROGRAM)(GLuint program);
// typedef GLboolean (APIENTRYP GPISRENDERBUFFER)(GLuint renderbuffer);
// typedef GLboolean (APIENTRYP GPISSHADER)(GLuint shader);
// typedef GLboolean (APIENTRYP GPISTEXTURE)(GLuint texture);
// typedef void (APIENTRYP GPLINEWIDTH)(GLfloat width);
// typedef void (APIENTRYP GPLINKPROGRAM)(GLuint program);
// typedef void (APIENTRYP GPPIXELSTOREI)(GLenum pname, GLint param);
// typedef void (APIENTRYP GPPOLYGONOFFSET)(GLfloat factor, GLfloat units);
// typedef void (APIENTRYP GPREADPIXELS)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels);
// typedef void (APIENTRYP GPRENDERBUFFERSTORAGE)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
// typedef void (APIENTRYP GPSAMPLECOVERAGE)(GLfloat value, GLboolean invert);
// typedef void (APIENTRYP GPSCISSOR)(GLint x, GLint y, GLsizei width, GLsizei height);
// typedef void (APIENTRYP GPSHADERSOURCE)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length);
// typedef void (APIENTRYP GPSTENCILFUNC)(GLenum func, GLint ref, GLuint mask);
// typedef void (APIENTRYP GPSTENCILFUNCSEPARATE)(GLenum face, GLenum func, GLint ref, GLuint mask);
// typedef void (APIENTRYP GPSTENCILMASK)(GLuint mask);
// typedef void (APIENTRYP GPSTENCILMASKSEPARATE)(GLenum face, GLuint mask);
// typedef void (APIENTRYP GPSTENCILOP)(GLenum fail, GLenum zfail, GLenum zpass);
// typedef void (APIENTRYP GPSTENCILOPSEPARATE)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
// typedef void (APIENTRYP GPTEXIMAGE2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
// typedef void (APIENTRYP GPTEXPARAMETERF)(GLenum target, GLenum pname, GLfloat param);
// typedef void (APIENTRYP GPTEXPARAMETERFV)(GLenum target, GLenum pname, const GLfloat * params);
// typedef void (APIENTRYP GPTEXPARAMETERI)(GLenum target, GLenum pname, GLint param);
// typedef void (APIENTRYP GPTEXPARAMETERIV)(GLenum target, GLenum pname, const GLint * params);
// typedef void (APIENTRYP GPTEXSUBIMAGE2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
// typedef void (APIENTRYP GPUNIFORM1F)(GLint location, GLfloat v0);
// typedef void (APIENTRYP GPUNIFORM1FV)(GLint location, GLsizei count, const GLfloat * value);
// typedef void (APIENTRYP GPUNIFORM1I)(GLint location, GLint v0);
// typedef void (APIENTRYP GPUNIFORM1IV)(GLint location, GLsizei count, const GLint * value);
// typedef void (APIENTRYP GPUNIFORM2F)(GLint location, GLfloat v0, GLfloat v1);
// typedef void (APIENTRYP GPUNIFORM2FV)(GLint location, GLsizei count, const GLfloat * value);
// typedef void (APIENTRYP GPUNIFORM2I)(GLint location, GLint v0, GLint v1);
// typedef void (APIENTRYP GPUNIFORM2IV)(GLint location, GLsizei count, const GLint * value);
// typedef void (APIENTRYP GPUNIFORM3F)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
// typedef void (APIENTRYP GPUNIFORM3FV)(GLint location, GLsizei count, const GLfloat * value);
// typedef void (APIENTRYP GPUNIFORM3I)(GLint location, GLint v0, GLint v1, GLint v2);
// typedef void (APIENTRYP GPUNIFORM3IV)(GLint location, GLsizei count, const GLint * value);
// typedef void (APIENTRYP GPUNIFORM4F)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
// typedef void (APIENTRYP GPUNIFORM4FV)(GLint location, GLsizei count, const GLfloat * value);
// typedef void (APIENTRYP GPUNIFORM4I)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
// typedef void (APIENTRYP GPUNIFORM4IV)(GLint location, GLsizei count, const GLint * value);
// typedef void (APIENTRYP GPUNIFORMMATRIX2FV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
// typedef void (APIENTRYP GPUNIFORMMATRIX3FV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
// typedef void (APIENTRYP GPUNIFORMMATRIX4FV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
// typedef void (APIENTRYP GPUSEPROGRAM)(GLuint program);
// typedef void (APIENTRYP GPVALIDATEPROGRAM)(GLuint program);
// typedef void (APIENTRYP GPVERTEXATTRIB1F)(GLuint index, GLfloat x);
// typedef void (APIENTRYP GPVERTEXATTRIB1FV)(GLuint index, const GLfloat * v);
// typedef void (APIENTRYP GPVERTEXATTRIB2F)(GLuint index, GLfloat x, GLfloat y);
// typedef void (APIENTRYP GPVERTEXATTRIB2FV)(GLuint index, const GLfloat * v);
// typedef void (APIENTRYP GPVERTEXATTRIB3F)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
// typedef void (APIENTRYP GPVERTEXATTRIB3FV)(GLuint index, const GLfloat * v);
// typedef void (APIENTRYP GPVERTEXATTRIB4F)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
// typedef void (APIENTRYP GPVERTEXATTRIB4FV)(GLuint index, const GLfloat * v);
// typedef void (APIENTRYP GPVERTEXATTRIBPOINTER)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
// typedef void (APIENTRYP GPVIEWPORT)(GLint x, GLint y, GLsizei width, GLsizei height);
// static void glowActiveTexture(GPACTIVETEXTURE fnptr, GLenum texture) {
// (*fnptr)(texture);
// }
// static void glowAttachShader(GPATTACHSHADER fnptr, GLuint program, GLuint shader) {
// (*fnptr)(program, shader);
// }
// static void glowBindAttribLocation(GPBINDATTRIBLOCATION fnptr, GLuint program, GLuint index, const GLchar * name) {
// (*fnptr)(program, index, name);
// }
// static void glowBindBuffer(GPBINDBUFFER fnptr, GLenum target, GLuint buffer) {
// (*fnptr)(target, buffer);
// }
// static void glowBindFramebuffer(GPBINDFRAMEBUFFER fnptr, GLenum target, GLuint framebuffer) {
// (*fnptr)(target, framebuffer);
// }
// static void glowBindRenderbuffer(GPBINDRENDERBUFFER fnptr, GLenum target, GLuint renderbuffer) {
// (*fnptr)(target, renderbuffer);
// }
// static void glowBindTexture(GPBINDTEXTURE fnptr, GLenum target, GLuint texture) {
// (*fnptr)(target, texture);
// }
// static void glowBlendColor(GPBLENDCOLOR fnptr, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {
// (*fnptr)(red, green, blue, alpha);
// }
// static void glowBlendEquation(GPBLENDEQUATION fnptr, GLenum mode) {
// (*fnptr)(mode);
// }
// static void glowBlendEquationSeparate(GPBLENDEQUATIONSEPARATE fnptr, GLenum modeRGB, GLenum modeAlpha) {
// (*fnptr)(modeRGB, modeAlpha);
// }
// static void glowBlendFunc(GPBLENDFUNC fnptr, GLenum sfactor, GLenum dfactor) {
// (*fnptr)(sfactor, dfactor);
// }
// static void glowBlendFuncSeparate(GPBLENDFUNCSEPARATE fnptr, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) {
// (*fnptr)(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
// }
// static void glowBufferData(GPBUFFERDATA fnptr, GLenum target, GLsizeiptr size, const void * data, GLenum usage) {
// (*fnptr)(target, size, data, usage);
// }
// static void glowBufferSubData(GPBUFFERSUBDATA fnptr, GLenum target, GLintptr offset, GLsizeiptr size, const void * data) {
// (*fnptr)(target, offset, size, data);
// }
// static GLenum glowCheckFramebufferStatus(GPCHECKFRAMEBUFFERSTATUS fnptr, GLenum target) {
// return (*fnptr)(target);
// }
// static void glowClear(GPCLEAR fnptr, GLbitfield mask) {
// (*fnptr)(mask);
// }
// static void glowClearColor(GPCLEARCOLOR fnptr, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {
// (*fnptr)(red, green, blue, alpha);
// }
// static void glowClearStencil(GPCLEARSTENCIL fnptr, GLint s) {
// (*fnptr)(s);
// }
// static void glowColorMask(GPCOLORMASK fnptr, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {
// (*fnptr)(red, green, blue, alpha);
// }
// static void glowCompileShader(GPCOMPILESHADER fnptr, GLuint shader) {
// (*fnptr)(shader);
// }
// static void glowCompressedTexImage2D(GPCOMPRESSEDTEXIMAGE2D fnptr, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data) {
// (*fnptr)(target, level, internalformat, width, height, border, imageSize, data);
// }
// static void glowCompressedTexSubImage2D(GPCOMPRESSEDTEXSUBIMAGE2D fnptr, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data) {
// (*fnptr)(target, level, xoffset, yoffset, width, height, format, imageSize, data);
// }
// static void glowCopyTexImage2D(GPCOPYTEXIMAGE2D fnptr, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
// (*fnptr)(target, level, internalformat, x, y, width, height, border);
// }
// static void glowCopyTexSubImage2D(GPCOPYTEXSUBIMAGE2D fnptr, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
// (*fnptr)(target, level, xoffset, yoffset, x, y, width, height);
// }
// static GLuint glowCreateProgram(GPCREATEPROGRAM fnptr) {
// return (*fnptr)();
// }
// static GLuint glowCreateShader(GPCREATESHADER fnptr, GLenum type) {
// return (*fnptr)(type);
// }
// static void glowCullFace(GPCULLFACE fnptr, GLenum mode) {
// (*fnptr)(mode);
// }
// static void glowDeleteBuffers(GPDELETEBUFFERS fnptr, GLsizei n, const GLuint * buffers) {
// (*fnptr)(n, buffers);
// }
// static void glowDeleteFramebuffers(GPDELETEFRAMEBUFFERS fnptr, GLsizei n, const GLuint * framebuffers) {
// (*fnptr)(n, framebuffers);
// }
// static void glowDeleteProgram(GPDELETEPROGRAM fnptr, GLuint program) {
// (*fnptr)(program);
// }
// static void glowDeleteRenderbuffers(GPDELETERENDERBUFFERS fnptr, GLsizei n, const GLuint * renderbuffers) {
// (*fnptr)(n, renderbuffers);
// }
// static void glowDeleteShader(GPDELETESHADER fnptr, GLuint shader) {
// (*fnptr)(shader);
// }
// static void glowDeleteTextures(GPDELETETEXTURES fnptr, GLsizei n, const GLuint * textures) {
// (*fnptr)(n, textures);
// }
// static void glowDepthFunc(GPDEPTHFUNC fnptr, GLenum func) {
// (*fnptr)(func);
// }
// static void glowDepthMask(GPDEPTHMASK fnptr, GLboolean flag) {
// (*fnptr)(flag);
// }
// static void glowDetachShader(GPDETACHSHADER fnptr, GLuint program, GLuint shader) {
// (*fnptr)(program, shader);
// }
// static void glowDisable(GPDISABLE fnptr, GLenum cap) {
// (*fnptr)(cap);
// }
// static void glowDisableVertexAttribArray(GPDISABLEVERTEXATTRIBARRAY fnptr, GLuint index) {
// (*fnptr)(index);
// }
// static void glowDrawArrays(GPDRAWARRAYS fnptr, GLenum mode, GLint first, GLsizei count) {
// (*fnptr)(mode, first, count);
// }
// static void glowDrawElements(GPDRAWELEMENTS fnptr, GLenum mode, GLsizei count, GLenum type, const void * indices) {
// (*fnptr)(mode, count, type, indices);
// }
// static void glowEnable(GPENABLE fnptr, GLenum cap) {
// (*fnptr)(cap);
// }
// static void glowEnableVertexAttribArray(GPENABLEVERTEXATTRIBARRAY fnptr, GLuint index) {
// (*fnptr)(index);
// }
// static void glowFinish(GPFINISH fnptr) {
// (*fnptr)();
// }
// static void glowFlush(GPFLUSH fnptr) {
// (*fnptr)();
// }
// static void glowFramebufferRenderbuffer(GPFRAMEBUFFERRENDERBUFFER fnptr, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
// (*fnptr)(target, attachment, renderbuffertarget, renderbuffer);
// }
// static void glowFramebufferTexture2D(GPFRAMEBUFFERTEXTURE2D fnptr, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
// (*fnptr)(target, attachment, textarget, texture, level);
// }
// static void glowFrontFace(GPFRONTFACE fnptr, GLenum mode) {
// (*fnptr)(mode);
// }
// static void glowGenBuffers(GPGENBUFFERS fnptr, GLsizei n, GLuint * buffers) {
// (*fnptr)(n, buffers);
// }
// static void glowGenFramebuffers(GPGENFRAMEBUFFERS fnptr, GLsizei n, GLuint * framebuffers) {
// (*fnptr)(n, framebuffers);
// }
// static void glowGenRenderbuffers(GPGENRENDERBUFFERS fnptr, GLsizei n, GLuint * renderbuffers) {
// (*fnptr)(n, renderbuffers);
// }
// static void glowGenTextures(GPGENTEXTURES fnptr, GLsizei n, GLuint * textures) {
// (*fnptr)(n, textures);
// }
// static void glowGenerateMipmap(GPGENERATEMIPMAP fnptr, GLenum target) {
// (*fnptr)(target);
// }
// static void glowGetActiveAttrib(GPGETACTIVEATTRIB fnptr, GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) {
// (*fnptr)(program, index, bufSize, length, size, type, name);
// }
// static void glowGetActiveUniform(GPGETACTIVEUNIFORM fnptr, GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) {
// (*fnptr)(program, index, bufSize, length, size, type, name);
// }
// static void glowGetAttachedShaders(GPGETATTACHEDSHADERS fnptr, GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders) {
// (*fnptr)(program, maxCount, count, shaders);
// }
// static GLint glowGetAttribLocation(GPGETATTRIBLOCATION fnptr, GLuint program, const GLchar * name) {
// return (*fnptr)(program, name);
// }
// static void glowGetBooleanv(GPGETBOOLEANV fnptr, GLenum pname, GLboolean * data) {
// (*fnptr)(pname, data);
// }
// static void glowGetBufferParameteriv(GPGETBUFFERPARAMETERIV fnptr, GLenum target, GLenum pname, GLint * params) {
// (*fnptr)(target, pname, params);
// }
// static GLenum glowGetError(GPGETERROR fnptr) {
// return (*fnptr)();
// }
// static void glowGetFloatv(GPGETFLOATV fnptr, GLenum pname, GLfloat * data) {
// (*fnptr)(pname, data);
// }
// static void glowGetFramebufferAttachmentParameteriv(GPGETFRAMEBUFFERATTACHMENTPARAMETERIV fnptr, GLenum target, GLenum attachment, GLenum pname, GLint * params) {
// (*fnptr)(target, attachment, pname, params);
// }
// static void glowGetIntegerv(GPGETINTEGERV fnptr, GLenum pname, GLint * data) {
// (*fnptr)(pname, data);
// }
// static void glowGetProgramInfoLog(GPGETPROGRAMINFOLOG fnptr, GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog) {
// (*fnptr)(program, bufSize, length, infoLog);
// }
// static void glowGetProgramiv(GPGETPROGRAMIV fnptr, GLuint program, GLenum pname, GLint * params) {
// (*fnptr)(program, pname, params);
// }
// static void glowGetRenderbufferParameteriv(GPGETRENDERBUFFERPARAMETERIV fnptr, GLenum target, GLenum pname, GLint * params) {
// (*fnptr)(target, pname, params);
// }
// static void glowGetShaderInfoLog(GPGETSHADERINFOLOG fnptr, GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog) {
// (*fnptr)(shader, bufSize, length, infoLog);
// }
// static void glowGetShaderSource(GPGETSHADERSOURCE fnptr, GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source) {
// (*fnptr)(shader, bufSize, length, source);
// }
// static void glowGetShaderiv(GPGETSHADERIV fnptr, GLuint shader, GLenum pname, GLint * params) {
// (*fnptr)(shader, pname, params);
// }
// static const GLubyte * glowGetString(GPGETSTRING fnptr, GLenum name) {
// return (*fnptr)(name);
// }
// static void glowGetTexParameterfv(GPGETTEXPARAMETERFV fnptr, GLenum target, GLenum pname, GLfloat * params) {
// (*fnptr)(target, pname, params);
// }
// static void glowGetTexParameteriv(GPGETTEXPARAMETERIV fnptr, GLenum target, GLenum pname, GLint * params) {
// (*fnptr)(target, pname, params);
// }
// static GLint glowGetUniformLocation(GPGETUNIFORMLOCATION fnptr, GLuint program, const GLchar * name) {
// return (*fnptr)(program, name);
// }
// static void glowGetUniformfv(GPGETUNIFORMFV fnptr, GLuint program, GLint location, GLfloat * params) {
// (*fnptr)(program, location, params);
// }
// static void glowGetUniformiv(GPGETUNIFORMIV fnptr, GLuint program, GLint location, GLint * params) {
// (*fnptr)(program, location, params);
// }
// static void glowGetVertexAttribPointerv(GPGETVERTEXATTRIBPOINTERV fnptr, GLuint index, GLenum pname, void ** pointer) {
// (*fnptr)(index, pname, pointer);
// }
// static void glowGetVertexAttribfv(GPGETVERTEXATTRIBFV fnptr, GLuint index, GLenum pname, GLfloat * params) {
// (*fnptr)(index, pname, params);
// }
// static void glowGetVertexAttribiv(GPGETVERTEXATTRIBIV fnptr, GLuint index, GLenum pname, GLint * params) {
// (*fnptr)(index, pname, params);
// }
// static void glowHint(GPHINT fnptr, GLenum target, GLenum mode) {
// (*fnptr)(target, mode);
// }
// static GLboolean glowIsBuffer(GPISBUFFER fnptr, GLuint buffer) {
// return (*fnptr)(buffer);
// }
// static GLboolean glowIsEnabled(GPISENABLED fnptr, GLenum cap) {
// return (*fnptr)(cap);
// }
// static GLboolean glowIsFramebuffer(GPISFRAMEBUFFER fnptr, GLuint framebuffer) {
// return (*fnptr)(framebuffer);
// }
// static GLboolean glowIsProgram(GPISPROGRAM fnptr, GLuint program) {
// return (*fnptr)(program);
// }
// static GLboolean glowIsRenderbuffer(GPISRENDERBUFFER fnptr, GLuint renderbuffer) {
// return (*fnptr)(renderbuffer);
// }
// static GLboolean glowIsShader(GPISSHADER fnptr, GLuint shader) {
// return (*fnptr)(shader);
// }
// static GLboolean glowIsTexture(GPISTEXTURE fnptr, GLuint texture) {
// return (*fnptr)(texture);
// }
// static void glowLineWidth(GPLINEWIDTH fnptr, GLfloat width) {
// (*fnptr)(width);
// }
// static void glowLinkProgram(GPLINKPROGRAM fnptr, GLuint program) {
// (*fnptr)(program);
// }
// static void glowPixelStorei(GPPIXELSTOREI fnptr, GLenum pname, GLint param) {
// (*fnptr)(pname, param);
// }
// static void glowPolygonOffset(GPPOLYGONOFFSET fnptr, GLfloat factor, GLfloat units) {
// (*fnptr)(factor, units);
// }
// static void glowReadPixels(GPREADPIXELS fnptr, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels) {
// (*fnptr)(x, y, width, height, format, type, pixels);
// }
// static void glowRenderbufferStorage(GPRENDERBUFFERSTORAGE fnptr, GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
// (*fnptr)(target, internalformat, width, height);
// }
// static void glowSampleCoverage(GPSAMPLECOVERAGE fnptr, GLfloat value, GLboolean invert) {
// (*fnptr)(value, invert);
// }
// static void glowScissor(GPSCISSOR fnptr, GLint x, GLint y, GLsizei width, GLsizei height) {
// (*fnptr)(x, y, width, height);
// }
// static void glowShaderSource(GPSHADERSOURCE fnptr, GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length) {
// (*fnptr)(shader, count, string, length);
// }
// static void glowStencilFunc(GPSTENCILFUNC fnptr, GLenum func, GLint ref, GLuint mask) {
// (*fnptr)(func, ref, mask);
// }
// static void glowStencilFuncSeparate(GPSTENCILFUNCSEPARATE fnptr, GLenum face, GLenum func, GLint ref, GLuint mask) {
// (*fnptr)(face, func, ref, mask);
// }
// static void glowStencilMask(GPSTENCILMASK fnptr, GLuint mask) {
// (*fnptr)(mask);
// }
// static void glowStencilMaskSeparate(GPSTENCILMASKSEPARATE fnptr, GLenum face, GLuint mask) {
// (*fnptr)(face, mask);
// }
// static void glowStencilOp(GPSTENCILOP fnptr, GLenum fail, GLenum zfail, GLenum zpass) {
// (*fnptr)(fail, zfail, zpass);
// }
// static void glowStencilOpSeparate(GPSTENCILOPSEPARATE fnptr, GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) {
// (*fnptr)(face, sfail, dpfail, dppass);
// }
// static void glowTexImage2D(GPTEXIMAGE2D fnptr, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels) {
// (*fnptr)(target, level, internalformat, width, height, border, format, type, pixels);
// }
// static void glowTexParameterf(GPTEXPARAMETERF fnptr, GLenum target, GLenum pname, GLfloat param) {
// (*fnptr)(target, pname, param);
// }
// static void glowTexParameterfv(GPTEXPARAMETERFV fnptr, GLenum target, GLenum pname, const GLfloat * params) {
// (*fnptr)(target, pname, params);
// }
// static void glowTexParameteri(GPTEXPARAMETERI fnptr, GLenum target, GLenum pname, GLint param) {
// (*fnptr)(target, pname, param);
// }
// static void glowTexParameteriv(GPTEXPARAMETERIV fnptr, GLenum target, GLenum pname, const GLint * params) {
// (*fnptr)(target, pname, params);
// }
// static void glowTexSubImage2D(GPTEXSUBIMAGE2D fnptr, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels) {
// (*fnptr)(target, level, xoffset, yoffset, width, height, format, type, pixels);
// }
// static void glowUniform1f(GPUNIFORM1F fnptr, GLint location, GLfloat v0) {
// (*fnptr)(location, v0);
// }
// static void glowUniform1fv(GPUNIFORM1FV fnptr, GLint location, GLsizei count, const GLfloat * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniform1i(GPUNIFORM1I fnptr, GLint location, GLint v0) {
// (*fnptr)(location, v0);
// }
// static void glowUniform1iv(GPUNIFORM1IV fnptr, GLint location, GLsizei count, const GLint * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniform2f(GPUNIFORM2F fnptr, GLint location, GLfloat v0, GLfloat v1) {
// (*fnptr)(location, v0, v1);
// }
// static void glowUniform2fv(GPUNIFORM2FV fnptr, GLint location, GLsizei count, const GLfloat * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniform2i(GPUNIFORM2I fnptr, GLint location, GLint v0, GLint v1) {
// (*fnptr)(location, v0, v1);
// }
// static void glowUniform2iv(GPUNIFORM2IV fnptr, GLint location, GLsizei count, const GLint * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniform3f(GPUNIFORM3F fnptr, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {
// (*fnptr)(location, v0, v1, v2);
// }
// static void glowUniform3fv(GPUNIFORM3FV fnptr, GLint location, GLsizei count, const GLfloat * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniform3i(GPUNIFORM3I fnptr, GLint location, GLint v0, GLint v1, GLint v2) {
// (*fnptr)(location, v0, v1, v2);
// }
// static void glowUniform3iv(GPUNIFORM3IV fnptr, GLint location, GLsizei count, const GLint * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniform4f(GPUNIFORM4F fnptr, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {
// (*fnptr)(location, v0, v1, v2, v3);
// }
// static void glowUniform4fv(GPUNIFORM4FV fnptr, GLint location, GLsizei count, const GLfloat * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniform4i(GPUNIFORM4I fnptr, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {
// (*fnptr)(location, v0, v1, v2, v3);
// }
// static void glowUniform4iv(GPUNIFORM4IV fnptr, GLint location, GLsizei count, const GLint * value) {
// (*fnptr)(location, count, value);
// }
// static void glowUniformMatrix2fv(GPUNIFORMMATRIX2FV fnptr, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {
// (*fnptr)(location, count, transpose, value);
// }
// static void glowUniformMatrix3fv(GPUNIFORMMATRIX3FV fnptr, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {
// (*fnptr)(location, count, transpose, value);
// }
// static void glowUniformMatrix4fv(GPUNIFORMMATRIX4FV fnptr, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {
// (*fnptr)(location, count, transpose, value);
// }
// static void glowUseProgram(GPUSEPROGRAM fnptr, GLuint program) {
// (*fnptr)(program);
// }
// static void glowValidateProgram(GPVALIDATEPROGRAM fnptr, GLuint program) {
// (*fnptr)(program);
// }
// static void glowVertexAttrib1f(GPVERTEXATTRIB1F fnptr, GLuint index, GLfloat x) {
// (*fnptr)(index, x);
// }
// static void glowVertexAttrib1fv(GPVERTEXATTRIB1FV fnptr, GLuint index, const GLfloat * v) {
// (*fnptr)(index, v);
// }
// static void glowVertexAttrib2f(GPVERTEXATTRIB2F fnptr, GLuint index, GLfloat x, GLfloat y) {
// (*fnptr)(index, x, y);
// }
// static void glowVertexAttrib2fv(GPVERTEXATTRIB2FV fnptr, GLuint index, const GLfloat * v) {
// (*fnptr)(index, v);
// }
// static void glowVertexAttrib3f(GPVERTEXATTRIB3F fnptr, GLuint index, GLfloat x, GLfloat y, GLfloat z) {
// (*fnptr)(index, x, y, z);
// }
// static void glowVertexAttrib3fv(GPVERTEXATTRIB3FV fnptr, GLuint index, const GLfloat * v) {
// (*fnptr)(index, v);
// }
// static void glowVertexAttrib4f(GPVERTEXATTRIB4F fnptr, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
// (*fnptr)(index, x, y, z, w);
// }
// static void glowVertexAttrib4fv(GPVERTEXATTRIB4FV fnptr, GLuint index, const GLfloat * v) {
// (*fnptr)(index, v);
// }
// static void glowVertexAttribPointer(GPVERTEXATTRIBPOINTER fnptr, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer) {
// (*fnptr)(index, size, type, normalized, stride, pointer);
// }
// static void glowViewport(GPVIEWPORT fnptr, GLint x, GLint y, GLsizei width, GLsizei height) {
// (*fnptr)(x, y, width, height);
// }
import "C"
import (
"errors"
"unsafe"
)
const (
ACTIVE_ATTRIBUTES = 0x8B89
ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
ACTIVE_TEXTURE = 0x84E0
ACTIVE_UNIFORMS = 0x8B86
ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
ALIASED_LINE_WIDTH_RANGE = 0x846E
ALIASED_POINT_SIZE_RANGE = 0x846D
ALPHA = 0x1906
ALPHA_BITS = 0x0D55
ALWAYS = 0x0207
ARRAY_BUFFER = 0x8892
ARRAY_BUFFER_BINDING = 0x8894
ATTACHED_SHADERS = 0x8B85
BACK = 0x0405
BLEND = 0x0BE2
BLEND_DST_ALPHA = 0x80CA
BLEND_DST_RGB = 0x80C8
BLEND_EQUATION_ALPHA = 0x883D
BLEND_EQUATION_RGB = 0x8009
BLEND_SRC_ALPHA = 0x80CB
BLEND_SRC_RGB = 0x80C9
BLUE_BITS = 0x0D54
BOOL = 0x8B56
BOOL_VEC2 = 0x8B57
BOOL_VEC3 = 0x8B58
BOOL_VEC4 = 0x8B59
BUFFER_SIZE = 0x8764
BUFFER_USAGE = 0x8765
BYTE = 0x1400
CCW = 0x0901
CLAMP_TO_EDGE = 0x812F
COLOR_ATTACHMENT0 = 0x8CE0
COLOR_BUFFER_BIT = 0x00004000
COLOR_CLEAR_VALUE = 0x0C22
COLOR_WRITEMASK = 0x0C23
COMPILE_STATUS = 0x8B81
COMPRESSED_TEXTURE_FORMATS = 0x86A3
CONSTANT_ALPHA = 0x8003
CONSTANT_COLOR = 0x8001
CULL_FACE = 0x0B44
CULL_FACE_MODE = 0x0B45
CURRENT_PROGRAM = 0x8B8D
CURRENT_VERTEX_ATTRIB = 0x8626
CW = 0x0900
DECR = 0x1E03
DECR_WRAP = 0x8508
DELETE_STATUS = 0x8B80
DEPTH_ATTACHMENT = 0x8D00
DEPTH_BITS = 0x0D56
DEPTH_BUFFER_BIT = 0x00000100
DEPTH_CLEAR_VALUE = 0x0B73
DEPTH_COMPONENT = 0x1902
DEPTH_COMPONENT16 = 0x81A5
DEPTH_FUNC = 0x0B74
DEPTH_RANGE = 0x0B70
DEPTH_TEST = 0x0B71
DEPTH_WRITEMASK = 0x0B72
DITHER = 0x0BD0
DONT_CARE = 0x1100
DST_ALPHA = 0x0304
DST_COLOR = 0x0306
DYNAMIC_DRAW = 0x88E8
ELEMENT_ARRAY_BUFFER = 0x8893
ELEMENT_ARRAY_BUFFER_BINDING = 0x8895
EQUAL = 0x0202
EXTENSIONS = 0x1F03
FALSE = 0
FASTEST = 0x1101
FLOAT = 0x1406
FLOAT_MAT2 = 0x8B5A
FLOAT_MAT3 = 0x8B5B
FLOAT_MAT4 = 0x8B5C
FLOAT_VEC2 = 0x8B50
FLOAT_VEC3 = 0x8B51
FLOAT_VEC4 = 0x8B52
FRAGMENT_SHADER = 0x8B30
FRAMEBUFFER = 0x8D40
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2
FRAMEBUFFER_BINDING = 0x8CA6
FRAMEBUFFER_COMPLETE = 0x8CD5
FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7
FRAMEBUFFER_UNSUPPORTED = 0x8CDD
FRONT = 0x0404
FRONT_AND_BACK = 0x0408
FRONT_FACE = 0x0B46
FUNC_ADD = 0x8006
FUNC_REVERSE_SUBTRACT = 0x800B
FUNC_SUBTRACT = 0x800A
GENERATE_MIPMAP_HINT = 0x8192
GEQUAL = 0x0206
GREATER = 0x0204
GREEN_BITS = 0x0D53
INCR = 0x1E02
INCR_WRAP = 0x8507
INFO_LOG_LENGTH = 0x8B84
INT = 0x1404
INT_VEC2 = 0x8B53
INT_VEC3 = 0x8B54
INT_VEC4 = 0x8B55
INVALID_ENUM = 0x0500
INVALID_FRAMEBUFFER_OPERATION = 0x0506
INVALID_OPERATION = 0x0502
INVALID_VALUE = 0x0501
INVERT = 0x150A
KEEP = 0x1E00
LEQUAL = 0x0203
LESS = 0x0201
LINEAR = 0x2601
LINEAR_MIPMAP_LINEAR = 0x2703
LINEAR_MIPMAP_NEAREST = 0x2701
LINES = 0x0001
LINE_LOOP = 0x0002
LINE_STRIP = 0x0003
LINE_WIDTH = 0x0B21
LINK_STATUS = 0x8B82
LUMINANCE = 0x1909
LUMINANCE_ALPHA = 0x190A
MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D
MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C
MAX_RENDERBUFFER_SIZE = 0x84E8
MAX_TEXTURE_IMAGE_UNITS = 0x8872
MAX_TEXTURE_SIZE = 0x0D33
MAX_VERTEX_ATTRIBS = 0x8869
MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C
MAX_VIEWPORT_DIMS = 0x0D3A
MIRRORED_REPEAT = 0x8370
NEAREST = 0x2600
NEAREST_MIPMAP_LINEAR = 0x2702
NEAREST_MIPMAP_NEAREST = 0x2700
NEVER = 0x0200
NICEST = 0x1102
NONE = 0
NOTEQUAL = 0x0205
NO_ERROR = 0
NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2
ONE = 1
ONE_MINUS_CONSTANT_ALPHA = 0x8004
ONE_MINUS_CONSTANT_COLOR = 0x8002
ONE_MINUS_DST_ALPHA = 0x0305
ONE_MINUS_DST_COLOR = 0x0307
ONE_MINUS_SRC_ALPHA = 0x0303
ONE_MINUS_SRC_COLOR = 0x0301
OUT_OF_MEMORY = 0x0505
PACK_ALIGNMENT = 0x0D05
POINTS = 0x0000
POLYGON_OFFSET_FACTOR = 0x8038
POLYGON_OFFSET_FILL = 0x8037
POLYGON_OFFSET_UNITS = 0x2A00
RED_BITS = 0x0D52
RENDERBUFFER = 0x8D41
RENDERBUFFER_ALPHA_SIZE = 0x8D53
RENDERBUFFER_BINDING = 0x8CA7
RENDERBUFFER_BLUE_SIZE = 0x8D52
RENDERBUFFER_DEPTH_SIZE = 0x8D54
RENDERBUFFER_GREEN_SIZE = 0x8D51
RENDERBUFFER_HEIGHT = 0x8D43
RENDERBUFFER_INTERNAL_FORMAT = 0x8D44
RENDERBUFFER_RED_SIZE = 0x8D50
RENDERBUFFER_STENCIL_SIZE = 0x8D55
RENDERBUFFER_WIDTH = 0x8D42
RENDERER = 0x1F01
REPEAT = 0x2901
REPLACE = 0x1E01
RGB = 0x1907
RGB5_A1 = 0x8057
RGBA = 0x1908
RGBA4 = 0x8056
SAMPLER_2D = 0x8B5E
SAMPLER_CUBE = 0x8B60
SAMPLES = 0x80A9
SAMPLE_ALPHA_TO_COVERAGE = 0x809E
SAMPLE_BUFFERS = 0x80A8
SAMPLE_COVERAGE = 0x80A0
SAMPLE_COVERAGE_INVERT = 0x80AB
SAMPLE_COVERAGE_VALUE = 0x80AA
SCISSOR_BOX = 0x0C10
SCISSOR_TEST = 0x0C11
SHADER_SOURCE_LENGTH = 0x8B88
SHADER_TYPE = 0x8B4F
SHADING_LANGUAGE_VERSION = 0x8B8C
SHORT = 0x1402
SRC_ALPHA = 0x0302
SRC_ALPHA_SATURATE = 0x0308
SRC_COLOR = 0x0300
STATIC_DRAW = 0x88E4
STENCIL_ATTACHMENT = 0x8D20
STENCIL_BACK_FAIL = 0x8801
STENCIL_BACK_FUNC = 0x8800
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
STENCIL_BITS = 0x0D57
STENCIL_BUFFER_BIT = 0x00000400
STENCIL_CLEAR_VALUE = 0x0B91
STENCIL_FAIL = 0x0B94
STENCIL_FUNC = 0x0B92
STENCIL_INDEX8 = 0x8D48
STENCIL_PASS_DEPTH_FAIL = 0x0B95
STENCIL_PASS_DEPTH_PASS = 0x0B96
STENCIL_REF = 0x0B97
STENCIL_TEST = 0x0B90
STENCIL_VALUE_MASK = 0x0B93
STENCIL_WRITEMASK = 0x0B98
STREAM_DRAW = 0x88E0
SUBPIXEL_BITS = 0x0D50
TEXTURE = 0x1702
TEXTURE0 = 0x84C0
TEXTURE1 = 0x84C1
TEXTURE10 = 0x84CA
TEXTURE11 = 0x84CB
TEXTURE12 = 0x84CC
TEXTURE13 = 0x84CD
TEXTURE14 = 0x84CE
TEXTURE15 = 0x84CF
TEXTURE16 = 0x84D0
TEXTURE17 = 0x84D1
TEXTURE18 = 0x84D2
TEXTURE19 = 0x84D3
TEXTURE2 = 0x84C2
TEXTURE20 = 0x84D4
TEXTURE21 = 0x84D5
TEXTURE22 = 0x84D6
TEXTURE23 = 0x84D7
TEXTURE24 = 0x84D8
TEXTURE25 = 0x84D9
TEXTURE26 = 0x84DA
TEXTURE27 = 0x84DB
TEXTURE28 = 0x84DC
TEXTURE29 = 0x84DD
TEXTURE3 = 0x84C3
TEXTURE30 = 0x84DE
TEXTURE31 = 0x84DF
TEXTURE4 = 0x84C4
TEXTURE5 = 0x84C5
TEXTURE6 = 0x84C6
TEXTURE7 = 0x84C7
TEXTURE8 = 0x84C8
TEXTURE9 = 0x84C9
TEXTURE_2D = 0x0DE1
TEXTURE_BINDING_2D = 0x8069
TEXTURE_BINDING_CUBE_MAP = 0x8514
TEXTURE_CUBE_MAP = 0x8513
TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516
TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518
TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A
TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517
TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519
TEXTURE_MAG_FILTER = 0x2800
TEXTURE_MIN_FILTER = 0x2801
TEXTURE_WRAP_S = 0x2802
TEXTURE_WRAP_T = 0x2803
TRIANGLES = 0x0004
TRIANGLE_FAN = 0x0006
TRIANGLE_STRIP = 0x0005
TRUE = 1
UNPACK_ALIGNMENT = 0x0CF5
UNSIGNED_BYTE = 0x1401
UNSIGNED_INT = 0x1405
UNSIGNED_SHORT = 0x1403
UNSIGNED_SHORT_4_4_4_4 = 0x8033
UNSIGNED_SHORT_5_5_5_1 = 0x8034
UNSIGNED_SHORT_5_6_5 = 0x8363
VALIDATE_STATUS = 0x8B83
VENDOR = 0x1F00
VERSION = 0x1F02
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F
VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622
VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A
VERTEX_ATTRIB_ARRAY_POINTER = 0x8645
VERTEX_ATTRIB_ARRAY_SIZE = 0x8623
VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624
VERTEX_ATTRIB_ARRAY_TYPE = 0x8625
VERTEX_SHADER = 0x8B31
VIEWPORT = 0x0BA2
ZERO = 0
)
var (
gpActiveTexture C.GPACTIVETEXTURE
gpAttachShader C.GPATTACHSHADER
gpBindAttribLocation C.GPBINDATTRIBLOCATION
gpBindBuffer C.GPBINDBUFFER
gpBindFramebuffer C.GPBINDFRAMEBUFFER
gpBindRenderbuffer C.GPBINDRENDERBUFFER
gpBindTexture C.GPBINDTEXTURE
gpBlendColor C.GPBLENDCOLOR
gpBlendEquation C.GPBLENDEQUATION
gpBlendEquationSeparate C.GPBLENDEQUATIONSEPARATE
gpBlendFunc C.GPBLENDFUNC
gpBlendFuncSeparate C.GPBLENDFUNCSEPARATE
gpBufferData C.GPBUFFERDATA
gpBufferSubData C.GPBUFFERSUBDATA
gpCheckFramebufferStatus C.GPCHECKFRAMEBUFFERSTATUS
gpClear C.GPCLEAR
gpClearColor C.GPCLEARCOLOR
gpClearStencil C.GPCLEARSTENCIL
gpColorMask C.GPCOLORMASK
gpCompileShader C.GPCOMPILESHADER
gpCompressedTexImage2D C.GPCOMPRESSEDTEXIMAGE2D
gpCompressedTexSubImage2D C.GPCOMPRESSEDTEXSUBIMAGE2D
gpCopyTexImage2D C.GPCOPYTEXIMAGE2D
gpCopyTexSubImage2D C.GPCOPYTEXSUBIMAGE2D
gpCreateProgram C.GPCREATEPROGRAM
gpCreateShader C.GPCREATESHADER
gpCullFace C.GPCULLFACE
gpDeleteBuffers C.GPDELETEBUFFERS
gpDeleteFramebuffers C.GPDELETEFRAMEBUFFERS
gpDeleteProgram C.GPDELETEPROGRAM
gpDeleteRenderbuffers C.GPDELETERENDERBUFFERS
gpDeleteShader C.GPDELETESHADER
gpDeleteTextures C.GPDELETETEXTURES
gpDepthFunc C.GPDEPTHFUNC
gpDepthMask C.GPDEPTHMASK
gpDetachShader C.GPDETACHSHADER
gpDisable C.GPDISABLE
gpDisableVertexAttribArray C.GPDISABLEVERTEXATTRIBARRAY
gpDrawArrays C.GPDRAWARRAYS
gpDrawElements C.GPDRAWELEMENTS
gpEnable C.GPENABLE
gpEnableVertexAttribArray C.GPENABLEVERTEXATTRIBARRAY
gpFinish C.GPFINISH
gpFlush C.GPFLUSH
gpFramebufferRenderbuffer C.GPFRAMEBUFFERRENDERBUFFER
gpFramebufferTexture2D C.GPFRAMEBUFFERTEXTURE2D
gpFrontFace C.GPFRONTFACE
gpGenBuffers C.GPGENBUFFERS
gpGenFramebuffers C.GPGENFRAMEBUFFERS
gpGenRenderbuffers C.GPGENRENDERBUFFERS
gpGenTextures C.GPGENTEXTURES
gpGenerateMipmap C.GPGENERATEMIPMAP
gpGetActiveAttrib C.GPGETACTIVEATTRIB
gpGetActiveUniform C.GPGETACTIVEUNIFORM
gpGetAttachedShaders C.GPGETATTACHEDSHADERS
gpGetAttribLocation C.GPGETATTRIBLOCATION
gpGetBooleanv C.GPGETBOOLEANV
gpGetBufferParameteriv C.GPGETBUFFERPARAMETERIV
gpGetError C.GPGETERROR
gpGetFloatv C.GPGETFLOATV
gpGetFramebufferAttachmentParameteriv C.GPGETFRAMEBUFFERATTACHMENTPARAMETERIV
gpGetIntegerv C.GPGETINTEGERV
gpGetProgramInfoLog C.GPGETPROGRAMINFOLOG
gpGetProgramiv C.GPGETPROGRAMIV
gpGetRenderbufferParameteriv C.GPGETRENDERBUFFERPARAMETERIV
gpGetShaderInfoLog C.GPGETSHADERINFOLOG
gpGetShaderSource C.GPGETSHADERSOURCE
gpGetShaderiv C.GPGETSHADERIV
gpGetString C.GPGETSTRING
gpGetTexParameterfv C.GPGETTEXPARAMETERFV
gpGetTexParameteriv C.GPGETTEXPARAMETERIV
gpGetUniformLocation C.GPGETUNIFORMLOCATION
gpGetUniformfv C.GPGETUNIFORMFV
gpGetUniformiv C.GPGETUNIFORMIV
gpGetVertexAttribPointerv C.GPGETVERTEXATTRIBPOINTERV
gpGetVertexAttribfv C.GPGETVERTEXATTRIBFV
gpGetVertexAttribiv C.GPGETVERTEXATTRIBIV
gpHint C.GPHINT
gpIsBuffer C.GPISBUFFER
gpIsEnabled C.GPISENABLED
gpIsFramebuffer C.GPISFRAMEBUFFER
gpIsProgram C.GPISPROGRAM
gpIsRenderbuffer C.GPISRENDERBUFFER
gpIsShader C.GPISSHADER
gpIsTexture C.GPISTEXTURE
gpLineWidth C.GPLINEWIDTH
gpLinkProgram C.GPLINKPROGRAM
gpPixelStorei C.GPPIXELSTOREI
gpPolygonOffset C.GPPOLYGONOFFSET
gpReadPixels C.GPREADPIXELS
gpRenderbufferStorage C.GPRENDERBUFFERSTORAGE
gpSampleCoverage C.GPSAMPLECOVERAGE
gpScissor C.GPSCISSOR
gpShaderSource C.GPSHADERSOURCE
gpStencilFunc C.GPSTENCILFUNC
gpStencilFuncSeparate C.GPSTENCILFUNCSEPARATE
gpStencilMask C.GPSTENCILMASK
gpStencilMaskSeparate C.GPSTENCILMASKSEPARATE
gpStencilOp C.GPSTENCILOP
gpStencilOpSeparate C.GPSTENCILOPSEPARATE
gpTexImage2D C.GPTEXIMAGE2D
gpTexParameterf C.GPTEXPARAMETERF
gpTexParameterfv C.GPTEXPARAMETERFV
gpTexParameteri C.GPTEXPARAMETERI
gpTexParameteriv C.GPTEXPARAMETERIV
gpTexSubImage2D C.GPTEXSUBIMAGE2D
gpUniform1f C.GPUNIFORM1F
gpUniform1fv C.GPUNIFORM1FV
gpUniform1i C.GPUNIFORM1I
gpUniform1iv C.GPUNIFORM1IV
gpUniform2f C.GPUNIFORM2F
gpUniform2fv C.GPUNIFORM2FV
gpUniform2i C.GPUNIFORM2I
gpUniform2iv C.GPUNIFORM2IV
gpUniform3f C.GPUNIFORM3F
gpUniform3fv C.GPUNIFORM3FV
gpUniform3i C.GPUNIFORM3I
gpUniform3iv C.GPUNIFORM3IV
gpUniform4f C.GPUNIFORM4F
gpUniform4fv C.GPUNIFORM4FV
gpUniform4i C.GPUNIFORM4I
gpUniform4iv C.GPUNIFORM4IV
gpUniformMatrix2fv C.GPUNIFORMMATRIX2FV
gpUniformMatrix3fv C.GPUNIFORMMATRIX3FV
gpUniformMatrix4fv C.GPUNIFORMMATRIX4FV
gpUseProgram C.GPUSEPROGRAM
gpValidateProgram C.GPVALIDATEPROGRAM
gpVertexAttrib1f C.GPVERTEXATTRIB1F
gpVertexAttrib1fv C.GPVERTEXATTRIB1FV
gpVertexAttrib2f C.GPVERTEXATTRIB2F
gpVertexAttrib2fv C.GPVERTEXATTRIB2FV
gpVertexAttrib3f C.GPVERTEXATTRIB3F
gpVertexAttrib3fv C.GPVERTEXATTRIB3FV
gpVertexAttrib4f C.GPVERTEXATTRIB4F
gpVertexAttrib4fv C.GPVERTEXATTRIB4FV
gpVertexAttribPointer C.GPVERTEXATTRIBPOINTER
gpViewport C.GPVIEWPORT
)
// Helper functions
func boolToInt(b bool) int {
if b {
return 1
}
return 0
}
func ActiveTexture(texture uint32) {
C.glowActiveTexture(gpActiveTexture, (C.GLenum)(texture))
}
func AttachShader(program uint32, shader uint32) {
C.glowAttachShader(gpAttachShader, (C.GLuint)(program), (C.GLuint)(shader))
}
func BindAttribLocation(program uint32, index uint32, name *uint8) {
C.glowBindAttribLocation(gpBindAttribLocation, (C.GLuint)(program), (C.GLuint)(index), (*C.GLchar)(unsafe.Pointer(name)))
}
func BindBuffer(target uint32, buffer uint32) {
C.glowBindBuffer(gpBindBuffer, (C.GLenum)(target), (C.GLuint)(buffer))
}
func BindFramebuffer(target uint32, framebuffer uint32) {
C.glowBindFramebuffer(gpBindFramebuffer, (C.GLenum)(target), (C.GLuint)(framebuffer))
}
func BindRenderbuffer(target uint32, renderbuffer uint32) {
C.glowBindRenderbuffer(gpBindRenderbuffer, (C.GLenum)(target), (C.GLuint)(renderbuffer))
}
func BindTexture(target uint32, texture uint32) {
C.glowBindTexture(gpBindTexture, (C.GLenum)(target), (C.GLuint)(texture))
}
func BlendColor(red float32, green float32, blue float32, alpha float32) {
C.glowBlendColor(gpBlendColor, (C.GLfloat)(red), (C.GLfloat)(green), (C.GLfloat)(blue), (C.GLfloat)(alpha))
}
func BlendEquation(mode uint32) {
C.glowBlendEquation(gpBlendEquation, (C.GLenum)(mode))
}
func BlendEquationSeparate(modeRGB uint32, modeAlpha uint32) {
C.glowBlendEquationSeparate(gpBlendEquationSeparate, (C.GLenum)(modeRGB), (C.GLenum)(modeAlpha))
}
func BlendFunc(sfactor uint32, dfactor uint32) {
C.glowBlendFunc(gpBlendFunc, (C.GLenum)(sfactor), (C.GLenum)(dfactor))
}
func BlendFuncSeparate(sfactorRGB uint32, dfactorRGB uint32, sfactorAlpha uint32, dfactorAlpha uint32) {
C.glowBlendFuncSeparate(gpBlendFuncSeparate, (C.GLenum)(sfactorRGB), (C.GLenum)(dfactorRGB), (C.GLenum)(sfactorAlpha), (C.GLenum)(dfactorAlpha))
}
func BufferData(target uint32, size int, data unsafe.Pointer, usage uint32) {
C.glowBufferData(gpBufferData, (C.GLenum)(target), (C.GLsizeiptr)(size), data, (C.GLenum)(usage))
}
func BufferSubData(target uint32, offset int, size int, data unsafe.Pointer) {
C.glowBufferSubData(gpBufferSubData, (C.GLenum)(target), (C.GLintptr)(offset), (C.GLsizeiptr)(size), data)
}
func CheckFramebufferStatus(target uint32) uint32 {
ret := C.glowCheckFramebufferStatus(gpCheckFramebufferStatus, (C.GLenum)(target))
return (uint32)(ret)
}
func Clear(mask uint32) {
C.glowClear(gpClear, (C.GLbitfield)(mask))
}
func ClearColor(red float32, green float32, blue float32, alpha float32) {
C.glowClearColor(gpClearColor, (C.GLfloat)(red), (C.GLfloat)(green), (C.GLfloat)(blue), (C.GLfloat)(alpha))
}
func ClearStencil(s int32) {
C.glowClearStencil(gpClearStencil, (C.GLint)(s))
}
func ColorMask(red bool, green bool, blue bool, alpha bool) {
C.glowColorMask(gpColorMask, (C.GLboolean)(boolToInt(red)), (C.GLboolean)(boolToInt(green)), (C.GLboolean)(boolToInt(blue)), (C.GLboolean)(boolToInt(alpha)))
}
func CompileShader(shader uint32) {
C.glowCompileShader(gpCompileShader, (C.GLuint)(shader))
}
func CompressedTexImage2D(target uint32, level int32, internalformat uint32, width int32, height int32, border int32, imageSize int32, data unsafe.Pointer) {
C.glowCompressedTexImage2D(gpCompressedTexImage2D, (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border), (C.GLsizei)(imageSize), data)
}
func CompressedTexSubImage2D(target uint32, level int32, xoffset int32, yoffset int32, width int32, height int32, format uint32, imageSize int32, data unsafe.Pointer) {
C.glowCompressedTexSubImage2D(gpCompressedTexSubImage2D, (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLsizei)(imageSize), data)
}
func CopyTexImage2D(target uint32, level int32, internalformat uint32, x int32, y int32, width int32, height int32, border int32) {
C.glowCopyTexImage2D(gpCopyTexImage2D, (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border))
}
func CopyTexSubImage2D(target uint32, level int32, xoffset int32, yoffset int32, x int32, y int32, width int32, height int32) {
C.glowCopyTexSubImage2D(gpCopyTexSubImage2D, (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func CreateProgram() uint32 {
ret := C.glowCreateProgram(gpCreateProgram)
return (uint32)(ret)
}
func CreateShader(xtype uint32) uint32 {
ret := C.glowCreateShader(gpCreateShader, (C.GLenum)(xtype))
return (uint32)(ret)
}
func CullFace(mode uint32) {
C.glowCullFace(gpCullFace, (C.GLenum)(mode))
}
func DeleteBuffers(n int32, buffers *uint32) {
C.glowDeleteBuffers(gpDeleteBuffers, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(buffers)))
}
func DeleteFramebuffers(n int32, framebuffers *uint32) {
C.glowDeleteFramebuffers(gpDeleteFramebuffers, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(framebuffers)))
}
func DeleteProgram(program uint32) {
C.glowDeleteProgram(gpDeleteProgram, (C.GLuint)(program))
}
func DeleteRenderbuffers(n int32, renderbuffers *uint32) {
C.glowDeleteRenderbuffers(gpDeleteRenderbuffers, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(renderbuffers)))
}
func DeleteShader(shader uint32) {
C.glowDeleteShader(gpDeleteShader, (C.GLuint)(shader))
}
func DeleteTextures(n int32, textures *uint32) {
C.glowDeleteTextures(gpDeleteTextures, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(textures)))
}
func DepthFunc(xfunc uint32) {
C.glowDepthFunc(gpDepthFunc, (C.GLenum)(xfunc))
}
func DepthMask(flag bool) {
C.glowDepthMask(gpDepthMask, (C.GLboolean)(boolToInt(flag)))
}
func DetachShader(program uint32, shader uint32) {
C.glowDetachShader(gpDetachShader, (C.GLuint)(program), (C.GLuint)(shader))
}
func Disable(cap uint32) {
C.glowDisable(gpDisable, (C.GLenum)(cap))
}
func DisableVertexAttribArray(index uint32) {
C.glowDisableVertexAttribArray(gpDisableVertexAttribArray, (C.GLuint)(index))
}
func DrawArrays(mode uint32, first int32, count int32) {
C.glowDrawArrays(gpDrawArrays, (C.GLenum)(mode), (C.GLint)(first), (C.GLsizei)(count))
}
func DrawElements(mode uint32, count int32, xtype uint32, indices unsafe.Pointer) {
C.glowDrawElements(gpDrawElements, (C.GLenum)(mode), (C.GLsizei)(count), (C.GLenum)(xtype), indices)
}
func Enable(cap uint32) {
C.glowEnable(gpEnable, (C.GLenum)(cap))
}
func EnableVertexAttribArray(index uint32) {
C.glowEnableVertexAttribArray(gpEnableVertexAttribArray, (C.GLuint)(index))
}
func Finish() {
C.glowFinish(gpFinish)
}
func Flush() {
C.glowFlush(gpFlush)
}
func FramebufferRenderbuffer(target uint32, attachment uint32, renderbuffertarget uint32, renderbuffer uint32) {
C.glowFramebufferRenderbuffer(gpFramebufferRenderbuffer, (C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(renderbuffertarget), (C.GLuint)(renderbuffer))
}
func FramebufferTexture2D(target uint32, attachment uint32, textarget uint32, texture uint32, level int32) {
C.glowFramebufferTexture2D(gpFramebufferTexture2D, (C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(textarget), (C.GLuint)(texture), (C.GLint)(level))
}
func FrontFace(mode uint32) {
C.glowFrontFace(gpFrontFace, (C.GLenum)(mode))
}
func GenBuffers(n int32, buffers *uint32) {
C.glowGenBuffers(gpGenBuffers, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(buffers)))
}
func GenFramebuffers(n int32, framebuffers *uint32) {
C.glowGenFramebuffers(gpGenFramebuffers, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(framebuffers)))
}
func GenRenderbuffers(n int32, renderbuffers *uint32) {
C.glowGenRenderbuffers(gpGenRenderbuffers, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(renderbuffers)))
}
func GenTextures(n int32, textures *uint32) {
C.glowGenTextures(gpGenTextures, (C.GLsizei)(n), (*C.GLuint)(unsafe.Pointer(textures)))
}
func GenerateMipmap(target uint32) {
C.glowGenerateMipmap(gpGenerateMipmap, (C.GLenum)(target))
}
func GetActiveAttrib(program uint32, index uint32, bufSize int32, length *int32, size *int32, xtype *uint32, name *uint8) {
C.glowGetActiveAttrib(gpGetActiveAttrib, (C.GLuint)(program), (C.GLuint)(index), (C.GLsizei)(bufSize), (*C.GLsizei)(unsafe.Pointer(length)), (*C.GLint)(unsafe.Pointer(size)), (*C.GLenum)(unsafe.Pointer(xtype)), (*C.GLchar)(unsafe.Pointer(name)))
}
func GetActiveUniform(program uint32, index uint32, bufSize int32, length *int32, size *int32, xtype *uint32, name *uint8) {
C.glowGetActiveUniform(gpGetActiveUniform, (C.GLuint)(program), (C.GLuint)(index), (C.GLsizei)(bufSize), (*C.GLsizei)(unsafe.Pointer(length)), (*C.GLint)(unsafe.Pointer(size)), (*C.GLenum)(unsafe.Pointer(xtype)), (*C.GLchar)(unsafe.Pointer(name)))
}
func GetAttachedShaders(program uint32, maxCount int32, count *int32, shaders *uint32) {
C.glowGetAttachedShaders(gpGetAttachedShaders, (C.GLuint)(program), (C.GLsizei)(maxCount), (*C.GLsizei)(unsafe.Pointer(count)), (*C.GLuint)(unsafe.Pointer(shaders)))
}
func GetAttribLocation(program uint32, name *uint8) int32 {
ret := C.glowGetAttribLocation(gpGetAttribLocation, (C.GLuint)(program), (*C.GLchar)(unsafe.Pointer(name)))
return (int32)(ret)
}
func GetBooleanv(pname uint32, data *bool) {
C.glowGetBooleanv(gpGetBooleanv, (C.GLenum)(pname), (*C.GLboolean)(unsafe.Pointer(data)))
}
func GetBufferParameteriv(target uint32, pname uint32, params *int32) {
C.glowGetBufferParameteriv(gpGetBufferParameteriv, (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func GetError() uint32 {
ret := C.glowGetError(gpGetError)
return (uint32)(ret)
}
func GetFloatv(pname uint32, data *float32) {
C.glowGetFloatv(gpGetFloatv, (C.GLenum)(pname), (*C.GLfloat)(unsafe.Pointer(data)))
}
func GetFramebufferAttachmentParameteriv(target uint32, attachment uint32, pname uint32, params *int32) {
C.glowGetFramebufferAttachmentParameteriv(gpGetFramebufferAttachmentParameteriv, (C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func GetIntegerv(pname uint32, data *int32) {
C.glowGetIntegerv(gpGetIntegerv, (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(data)))
}
func GetProgramInfoLog(program uint32, bufSize int32, length *int32, infoLog *uint8) {
C.glowGetProgramInfoLog(gpGetProgramInfoLog, (C.GLuint)(program), (C.GLsizei)(bufSize), (*C.GLsizei)(unsafe.Pointer(length)), (*C.GLchar)(unsafe.Pointer(infoLog)))
}
func GetProgramiv(program uint32, pname uint32, params *int32) {
C.glowGetProgramiv(gpGetProgramiv, (C.GLuint)(program), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func GetRenderbufferParameteriv(target uint32, pname uint32, params *int32) {
C.glowGetRenderbufferParameteriv(gpGetRenderbufferParameteriv, (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func GetShaderInfoLog(shader uint32, bufSize int32, length *int32, infoLog *uint8) {
C.glowGetShaderInfoLog(gpGetShaderInfoLog, (C.GLuint)(shader), (C.GLsizei)(bufSize), (*C.GLsizei)(unsafe.Pointer(length)), (*C.GLchar)(unsafe.Pointer(infoLog)))
}
func GetShaderSource(shader uint32, bufSize int32, length *int32, source *uint8) {
C.glowGetShaderSource(gpGetShaderSource, (C.GLuint)(shader), (C.GLsizei)(bufSize), (*C.GLsizei)(unsafe.Pointer(length)), (*C.GLchar)(unsafe.Pointer(source)))
}
func GetShaderiv(shader uint32, pname uint32, params *int32) {
C.glowGetShaderiv(gpGetShaderiv, (C.GLuint)(shader), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func GetString(name uint32) *uint8 {
ret := C.glowGetString(gpGetString, (C.GLenum)(name))
return (*uint8)(ret)
}
func GetTexParameterfv(target uint32, pname uint32, params *float32) {
C.glowGetTexParameterfv(gpGetTexParameterfv, (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(unsafe.Pointer(params)))
}
func GetTexParameteriv(target uint32, pname uint32, params *int32) {
C.glowGetTexParameteriv(gpGetTexParameteriv, (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func GetUniformLocation(program uint32, name *uint8) int32 {
ret := C.glowGetUniformLocation(gpGetUniformLocation, (C.GLuint)(program), (*C.GLchar)(unsafe.Pointer(name)))
return (int32)(ret)
}
func GetUniformfv(program uint32, location int32, params *float32) {
C.glowGetUniformfv(gpGetUniformfv, (C.GLuint)(program), (C.GLint)(location), (*C.GLfloat)(unsafe.Pointer(params)))
}
func GetUniformiv(program uint32, location int32, params *int32) {
C.glowGetUniformiv(gpGetUniformiv, (C.GLuint)(program), (C.GLint)(location), (*C.GLint)(unsafe.Pointer(params)))
}
func GetVertexAttribPointerv(index uint32, pname uint32, pointer *unsafe.Pointer) {
C.glowGetVertexAttribPointerv(gpGetVertexAttribPointerv, (C.GLuint)(index), (C.GLenum)(pname), pointer)
}
func GetVertexAttribfv(index uint32, pname uint32, params *float32) {
C.glowGetVertexAttribfv(gpGetVertexAttribfv, (C.GLuint)(index), (C.GLenum)(pname), (*C.GLfloat)(unsafe.Pointer(params)))
}
func GetVertexAttribiv(index uint32, pname uint32, params *int32) {
C.glowGetVertexAttribiv(gpGetVertexAttribiv, (C.GLuint)(index), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func Hint(target uint32, mode uint32) {
C.glowHint(gpHint, (C.GLenum)(target), (C.GLenum)(mode))
}
func IsBuffer(buffer uint32) bool {
ret := C.glowIsBuffer(gpIsBuffer, (C.GLuint)(buffer))
return ret == TRUE
}
func IsEnabled(cap uint32) bool {
ret := C.glowIsEnabled(gpIsEnabled, (C.GLenum)(cap))
return ret == TRUE
}
func IsFramebuffer(framebuffer uint32) bool {
ret := C.glowIsFramebuffer(gpIsFramebuffer, (C.GLuint)(framebuffer))
return ret == TRUE
}
func IsProgram(program uint32) bool {
ret := C.glowIsProgram(gpIsProgram, (C.GLuint)(program))
return ret == TRUE
}
func IsRenderbuffer(renderbuffer uint32) bool {
ret := C.glowIsRenderbuffer(gpIsRenderbuffer, (C.GLuint)(renderbuffer))
return ret == TRUE
}
func IsShader(shader uint32) bool {
ret := C.glowIsShader(gpIsShader, (C.GLuint)(shader))
return ret == TRUE
}
func IsTexture(texture uint32) bool {
ret := C.glowIsTexture(gpIsTexture, (C.GLuint)(texture))
return ret == TRUE
}
func LineWidth(width float32) {
C.glowLineWidth(gpLineWidth, (C.GLfloat)(width))
}
func LinkProgram(program uint32) {
C.glowLinkProgram(gpLinkProgram, (C.GLuint)(program))
}
func PixelStorei(pname uint32, param int32) {
C.glowPixelStorei(gpPixelStorei, (C.GLenum)(pname), (C.GLint)(param))
}
func PolygonOffset(factor float32, units float32) {
C.glowPolygonOffset(gpPolygonOffset, (C.GLfloat)(factor), (C.GLfloat)(units))
}
func ReadPixels(x int32, y int32, width int32, height int32, format uint32, xtype uint32, pixels unsafe.Pointer) {
C.glowReadPixels(gpReadPixels, (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLenum)(xtype), pixels)
}
func RenderbufferStorage(target uint32, internalformat uint32, width int32, height int32) {
C.glowRenderbufferStorage(gpRenderbufferStorage, (C.GLenum)(target), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height))
}
func SampleCoverage(value float32, invert bool) {
C.glowSampleCoverage(gpSampleCoverage, (C.GLfloat)(value), (C.GLboolean)(boolToInt(invert)))
}
func Scissor(x int32, y int32, width int32, height int32) {
C.glowScissor(gpScissor, (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func ShaderSource(shader uint32, count int32, xstring **uint8, length *int32) {
C.glowShaderSource(gpShaderSource, (C.GLuint)(shader), (C.GLsizei)(count), (**C.GLchar)(unsafe.Pointer(xstring)), (*C.GLint)(unsafe.Pointer(length)))
}
func StencilFunc(xfunc uint32, ref int32, mask uint32) {
C.glowStencilFunc(gpStencilFunc, (C.GLenum)(xfunc), (C.GLint)(ref), (C.GLuint)(mask))
}
func StencilFuncSeparate(face uint32, xfunc uint32, ref int32, mask uint32) {
C.glowStencilFuncSeparate(gpStencilFuncSeparate, (C.GLenum)(face), (C.GLenum)(xfunc), (C.GLint)(ref), (C.GLuint)(mask))
}
func StencilMask(mask uint32) {
C.glowStencilMask(gpStencilMask, (C.GLuint)(mask))
}
func StencilMaskSeparate(face uint32, mask uint32) {
C.glowStencilMaskSeparate(gpStencilMaskSeparate, (C.GLenum)(face), (C.GLuint)(mask))
}
func StencilOp(fail uint32, zfail uint32, zpass uint32) {
C.glowStencilOp(gpStencilOp, (C.GLenum)(fail), (C.GLenum)(zfail), (C.GLenum)(zpass))
}
func StencilOpSeparate(face uint32, sfail uint32, dpfail uint32, dppass uint32) {
C.glowStencilOpSeparate(gpStencilOpSeparate, (C.GLenum)(face), (C.GLenum)(sfail), (C.GLenum)(dpfail), (C.GLenum)(dppass))
}
func TexImage2D(target uint32, level int32, internalformat int32, width int32, height int32, border int32, format uint32, xtype uint32, pixels unsafe.Pointer) {
C.glowTexImage2D(gpTexImage2D, (C.GLenum)(target), (C.GLint)(level), (C.GLint)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(xtype), pixels)
}
func TexParameterf(target uint32, pname uint32, param float32) {
C.glowTexParameterf(gpTexParameterf, (C.GLenum)(target), (C.GLenum)(pname), (C.GLfloat)(param))
}
func TexParameterfv(target uint32, pname uint32, params *float32) {
C.glowTexParameterfv(gpTexParameterfv, (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(unsafe.Pointer(params)))
}
func TexParameteri(target uint32, pname uint32, param int32) {
C.glowTexParameteri(gpTexParameteri, (C.GLenum)(target), (C.GLenum)(pname), (C.GLint)(param))
}
func TexParameteriv(target uint32, pname uint32, params *int32) {
C.glowTexParameteriv(gpTexParameteriv, (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(unsafe.Pointer(params)))
}
func TexSubImage2D(target uint32, level int32, xoffset int32, yoffset int32, width int32, height int32, format uint32, xtype uint32, pixels unsafe.Pointer) {
C.glowTexSubImage2D(gpTexSubImage2D, (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLenum)(xtype), pixels)
}
func Uniform1f(location int32, v0 float32) {
C.glowUniform1f(gpUniform1f, (C.GLint)(location), (C.GLfloat)(v0))
}
func Uniform1fv(location int32, count int32, value *float32) {
C.glowUniform1fv(gpUniform1fv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(unsafe.Pointer(value)))
}
func Uniform1i(location int32, v0 int32) {
C.glowUniform1i(gpUniform1i, (C.GLint)(location), (C.GLint)(v0))
}
func Uniform1iv(location int32, count int32, value *int32) {
C.glowUniform1iv(gpUniform1iv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(unsafe.Pointer(value)))
}
func Uniform2f(location int32, v0 float32, v1 float32) {
C.glowUniform2f(gpUniform2f, (C.GLint)(location), (C.GLfloat)(v0), (C.GLfloat)(v1))
}
func Uniform2fv(location int32, count int32, value *float32) {
C.glowUniform2fv(gpUniform2fv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(unsafe.Pointer(value)))
}
func Uniform2i(location int32, v0 int32, v1 int32) {
C.glowUniform2i(gpUniform2i, (C.GLint)(location), (C.GLint)(v0), (C.GLint)(v1))
}
func Uniform2iv(location int32, count int32, value *int32) {
C.glowUniform2iv(gpUniform2iv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(unsafe.Pointer(value)))
}
func Uniform3f(location int32, v0 float32, v1 float32, v2 float32) {
C.glowUniform3f(gpUniform3f, (C.GLint)(location), (C.GLfloat)(v0), (C.GLfloat)(v1), (C.GLfloat)(v2))
}
func Uniform3fv(location int32, count int32, value *float32) {
C.glowUniform3fv(gpUniform3fv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(unsafe.Pointer(value)))
}
func Uniform3i(location int32, v0 int32, v1 int32, v2 int32) {
C.glowUniform3i(gpUniform3i, (C.GLint)(location), (C.GLint)(v0), (C.GLint)(v1), (C.GLint)(v2))
}
func Uniform3iv(location int32, count int32, value *int32) {
C.glowUniform3iv(gpUniform3iv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(unsafe.Pointer(value)))
}
func Uniform4f(location int32, v0 float32, v1 float32, v2 float32, v3 float32) {
C.glowUniform4f(gpUniform4f, (C.GLint)(location), (C.GLfloat)(v0), (C.GLfloat)(v1), (C.GLfloat)(v2), (C.GLfloat)(v3))
}
func Uniform4fv(location int32, count int32, value *float32) {
C.glowUniform4fv(gpUniform4fv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(unsafe.Pointer(value)))
}
func Uniform4i(location int32, v0 int32, v1 int32, v2 int32, v3 int32) {
C.glowUniform4i(gpUniform4i, (C.GLint)(location), (C.GLint)(v0), (C.GLint)(v1), (C.GLint)(v2), (C.GLint)(v3))
}
func Uniform4iv(location int32, count int32, value *int32) {
C.glowUniform4iv(gpUniform4iv, (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(unsafe.Pointer(value)))
}
func UniformMatrix2fv(location int32, count int32, transpose bool, value *float32) {
C.glowUniformMatrix2fv(gpUniformMatrix2fv, (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(boolToInt(transpose)), (*C.GLfloat)(unsafe.Pointer(value)))
}
func UniformMatrix3fv(location int32, count int32, transpose bool, value *float32) {
C.glowUniformMatrix3fv(gpUniformMatrix3fv, (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(boolToInt(transpose)), (*C.GLfloat)(unsafe.Pointer(value)))
}
func UniformMatrix4fv(location int32, count int32, transpose bool, value *float32) {
C.glowUniformMatrix4fv(gpUniformMatrix4fv, (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(boolToInt(transpose)), (*C.GLfloat)(unsafe.Pointer(value)))
}
func UseProgram(program uint32) {
C.glowUseProgram(gpUseProgram, (C.GLuint)(program))
}
func ValidateProgram(program uint32) {
C.glowValidateProgram(gpValidateProgram, (C.GLuint)(program))
}
func VertexAttrib1f(index uint32, x float32) {
C.glowVertexAttrib1f(gpVertexAttrib1f, (C.GLuint)(index), (C.GLfloat)(x))
}
func VertexAttrib1fv(index uint32, v *float32) {
C.glowVertexAttrib1fv(gpVertexAttrib1fv, (C.GLuint)(index), (*C.GLfloat)(unsafe.Pointer(v)))
}
func VertexAttrib2f(index uint32, x float32, y float32) {
C.glowVertexAttrib2f(gpVertexAttrib2f, (C.GLuint)(index), (C.GLfloat)(x), (C.GLfloat)(y))
}
func VertexAttrib2fv(index uint32, v *float32) {
C.glowVertexAttrib2fv(gpVertexAttrib2fv, (C.GLuint)(index), (*C.GLfloat)(unsafe.Pointer(v)))
}
func VertexAttrib3f(index uint32, x float32, y float32, z float32) {
C.glowVertexAttrib3f(gpVertexAttrib3f, (C.GLuint)(index), (C.GLfloat)(x), (C.GLfloat)(y), (C.GLfloat)(z))
}
func VertexAttrib3fv(index uint32, v *float32) {
C.glowVertexAttrib3fv(gpVertexAttrib3fv, (C.GLuint)(index), (*C.GLfloat)(unsafe.Pointer(v)))
}
func VertexAttrib4f(index uint32, x float32, y float32, z float32, w float32) {
C.glowVertexAttrib4f(gpVertexAttrib4f, (C.GLuint)(index), (C.GLfloat)(x), (C.GLfloat)(y), (C.GLfloat)(z), (C.GLfloat)(w))
}
func VertexAttrib4fv(index uint32, v *float32) {
C.glowVertexAttrib4fv(gpVertexAttrib4fv, (C.GLuint)(index), (*C.GLfloat)(unsafe.Pointer(v)))
}
func VertexAttribPointer(index uint32, size int32, xtype uint32, normalized bool, stride int32, pointer unsafe.Pointer) {
C.glowVertexAttribPointer(gpVertexAttribPointer, (C.GLuint)(index), (C.GLint)(size), (C.GLenum)(xtype), (C.GLboolean)(boolToInt(normalized)), (C.GLsizei)(stride), pointer)
}
func Viewport(x int32, y int32, width int32, height int32) {
C.glowViewport(gpViewport, (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
// Init initializes the OpenGL bindings by loading the function pointers (for
// each OpenGL function) from the active OpenGL context.
//
// It must be called under the presence of an active OpenGL context, e.g.,
// always after calling window.MakeContextCurrent() and always before calling
// any OpenGL functions exported by this package.
//
// On Windows, Init loads pointers that are context-specific (and hence you
// must re-init if switching between OpenGL contexts, although not calling Init
// again after switching between OpenGL contexts may work if the contexts belong
// to the same graphics driver/device).
//
// On macOS and the other POSIX systems, the behavior is different, but code
// written compatible with the Windows behavior is compatible with macOS and the
// other POSIX systems. That is, always Init under an active OpenGL context, and
// always re-init after switching graphics contexts.
//
// For information about caveats of Init, you should read the "Platform Specific
// Function Retrieval" section of https://www.opengl.org/wiki/Load_OpenGL_Functions.
func Init() error {
return InitWithProcAddrFunc(getProcAddress)
}
// InitWithProcAddrFunc intializes the package using the specified OpenGL
// function pointer loading function. For more cases Init should be used
// instead.
func InitWithProcAddrFunc(getProcAddr func(name string) unsafe.Pointer) error {
gpActiveTexture = (C.GPACTIVETEXTURE)(getProcAddr("glActiveTexture"))
if gpActiveTexture == nil {
return errors.New("glActiveTexture")
}
gpAttachShader = (C.GPATTACHSHADER)(getProcAddr("glAttachShader"))
if gpAttachShader == nil {
return errors.New("glAttachShader")
}
gpBindAttribLocation = (C.GPBINDATTRIBLOCATION)(getProcAddr("glBindAttribLocation"))
if gpBindAttribLocation == nil {
return errors.New("glBindAttribLocation")
}
gpBindBuffer = (C.GPBINDBUFFER)(getProcAddr("glBindBuffer"))
if gpBindBuffer == nil {
return errors.New("glBindBuffer")
}
gpBindFramebuffer = (C.GPBINDFRAMEBUFFER)(getProcAddr("glBindFramebuffer"))
if gpBindFramebuffer == nil {
return errors.New("glBindFramebuffer")
}
gpBindRenderbuffer = (C.GPBINDRENDERBUFFER)(getProcAddr("glBindRenderbuffer"))
if gpBindRenderbuffer == nil {
return errors.New("glBindRenderbuffer")
}
gpBindTexture = (C.GPBINDTEXTURE)(getProcAddr("glBindTexture"))
if gpBindTexture == nil {
return errors.New("glBindTexture")
}
gpBlendColor = (C.GPBLENDCOLOR)(getProcAddr("glBlendColor"))
if gpBlendColor == nil {
return errors.New("glBlendColor")
}
gpBlendEquation = (C.GPBLENDEQUATION)(getProcAddr("glBlendEquation"))
if gpBlendEquation == nil {
return errors.New("glBlendEquation")
}
gpBlendEquationSeparate = (C.GPBLENDEQUATIONSEPARATE)(getProcAddr("glBlendEquationSeparate"))
if gpBlendEquationSeparate == nil {
return errors.New("glBlendEquationSeparate")
}
gpBlendFunc = (C.GPBLENDFUNC)(getProcAddr("glBlendFunc"))
if gpBlendFunc == nil {
return errors.New("glBlendFunc")
}
gpBlendFuncSeparate = (C.GPBLENDFUNCSEPARATE)(getProcAddr("glBlendFuncSeparate"))
if gpBlendFuncSeparate == nil {
return errors.New("glBlendFuncSeparate")
}
gpBufferData = (C.GPBUFFERDATA)(getProcAddr("glBufferData"))
if gpBufferData == nil {
return errors.New("glBufferData")
}
gpBufferSubData = (C.GPBUFFERSUBDATA)(getProcAddr("glBufferSubData"))
if gpBufferSubData == nil {
return errors.New("glBufferSubData")
}
gpCheckFramebufferStatus = (C.GPCHECKFRAMEBUFFERSTATUS)(getProcAddr("glCheckFramebufferStatus"))
if gpCheckFramebufferStatus == nil {
return errors.New("glCheckFramebufferStatus")
}
gpClear = (C.GPCLEAR)(getProcAddr("glClear"))
if gpClear == nil {
return errors.New("glClear")
}
gpClearColor = (C.GPCLEARCOLOR)(getProcAddr("glClearColor"))
if gpClearColor == nil {
return errors.New("glClearColor")
}
gpClearStencil = (C.GPCLEARSTENCIL)(getProcAddr("glClearStencil"))
if gpClearStencil == nil {
return errors.New("glClearStencil")
}
gpColorMask = (C.GPCOLORMASK)(getProcAddr("glColorMask"))
if gpColorMask == nil {
return errors.New("glColorMask")
}
gpCompileShader = (C.GPCOMPILESHADER)(getProcAddr("glCompileShader"))
if gpCompileShader == nil {
return errors.New("glCompileShader")
}
gpCompressedTexImage2D = (C.GPCOMPRESSEDTEXIMAGE2D)(getProcAddr("glCompressedTexImage2D"))
if gpCompressedTexImage2D == nil {
return errors.New("glCompressedTexImage2D")
}
gpCompressedTexSubImage2D = (C.GPCOMPRESSEDTEXSUBIMAGE2D)(getProcAddr("glCompressedTexSubImage2D"))
if gpCompressedTexSubImage2D == nil {
return errors.New("glCompressedTexSubImage2D")
}
gpCopyTexImage2D = (C.GPCOPYTEXIMAGE2D)(getProcAddr("glCopyTexImage2D"))
if gpCopyTexImage2D == nil {
return errors.New("glCopyTexImage2D")
}
gpCopyTexSubImage2D = (C.GPCOPYTEXSUBIMAGE2D)(getProcAddr("glCopyTexSubImage2D"))
if gpCopyTexSubImage2D == nil {
return errors.New("glCopyTexSubImage2D")
}
gpCreateProgram = (C.GPCREATEPROGRAM)(getProcAddr("glCreateProgram"))
if gpCreateProgram == nil {
return errors.New("glCreateProgram")
}
gpCreateShader = (C.GPCREATESHADER)(getProcAddr("glCreateShader"))
if gpCreateShader == nil {
return errors.New("glCreateShader")
}
gpCullFace = (C.GPCULLFACE)(getProcAddr("glCullFace"))
if gpCullFace == nil {
return errors.New("glCullFace")
}
gpDeleteBuffers = (C.GPDELETEBUFFERS)(getProcAddr("glDeleteBuffers"))
if gpDeleteBuffers == nil {
return errors.New("glDeleteBuffers")
}
gpDeleteFramebuffers = (C.GPDELETEFRAMEBUFFERS)(getProcAddr("glDeleteFramebuffers"))
if gpDeleteFramebuffers == nil {
return errors.New("glDeleteFramebuffers")
}
gpDeleteProgram = (C.GPDELETEPROGRAM)(getProcAddr("glDeleteProgram"))
if gpDeleteProgram == nil {
return errors.New("glDeleteProgram")
}
gpDeleteRenderbuffers = (C.GPDELETERENDERBUFFERS)(getProcAddr("glDeleteRenderbuffers"))
if gpDeleteRenderbuffers == nil {
return errors.New("glDeleteRenderbuffers")
}
gpDeleteShader = (C.GPDELETESHADER)(getProcAddr("glDeleteShader"))
if gpDeleteShader == nil {
return errors.New("glDeleteShader")
}
gpDeleteTextures = (C.GPDELETETEXTURES)(getProcAddr("glDeleteTextures"))
if gpDeleteTextures == nil {
return errors.New("glDeleteTextures")
}
gpDepthFunc = (C.GPDEPTHFUNC)(getProcAddr("glDepthFunc"))
if gpDepthFunc == nil {
return errors.New("glDepthFunc")
}
gpDepthMask = (C.GPDEPTHMASK)(getProcAddr("glDepthMask"))
if gpDepthMask == nil {
return errors.New("glDepthMask")
}
gpDetachShader = (C.GPDETACHSHADER)(getProcAddr("glDetachShader"))
if gpDetachShader == nil {
return errors.New("glDetachShader")
}
gpDisable = (C.GPDISABLE)(getProcAddr("glDisable"))
if gpDisable == nil {
return errors.New("glDisable")
}
gpDisableVertexAttribArray = (C.GPDISABLEVERTEXATTRIBARRAY)(getProcAddr("glDisableVertexAttribArray"))
if gpDisableVertexAttribArray == nil {
return errors.New("glDisableVertexAttribArray")
}
gpDrawArrays = (C.GPDRAWARRAYS)(getProcAddr("glDrawArrays"))
if gpDrawArrays == nil {
return errors.New("glDrawArrays")
}
gpDrawElements = (C.GPDRAWELEMENTS)(getProcAddr("glDrawElements"))
if gpDrawElements == nil {
return errors.New("glDrawElements")
}
gpEnable = (C.GPENABLE)(getProcAddr("glEnable"))
if gpEnable == nil {
return errors.New("glEnable")
}
gpEnableVertexAttribArray = (C.GPENABLEVERTEXATTRIBARRAY)(getProcAddr("glEnableVertexAttribArray"))
if gpEnableVertexAttribArray == nil {
return errors.New("glEnableVertexAttribArray")
}
gpFinish = (C.GPFINISH)(getProcAddr("glFinish"))
if gpFinish == nil {
return errors.New("glFinish")
}
gpFlush = (C.GPFLUSH)(getProcAddr("glFlush"))
if gpFlush == nil {
return errors.New("glFlush")
}
gpFramebufferRenderbuffer = (C.GPFRAMEBUFFERRENDERBUFFER)(getProcAddr("glFramebufferRenderbuffer"))
if gpFramebufferRenderbuffer == nil {
return errors.New("glFramebufferRenderbuffer")
}
gpFramebufferTexture2D = (C.GPFRAMEBUFFERTEXTURE2D)(getProcAddr("glFramebufferTexture2D"))
if gpFramebufferTexture2D == nil {
return errors.New("glFramebufferTexture2D")
}
gpFrontFace = (C.GPFRONTFACE)(getProcAddr("glFrontFace"))
if gpFrontFace == nil {
return errors.New("glFrontFace")
}
gpGenBuffers = (C.GPGENBUFFERS)(getProcAddr("glGenBuffers"))
if gpGenBuffers == nil {
return errors.New("glGenBuffers")
}
gpGenFramebuffers = (C.GPGENFRAMEBUFFERS)(getProcAddr("glGenFramebuffers"))
if gpGenFramebuffers == nil {
return errors.New("glGenFramebuffers")
}
gpGenRenderbuffers = (C.GPGENRENDERBUFFERS)(getProcAddr("glGenRenderbuffers"))
if gpGenRenderbuffers == nil {
return errors.New("glGenRenderbuffers")
}
gpGenTextures = (C.GPGENTEXTURES)(getProcAddr("glGenTextures"))
if gpGenTextures == nil {
return errors.New("glGenTextures")
}
gpGenerateMipmap = (C.GPGENERATEMIPMAP)(getProcAddr("glGenerateMipmap"))
if gpGenerateMipmap == nil {
return errors.New("glGenerateMipmap")
}
gpGetActiveAttrib = (C.GPGETACTIVEATTRIB)(getProcAddr("glGetActiveAttrib"))
if gpGetActiveAttrib == nil {
return errors.New("glGetActiveAttrib")
}
gpGetActiveUniform = (C.GPGETACTIVEUNIFORM)(getProcAddr("glGetActiveUniform"))
if gpGetActiveUniform == nil {
return errors.New("glGetActiveUniform")
}
gpGetAttachedShaders = (C.GPGETATTACHEDSHADERS)(getProcAddr("glGetAttachedShaders"))
if gpGetAttachedShaders == nil {
return errors.New("glGetAttachedShaders")
}
gpGetAttribLocation = (C.GPGETATTRIBLOCATION)(getProcAddr("glGetAttribLocation"))
if gpGetAttribLocation == nil {
return errors.New("glGetAttribLocation")
}
gpGetBooleanv = (C.GPGETBOOLEANV)(getProcAddr("glGetBooleanv"))
if gpGetBooleanv == nil {
return errors.New("glGetBooleanv")
}
gpGetBufferParameteriv = (C.GPGETBUFFERPARAMETERIV)(getProcAddr("glGetBufferParameteriv"))
if gpGetBufferParameteriv == nil {
return errors.New("glGetBufferParameteriv")
}
gpGetError = (C.GPGETERROR)(getProcAddr("glGetError"))
if gpGetError == nil {
return errors.New("glGetError")
}
gpGetFloatv = (C.GPGETFLOATV)(getProcAddr("glGetFloatv"))
if gpGetFloatv == nil {
return errors.New("glGetFloatv")
}
gpGetFramebufferAttachmentParameteriv = (C.GPGETFRAMEBUFFERATTACHMENTPARAMETERIV)(getProcAddr("glGetFramebufferAttachmentParameteriv"))
if gpGetFramebufferAttachmentParameteriv == nil {
return errors.New("glGetFramebufferAttachmentParameteriv")
}
gpGetIntegerv = (C.GPGETINTEGERV)(getProcAddr("glGetIntegerv"))
if gpGetIntegerv == nil {
return errors.New("glGetIntegerv")
}
gpGetProgramInfoLog = (C.GPGETPROGRAMINFOLOG)(getProcAddr("glGetProgramInfoLog"))
if gpGetProgramInfoLog == nil {
return errors.New("glGetProgramInfoLog")
}
gpGetProgramiv = (C.GPGETPROGRAMIV)(getProcAddr("glGetProgramiv"))
if gpGetProgramiv == nil {
return errors.New("glGetProgramiv")
}
gpGetRenderbufferParameteriv = (C.GPGETRENDERBUFFERPARAMETERIV)(getProcAddr("glGetRenderbufferParameteriv"))
if gpGetRenderbufferParameteriv == nil {
return errors.New("glGetRenderbufferParameteriv")
}
gpGetShaderInfoLog = (C.GPGETSHADERINFOLOG)(getProcAddr("glGetShaderInfoLog"))
if gpGetShaderInfoLog == nil {
return errors.New("glGetShaderInfoLog")
}
gpGetShaderSource = (C.GPGETSHADERSOURCE)(getProcAddr("glGetShaderSource"))
if gpGetShaderSource == nil {
return errors.New("glGetShaderSource")
}
gpGetShaderiv = (C.GPGETSHADERIV)(getProcAddr("glGetShaderiv"))
if gpGetShaderiv == nil {
return errors.New("glGetShaderiv")
}
gpGetString = (C.GPGETSTRING)(getProcAddr("glGetString"))
if gpGetString == nil {
return errors.New("glGetString")
}
gpGetTexParameterfv = (C.GPGETTEXPARAMETERFV)(getProcAddr("glGetTexParameterfv"))
if gpGetTexParameterfv == nil {
return errors.New("glGetTexParameterfv")
}
gpGetTexParameteriv = (C.GPGETTEXPARAMETERIV)(getProcAddr("glGetTexParameteriv"))
if gpGetTexParameteriv == nil {
return errors.New("glGetTexParameteriv")
}
gpGetUniformLocation = (C.GPGETUNIFORMLOCATION)(getProcAddr("glGetUniformLocation"))
if gpGetUniformLocation == nil {
return errors.New("glGetUniformLocation")
}
gpGetUniformfv = (C.GPGETUNIFORMFV)(getProcAddr("glGetUniformfv"))
if gpGetUniformfv == nil {
return errors.New("glGetUniformfv")
}
gpGetUniformiv = (C.GPGETUNIFORMIV)(getProcAddr("glGetUniformiv"))
if gpGetUniformiv == nil {
return errors.New("glGetUniformiv")
}
gpGetVertexAttribPointerv = (C.GPGETVERTEXATTRIBPOINTERV)(getProcAddr("glGetVertexAttribPointerv"))
if gpGetVertexAttribPointerv == nil {
return errors.New("glGetVertexAttribPointerv")
}
gpGetVertexAttribfv = (C.GPGETVERTEXATTRIBFV)(getProcAddr("glGetVertexAttribfv"))
if gpGetVertexAttribfv == nil {
return errors.New("glGetVertexAttribfv")
}
gpGetVertexAttribiv = (C.GPGETVERTEXATTRIBIV)(getProcAddr("glGetVertexAttribiv"))
if gpGetVertexAttribiv == nil {
return errors.New("glGetVertexAttribiv")
}
gpHint = (C.GPHINT)(getProcAddr("glHint"))
if gpHint == nil {
return errors.New("glHint")
}
gpIsBuffer = (C.GPISBUFFER)(getProcAddr("glIsBuffer"))
if gpIsBuffer == nil {
return errors.New("glIsBuffer")
}
gpIsEnabled = (C.GPISENABLED)(getProcAddr("glIsEnabled"))
if gpIsEnabled == nil {
return errors.New("glIsEnabled")
}
gpIsFramebuffer = (C.GPISFRAMEBUFFER)(getProcAddr("glIsFramebuffer"))
if gpIsFramebuffer == nil {
return errors.New("glIsFramebuffer")
}
gpIsProgram = (C.GPISPROGRAM)(getProcAddr("glIsProgram"))
if gpIsProgram == nil {
return errors.New("glIsProgram")
}
gpIsRenderbuffer = (C.GPISRENDERBUFFER)(getProcAddr("glIsRenderbuffer"))
if gpIsRenderbuffer == nil {
return errors.New("glIsRenderbuffer")
}
gpIsShader = (C.GPISSHADER)(getProcAddr("glIsShader"))
if gpIsShader == nil {
return errors.New("glIsShader")
}
gpIsTexture = (C.GPISTEXTURE)(getProcAddr("glIsTexture"))
if gpIsTexture == nil {
return errors.New("glIsTexture")
}
gpLineWidth = (C.GPLINEWIDTH)(getProcAddr("glLineWidth"))
if gpLineWidth == nil {
return errors.New("glLineWidth")
}
gpLinkProgram = (C.GPLINKPROGRAM)(getProcAddr("glLinkProgram"))
if gpLinkProgram == nil {
return errors.New("glLinkProgram")
}
gpPixelStorei = (C.GPPIXELSTOREI)(getProcAddr("glPixelStorei"))
if gpPixelStorei == nil {
return errors.New("glPixelStorei")
}
gpPolygonOffset = (C.GPPOLYGONOFFSET)(getProcAddr("glPolygonOffset"))
if gpPolygonOffset == nil {
return errors.New("glPolygonOffset")
}
gpReadPixels = (C.GPREADPIXELS)(getProcAddr("glReadPixels"))
if gpReadPixels == nil {
return errors.New("glReadPixels")
}
gpRenderbufferStorage = (C.GPRENDERBUFFERSTORAGE)(getProcAddr("glRenderbufferStorage"))
if gpRenderbufferStorage == nil {
return errors.New("glRenderbufferStorage")
}
gpSampleCoverage = (C.GPSAMPLECOVERAGE)(getProcAddr("glSampleCoverage"))
if gpSampleCoverage == nil {
return errors.New("glSampleCoverage")
}
gpScissor = (C.GPSCISSOR)(getProcAddr("glScissor"))
if gpScissor == nil {
return errors.New("glScissor")
}
gpShaderSource = (C.GPSHADERSOURCE)(getProcAddr("glShaderSource"))
if gpShaderSource == nil {
return errors.New("glShaderSource")
}
gpStencilFunc = (C.GPSTENCILFUNC)(getProcAddr("glStencilFunc"))
if gpStencilFunc == nil {
return errors.New("glStencilFunc")
}
gpStencilFuncSeparate = (C.GPSTENCILFUNCSEPARATE)(getProcAddr("glStencilFuncSeparate"))
if gpStencilFuncSeparate == nil {
return errors.New("glStencilFuncSeparate")
}
gpStencilMask = (C.GPSTENCILMASK)(getProcAddr("glStencilMask"))
if gpStencilMask == nil {
return errors.New("glStencilMask")
}
gpStencilMaskSeparate = (C.GPSTENCILMASKSEPARATE)(getProcAddr("glStencilMaskSeparate"))
if gpStencilMaskSeparate == nil {
return errors.New("glStencilMaskSeparate")
}
gpStencilOp = (C.GPSTENCILOP)(getProcAddr("glStencilOp"))
if gpStencilOp == nil {
return errors.New("glStencilOp")
}
gpStencilOpSeparate = (C.GPSTENCILOPSEPARATE)(getProcAddr("glStencilOpSeparate"))
if gpStencilOpSeparate == nil {
return errors.New("glStencilOpSeparate")
}
gpTexImage2D = (C.GPTEXIMAGE2D)(getProcAddr("glTexImage2D"))
if gpTexImage2D == nil {
return errors.New("glTexImage2D")
}
gpTexParameterf = (C.GPTEXPARAMETERF)(getProcAddr("glTexParameterf"))
if gpTexParameterf == nil {
return errors.New("glTexParameterf")
}
gpTexParameterfv = (C.GPTEXPARAMETERFV)(getProcAddr("glTexParameterfv"))
if gpTexParameterfv == nil {
return errors.New("glTexParameterfv")
}
gpTexParameteri = (C.GPTEXPARAMETERI)(getProcAddr("glTexParameteri"))
if gpTexParameteri == nil {
return errors.New("glTexParameteri")
}
gpTexParameteriv = (C.GPTEXPARAMETERIV)(getProcAddr("glTexParameteriv"))
if gpTexParameteriv == nil {
return errors.New("glTexParameteriv")
}
gpTexSubImage2D = (C.GPTEXSUBIMAGE2D)(getProcAddr("glTexSubImage2D"))
if gpTexSubImage2D == nil {
return errors.New("glTexSubImage2D")
}
gpUniform1f = (C.GPUNIFORM1F)(getProcAddr("glUniform1f"))
if gpUniform1f == nil {
return errors.New("glUniform1f")
}
gpUniform1fv = (C.GPUNIFORM1FV)(getProcAddr("glUniform1fv"))
if gpUniform1fv == nil {
return errors.New("glUniform1fv")
}
gpUniform1i = (C.GPUNIFORM1I)(getProcAddr("glUniform1i"))
if gpUniform1i == nil {
return errors.New("glUniform1i")
}
gpUniform1iv = (C.GPUNIFORM1IV)(getProcAddr("glUniform1iv"))
if gpUniform1iv == nil {
return errors.New("glUniform1iv")
}
gpUniform2f = (C.GPUNIFORM2F)(getProcAddr("glUniform2f"))
if gpUniform2f == nil {
return errors.New("glUniform2f")
}
gpUniform2fv = (C.GPUNIFORM2FV)(getProcAddr("glUniform2fv"))
if gpUniform2fv == nil {
return errors.New("glUniform2fv")
}
gpUniform2i = (C.GPUNIFORM2I)(getProcAddr("glUniform2i"))
if gpUniform2i == nil {
return errors.New("glUniform2i")
}
gpUniform2iv = (C.GPUNIFORM2IV)(getProcAddr("glUniform2iv"))
if gpUniform2iv == nil {
return errors.New("glUniform2iv")
}
gpUniform3f = (C.GPUNIFORM3F)(getProcAddr("glUniform3f"))
if gpUniform3f == nil {
return errors.New("glUniform3f")
}
gpUniform3fv = (C.GPUNIFORM3FV)(getProcAddr("glUniform3fv"))
if gpUniform3fv == nil {
return errors.New("glUniform3fv")
}
gpUniform3i = (C.GPUNIFORM3I)(getProcAddr("glUniform3i"))
if gpUniform3i == nil {
return errors.New("glUniform3i")
}
gpUniform3iv = (C.GPUNIFORM3IV)(getProcAddr("glUniform3iv"))
if gpUniform3iv == nil {
return errors.New("glUniform3iv")
}
gpUniform4f = (C.GPUNIFORM4F)(getProcAddr("glUniform4f"))
if gpUniform4f == nil {
return errors.New("glUniform4f")
}
gpUniform4fv = (C.GPUNIFORM4FV)(getProcAddr("glUniform4fv"))
if gpUniform4fv == nil {
return errors.New("glUniform4fv")
}
gpUniform4i = (C.GPUNIFORM4I)(getProcAddr("glUniform4i"))
if gpUniform4i == nil {
return errors.New("glUniform4i")
}
gpUniform4iv = (C.GPUNIFORM4IV)(getProcAddr("glUniform4iv"))
if gpUniform4iv == nil {
return errors.New("glUniform4iv")
}
gpUniformMatrix2fv = (C.GPUNIFORMMATRIX2FV)(getProcAddr("glUniformMatrix2fv"))
if gpUniformMatrix2fv == nil {
return errors.New("glUniformMatrix2fv")
}
gpUniformMatrix3fv = (C.GPUNIFORMMATRIX3FV)(getProcAddr("glUniformMatrix3fv"))
if gpUniformMatrix3fv == nil {
return errors.New("glUniformMatrix3fv")
}
gpUniformMatrix4fv = (C.GPUNIFORMMATRIX4FV)(getProcAddr("glUniformMatrix4fv"))
if gpUniformMatrix4fv == nil {
return errors.New("glUniformMatrix4fv")
}
gpUseProgram = (C.GPUSEPROGRAM)(getProcAddr("glUseProgram"))
if gpUseProgram == nil {
return errors.New("glUseProgram")
}
gpValidateProgram = (C.GPVALIDATEPROGRAM)(getProcAddr("glValidateProgram"))
if gpValidateProgram == nil {
return errors.New("glValidateProgram")
}
gpVertexAttrib1f = (C.GPVERTEXATTRIB1F)(getProcAddr("glVertexAttrib1f"))
if gpVertexAttrib1f == nil {
return errors.New("glVertexAttrib1f")
}
gpVertexAttrib1fv = (C.GPVERTEXATTRIB1FV)(getProcAddr("glVertexAttrib1fv"))
if gpVertexAttrib1fv == nil {
return errors.New("glVertexAttrib1fv")
}
gpVertexAttrib2f = (C.GPVERTEXATTRIB2F)(getProcAddr("glVertexAttrib2f"))
if gpVertexAttrib2f == nil {
return errors.New("glVertexAttrib2f")
}
gpVertexAttrib2fv = (C.GPVERTEXATTRIB2FV)(getProcAddr("glVertexAttrib2fv"))
if gpVertexAttrib2fv == nil {
return errors.New("glVertexAttrib2fv")
}
gpVertexAttrib3f = (C.GPVERTEXATTRIB3F)(getProcAddr("glVertexAttrib3f"))
if gpVertexAttrib3f == nil {
return errors.New("glVertexAttrib3f")
}
gpVertexAttrib3fv = (C.GPVERTEXATTRIB3FV)(getProcAddr("glVertexAttrib3fv"))
if gpVertexAttrib3fv == nil {
return errors.New("glVertexAttrib3fv")
}
gpVertexAttrib4f = (C.GPVERTEXATTRIB4F)(getProcAddr("glVertexAttrib4f"))
if gpVertexAttrib4f == nil {
return errors.New("glVertexAttrib4f")
}
gpVertexAttrib4fv = (C.GPVERTEXATTRIB4FV)(getProcAddr("glVertexAttrib4fv"))
if gpVertexAttrib4fv == nil {
return errors.New("glVertexAttrib4fv")
}
gpVertexAttribPointer = (C.GPVERTEXATTRIBPOINTER)(getProcAddr("glVertexAttribPointer"))
if gpVertexAttribPointer == nil {
return errors.New("glVertexAttribPointer")
}
gpViewport = (C.GPVIEWPORT)(getProcAddr("glViewport"))
if gpViewport == nil {
return errors.New("glViewport")
}
return nil
}