2053 lines
100 KiB
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
|
|
}
|