func Uniform3f(location int32, v0 float32, v1 float32, v2 float32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	cv0, _ := (C.GLfloat)(v0), cgoAllocsUnknown
	cv1, _ := (C.GLfloat)(v1), cgoAllocsUnknown
	cv2, _ := (C.GLfloat)(v2), cgoAllocsUnknown
	C.glUniform3f(clocation, cv0, cv1, cv2)
}
Uniform3f function as declared in https://www.khronos.org/opengles/sdk/docs/man3/html/glUniform3f.xhtml
package gles3
import "C"
import "unsafe"
func ActiveTexture(texture uint32) {
	ctexture, _ := (C.GLenum)(texture), cgoAllocsUnknown
	C.glActiveTexture(ctexture)
}
func AttachShader(program uint32, shader uint32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	C.glAttachShader(cprogram, cshader)
}
func BindAttribLocation(program uint32, index uint32, name string) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	cname, _ := unpackPCharString(name)
	C.glBindAttribLocation(cprogram, cindex, cname)
}
func BindBuffer(target uint32, buffer uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cbuffer, _ := (C.GLuint)(buffer), cgoAllocsUnknown
	C.glBindBuffer(ctarget, cbuffer)
}
func BindFramebuffer(target uint32, framebuffer uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cframebuffer, _ := (C.GLuint)(framebuffer), cgoAllocsUnknown
	C.glBindFramebuffer(ctarget, cframebuffer)
}
func BindRenderbuffer(target uint32, renderbuffer uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	crenderbuffer, _ := (C.GLuint)(renderbuffer), cgoAllocsUnknown
	C.glBindRenderbuffer(ctarget, crenderbuffer)
}
func BindTexture(target uint32, texture uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	ctexture, _ := (C.GLuint)(texture), cgoAllocsUnknown
	C.glBindTexture(ctarget, ctexture)
}
func BlendColor(red float32, green float32, blue float32, alpha float32) {
	cred, _ := (C.GLfloat)(red), cgoAllocsUnknown
	cgreen, _ := (C.GLfloat)(green), cgoAllocsUnknown
	cblue, _ := (C.GLfloat)(blue), cgoAllocsUnknown
	calpha, _ := (C.GLfloat)(alpha), cgoAllocsUnknown
	C.glBlendColor(cred, cgreen, cblue, calpha)
}
func BlendEquation(mode uint32) {
	cmode, _ := (C.GLenum)(mode), cgoAllocsUnknown
	C.glBlendEquation(cmode)
}
func BlendEquationSeparate(modeRGB uint32, modeAlpha uint32) {
	cmodeRGB, _ := (C.GLenum)(modeRGB), cgoAllocsUnknown
	cmodeAlpha, _ := (C.GLenum)(modeAlpha), cgoAllocsUnknown
	C.glBlendEquationSeparate(cmodeRGB, cmodeAlpha)
}
func BlendFunc(sfactor uint32, dfactor uint32) {
	csfactor, _ := (C.GLenum)(sfactor), cgoAllocsUnknown
	cdfactor, _ := (C.GLenum)(dfactor), cgoAllocsUnknown
	C.glBlendFunc(csfactor, cdfactor)
}
func BlendFuncSeparate(sfactorRGB uint32, dfactorRGB uint32, sfactorAlpha uint32, dfactorAlpha uint32) {
	csfactorRGB, _ := (C.GLenum)(sfactorRGB), cgoAllocsUnknown
	cdfactorRGB, _ := (C.GLenum)(dfactorRGB), cgoAllocsUnknown
	csfactorAlpha, _ := (C.GLenum)(sfactorAlpha), cgoAllocsUnknown
	cdfactorAlpha, _ := (C.GLenum)(dfactorAlpha), cgoAllocsUnknown
	C.glBlendFuncSeparate(csfactorRGB, cdfactorRGB, csfactorAlpha, cdfactorAlpha)
}
func BufferData(target uint32, size int, data unsafe.Pointer, usage uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	csize, _ := (C.GLsizeiptr)(size), cgoAllocsUnknown
	cdata, _ := data, cgoAllocsUnknown
	cusage, _ := (C.GLenum)(usage), cgoAllocsUnknown
	C.glBufferData(ctarget, csize, cdata, cusage)
}
func BufferSubData(target uint32, offset int, size int, data unsafe.Pointer) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	coffset, _ := (C.GLintptr)(offset), cgoAllocsUnknown
	csize, _ := (C.GLsizeiptr)(size), cgoAllocsUnknown
	cdata, _ := data, cgoAllocsUnknown
	C.glBufferSubData(ctarget, coffset, csize, cdata)
}
func CheckFramebufferStatus(target uint32) uint32 {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	__ret := C.glCheckFramebufferStatus(ctarget)
	__v := (uint32)(__ret)
	return __v
}
func Clear(mask uint32) {
	cmask, _ := (C.GLbitfield)(mask), cgoAllocsUnknown
	C.glClear(cmask)
}
func ClearColor(red float32, green float32, blue float32, alpha float32) {
	cred, _ := (C.GLfloat)(red), cgoAllocsUnknown
	cgreen, _ := (C.GLfloat)(green), cgoAllocsUnknown
	cblue, _ := (C.GLfloat)(blue), cgoAllocsUnknown
	calpha, _ := (C.GLfloat)(alpha), cgoAllocsUnknown
	C.glClearColor(cred, cgreen, cblue, calpha)
}
func ClearDepthf(d float32) {
	cd, _ := (C.GLfloat)(d), cgoAllocsUnknown
	C.glClearDepthf(cd)
}
func ClearStencil(s int32) {
	cs, _ := (C.GLint)(s), cgoAllocsUnknown
	C.glClearStencil(cs)
}
func ColorMask(red byte, green byte, blue byte, alpha byte) {
	cred, _ := (C.GLboolean)(red), cgoAllocsUnknown
	cgreen, _ := (C.GLboolean)(green), cgoAllocsUnknown
	cblue, _ := (C.GLboolean)(blue), cgoAllocsUnknown
	calpha, _ := (C.GLboolean)(alpha), cgoAllocsUnknown
	C.glColorMask(cred, cgreen, cblue, calpha)
}
func CompileShader(shader uint32) {
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	C.glCompileShader(cshader)
}
func CompressedTexImage2D(target uint32, level int32, internalformat uint32, width int32, height int32, border int32, imageSize int32, data unsafe.Pointer) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	clevel, _ := (C.GLint)(level), cgoAllocsUnknown
	cinternalformat, _ := (C.GLenum)(internalformat), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	cborder, _ := (C.GLint)(border), cgoAllocsUnknown
	cimageSize, _ := (C.GLsizei)(imageSize), cgoAllocsUnknown
	cdata, _ := data, cgoAllocsUnknown
	C.glCompressedTexImage2D(ctarget, clevel, cinternalformat, cwidth, cheight, cborder, cimageSize, cdata)
}
func CompressedTexSubImage2D(target uint32, level int32, xoffset int32, yoffset int32, width int32, height int32, format uint32, imageSize int32, data unsafe.Pointer) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	clevel, _ := (C.GLint)(level), cgoAllocsUnknown
	cxoffset, _ := (C.GLint)(xoffset), cgoAllocsUnknown
	cyoffset, _ := (C.GLint)(yoffset), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	cformat, _ := (C.GLenum)(format), cgoAllocsUnknown
	cimageSize, _ := (C.GLsizei)(imageSize), cgoAllocsUnknown
	cdata, _ := data, cgoAllocsUnknown
	C.glCompressedTexSubImage2D(ctarget, clevel, cxoffset, cyoffset, cwidth, cheight, cformat, cimageSize, cdata)
}
func CopyTexImage2D(target uint32, level int32, internalformat uint32, x int32, y int32, width int32, height int32, border int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	clevel, _ := (C.GLint)(level), cgoAllocsUnknown
	cinternalformat, _ := (C.GLenum)(internalformat), cgoAllocsUnknown
	cx, _ := (C.GLint)(x), cgoAllocsUnknown
	cy, _ := (C.GLint)(y), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	cborder, _ := (C.GLint)(border), cgoAllocsUnknown
	C.glCopyTexImage2D(ctarget, clevel, cinternalformat, cx, cy, cwidth, cheight, cborder)
}
func CopyTexSubImage2D(target uint32, level int32, xoffset int32, yoffset int32, x int32, y int32, width int32, height int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	clevel, _ := (C.GLint)(level), cgoAllocsUnknown
	cxoffset, _ := (C.GLint)(xoffset), cgoAllocsUnknown
	cyoffset, _ := (C.GLint)(yoffset), cgoAllocsUnknown
	cx, _ := (C.GLint)(x), cgoAllocsUnknown
	cy, _ := (C.GLint)(y), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	C.glCopyTexSubImage2D(ctarget, clevel, cxoffset, cyoffset, cx, cy, cwidth, cheight)
}
func CreateProgram() uint32 {
	__ret := C.glCreateProgram()
	__v := (uint32)(__ret)
	return __v
}
func CreateShader(kind uint32) uint32 {
	ckind, _ := (C.GLenum)(kind), cgoAllocsUnknown
	__ret := C.glCreateShader(ckind)
	__v := (uint32)(__ret)
	return __v
}
func CullFace(mode uint32) {
	cmode, _ := (C.GLenum)(mode), cgoAllocsUnknown
	C.glCullFace(cmode)
}
func DeleteBuffers(n int32, buffers []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	cbuffers, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&buffers)).Data)), cgoAllocsUnknown
	C.glDeleteBuffers(cn, cbuffers)
}
func DeleteFramebuffers(n int32, framebuffers []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	cframebuffers, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&framebuffers)).Data)), cgoAllocsUnknown
	C.glDeleteFramebuffers(cn, cframebuffers)
}
func DeleteProgram(program uint32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	C.glDeleteProgram(cprogram)
}
func DeleteRenderbuffers(n int32, renderbuffers []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	crenderbuffers, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&renderbuffers)).Data)), cgoAllocsUnknown
	C.glDeleteRenderbuffers(cn, crenderbuffers)
}
func DeleteShader(shader uint32) {
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	C.glDeleteShader(cshader)
}
func DeleteTextures(n int32, textures []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	ctextures, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&textures)).Data)), cgoAllocsUnknown
	C.glDeleteTextures(cn, ctextures)
}
func DepthFunc(_func uint32) {
	c_func, _ := (C.GLenum)(_func), cgoAllocsUnknown
	C.glDepthFunc(c_func)
}
func DepthMask(flag byte) {
	cflag, _ := (C.GLboolean)(flag), cgoAllocsUnknown
	C.glDepthMask(cflag)
}
func DepthRangef(n float32, f float32) {
	cn, _ := (C.GLfloat)(n), cgoAllocsUnknown
	cf, _ := (C.GLfloat)(f), cgoAllocsUnknown
	C.glDepthRangef(cn, cf)
}
func DetachShader(program uint32, shader uint32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	C.glDetachShader(cprogram, cshader)
}
func Disable(cap uint32) {
	ccap, _ := (C.GLenum)(cap), cgoAllocsUnknown
	C.glDisable(ccap)
}
func DisableVertexAttribArray(index uint32) {
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	C.glDisableVertexAttribArray(cindex)
}
func DrawArrays(mode uint32, first int32, count int32) {
	cmode, _ := (C.GLenum)(mode), cgoAllocsUnknown
	cfirst, _ := (C.GLint)(first), cgoAllocsUnknown
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	C.glDrawArrays(cmode, cfirst, ccount)
}
func DrawElements(mode uint32, count int32, kind uint32, indices unsafe.Pointer) {
	cmode, _ := (C.GLenum)(mode), cgoAllocsUnknown
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	ckind, _ := (C.GLenum)(kind), cgoAllocsUnknown
	cindices, _ := indices, cgoAllocsUnknown
	C.glDrawElements(cmode, ccount, ckind, cindices)
}
func Enable(cap uint32) {
	ccap, _ := (C.GLenum)(cap), cgoAllocsUnknown
	C.glEnable(ccap)
}
func EnableVertexAttribArray(index uint32) {
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	C.glEnableVertexAttribArray(cindex)
}
func Finish() {
	C.glFinish()
}
func Flush() {
	C.glFlush()
}
func FramebufferRenderbuffer(target uint32, attachment uint32, renderbuffertarget uint32, renderbuffer uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cattachment, _ := (C.GLenum)(attachment), cgoAllocsUnknown
	crenderbuffertarget, _ := (C.GLenum)(renderbuffertarget), cgoAllocsUnknown
	crenderbuffer, _ := (C.GLuint)(renderbuffer), cgoAllocsUnknown
	C.glFramebufferRenderbuffer(ctarget, cattachment, crenderbuffertarget, crenderbuffer)
}
func FramebufferTexture2D(target uint32, attachment uint32, textarget uint32, texture uint32, level int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cattachment, _ := (C.GLenum)(attachment), cgoAllocsUnknown
	ctextarget, _ := (C.GLenum)(textarget), cgoAllocsUnknown
	ctexture, _ := (C.GLuint)(texture), cgoAllocsUnknown
	clevel, _ := (C.GLint)(level), cgoAllocsUnknown
	C.glFramebufferTexture2D(ctarget, cattachment, ctextarget, ctexture, clevel)
}
func FrontFace(mode uint32) {
	cmode, _ := (C.GLenum)(mode), cgoAllocsUnknown
	C.glFrontFace(cmode)
}
func GenBuffers(n int32, buffers []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	cbuffers, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&buffers)).Data)), cgoAllocsUnknown
	C.glGenBuffers(cn, cbuffers)
}
func GenerateMipmap(target uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	C.glGenerateMipmap(ctarget)
}
func GenFramebuffers(n int32, framebuffers []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	cframebuffers, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&framebuffers)).Data)), cgoAllocsUnknown
	C.glGenFramebuffers(cn, cframebuffers)
}
func GenRenderbuffers(n int32, renderbuffers []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	crenderbuffers, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&renderbuffers)).Data)), cgoAllocsUnknown
	C.glGenRenderbuffers(cn, crenderbuffers)
}
func GenTextures(n int32, textures []uint32) {
	cn, _ := (C.GLsizei)(n), cgoAllocsUnknown
	ctextures, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&textures)).Data)), cgoAllocsUnknown
	C.glGenTextures(cn, ctextures)
}
func GetActiveAttrib(program uint32, index uint32, bufSize int32, length *int32, size *int32, kind *uint32, name []byte) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	cbufSize, _ := (C.GLsizei)(bufSize), cgoAllocsUnknown
	clength, _ := (*C.GLsizei)(unsafe.Pointer(length)), cgoAllocsUnknown
	csize, _ := (*C.GLint)(unsafe.Pointer(size)), cgoAllocsUnknown
	ckind, _ := (*C.GLenum)(unsafe.Pointer(kind)), cgoAllocsUnknown
	cname, _ := (*C.GLchar)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&name)).Data)), cgoAllocsUnknown
	C.glGetActiveAttrib(cprogram, cindex, cbufSize, clength, csize, ckind, cname)
}
func GetActiveUniform(program uint32, index uint32, bufSize int32, length *int32, size *int32, kind *uint32, name []byte) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	cbufSize, _ := (C.GLsizei)(bufSize), cgoAllocsUnknown
	clength, _ := (*C.GLsizei)(unsafe.Pointer(length)), cgoAllocsUnknown
	csize, _ := (*C.GLint)(unsafe.Pointer(size)), cgoAllocsUnknown
	ckind, _ := (*C.GLenum)(unsafe.Pointer(kind)), cgoAllocsUnknown
	cname, _ := (*C.GLchar)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&name)).Data)), cgoAllocsUnknown
	C.glGetActiveUniform(cprogram, cindex, cbufSize, clength, csize, ckind, cname)
}
func GetAttachedShaders(program uint32, maxCount int32, count *int32, shaders []uint32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cmaxCount, _ := (C.GLsizei)(maxCount), cgoAllocsUnknown
	ccount, _ := (*C.GLsizei)(unsafe.Pointer(count)), cgoAllocsUnknown
	cshaders, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&shaders)).Data)), cgoAllocsUnknown
	C.glGetAttachedShaders(cprogram, cmaxCount, ccount, cshaders)
}
func GetAttribLocation(program uint32, name string) int32 {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cname, _ := unpackPCharString(name)
	__ret := C.glGetAttribLocation(cprogram, cname)
	__v := (int32)(__ret)
	return __v
}
func GetBooleanv(pname uint32, data []byte) {
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cdata, _ := (*C.GLboolean)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&data)).Data)), cgoAllocsUnknown
	C.glGetBooleanv(cpname, cdata)
}
func GetBufferParameteriv(target uint32, pname uint32, params *int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetBufferParameteriv(ctarget, cpname, cparams)
}
func GetError() uint32 {
	__ret := C.glGetError()
	__v := (uint32)(__ret)
	return __v
}
func GetFloatv(pname uint32, data []float32) {
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cdata, _ := (*C.GLfloat)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&data)).Data)), cgoAllocsUnknown
	C.glGetFloatv(cpname, cdata)
}
func GetFramebufferAttachmentParameteriv(target uint32, attachment uint32, pname uint32, params []int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cattachment, _ := (C.GLenum)(attachment), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&params)).Data)), cgoAllocsUnknown
	C.glGetFramebufferAttachmentParameteriv(ctarget, cattachment, cpname, cparams)
}
func GetIntegerv(pname uint32, data []int32) {
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cdata, _ := (*C.GLint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&data)).Data)), cgoAllocsUnknown
	C.glGetIntegerv(cpname, cdata)
}
func GetProgramiv(program uint32, pname uint32, params *int32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetProgramiv(cprogram, cpname, cparams)
}
func GetProgramInfoLog(program uint32, bufSize int32, length *int32, infoLog []byte) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cbufSize, _ := (C.GLsizei)(bufSize), cgoAllocsUnknown
	clength, _ := (*C.GLsizei)(unsafe.Pointer(length)), cgoAllocsUnknown
	cinfoLog, _ := (*C.GLchar)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&infoLog)).Data)), cgoAllocsUnknown
	C.glGetProgramInfoLog(cprogram, cbufSize, clength, cinfoLog)
}
func GetRenderbufferParameteriv(target uint32, pname uint32, params *int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetRenderbufferParameteriv(ctarget, cpname, cparams)
}
func GetShaderiv(shader uint32, pname uint32, params *int32) {
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetShaderiv(cshader, cpname, cparams)
}
func GetShaderInfoLog(shader uint32, bufSize int32, length *int32, infoLog []byte) {
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	cbufSize, _ := (C.GLsizei)(bufSize), cgoAllocsUnknown
	clength, _ := (*C.GLsizei)(unsafe.Pointer(length)), cgoAllocsUnknown
	cinfoLog, _ := (*C.GLchar)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&infoLog)).Data)), cgoAllocsUnknown
	C.glGetShaderInfoLog(cshader, cbufSize, clength, cinfoLog)
}
func GetShaderPrecisionFormat(shadertype uint32, precisiontype uint32, _range []int32, precision *int32) {
	cshadertype, _ := (C.GLenum)(shadertype), cgoAllocsUnknown
	cprecisiontype, _ := (C.GLenum)(precisiontype), cgoAllocsUnknown
	c_range, _ := (*C.GLint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&_range)).Data)), cgoAllocsUnknown
	cprecision, _ := (*C.GLint)(unsafe.Pointer(precision)), cgoAllocsUnknown
	C.glGetShaderPrecisionFormat(cshadertype, cprecisiontype, c_range, cprecision)
}
func GetShaderSource(shader uint32, bufSize int32, length *int32, source []byte) {
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	cbufSize, _ := (C.GLsizei)(bufSize), cgoAllocsUnknown
	clength, _ := (*C.GLsizei)(unsafe.Pointer(length)), cgoAllocsUnknown
	csource, _ := (*C.GLchar)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&source)).Data)), cgoAllocsUnknown
	C.glGetShaderSource(cshader, cbufSize, clength, csource)
}
func GetString(name uint32) string {
	cname, _ := (C.GLenum)(name), cgoAllocsUnknown
	__ret := C.glGetString(cname)
	__v := packPUbyteString(__ret)
	return __v
}
func GetTexParameterfv(target uint32, pname uint32, params *float32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLfloat)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetTexParameterfv(ctarget, cpname, cparams)
}
func GetTexParameteriv(target uint32, pname uint32, params *int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetTexParameteriv(ctarget, cpname, cparams)
}
func GetUniformfv(program uint32, location int32, params *float32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	cparams, _ := (*C.GLfloat)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetUniformfv(cprogram, clocation, cparams)
}
func GetUniformiv(program uint32, location int32, params *int32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetUniformiv(cprogram, clocation, cparams)
}
func GetUniformLocation(program uint32, name string) int32 {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	cname, _ := unpackPCharString(name)
	__ret := C.glGetUniformLocation(cprogram, cname)
	__v := (int32)(__ret)
	return __v
}
func GetVertexAttribfv(index uint32, pname uint32, params *float32) {
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLfloat)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetVertexAttribfv(cindex, cpname, cparams)
}
func GetVertexAttribiv(index uint32, pname uint32, params *int32) {
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glGetVertexAttribiv(cindex, cpname, cparams)
}
func GetVertexAttribPointerv(index uint32, pname uint32, pointer *unsafe.Pointer) {
	cindex, _ := (C.GLuint)(index), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cpointer, _ := pointer, cgoAllocsUnknown
	C.glGetVertexAttribPointerv(cindex, cpname, cpointer)
}
func Hint(target uint32, mode uint32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cmode, _ := (C.GLenum)(mode), cgoAllocsUnknown
	C.glHint(ctarget, cmode)
}
func IsBuffer(buffer uint32) byte {
	cbuffer, _ := (C.GLuint)(buffer), cgoAllocsUnknown
	__ret := C.glIsBuffer(cbuffer)
	__v := (byte)(__ret)
	return __v
}
func IsEnabled(cap uint32) byte {
	ccap, _ := (C.GLenum)(cap), cgoAllocsUnknown
	__ret := C.glIsEnabled(ccap)
	__v := (byte)(__ret)
	return __v
}
func IsFramebuffer(framebuffer uint32) byte {
	cframebuffer, _ := (C.GLuint)(framebuffer), cgoAllocsUnknown
	__ret := C.glIsFramebuffer(cframebuffer)
	__v := (byte)(__ret)
	return __v
}
func IsProgram(program uint32) byte {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	__ret := C.glIsProgram(cprogram)
	__v := (byte)(__ret)
	return __v
}
func IsRenderbuffer(renderbuffer uint32) byte {
	crenderbuffer, _ := (C.GLuint)(renderbuffer), cgoAllocsUnknown
	__ret := C.glIsRenderbuffer(crenderbuffer)
	__v := (byte)(__ret)
	return __v
}
func IsShader(shader uint32) byte {
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	__ret := C.glIsShader(cshader)
	__v := (byte)(__ret)
	return __v
}
func IsTexture(texture uint32) byte {
	ctexture, _ := (C.GLuint)(texture), cgoAllocsUnknown
	__ret := C.glIsTexture(ctexture)
	__v := (byte)(__ret)
	return __v
}
func LineWidth(width float32) {
	cwidth, _ := (C.GLfloat)(width), cgoAllocsUnknown
	C.glLineWidth(cwidth)
}
func LinkProgram(program uint32) {
	cprogram, _ := (C.GLuint)(program), cgoAllocsUnknown
	C.glLinkProgram(cprogram)
}
func PixelStorei(pname uint32, param int32) {
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparam, _ := (C.GLint)(param), cgoAllocsUnknown
	C.glPixelStorei(cpname, cparam)
}
func PolygonOffset(factor float32, units float32) {
	cfactor, _ := (C.GLfloat)(factor), cgoAllocsUnknown
	cunits, _ := (C.GLfloat)(units), cgoAllocsUnknown
	C.glPolygonOffset(cfactor, cunits)
}
func ReadPixels(x int32, y int32, width int32, height int32, format uint32, kind uint32, pixels unsafe.Pointer) {
	cx, _ := (C.GLint)(x), cgoAllocsUnknown
	cy, _ := (C.GLint)(y), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	cformat, _ := (C.GLenum)(format), cgoAllocsUnknown
	ckind, _ := (C.GLenum)(kind), cgoAllocsUnknown
	cpixels, _ := pixels, cgoAllocsUnknown
	C.glReadPixels(cx, cy, cwidth, cheight, cformat, ckind, cpixels)
}
func ReleaseShaderCompiler() {
	C.glReleaseShaderCompiler()
}
func RenderbufferStorage(target uint32, internalformat uint32, width int32, height int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cinternalformat, _ := (C.GLenum)(internalformat), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	C.glRenderbufferStorage(ctarget, cinternalformat, cwidth, cheight)
}
func SampleCoverage(value float32, invert byte) {
	cvalue, _ := (C.GLfloat)(value), cgoAllocsUnknown
	cinvert, _ := (C.GLboolean)(invert), cgoAllocsUnknown
	C.glSampleCoverage(cvalue, cinvert)
}
func Scissor(x int32, y int32, width int32, height int32) {
	cx, _ := (C.GLint)(x), cgoAllocsUnknown
	cy, _ := (C.GLint)(y), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	C.glScissor(cx, cy, cwidth, cheight)
}
func ShaderBinary(count int32, shaders []uint32, binaryformat uint32, binary unsafe.Pointer, length int32) {
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	cshaders, _ := (*C.GLuint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&shaders)).Data)), cgoAllocsUnknown
	cbinaryformat, _ := (C.GLenum)(binaryformat), cgoAllocsUnknown
	cbinary, _ := binary, cgoAllocsUnknown
	clength, _ := (C.GLsizei)(length), cgoAllocsUnknown
	C.glShaderBinary(ccount, cshaders, cbinaryformat, cbinary, clength)
}
func ShaderSource(shader uint32, count int32, string []string, length []int32) {
	cshader, _ := (C.GLuint)(shader), cgoAllocsUnknown
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	cstring, _ := unpackArgSString(string)
	clength, _ := (*C.GLint)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&length)).Data)), cgoAllocsUnknown
	C.glShaderSource(cshader, ccount, cstring, clength)
	packSString(string, cstring)
}
func StencilFunc(_func uint32, ref int32, mask uint32) {
	c_func, _ := (C.GLenum)(_func), cgoAllocsUnknown
	cref, _ := (C.GLint)(ref), cgoAllocsUnknown
	cmask, _ := (C.GLuint)(mask), cgoAllocsUnknown
	C.glStencilFunc(c_func, cref, cmask)
}
func StencilFuncSeparate(face uint32, _func uint32, ref int32, mask uint32) {
	cface, _ := (C.GLenum)(face), cgoAllocsUnknown
	c_func, _ := (C.GLenum)(_func), cgoAllocsUnknown
	cref, _ := (C.GLint)(ref), cgoAllocsUnknown
	cmask, _ := (C.GLuint)(mask), cgoAllocsUnknown
	C.glStencilFuncSeparate(cface, c_func, cref, cmask)
}
func StencilMask(mask uint32) {
	cmask, _ := (C.GLuint)(mask), cgoAllocsUnknown
	C.glStencilMask(cmask)
}
func StencilMaskSeparate(face uint32, mask uint32) {
	cface, _ := (C.GLenum)(face), cgoAllocsUnknown
	cmask, _ := (C.GLuint)(mask), cgoAllocsUnknown
	C.glStencilMaskSeparate(cface, cmask)
}
func StencilOp(fail uint32, zfail uint32, zpass uint32) {
	cfail, _ := (C.GLenum)(fail), cgoAllocsUnknown
	czfail, _ := (C.GLenum)(zfail), cgoAllocsUnknown
	czpass, _ := (C.GLenum)(zpass), cgoAllocsUnknown
	C.glStencilOp(cfail, czfail, czpass)
}
func StencilOpSeparate(face uint32, sfail uint32, dpfail uint32, dppass uint32) {
	cface, _ := (C.GLenum)(face), cgoAllocsUnknown
	csfail, _ := (C.GLenum)(sfail), cgoAllocsUnknown
	cdpfail, _ := (C.GLenum)(dpfail), cgoAllocsUnknown
	cdppass, _ := (C.GLenum)(dppass), cgoAllocsUnknown
	C.glStencilOpSeparate(cface, csfail, cdpfail, cdppass)
}
func TexImage2D(target uint32, level int32, internalformat int32, width int32, height int32, border int32, format uint32, kind uint32, pixels unsafe.Pointer) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	clevel, _ := (C.GLint)(level), cgoAllocsUnknown
	cinternalformat, _ := (C.GLint)(internalformat), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	cborder, _ := (C.GLint)(border), cgoAllocsUnknown
	cformat, _ := (C.GLenum)(format), cgoAllocsUnknown
	ckind, _ := (C.GLenum)(kind), cgoAllocsUnknown
	cpixels, _ := pixels, cgoAllocsUnknown
	C.glTexImage2D(ctarget, clevel, cinternalformat, cwidth, cheight, cborder, cformat, ckind, cpixels)
}
func TexParameterf(target uint32, pname uint32, param float32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparam, _ := (C.GLfloat)(param), cgoAllocsUnknown
	C.glTexParameterf(ctarget, cpname, cparam)
}
func TexParameterfv(target uint32, pname uint32, params *float32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLfloat)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glTexParameterfv(ctarget, cpname, cparams)
}
func TexParameteri(target uint32, pname uint32, param int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparam, _ := (C.GLint)(param), cgoAllocsUnknown
	C.glTexParameteri(ctarget, cpname, cparam)
}
func TexParameteriv(target uint32, pname uint32, params *int32) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	cpname, _ := (C.GLenum)(pname), cgoAllocsUnknown
	cparams, _ := (*C.GLint)(unsafe.Pointer(params)), cgoAllocsUnknown
	C.glTexParameteriv(ctarget, cpname, cparams)
}
func TexSubImage2D(target uint32, level int32, xoffset int32, yoffset int32, width int32, height int32, format uint32, kind uint32, pixels unsafe.Pointer) {
	ctarget, _ := (C.GLenum)(target), cgoAllocsUnknown
	clevel, _ := (C.GLint)(level), cgoAllocsUnknown
	cxoffset, _ := (C.GLint)(xoffset), cgoAllocsUnknown
	cyoffset, _ := (C.GLint)(yoffset), cgoAllocsUnknown
	cwidth, _ := (C.GLsizei)(width), cgoAllocsUnknown
	cheight, _ := (C.GLsizei)(height), cgoAllocsUnknown
	cformat, _ := (C.GLenum)(format), cgoAllocsUnknown
	ckind, _ := (C.GLenum)(kind), cgoAllocsUnknown
	cpixels, _ := pixels, cgoAllocsUnknown
	C.glTexSubImage2D(ctarget, clevel, cxoffset, cyoffset, cwidth, cheight, cformat, ckind, cpixels)
}
func Uniform1f(location int32, v0 float32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	cv0, _ := (C.GLfloat)(v0), cgoAllocsUnknown
	C.glUniform1f(clocation, cv0)
}
func Uniform1fv(location int32, count int32, value *float32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	cvalue, _ := (*C.GLfloat)(unsafe.Pointer(value)), cgoAllocsUnknown
	C.glUniform1fv(clocation, ccount, cvalue)
}
func Uniform1i(location int32, v0 int32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	cv0, _ := (C.GLint)(v0), cgoAllocsUnknown
	C.glUniform1i(clocation, cv0)
}
func Uniform1iv(location int32, count int32, value *int32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	cvalue, _ := (*C.GLint)(unsafe.Pointer(value)), cgoAllocsUnknown
	C.glUniform1iv(clocation, ccount, cvalue)
}
func Uniform2f(location int32, v0 float32, v1 float32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	cv0, _ := (C.GLfloat)(v0), cgoAllocsUnknown
	cv1, _ := (C.GLfloat)(v1), cgoAllocsUnknown
	C.glUniform2f(clocation, cv0, cv1)
}
func Uniform2fv(location int32, count int32, value *float32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	cvalue, _ := (*C.GLfloat)(unsafe.Pointer(value)), cgoAllocsUnknown
	C.glUniform2fv(clocation, ccount, cvalue)
}
func Uniform2i(location int32, v0 int32, v1 int32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	cv0, _ := (C.GLint)(v0), cgoAllocsUnknown
	cv1, _ := (C.GLint)(v1), cgoAllocsUnknown
	C.glUniform2i(clocation, cv0, cv1)
}
func Uniform2iv(location int32, count int32, value *int32) {
	clocation, _ := (C.GLint)(location), cgoAllocsUnknown
	ccount, _ := (C.GLsizei)(count), cgoAllocsUnknown
	cvalue, _ := (*C.GLint)(unsafe.Pointer(value)), cgoAllocsUnknown
	C.glUniform2iv(clocation, ccount, cvalue)
}