diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Base.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Base.g.cs
new file mode 100644
index 00000000..c057461e
--- /dev/null
+++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Base.g.cs
@@ -0,0 +1,2444 @@
+//
+// Generated by StgSharp.GenerateGL.
+// Desktop OpenGL forwarding methods introduced through 3.2 and retained by the target core profile.
+//
+
+using StgSharp.Mathematics.Graphics;
+
+using System;
+using System.Runtime.CompilerServices;
+
+namespace StgSharp.Graphics.OpenGL
+{
+ public unsafe partial class OpenGLFunction
+ {
+
+ private readonly OpenglContext* __context;
+
+ internal OpenGLFunction(OpenglContext* context)
+ {
+ __context = context;
+ }
+
+ /// Forwards to the native C API void glCullFace(GLenum mode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CullFace(uint mode)
+ {
+ __context->glCullFace(mode);
+ }
+
+ /// Forwards to the native C API void glFrontFace(GLenum mode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FrontFace(uint mode)
+ {
+ __context->glFrontFace(mode);
+ }
+
+ /// Forwards to the native C API void glHint(GLenum target, GLenum mode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Hint(uint target, uint mode)
+ {
+ __context->glHint(target, mode);
+ }
+
+ /// Forwards to the native C API void glLineWidth(GLfloat width);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void LineWidth(float width)
+ {
+ __context->glLineWidth(width);
+ }
+
+ /// Forwards to the native C API void glPointSize(GLfloat size);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PointSize(float size)
+ {
+ __context->glPointSize(size);
+ }
+
+ /// Forwards to the native C API void glPolygonMode(GLenum face, GLenum mode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PolygonMode(uint face, uint mode)
+ {
+ __context->glPolygonMode(face, mode);
+ }
+
+ /// Forwards to the native C API void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Scissor(int x, int y, int width, int height)
+ {
+ __context->glScissor(x, y, width, height);
+ }
+
+ /// Forwards to the native C API void glTexParameterf(GLenum target, GLenum pname, GLfloat param);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TextureParameter(uint target, uint pname, float param)
+ {
+ __context->glTexParameterf(target, pname, param);
+ }
+
+ /// Forwards to the native C API void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TextureParameter(uint target, uint pname, float* @params)
+ {
+ __context->glTexParameterfv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glTexParameteri(GLenum target, GLenum pname, GLint param);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TextureParameter(uint target, uint pname, int param)
+ {
+ __context->glTexParameteri(target, pname, param);
+ }
+
+ /// Forwards to the native C API void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TextureParameter(uint target, uint pname, int* @params)
+ {
+ __context->glTexParameteriv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexImage1D(uint target, int level, int internalFormat, int width, int border, uint format, uint type, void* pixels)
+ {
+ __context->glTexImage1D(target, level, internalFormat, width, border, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexImage2D(uint target, int level, int internalFormat, int width, int height, int border, uint format, uint type, void* pixels)
+ {
+ __context->glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glDrawBuffer(GLenum buf);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawBuffer(uint buf)
+ {
+ __context->glDrawBuffer(buf);
+ }
+
+ /// Forwards to the native C API void glClear(GLbitfield mask);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Clear(uint mask)
+ {
+ __context->glClear(mask);
+ }
+
+ /// Forwards to the native C API void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClearColor(float red, float green, float blue, float alpha)
+ {
+ __context->glClearColor(red, green, blue, alpha);
+ }
+
+ /// Forwards to the native C API void glClearStencil(GLint s);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClearStencil(int s)
+ {
+ __context->glClearStencil(s);
+ }
+
+ /// Forwards to the native C API void glClearDepth(GLdouble depth);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClearDepth(double depth)
+ {
+ __context->glClearDepth(depth);
+ }
+
+ /// Forwards to the native C API void glStencilMask(GLuint mask);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void StencilMask(uint mask)
+ {
+ __context->glStencilMask(mask);
+ }
+
+ /// Forwards to the native C API void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ColorMask(byte red, byte green, byte blue, byte alpha)
+ {
+ __context->glColorMask(red, green, blue, alpha);
+ }
+
+ /// Forwards to the native C API void glDepthMask(GLboolean flag);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DepthMask(byte flag)
+ {
+ __context->glDepthMask(flag);
+ }
+
+ /// Forwards to the native C API void glDisable(GLenum cap);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Disable(uint cap)
+ {
+ __context->glDisable(cap);
+ }
+
+ /// Forwards to the native C API void glEnable(GLenum cap);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Enable(uint cap)
+ {
+ __context->glEnable(cap);
+ }
+
+ /// Forwards to the native C API void glFinish();.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Finish()
+ {
+ __context->glFinish();
+ }
+
+ /// Forwards to the native C API void glFlush();.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Flush()
+ {
+ __context->glFlush();
+ }
+
+ /// Forwards to the native C API void glBlendFunc(GLenum sfactor, GLenum dfactor);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BlendFunc(uint sfactor, uint dfactor)
+ {
+ __context->glBlendFunc(sfactor, dfactor);
+ }
+
+ /// Forwards to the native C API void glLogicOp(GLenum opcode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void LogicOp(uint opcode)
+ {
+ __context->glLogicOp(opcode);
+ }
+
+ /// Forwards to the native C API void glStencilFunc(GLenum func, GLint ref, GLuint mask);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void StencilFunc(uint func, int @ref, uint mask)
+ {
+ __context->glStencilFunc(func, @ref, mask);
+ }
+
+ /// Forwards to the native C API void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void StencilOp(uint fail, uint zfail, uint zpass)
+ {
+ __context->glStencilOp(fail, zfail, zpass);
+ }
+
+ /// Forwards to the native C API void glDepthFunc(GLenum func);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DepthFunc(uint func)
+ {
+ __context->glDepthFunc(func);
+ }
+
+ /// Forwards to the native C API void glPixelStoref(GLenum pname, GLfloat param);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PixelStore(uint pname, float param)
+ {
+ __context->glPixelStoref(pname, param);
+ }
+
+ /// Forwards to the native C API void glPixelStorei(GLenum pname, GLint param);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PixelStore(uint pname, int param)
+ {
+ __context->glPixelStorei(pname, param);
+ }
+
+ /// Forwards to the native C API void glReadBuffer(GLenum src);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ReadBuffer(uint src)
+ {
+ __context->glReadBuffer(src);
+ }
+
+ /// Forwards to the native C API void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ReadPixels(int x, int y, int width, int height, uint format, uint type, void* pixels)
+ {
+ __context->glReadPixels(x, y, width, height, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glGetBooleanv(GLenum pname, GLboolean *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint pname, Span values)
+ {
+ fixed (byte* __value = values)
+ {
+ __context->glGetBooleanv(pname, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glGetDoublev(GLenum pname, GLdouble *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint pname, Span values)
+ {
+ fixed (double* __value = values)
+ {
+ __context->glGetDoublev(pname, __value);
+ }
+ }
+
+ /// Forwards to the native C API GLenum glGetError();.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public uint GetError()
+ {
+ return __context->glGetError();
+ }
+
+ /// Forwards to the native C API void glGetFloatv(GLenum pname, GLfloat *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint pname, Span values)
+ {
+ fixed (float* __value = values)
+ {
+ __context->glGetFloatv(pname, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glGetIntegerv(GLenum pname, GLint *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint pname, Span values)
+ {
+ fixed (int* __value = values)
+ {
+ __context->glGetIntegerv(pname, __value);
+ }
+ }
+
+ /// Forwards to the native C API const GLubyte *glGetString(GLenum name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte* GetString(uint name)
+ {
+ return __context->glGetString(name);
+ }
+
+ /// Forwards to the native C API void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTexImage(uint target, int level, uint format, uint type, void* pixels)
+ {
+ __context->glGetTexImage(target, level, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTextureParameter(uint target, uint pname, float* @params)
+ {
+ __context->glGetTexParameterfv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTextureParameter(uint target, uint pname, int* @params)
+ {
+ __context->glGetTexParameteriv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTextureLevelParameter(uint target, int level, uint pname, float* @params)
+ {
+ __context->glGetTexLevelParameterfv(target, level, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTextureLevelParameter(uint target, int level, uint pname, int* @params)
+ {
+ __context->glGetTexLevelParameteriv(target, level, pname, @params);
+ }
+
+ /// Forwards to the native C API GLboolean glIsEnabled(GLenum cap);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsEnabled(uint cap)
+ {
+ return __context->glIsEnabled(cap);
+ }
+
+ /// Forwards to the native C API void glDepthRange(GLdouble n, GLdouble f);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DepthRange(double n, double f)
+ {
+ __context->glDepthRange(n, f);
+ }
+
+ /// Forwards to the native C API void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Viewport(int x, int y, int width, int height)
+ {
+ __context->glViewport(x, y, width, height);
+ }
+
+ /// Forwards to the native C API void glDrawArrays(GLenum mode, GLint first, GLsizei count);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawArrays(uint mode, int first, int count)
+ {
+ __context->glDrawArrays(mode, first, count);
+ }
+
+ /// Forwards to the native C API void glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawElements(uint mode, int count, uint type, void* indices)
+ {
+ __context->glDrawElements(mode, count, type, indices);
+ }
+
+ /// Forwards to the native C API void glGetPointerv(GLenum pname, void **params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetPointerv(uint pname, void** @params)
+ {
+ __context->glGetPointerv(pname, @params);
+ }
+
+ /// Forwards to the native C API void glPolygonOffset(GLfloat factor, GLfloat units);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PolygonOffset(float factor, float units)
+ {
+ __context->glPolygonOffset(factor, units);
+ }
+
+ /// Forwards to the native C API void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CopyTexImage1D(uint target, int level, uint internalFormat, int x, int y, int width, int border)
+ {
+ __context->glCopyTexImage1D(target, level, internalFormat, x, y, width, border);
+ }
+
+ /// Forwards to the native C API void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CopyTexImage2D(uint target, int level, uint internalFormat, int x, int y, int width, int height, int border)
+ {
+ __context->glCopyTexImage2D(target, level, internalFormat, x, y, width, height, border);
+ }
+
+ /// Forwards to the native C API void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CopyTexSubImage1D(uint target, int level, int xoffset, int x, int y, int width)
+ {
+ __context->glCopyTexSubImage1D(target, level, xoffset, x, y, width);
+ }
+
+ /// Forwards to the native C API void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CopyTexSubImage2D(uint target, int level, int xoffset, int yoffset, int x, int y, int width, int height)
+ {
+ __context->glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
+ }
+
+ /// Forwards to the native C API void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexSubImage1D(uint target, int level, int xoffset, int width, uint format, uint type, void* pixels)
+ {
+ __context->glTexSubImage1D(target, level, xoffset, width, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, void* pixels)
+ {
+ __context->glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glBindTexture(GLenum target, GLuint texture);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindTexture(uint target, GlHandle texture)
+ {
+ __context->glBindTexture(target, texture.Value);
+ }
+
+ /// Forwards to the native C API void glDeleteTextures(GLsizei n, const GLuint *textures);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteTextures(ReadOnlySpan textures)
+ {
+ fixed (GlHandle* __textures = textures)
+ {
+ __context->glDeleteTextures(textures.Length, (uint*)__textures);
+ }
+ }
+
+ /// Forwards to the native C API void glGenTextures(GLsizei n, GLuint *textures);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GenTextures(Span textures)
+ {
+ fixed (GlHandle* __textures = textures)
+ {
+ __context->glGenTextures(textures.Length, (uint*)__textures);
+ }
+ }
+
+ /// Forwards to the native C API GLboolean glIsTexture(GLuint texture);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsTexture(GlHandle texture)
+ {
+ return __context->glIsTexture(texture.Value);
+ }
+
+ /// Forwards to the native C API void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawRangeElements(uint mode, uint start, uint end, int count, uint type, void* indices)
+ {
+ __context->glDrawRangeElements(mode, start, end, count, type, indices);
+ }
+
+ /// Forwards to the native C API void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexImage3D(uint target, int level, int internalFormat, int width, int height, int depth, int border, uint format, uint type, void* pixels)
+ {
+ __context->glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* pixels)
+ {
+ __context->glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
+ }
+
+ /// Forwards to the native C API void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CopyTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height)
+ {
+ __context->glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
+ }
+
+ /// Forwards to the native C API void glActiveTexture(GLenum texture);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ActiveTexture(uint texture)
+ {
+ __context->glActiveTexture(texture);
+ }
+
+ /// Forwards to the native C API void glSampleCoverage(GLfloat value, GLboolean invert);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void SampleCoverage(float value, byte invert)
+ {
+ __context->glSampleCoverage(value, invert);
+ }
+
+ /// Forwards to the native C API void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CompressedTexImage3D(uint target, int level, uint internalFormat, int width, int height, int depth, int border, int imageSize, void* data)
+ {
+ __context->glCompressedTexImage3D(target, level, internalFormat, width, height, depth, border, imageSize, data);
+ }
+
+ /// Forwards to the native C API void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CompressedTexImage2D(uint target, int level, uint internalFormat, int width, int height, int border, int imageSize, void* data)
+ {
+ __context->glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data);
+ }
+
+ /// Forwards to the native C API void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CompressedTexImage1D(uint target, int level, uint internalFormat, int width, int border, int imageSize, void* data)
+ {
+ __context->glCompressedTexImage1D(target, level, internalFormat, width, border, imageSize, data);
+ }
+
+ /// Forwards to the native C API void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CompressedTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, void* data)
+ {
+ __context->glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
+ }
+
+ /// Forwards to the native C API void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CompressedTexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, void* data)
+ {
+ __context->glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
+ }
+
+ /// Forwards to the native C API void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CompressedTexSubImage1D(uint target, int level, int xoffset, int width, uint format, int imageSize, void* data)
+ {
+ __context->glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
+ }
+
+ /// Forwards to the native C API void glGetCompressedTexImage(GLenum target, GLint level, void *img);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetCompressedTexImage(uint target, int level, void* img)
+ {
+ __context->glGetCompressedTexImage(target, level, img);
+ }
+
+ /// Forwards to the native C API void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BlendFuncSeparate(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha)
+ {
+ __context->glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
+ }
+
+ /// Forwards to the native C API void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void MultiDrawArrays(uint mode, int* first, int* count, int drawcount)
+ {
+ __context->glMultiDrawArrays(mode, first, count, drawcount);
+ }
+
+ /// Forwards to the native C API void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void MultiDrawElements(uint mode, int* count, uint type, void** indices, int drawcount)
+ {
+ __context->glMultiDrawElements(mode, count, type, indices, drawcount);
+ }
+
+ /// Forwards to the native C API void glPointParameterf(GLenum pname, GLfloat param);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PointParameter(uint pname, float param)
+ {
+ __context->glPointParameterf(pname, param);
+ }
+
+ /// Forwards to the native C API void glPointParameterfv(GLenum pname, const GLfloat *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PointParameter(uint pname, float* @params)
+ {
+ __context->glPointParameterfv(pname, @params);
+ }
+
+ /// Forwards to the native C API void glPointParameteri(GLenum pname, GLint param);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PointParameter(uint pname, int param)
+ {
+ __context->glPointParameteri(pname, param);
+ }
+
+ /// Forwards to the native C API void glPointParameteriv(GLenum pname, const GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PointParameter(uint pname, int* @params)
+ {
+ __context->glPointParameteriv(pname, @params);
+ }
+
+ /// Forwards to the native C API void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BlendColor(float red, float green, float blue, float alpha)
+ {
+ __context->glBlendColor(red, green, blue, alpha);
+ }
+
+ /// Forwards to the native C API void glBlendEquation(GLenum mode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BlendEquation(uint mode)
+ {
+ __context->glBlendEquation(mode);
+ }
+
+ /// Forwards to the native C API void glGenQueries(GLsizei n, GLuint *ids);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GenQueries(Span ids)
+ {
+ fixed (GlHandle* __ids = ids)
+ {
+ __context->glGenQueries(ids.Length, (uint*)__ids);
+ }
+ }
+
+ /// Forwards to the native C API void glDeleteQueries(GLsizei n, const GLuint *ids);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteQueries(ReadOnlySpan ids)
+ {
+ fixed (GlHandle* __ids = ids)
+ {
+ __context->glDeleteQueries(ids.Length, (uint*)__ids);
+ }
+ }
+
+ /// Forwards to the native C API GLboolean glIsQuery(GLuint id);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsQuery(GlHandle id)
+ {
+ return __context->glIsQuery(id.Value);
+ }
+
+ /// Forwards to the native C API void glBeginQuery(GLenum target, GLuint id);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BeginQuery(uint target, GlHandle id)
+ {
+ __context->glBeginQuery(target, id.Value);
+ }
+
+ /// Forwards to the native C API void glEndQuery(GLenum target);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void EndQuery(uint target)
+ {
+ __context->glEndQuery(target);
+ }
+
+ /// Forwards to the native C API void glGetQueryiv(GLenum target, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetQueryiv(uint target, uint pname, int* @params)
+ {
+ __context->glGetQueryiv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetQueryObject(GlHandle id, uint pname, int* @params)
+ {
+ __context->glGetQueryObjectiv(id.Value, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetQueryObject(GlHandle id, uint pname, uint* @params)
+ {
+ __context->glGetQueryObjectuiv(id.Value, pname, @params);
+ }
+
+ /// Forwards to the native C API void glBindBuffer(GLenum target, GLuint buffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindBuffer(uint target, GlHandle buffer)
+ {
+ __context->glBindBuffer(target, buffer.Value);
+ }
+
+ /// Forwards to the native C API void glDeleteBuffers(GLsizei n, const GLuint *buffers);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteBuffers(ReadOnlySpan buffers)
+ {
+ fixed (GlHandle* __buffers = buffers)
+ {
+ __context->glDeleteBuffers(buffers.Length, (uint*)__buffers);
+ }
+ }
+
+ /// Forwards to the native C API void glGenBuffers(GLsizei n, GLuint *buffers);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GenBuffers(Span buffers)
+ {
+ fixed (GlHandle* __buffers = buffers)
+ {
+ __context->glGenBuffers(buffers.Length, (uint*)__buffers);
+ }
+ }
+
+ /// Forwards to the native C API GLboolean glIsBuffer(GLuint buffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsBuffer(GlHandle buffer)
+ {
+ return __context->glIsBuffer(buffer.Value);
+ }
+
+ /// Forwards to the native C API void glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BufferData(uint target, nint size, void* data, uint usage)
+ {
+ __context->glBufferData(target, size, data, usage);
+ }
+
+ /// Forwards to the native C API void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BufferSubData(uint target, nint offset, nint size, void* data)
+ {
+ __context->glBufferSubData(target, offset, size, data);
+ }
+
+ /// Forwards to the native C API void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetBufferSubData(uint target, nint offset, nint size, void* data)
+ {
+ __context->glGetBufferSubData(target, offset, size, data);
+ }
+
+ /// Forwards to the native C API void *glMapBuffer(GLenum target, GLenum access);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void* MapBuffer(uint target, uint access)
+ {
+ return __context->glMapBuffer(target, access);
+ }
+
+ /// Forwards to the native C API GLboolean glUnmapBuffer(GLenum target);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte UnmapBuffer(uint target)
+ {
+ return __context->glUnmapBuffer(target);
+ }
+
+ /// Forwards to the native C API void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetBufferParameter(uint target, uint pname, int* @params)
+ {
+ __context->glGetBufferParameteriv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetBufferPointerv(GLenum target, GLenum pname, void **params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetBufferPointerv(uint target, uint pname, void** @params)
+ {
+ __context->glGetBufferPointerv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BlendEquationSeparate(uint modeRGB, uint modeAlpha)
+ {
+ __context->glBlendEquationSeparate(modeRGB, modeAlpha);
+ }
+
+ /// Forwards to the native C API void glDrawBuffers(GLsizei n, const GLenum *bufs);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawBuffers(int n, uint* bufs)
+ {
+ __context->glDrawBuffers(n, bufs);
+ }
+
+ /// Forwards to the native C API void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void StencilOpSeparate(uint face, uint sfail, uint dpfail, uint dppass)
+ {
+ __context->glStencilOpSeparate(face, sfail, dpfail, dppass);
+ }
+
+ /// Forwards to the native C API void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void StencilFuncSeparate(uint face, uint func, int @ref, uint mask)
+ {
+ __context->glStencilFuncSeparate(face, func, @ref, mask);
+ }
+
+ /// Forwards to the native C API void glStencilMaskSeparate(GLenum face, GLuint mask);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void StencilMaskSeparate(uint face, uint mask)
+ {
+ __context->glStencilMaskSeparate(face, mask);
+ }
+
+ /// Forwards to the native C API void glAttachShader(GLuint program, GLuint shader);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void AttachShader(GlHandle program, GlHandle shader)
+ {
+ __context->glAttachShader(program.Value, shader.Value);
+ }
+
+ /// Forwards to the native C API void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindAttributeLocation(GlHandle program, uint index, byte* name)
+ {
+ __context->glBindAttribLocation(program.Value, index, name);
+ }
+
+ /// Forwards to the native C API void glCompileShader(GLuint shader);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CompileShader(GlHandle shader)
+ {
+ __context->glCompileShader(shader.Value);
+ }
+
+ /// Forwards to the native C API GLuint glCreateProgram();.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public GlHandle CreateProgram()
+ {
+ return GlHandle.Create(__context->glCreateProgram());
+ }
+
+ /// Forwards to the native C API GLuint glCreateShader(GLenum type);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public GlHandle CreateShader(uint type)
+ {
+ return GlHandle.Create(__context->glCreateShader(type));
+ }
+
+ /// Forwards to the native C API void glDeleteProgram(GLuint program);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteProgram(GlHandle program)
+ {
+ __context->glDeleteProgram(program.Value);
+ }
+
+ /// Forwards to the native C API void glDeleteShader(GLuint shader);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteShader(GlHandle shader)
+ {
+ __context->glDeleteShader(shader.Value);
+ }
+
+ /// Forwards to the native C API void glDetachShader(GLuint program, GLuint shader);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DetachShader(GlHandle program, GlHandle shader)
+ {
+ __context->glDetachShader(program.Value, shader.Value);
+ }
+
+ /// Forwards to the native C API void glDisableVertexAttribArray(GLuint index);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DisableVertexAttributeArray(uint index)
+ {
+ __context->glDisableVertexAttribArray(index);
+ }
+
+ /// Forwards to the native C API void glEnableVertexAttribArray(GLuint index);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void EnableVertexAttributeArray(uint index)
+ {
+ __context->glEnableVertexAttribArray(index);
+ }
+
+ /// Forwards to the native C API void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetActiveAttribute(GlHandle program, uint index, int bufSize, int* length, int* size, uint* type, byte* name)
+ {
+ __context->glGetActiveAttrib(program.Value, index, bufSize, length, size, type, name);
+ }
+
+ /// Forwards to the native C API void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetActiveUniform(GlHandle program, uint index, int bufSize, int* length, int* size, uint* type, byte* name)
+ {
+ __context->glGetActiveUniform(program.Value, index, bufSize, length, size, type, name);
+ }
+
+ /// Forwards to the native C API void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetAttachedShaders(GlHandle program, int* count, Span shaders)
+ {
+ fixed (GlHandle* __shaders = shaders)
+ {
+ __context->glGetAttachedShaders(program.Value, shaders.Length, count, (uint*)__shaders);
+ }
+ }
+
+ /// Forwards to the native C API GLint glGetAttribLocation(GLuint program, const GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public int GetAttributeLocation(GlHandle program, byte* name)
+ {
+ return __context->glGetAttribLocation(program.Value, name);
+ }
+
+ /// Forwards to the native C API void glGetProgramiv(GLuint program, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetProgramiv(GlHandle program, uint pname, int* @params)
+ {
+ __context->glGetProgramiv(program.Value, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetProgramInfoLog(GlHandle program, int bufSize, int* length, byte* infoLog)
+ {
+ __context->glGetProgramInfoLog(program.Value, bufSize, length, infoLog);
+ }
+
+ /// Forwards to the native C API void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetShaderiv(GlHandle shader, uint pname, int* @params)
+ {
+ __context->glGetShaderiv(shader.Value, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetShaderInfoLog(GlHandle shader, int bufSize, int* length, byte* infoLog)
+ {
+ __context->glGetShaderInfoLog(shader.Value, bufSize, length, infoLog);
+ }
+
+ /// Forwards to the native C API void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetShaderSource(GlHandle shader, int bufSize, int* length, byte* source)
+ {
+ __context->glGetShaderSource(shader.Value, bufSize, length, source);
+ }
+
+ /// Forwards to the native C API GLint glGetUniformLocation(GLuint program, const GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public int GetUniformLocation(GlHandle program, byte* name)
+ {
+ return __context->glGetUniformLocation(program.Value, name);
+ }
+
+ /// Forwards to the native C API void glGetUniformfv(GLuint program, GLint location, GLfloat *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetUniform(GlHandle program, int location, float* @params)
+ {
+ __context->glGetUniformfv(program.Value, location, @params);
+ }
+
+ /// Forwards to the native C API void glGetUniformiv(GLuint program, GLint location, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetUniform(GlHandle program, int location, int* @params)
+ {
+ __context->glGetUniformiv(program.Value, location, @params);
+ }
+
+ /// Forwards to the native C API void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetVertexAttribute(uint index, uint pname, double* @params)
+ {
+ __context->glGetVertexAttribdv(index, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetVertexAttribute(uint index, uint pname, float* @params)
+ {
+ __context->glGetVertexAttribfv(index, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetVertexAttribute(uint index, uint pname, int* @params)
+ {
+ __context->glGetVertexAttribiv(index, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetVertexAttribPointerv(GLuint index, GLenum pname, void **pointer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetVertexAttributePointer(uint index, uint pname, void** pointer)
+ {
+ __context->glGetVertexAttribPointerv(index, pname, pointer);
+ }
+
+ /// Forwards to the native C API GLboolean glIsProgram(GLuint program);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsProgram(GlHandle program)
+ {
+ return __context->glIsProgram(program.Value);
+ }
+
+ /// Forwards to the native C API GLboolean glIsShader(GLuint shader);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsShader(GlHandle shader)
+ {
+ return __context->glIsShader(shader.Value);
+ }
+
+ /// Forwards to the native C API void glLinkProgram(GLuint program);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void LinkProgram(GlHandle program)
+ {
+ __context->glLinkProgram(program.Value);
+ }
+
+ /// Forwards to the native C API void glShaderSource(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ShaderSource(GlHandle shader, int count, byte** @string, int* length)
+ {
+ __context->glShaderSource(shader.Value, count, @string, length);
+ }
+
+ /// Forwards to the native C API void glUseProgram(GLuint program);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void UseProgram(GlHandle program)
+ {
+ __context->glUseProgram(program.Value);
+ }
+
+ /// Forwards to the native C API void glUniform1f(GLint location, GLfloat v0);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, float v0)
+ {
+ __context->glUniform1f(location, v0);
+ }
+
+ /// Forwards to the native C API void glUniform2f(GLint location, GLfloat v0, GLfloat v1);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, float v0, float v1)
+ {
+ __context->glUniform2f(location, v0, v1);
+ }
+
+ /// Forwards to the native C API void glUniform2f(GLint location, GLfloat v0, GLfloat v1);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec2 value)
+ {
+ __context->glUniform2f(location, value.X, value.Y);
+ }
+
+ /// Forwards to the native C API void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, float v0, float v1, float v2)
+ {
+ __context->glUniform3f(location, v0, v1, v2);
+ }
+
+ /// Forwards to the native C API void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec3 value)
+ {
+ __context->glUniform3f(location, value.X, value.Y, value.Z);
+ }
+
+ /// Forwards to the native C API void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, float v0, float v1, float v2, float v3)
+ {
+ __context->glUniform4f(location, v0, v1, v2, v3);
+ }
+
+ /// Forwards to the native C API void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec4 value)
+ {
+ __context->glUniform4f(location, value.X, value.Y, value.Z, value.W);
+ }
+
+ /// Forwards to the native C API void glUniform1i(GLint location, GLint v0);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, int v0)
+ {
+ __context->glUniform1i(location, v0);
+ }
+
+ /// Forwards to the native C API void glUniform2i(GLint location, GLint v0, GLint v1);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, int v0, int v1)
+ {
+ __context->glUniform2i(location, v0, v1);
+ }
+
+ /// Forwards to the native C API void glUniform2i(GLint location, GLint v0, GLint v1);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec2 value)
+ {
+ __context->glUniform2i(location, value.X, value.Y);
+ }
+
+ /// Forwards to the native C API void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, int v0, int v1, int v2)
+ {
+ __context->glUniform3i(location, v0, v1, v2);
+ }
+
+ /// Forwards to the native C API void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec3 value)
+ {
+ __context->glUniform3i(location, value.X, value.Y, value.Z);
+ }
+
+ /// Forwards to the native C API void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, int v0, int v1, int v2, int v3)
+ {
+ __context->glUniform4i(location, v0, v1, v2, v3);
+ }
+
+ /// Forwards to the native C API void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec4 value)
+ {
+ __context->glUniform4i(location, value.X, value.Y, value.Z, value.W);
+ }
+
+ /// Forwards to the native C API void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, ReadOnlySpan values)
+ {
+ fixed (float* __value = values)
+ {
+ __context->glUniform1fv(location, values.Length, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, ReadOnlySpan> values)
+ {
+ fixed (Vec4* __vector = values)
+ {
+ __context->glUniform4fv(location, values.Length, (float*)__vector);
+ }
+ }
+
+ /// Forwards to the native C API void glUniform1iv(GLint location, GLsizei count, const GLint *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, ReadOnlySpan values)
+ {
+ fixed (int* __value = values)
+ {
+ __context->glUniform1iv(location, values.Length, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glUniform4iv(GLint location, GLsizei count, const GLint *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, ReadOnlySpan> values)
+ {
+ fixed (Vec4* __vector = values)
+ {
+ __context->glUniform4iv(location, values.Length, (int*)__vector);
+ }
+ }
+
+ /// Forwards to the native C API void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, bool transpose, GraphicsMatrix value)
+ {
+ __context->glUniformMatrix4fv(location, 1, transpose ? (byte)1 : (byte)0, (float*)&value);
+ }
+
+ /// Forwards to the native C API void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, bool transpose, ReadOnlySpan values)
+ {
+ fixed (GraphicsMatrix* __value = values)
+ {
+ __context->glUniformMatrix4fv(location, values.Length, transpose ? (byte)1 : (byte)0, (float*)__value);
+ }
+ }
+
+ /// Forwards to the native C API void glValidateProgram(GLuint program);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ValidateProgram(GlHandle program)
+ {
+ __context->glValidateProgram(program.Value);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib1d(GLuint index, GLdouble x);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, double x)
+ {
+ __context->glVertexAttrib1d(index, x);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib1f(GLuint index, GLfloat x);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, float x)
+ {
+ __context->glVertexAttrib1f(index, x);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib1s(GLuint index, GLshort x);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, short x)
+ {
+ __context->glVertexAttrib1s(index, x);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, double x, double y)
+ {
+ __context->glVertexAttrib2d(index, x, y);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, float x, float y)
+ {
+ __context->glVertexAttrib2f(index, x, y);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib2s(GLuint index, GLshort x, GLshort y);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, short x, short y)
+ {
+ __context->glVertexAttrib2s(index, x, y);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, double x, double y, double z)
+ {
+ __context->glVertexAttrib3d(index, x, y, z);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, float x, float y, float z)
+ {
+ __context->glVertexAttrib3f(index, x, y, z);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, short x, short y, short z)
+ {
+ __context->glVertexAttrib3s(index, x, y, z);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4Nbv(GLuint index, const GLbyte *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeNormalized(uint index, sbyte* v)
+ {
+ __context->glVertexAttrib4Nbv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4Niv(GLuint index, const GLint *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeNormalized(uint index, int* v)
+ {
+ __context->glVertexAttrib4Niv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4Nsv(GLuint index, const GLshort *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeNormalized(uint index, short* v)
+ {
+ __context->glVertexAttrib4Nsv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeNormalized(uint index, byte x, byte y, byte z, byte w)
+ {
+ __context->glVertexAttrib4Nub(index, x, y, z, w);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4Nuiv(GLuint index, const GLuint *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeNormalized(uint index, uint* v)
+ {
+ __context->glVertexAttrib4Nuiv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4Nusv(GLuint index, const GLushort *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeNormalized(uint index, ushort* v)
+ {
+ __context->glVertexAttrib4Nusv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4bv(GLuint index, const GLbyte *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, sbyte* v)
+ {
+ __context->glVertexAttrib4bv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, double x, double y, double z, double w)
+ {
+ __context->glVertexAttrib4d(index, x, y, z, w);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, float x, float y, float z, float w)
+ {
+ __context->glVertexAttrib4f(index, x, y, z, w);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4iv(GLuint index, const GLint *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, int* v)
+ {
+ __context->glVertexAttrib4iv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, short x, short y, short z, short w)
+ {
+ __context->glVertexAttrib4s(index, x, y, z, w);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4ubv(GLuint index, const GLubyte *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, byte* v)
+ {
+ __context->glVertexAttrib4ubv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4uiv(GLuint index, const GLuint *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, uint* v)
+ {
+ __context->glVertexAttrib4uiv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttrib4usv(GLuint index, const GLushort *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttribute(uint index, ushort* v)
+ {
+ __context->glVertexAttrib4usv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributePointer(uint index, int size, uint type, byte normalized, int stride, void* pointer)
+ {
+ __context->glVertexAttribPointer(index, size, type, normalized, stride, pointer);
+ }
+
+ /// Forwards to the native C API void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ColorMaski(uint index, byte r, byte g, byte b, byte a)
+ {
+ __context->glColorMaski(index, r, g, b, a);
+ }
+
+ /// Forwards to the native C API void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint target, uint index, Span values)
+ {
+ fixed (byte* __value = values)
+ {
+ __context->glGetBooleani_v(target, index, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint target, uint index, Span values)
+ {
+ fixed (int* __value = values)
+ {
+ __context->glGetIntegeri_v(target, index, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glEnablei(GLenum target, GLuint index);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Enablei(uint target, uint index)
+ {
+ __context->glEnablei(target, index);
+ }
+
+ /// Forwards to the native C API void glDisablei(GLenum target, GLuint index);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Disablei(uint target, uint index)
+ {
+ __context->glDisablei(target, index);
+ }
+
+ /// Forwards to the native C API GLboolean glIsEnabledi(GLenum target, GLuint index);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsEnabledi(uint target, uint index)
+ {
+ return __context->glIsEnabledi(target, index);
+ }
+
+ /// Forwards to the native C API void glBeginTransformFeedback(GLenum primitiveMode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BeginTransformFeedback(uint primitiveMode)
+ {
+ __context->glBeginTransformFeedback(primitiveMode);
+ }
+
+ /// Forwards to the native C API void glEndTransformFeedback();.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void EndTransformFeedback()
+ {
+ __context->glEndTransformFeedback();
+ }
+
+ /// Forwards to the native C API void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindBufferRange(uint target, uint index, GlHandle buffer, nint offset, nint size)
+ {
+ __context->glBindBufferRange(target, index, buffer.Value, offset, size);
+ }
+
+ /// Forwards to the native C API void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindBufferBase(uint target, uint index, GlHandle buffer)
+ {
+ __context->glBindBufferBase(target, index, buffer.Value);
+ }
+
+ /// Forwards to the native C API void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TransformFeedbackVaryings(GlHandle program, int count, byte** varyings, uint bufferMode)
+ {
+ __context->glTransformFeedbackVaryings(program.Value, count, varyings, bufferMode);
+ }
+
+ /// Forwards to the native C API void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTransformFeedbackVarying(GlHandle program, uint index, int bufSize, int* length, int* size, uint* type, byte* name)
+ {
+ __context->glGetTransformFeedbackVarying(program.Value, index, bufSize, length, size, type, name);
+ }
+
+ /// Forwards to the native C API void glClampColor(GLenum target, GLenum clamp);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClampColor(uint target, uint clamp)
+ {
+ __context->glClampColor(target, clamp);
+ }
+
+ /// Forwards to the native C API void glBeginConditionalRender(GLuint id, GLenum mode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BeginConditionalRender(uint id, uint mode)
+ {
+ __context->glBeginConditionalRender(id, mode);
+ }
+
+ /// Forwards to the native C API void glEndConditionalRender();.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void EndConditionalRender()
+ {
+ __context->glEndConditionalRender();
+ }
+
+ /// Forwards to the native C API void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeIntegerPointer(uint index, int size, uint type, int stride, void* pointer)
+ {
+ __context->glVertexAttribIPointer(index, size, type, stride, pointer);
+ }
+
+ /// Forwards to the native C API void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetVertexAttributeInteger(uint index, uint pname, int* @params)
+ {
+ __context->glGetVertexAttribIiv(index, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetVertexAttributeInteger(uint index, uint pname, uint* @params)
+ {
+ __context->glGetVertexAttribIuiv(index, pname, @params);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI1i(GLuint index, GLint x);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, int x)
+ {
+ __context->glVertexAttribI1i(index, x);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI2i(GLuint index, GLint x, GLint y);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, int x, int y)
+ {
+ __context->glVertexAttribI2i(index, x, y);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, int x, int y, int z)
+ {
+ __context->glVertexAttribI3i(index, x, y, z);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, int x, int y, int z, int w)
+ {
+ __context->glVertexAttribI4i(index, x, y, z, w);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI1ui(GLuint index, GLuint x);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, uint x)
+ {
+ __context->glVertexAttribI1ui(index, x);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, uint x, uint y)
+ {
+ __context->glVertexAttribI2ui(index, x, y);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, uint x, uint y, uint z)
+ {
+ __context->glVertexAttribI3ui(index, x, y, z);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, uint x, uint y, uint z, uint w)
+ {
+ __context->glVertexAttribI4ui(index, x, y, z, w);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI4bv(GLuint index, const GLbyte *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, sbyte* v)
+ {
+ __context->glVertexAttribI4bv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI4sv(GLuint index, const GLshort *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, short* v)
+ {
+ __context->glVertexAttribI4sv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI4ubv(GLuint index, const GLubyte *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, byte* v)
+ {
+ __context->glVertexAttribI4ubv(index, v);
+ }
+
+ /// Forwards to the native C API void glVertexAttribI4usv(GLuint index, const GLushort *v);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void VertexAttributeInteger(uint index, ushort* v)
+ {
+ __context->glVertexAttribI4usv(index, v);
+ }
+
+ /// Forwards to the native C API void glGetUniformuiv(GLuint program, GLint location, GLuint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetUniform(GlHandle program, int location, uint* @params)
+ {
+ __context->glGetUniformuiv(program.Value, location, @params);
+ }
+
+ /// Forwards to the native C API void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindFragmentDataLocation(GlHandle program, uint color, byte* name)
+ {
+ __context->glBindFragDataLocation(program.Value, color, name);
+ }
+
+ /// Forwards to the native C API GLint glGetFragDataLocation(GLuint program, const GLchar *name);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public int GetFragmentDataLocation(GlHandle program, byte* name)
+ {
+ return __context->glGetFragDataLocation(program.Value, name);
+ }
+
+ /// Forwards to the native C API void glUniform1ui(GLint location, GLuint v0);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, uint v0)
+ {
+ __context->glUniform1ui(location, v0);
+ }
+
+ /// Forwards to the native C API void glUniform2ui(GLint location, GLuint v0, GLuint v1);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, uint v0, uint v1)
+ {
+ __context->glUniform2ui(location, v0, v1);
+ }
+
+ /// Forwards to the native C API void glUniform2ui(GLint location, GLuint v0, GLuint v1);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec2 value)
+ {
+ __context->glUniform2ui(location, value.X, value.Y);
+ }
+
+ /// Forwards to the native C API void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, uint v0, uint v1, uint v2)
+ {
+ __context->glUniform3ui(location, v0, v1, v2);
+ }
+
+ /// Forwards to the native C API void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec3 value)
+ {
+ __context->glUniform3ui(location, value.X, value.Y, value.Z);
+ }
+
+ /// Forwards to the native C API void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, uint v0, uint v1, uint v2, uint v3)
+ {
+ __context->glUniform4ui(location, v0, v1, v2, v3);
+ }
+
+ /// Forwards to the native C API void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, Vec4 value)
+ {
+ __context->glUniform4ui(location, value.X, value.Y, value.Z, value.W);
+ }
+
+ /// Forwards to the native C API void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, ReadOnlySpan values)
+ {
+ fixed (uint* __value = values)
+ {
+ __context->glUniform1uiv(location, values.Length, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Uniform(int location, ReadOnlySpan> values)
+ {
+ fixed (Vec4* __vector = values)
+ {
+ __context->glUniform4uiv(location, values.Length, (uint*)__vector);
+ }
+ }
+
+ /// Forwards to the native C API void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TextureParameterInteger(uint target, uint pname, int* @params)
+ {
+ __context->glTexParameterIiv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TextureParameterInteger(uint target, uint pname, uint* @params)
+ {
+ __context->glTexParameterIuiv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTextureParameterInteger(uint target, uint pname, int* @params)
+ {
+ __context->glGetTexParameterIiv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetTextureParameterInteger(uint target, uint pname, uint* @params)
+ {
+ __context->glGetTexParameterIuiv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClearBuffer(uint buffer, int drawbuffer, int* value)
+ {
+ __context->glClearBufferiv(buffer, drawbuffer, value);
+ }
+
+ /// Forwards to the native C API void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClearBuffer(uint buffer, int drawbuffer, uint* value)
+ {
+ __context->glClearBufferuiv(buffer, drawbuffer, value);
+ }
+
+ /// Forwards to the native C API void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClearBuffer(uint buffer, int drawbuffer, float* value)
+ {
+ __context->glClearBufferfv(buffer, drawbuffer, value);
+ }
+
+ /// Forwards to the native C API void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ClearBuffer(uint buffer, int drawbuffer, float depth, int stencil)
+ {
+ __context->glClearBufferfi(buffer, drawbuffer, depth, stencil);
+ }
+
+ /// Forwards to the native C API const GLubyte *glGetStringi(GLenum name, GLuint index);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte* GetStringi(uint name, uint index)
+ {
+ return __context->glGetStringi(name, index);
+ }
+
+ /// Forwards to the native C API GLboolean glIsRenderbuffer(GLuint renderbuffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsRenderBuffer(GlHandle renderBuffer)
+ {
+ return __context->glIsRenderbuffer(renderBuffer.Value);
+ }
+
+ /// Forwards to the native C API void glBindRenderbuffer(GLenum target, GLuint renderbuffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindRenderBuffer(uint target, GlHandle renderBuffer)
+ {
+ __context->glBindRenderbuffer(target, renderBuffer.Value);
+ }
+
+ /// Forwards to the native C API void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteRenderBuffers(ReadOnlySpan renderBuffers)
+ {
+ fixed (GlHandle* __renderBuffers = renderBuffers)
+ {
+ __context->glDeleteRenderbuffers(renderBuffers.Length, (uint*)__renderBuffers);
+ }
+ }
+
+ /// Forwards to the native C API void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GenRenderBuffers(Span renderBuffers)
+ {
+ fixed (GlHandle* __renderBuffers = renderBuffers)
+ {
+ __context->glGenRenderbuffers(renderBuffers.Length, (uint*)__renderBuffers);
+ }
+ }
+
+ /// Forwards to the native C API void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void RenderBufferStorage(uint target, uint internalFormat, int width, int height)
+ {
+ __context->glRenderbufferStorage(target, internalFormat, width, height);
+ }
+
+ /// Forwards to the native C API void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetRenderBufferParameteriv(uint target, uint pname, int* @params)
+ {
+ __context->glGetRenderbufferParameteriv(target, pname, @params);
+ }
+
+ /// Forwards to the native C API GLboolean glIsFramebuffer(GLuint framebuffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsFrameBuffer(GlHandle frameBuffer)
+ {
+ return __context->glIsFramebuffer(frameBuffer.Value);
+ }
+
+ /// Forwards to the native C API void glBindFramebuffer(GLenum target, GLuint framebuffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindFrameBuffer(uint target, GlHandle frameBuffer)
+ {
+ __context->glBindFramebuffer(target, frameBuffer.Value);
+ }
+
+ /// Forwards to the native C API void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteFrameBuffers(ReadOnlySpan frameBuffers)
+ {
+ fixed (GlHandle* __frameBuffers = frameBuffers)
+ {
+ __context->glDeleteFramebuffers(frameBuffers.Length, (uint*)__frameBuffers);
+ }
+ }
+
+ /// Forwards to the native C API void glGenFramebuffers(GLsizei n, GLuint *framebuffers);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GenFrameBuffers(Span frameBuffers)
+ {
+ fixed (GlHandle* __frameBuffers = frameBuffers)
+ {
+ __context->glGenFramebuffers(frameBuffers.Length, (uint*)__frameBuffers);
+ }
+ }
+
+ /// Forwards to the native C API GLenum glCheckFramebufferStatus(GLenum target);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public uint CheckFrameBufferStatus(uint target)
+ {
+ return __context->glCheckFramebufferStatus(target);
+ }
+
+ /// Forwards to the native C API void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FrameBufferTexture1D(uint target, uint attachment, uint textarget, GlHandle texture, int level)
+ {
+ __context->glFramebufferTexture1D(target, attachment, textarget, texture.Value, level);
+ }
+
+ /// Forwards to the native C API void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FrameBufferTexture2D(uint target, uint attachment, uint textarget, GlHandle texture, int level)
+ {
+ __context->glFramebufferTexture2D(target, attachment, textarget, texture.Value, level);
+ }
+
+ /// Forwards to the native C API void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FrameBufferTexture3D(uint target, uint attachment, uint textarget, GlHandle texture, int level, int zoffset)
+ {
+ __context->glFramebufferTexture3D(target, attachment, textarget, texture.Value, level, zoffset);
+ }
+
+ /// Forwards to the native C API void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FrameBufferRenderBuffer(uint target, uint attachment, uint renderBuffertarget, GlHandle renderBuffer)
+ {
+ __context->glFramebufferRenderbuffer(target, attachment, renderBuffertarget, renderBuffer.Value);
+ }
+
+ /// Forwards to the native C API void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetFrameBufferAttachmentParameteriv(uint target, uint attachment, uint pname, int* @params)
+ {
+ __context->glGetFramebufferAttachmentParameteriv(target, attachment, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGenerateMipmap(GLenum target);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GenerateMipmap(uint target)
+ {
+ __context->glGenerateMipmap(target);
+ }
+
+ /// Forwards to the native C API void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BlitFrameBuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter)
+ {
+ __context->glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
+ }
+
+ /// Forwards to the native C API void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void RenderBufferStorageMultisample(uint target, int samples, uint internalFormat, int width, int height)
+ {
+ __context->glRenderbufferStorageMultisample(target, samples, internalFormat, width, height);
+ }
+
+ /// Forwards to the native C API void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FrameBufferTextureLayer(uint target, uint attachment, GlHandle texture, int level, int layer)
+ {
+ __context->glFramebufferTextureLayer(target, attachment, texture.Value, level, layer);
+ }
+
+ /// Forwards to the native C API void *glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void* MapBufferRange(uint target, nint offset, nint length, uint access)
+ {
+ return __context->glMapBufferRange(target, offset, length, access);
+ }
+
+ /// Forwards to the native C API void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FlushMappedBufferRange(uint target, nint offset, nint length)
+ {
+ __context->glFlushMappedBufferRange(target, offset, length);
+ }
+
+ /// Forwards to the native C API void glBindVertexArray(GLuint array);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void BindVertexArray(GlHandle array)
+ {
+ __context->glBindVertexArray(array.Value);
+ }
+
+ /// Forwards to the native C API void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteVertexArrays(ReadOnlySpan arrays)
+ {
+ fixed (GlHandle* __arrays = arrays)
+ {
+ __context->glDeleteVertexArrays(arrays.Length, (uint*)__arrays);
+ }
+ }
+
+ /// Forwards to the native C API void glGenVertexArrays(GLsizei n, GLuint *arrays);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GenVertexArrays(Span arrays)
+ {
+ fixed (GlHandle* __arrays = arrays)
+ {
+ __context->glGenVertexArrays(arrays.Length, (uint*)__arrays);
+ }
+ }
+
+ /// Forwards to the native C API GLboolean glIsVertexArray(GLuint array);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsVertexArray(GlHandle array)
+ {
+ return __context->glIsVertexArray(array.Value);
+ }
+
+ /// Forwards to the native C API void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawArraysInstanced(uint mode, int first, int count, int instancecount)
+ {
+ __context->glDrawArraysInstanced(mode, first, count, instancecount);
+ }
+
+ /// Forwards to the native C API void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawElementsInstanced(uint mode, int count, uint type, void* indices, int instancecount)
+ {
+ __context->glDrawElementsInstanced(mode, count, type, indices, instancecount);
+ }
+
+ /// Forwards to the native C API void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexBuffer(uint target, uint internalFormat, GlHandle buffer)
+ {
+ __context->glTexBuffer(target, internalFormat, buffer.Value);
+ }
+
+ /// Forwards to the native C API void glPrimitiveRestartIndex(GLuint index);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void PrimitiveRestartIndex(uint index)
+ {
+ __context->glPrimitiveRestartIndex(index);
+ }
+
+ /// Forwards to the native C API void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void CopyBufferSubData(uint readTarget, uint writeTarget, nint readOffset, nint writeOffset, nint size)
+ {
+ __context->glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
+ }
+
+ /// Forwards to the native C API void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetUniformIndices(GlHandle program, int uniformCount, byte** uniformNames, uint* uniformIndices)
+ {
+ __context->glGetUniformIndices(program.Value, uniformCount, uniformNames, uniformIndices);
+ }
+
+ /// Forwards to the native C API void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetActiveUniformsiv(GlHandle program, int uniformCount, uint* uniformIndices, uint pname, int* @params)
+ {
+ __context->glGetActiveUniformsiv(program.Value, uniformCount, uniformIndices, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetActiveUniformName(GlHandle program, uint uniformIndex, int bufSize, int* length, byte* uniformName)
+ {
+ __context->glGetActiveUniformName(program.Value, uniformIndex, bufSize, length, uniformName);
+ }
+
+ /// Forwards to the native C API GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public uint GetUniformBlockIndex(GlHandle program, byte* uniformBlockName)
+ {
+ return __context->glGetUniformBlockIndex(program.Value, uniformBlockName);
+ }
+
+ /// Forwards to the native C API void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetActiveUniformBlockiv(GlHandle program, uint uniformBlockIndex, uint pname, int* @params)
+ {
+ __context->glGetActiveUniformBlockiv(program.Value, uniformBlockIndex, pname, @params);
+ }
+
+ /// Forwards to the native C API void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetActiveUniformBlockName(GlHandle program, uint uniformBlockIndex, int bufSize, int* length, byte* uniformBlockName)
+ {
+ __context->glGetActiveUniformBlockName(program.Value, uniformBlockIndex, bufSize, length, uniformBlockName);
+ }
+
+ /// Forwards to the native C API void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void UniformBlockBinding(GlHandle program, uint uniformBlockIndex, uint uniformBlockBinding)
+ {
+ __context->glUniformBlockBinding(program.Value, uniformBlockIndex, uniformBlockBinding);
+ }
+
+ /// Forwards to the native C API void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawElementsBaseVertex(uint mode, int count, uint type, void* indices, int basevertex)
+ {
+ __context->glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
+ }
+
+ /// Forwards to the native C API void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawRangeElementsBaseVertex(uint mode, uint start, uint end, int count, uint type, void* indices, int basevertex)
+ {
+ __context->glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
+ }
+
+ /// Forwards to the native C API void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DrawElementsInstancedBaseVertex(uint mode, int count, uint type, void* indices, int instancecount, int basevertex)
+ {
+ __context->glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
+ }
+
+ /// Forwards to the native C API void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void MultiDrawElementsBaseVertex(uint mode, int* count, uint type, void** indices, int drawcount, int* basevertex)
+ {
+ __context->glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
+ }
+
+ /// Forwards to the native C API void glProvokingVertex(GLenum mode);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void ProvokingVertex(uint mode)
+ {
+ __context->glProvokingVertex(mode);
+ }
+
+ /// Forwards to the native C API GLsync glFenceSync(GLenum condition, GLbitfield flags);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void* FenceSync(uint condition, uint flags)
+ {
+ return __context->glFenceSync(condition, flags);
+ }
+
+ /// Forwards to the native C API GLboolean glIsSync(GLsync sync);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public byte IsSync(void* sync)
+ {
+ return __context->glIsSync(sync);
+ }
+
+ /// Forwards to the native C API void glDeleteSync(GLsync sync);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void DeleteSync(void* sync)
+ {
+ __context->glDeleteSync(sync);
+ }
+
+ /// Forwards to the native C API GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public uint ClientWaitSync(void* sync, uint flags, ulong timeout)
+ {
+ return __context->glClientWaitSync(sync, flags, timeout);
+ }
+
+ /// Forwards to the native C API void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void WaitSync(void* sync, uint flags, ulong timeout)
+ {
+ __context->glWaitSync(sync, flags, timeout);
+ }
+
+ /// Forwards to the native C API void glGetInteger64v(GLenum pname, GLint64 *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint pname, Span values)
+ {
+ fixed (long* __value = values)
+ {
+ __context->glGetInteger64v(pname, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glGetSynciv(GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetSynciv(void* sync, uint pname, int count, int* length, int* values)
+ {
+ __context->glGetSynciv(sync, pname, count, length, values);
+ }
+
+ /// Forwards to the native C API void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetValue(uint target, uint index, Span values)
+ {
+ fixed (long* __value = values)
+ {
+ __context->glGetInteger64i_v(target, index, __value);
+ }
+ }
+
+ /// Forwards to the native C API void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetBufferParameter(uint target, uint pname, long* @params)
+ {
+ __context->glGetBufferParameteri64v(target, pname, @params);
+ }
+
+ /// Forwards to the native C API void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void FrameBufferTexture(uint target, uint attachment, GlHandle texture, int level)
+ {
+ __context->glFramebufferTexture(target, attachment, texture.Value, level);
+ }
+
+ /// Forwards to the native C API void glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexImage2DMultisample(uint target, int samples, uint internalFormat, int width, int height, byte fixedsamplelocations)
+ {
+ __context->glTexImage2DMultisample(target, samples, internalFormat, width, height, fixedsamplelocations);
+ }
+
+ /// Forwards to the native C API void glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void TexImage3DMultisample(uint target, int samples, uint internalFormat, int width, int height, int depth, byte fixedsamplelocations)
+ {
+ __context->glTexImage3DMultisample(target, samples, internalFormat, width, height, depth, fixedsamplelocations);
+ }
+
+ /// Forwards to the native C API void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void GetMultisamplefv(uint pname, uint index, float* val)
+ {
+ __context->glGetMultisamplefv(pname, index, val);
+ }
+
+ /// Forwards to the native C API void glSampleMaski(GLuint maskNumber, GLbitfield mask);.
+ ///
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void SampleMaski(uint maskNumber, uint mask)
+ {
+ __context->glSampleMaski(maskNumber, mask);
+ }
+
+ }
+}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v3_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v3_3.g.cs
deleted file mode 100644
index 0503e0b5..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v3_3.g.cs
+++ /dev/null
@@ -1,2187 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 3.3
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ActiveTexture(uint texture)
- {
- Context.glActiveTexture(texture);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void AttachShader(GlHandle program, GlHandle shader)
- {
- Context.glAttachShader(program.Value, shader.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BeginConditionalRender(uint id, uint mode)
- {
- Context.glBeginConditionalRender(id, mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BeginQuery(uint target, uint id)
- {
- Context.glBeginQuery(target, id);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BeginTransformFeedback(uint primitiveMode)
- {
- Context.glBeginTransformFeedback(primitiveMode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindAttribLocation(GlHandle program, uint index, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- Context.glBindAttribLocation(program.Value, index, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindBuffer(uint target, GlHandle buffer)
- {
- Context.glBindBuffer(target, buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindBufferBase(uint target, uint index, GlHandle buffer)
- {
- Context.glBindBufferBase(target, index, buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindBufferRange(uint target, uint index, GlHandle buffer, nint offset, nint size)
- {
- Context.glBindBufferRange(target, index, buffer.Value, offset, size);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindFragDataLocation(GlHandle program, uint color, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- Context.glBindFragDataLocation(program.Value, color, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindFragDataLocationIndexed(GlHandle program, uint colorNumber, uint index, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- Context.glBindFragDataLocationIndexed(program.Value, colorNumber, index, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindFramebuffer(uint target, GlHandle framebuffer)
- {
- Context.glBindFramebuffer(target, framebuffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindRenderbuffer(uint target, GlHandle renderbuffer)
- {
- Context.glBindRenderbuffer(target, renderbuffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindSampler(uint unit, GlHandle sampler)
- {
- Context.glBindSampler(unit, sampler.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindTexture(uint target, GlHandle texture)
- {
- Context.glBindTexture(target, texture.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindVertexArray(uint array)
- {
- Context.glBindVertexArray(array);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendColor(float red, float green, float blue, float alpha)
- {
- Context.glBlendColor(red, green, blue, alpha);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendEquation(uint mode)
- {
- Context.glBlendEquation(mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendEquationSeparate(uint modeRGB, uint modeAlpha)
- {
- Context.glBlendEquationSeparate(modeRGB, modeAlpha);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendFunc(uint sfactor, uint dfactor)
- {
- Context.glBlendFunc(sfactor, dfactor);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendFuncSeparate(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha)
- {
- Context.glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter)
- {
- Context.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BufferData(uint target, nint size, void* data, uint usage)
- {
- Context.glBufferData(target, size, data, usage);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BufferSubData(uint target, nint offset, nint size, void* data)
- {
- Context.glBufferSubData(target, offset, size, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint CheckFramebufferStatus(uint target)
- {
- return Context.glCheckFramebufferStatus(target);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClampColor(uint target, uint clamp)
- {
- Context.glClampColor(target, clamp);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Clear(uint mask)
- {
- Context.glClear(mask);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearBuffer(uint buffer, int drawbuffer, float depth, int stencil)
- {
- Context.glClearBufferfi(buffer, drawbuffer, depth, stencil);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearBuffer(uint buffer, int drawbuffer, ReadOnlySpan value)
- {
- fixed (float* valuePtr = value)
- {
- Context.glClearBufferfv(buffer, drawbuffer, valuePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearBuffer(uint buffer, int drawbuffer, ReadOnlySpan value)
- {
- fixed (int* valuePtr = value)
- {
- Context.glClearBufferiv(buffer, drawbuffer, valuePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearBuffer(uint buffer, int drawbuffer, ReadOnlySpan value)
- {
- fixed (uint* valuePtr = value)
- {
- Context.glClearBufferuiv(buffer, drawbuffer, valuePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearColor(float red, float green, float blue, float alpha)
- {
- Context.glClearColor(red, green, blue, alpha);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearDepth(double depth)
- {
- Context.glClearDepth(depth);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearStencil(int s)
- {
- Context.glClearStencil(s);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint ClientWaitSync(glSync sync, uint flags, ulong timeout)
- {
- return Context.glClientWaitSync(sync, flags, timeout);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ColorMask(byte red, byte green, byte blue, byte alpha)
- {
- Context.glColorMask(red, green, blue, alpha);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ColorMask(uint index, byte r, byte g, byte b, byte a)
- {
- Context.glColorMaski(index, r, g, b, a);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompileShader(GlHandle shader)
- {
- Context.glCompileShader(shader.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTexImage1D(uint target, int level, uint internalformat, int width, int border, int imageSize, void* data)
- {
- Context.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTexImage2D(uint target, int level, uint internalformat, int width, int height, int border, int imageSize, void* data)
- {
- Context.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTexImage3D(uint target, int level, uint internalformat, int width, int height, int depth, int border, int imageSize, void* data)
- {
- Context.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTexSubImage1D(uint target, int level, int xoffset, int width, uint format, int imageSize, void* data)
- {
- Context.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, void* data)
- {
- Context.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, void* data)
- {
- Context.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyBufferSubData(uint readTarget, uint writeTarget, nint readOffset, nint writeOffset, nint size)
- {
- Context.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTexImage1D(uint target, int level, uint internalformat, int x, int y, int width, int border)
- {
- Context.glCopyTexImage1D(target, level, internalformat, x, y, width, border);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTexImage2D(uint target, int level, uint internalformat, int x, int y, int width, int height, int border)
- {
- Context.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTexSubImage1D(uint target, int level, int xoffset, int x, int y, int width)
- {
- Context.glCopyTexSubImage1D(target, level, xoffset, x, y, width);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTexSubImage2D(uint target, int level, int xoffset, int yoffset, int x, int y, int width, int height)
- {
- Context.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height)
- {
- Context.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public GlHandle CreateProgram()
- {
- return GlHandle.Create(Context.glCreateProgram());
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public GlHandle CreateShader(uint type)
- {
- return GlHandle.Create(Context.glCreateShader(type));
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CullFace(uint mode)
- {
- Context.glCullFace(mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteBuffers(ReadOnlySpan buffers)
- {
- fixed (uint* buffersPtr = buffers)
- {
- Context.glDeleteBuffers(checked((int)buffers.Length), buffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteFramebuffers(ReadOnlySpan framebuffers)
- {
- fixed (uint* framebuffersPtr = framebuffers)
- {
- Context.glDeleteFramebuffers(checked((int)framebuffers.Length), framebuffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteProgram(GlHandle program)
- {
- Context.glDeleteProgram(program.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteQueries(ReadOnlySpan ids)
- {
- fixed (uint* idsPtr = ids)
- {
- Context.glDeleteQueries(checked((int)ids.Length), idsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteRenderbuffers(ReadOnlySpan renderbuffers)
- {
- fixed (uint* renderbuffersPtr = renderbuffers)
- {
- Context.glDeleteRenderbuffers(checked((int)renderbuffers.Length), renderbuffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteSamplers(ReadOnlySpan samplers)
- {
- fixed (uint* samplersPtr = samplers)
- {
- Context.glDeleteSamplers(checked((int)samplers.Length), samplersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteShader(GlHandle shader)
- {
- Context.glDeleteShader(shader.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteSync(glSync sync)
- {
- Context.glDeleteSync(sync);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteTextures(ReadOnlySpan textures)
- {
- fixed (uint* texturesPtr = textures)
- {
- Context.glDeleteTextures(checked((int)textures.Length), texturesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteVertexArrays(ReadOnlySpan arrays)
- {
- fixed (uint* arraysPtr = arrays)
- {
- Context.glDeleteVertexArrays(checked((int)arrays.Length), arraysPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DepthFunc(uint func)
- {
- Context.glDepthFunc(func);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DepthMask(byte flag)
- {
- Context.glDepthMask(flag);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DepthRange(double n, double f)
- {
- Context.glDepthRange(n, f);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DetachShader(GlHandle program, GlHandle shader)
- {
- Context.glDetachShader(program.Value, shader.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Disable(uint cap)
- {
- Context.glDisable(cap);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DisableVertexAttribArray(uint index)
- {
- Context.glDisableVertexAttribArray(index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Disable(uint target, uint index)
- {
- Context.glDisablei(target, index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawArrays(uint mode, int first, int count)
- {
- Context.glDrawArrays(mode, first, count);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawArraysInstanced(uint mode, int first, int count, int instancecount)
- {
- Context.glDrawArraysInstanced(mode, first, count, instancecount);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawBuffer(uint buf)
- {
- Context.glDrawBuffer(buf);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawBuffers(ReadOnlySpan bufs)
- {
- fixed (uint* bufsPtr = bufs)
- {
- Context.glDrawBuffers(checked((int)bufs.Length), bufsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawElements(uint mode, int count, uint type, void* indices)
- {
- Context.glDrawElements(mode, count, type, indices);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawElementsBaseVertex(uint mode, int count, uint type, void* indices, int basevertex)
- {
- Context.glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawElementsInstanced(uint mode, int count, uint type, void* indices, int instancecount)
- {
- Context.glDrawElementsInstanced(mode, count, type, indices, instancecount);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawElementsInstancedBaseVertex(uint mode, int count, uint type, void* indices, int instancecount, int basevertex)
- {
- Context.glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawRangeElements(uint mode, uint start, uint end, int count, uint type, void* indices)
- {
- Context.glDrawRangeElements(mode, start, end, count, type, indices);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawRangeElementsBaseVertex(uint mode, uint start, uint end, int count, uint type, void* indices, int basevertex)
- {
- Context.glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Enable(uint cap)
- {
- Context.glEnable(cap);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void EnableVertexAttribArray(uint index)
- {
- Context.glEnableVertexAttribArray(index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Enable(uint target, uint index)
- {
- Context.glEnablei(target, index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void EndConditionalRender()
- {
- Context.glEndConditionalRender();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void EndQuery(uint target)
- {
- Context.glEndQuery(target);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void EndTransformFeedback()
- {
- Context.glEndTransformFeedback();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public glSync FenceSync(uint condition, uint flags)
- {
- return Context.glFenceSync(condition, flags);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Finish()
- {
- Context.glFinish();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Flush()
- {
- Context.glFlush();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FlushMappedBufferRange(uint target, nint offset, nint length)
- {
- Context.glFlushMappedBufferRange(target, offset, length);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FramebufferRenderbuffer(uint target, uint attachment, uint renderbuffertarget, GlHandle renderbuffer)
- {
- Context.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FramebufferTexture(uint target, uint attachment, GlHandle texture, int level)
- {
- Context.glFramebufferTexture(target, attachment, texture.Value, level);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FramebufferTexture1D(uint target, uint attachment, uint textarget, GlHandle texture, int level)
- {
- Context.glFramebufferTexture1D(target, attachment, textarget, texture.Value, level);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FramebufferTexture2D(uint target, uint attachment, uint textarget, GlHandle texture, int level)
- {
- Context.glFramebufferTexture2D(target, attachment, textarget, texture.Value, level);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FramebufferTexture3D(uint target, uint attachment, uint textarget, GlHandle texture, int level, int zoffset)
- {
- Context.glFramebufferTexture3D(target, attachment, textarget, texture.Value, level, zoffset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FramebufferTextureLayer(uint target, uint attachment, GlHandle texture, int level, int layer)
- {
- Context.glFramebufferTextureLayer(target, attachment, texture.Value, level, layer);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FrontFace(uint mode)
- {
- Context.glFrontFace(mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenBuffers(Span buffers)
- {
- fixed (uint* buffersPtr = buffers)
- {
- Context.glGenBuffers(checked((int)buffers.Length), buffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenFramebuffers(Span framebuffers)
- {
- fixed (uint* framebuffersPtr = framebuffers)
- {
- Context.glGenFramebuffers(checked((int)framebuffers.Length), framebuffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenQueries(Span ids)
- {
- fixed (uint* idsPtr = ids)
- {
- Context.glGenQueries(checked((int)ids.Length), idsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenRenderbuffers(Span renderbuffers)
- {
- fixed (uint* renderbuffersPtr = renderbuffers)
- {
- Context.glGenRenderbuffers(checked((int)renderbuffers.Length), renderbuffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenSamplers(Span samplers)
- {
- fixed (uint* samplersPtr = samplers)
- {
- Context.glGenSamplers(checked((int)samplers.Length), samplersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenTextures(Span textures)
- {
- fixed (uint* texturesPtr = textures)
- {
- Context.glGenTextures(checked((int)textures.Length), texturesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenVertexArrays(Span arrays)
- {
- fixed (uint* arraysPtr = arrays)
- {
- Context.glGenVertexArrays(checked((int)arrays.Length), arraysPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenerateMipmap(uint target)
- {
- Context.glGenerateMipmap(target);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveAttrib(GlHandle program, uint index, out int length, out int size, out uint type, Span name)
- {
- length = default;
- size = default;
- type = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (int* sizePtr = &size)
- {
- fixed (uint* typePtr = &type)
- {
- fixed (byte* namePtr = name)
- {
- Context.glGetActiveAttrib(program.Value, index, checked((int)name.Length), lengthPtr, sizePtr, typePtr, namePtr);
- }
- }
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveUniform(GlHandle program, uint index, out int length, out int size, out uint type, Span name)
- {
- length = default;
- size = default;
- type = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (int* sizePtr = &size)
- {
- fixed (uint* typePtr = &type)
- {
- fixed (byte* namePtr = name)
- {
- Context.glGetActiveUniform(program.Value, index, checked((int)name.Length), lengthPtr, sizePtr, typePtr, namePtr);
- }
- }
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveUniformBlockName(GlHandle program, uint uniformBlockIndex, out int length, Span uniformBlockName)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* uniformBlockNamePtr = uniformBlockName)
- {
- Context.glGetActiveUniformBlockName(program.Value, uniformBlockIndex, checked((int)uniformBlockName.Length), lengthPtr, uniformBlockNamePtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveUniformBlockiv(GlHandle program, uint uniformBlockIndex, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetActiveUniformBlockiv(program.Value, uniformBlockIndex, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveUniformName(GlHandle program, uint uniformIndex, out int length, Span uniformName)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* uniformNamePtr = uniformName)
- {
- Context.glGetActiveUniformName(program.Value, uniformIndex, checked((int)uniformName.Length), lengthPtr, uniformNamePtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveUniformsiv(GlHandle program, ReadOnlySpan uniformIndices, uint pname, Span @params)
- {
- fixed (uint* uniformIndicesPtr = uniformIndices)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetActiveUniformsiv(program.Value, checked((int)uniformIndices.Length), uniformIndicesPtr, pname, @paramsPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetAttachedShaders(GlHandle program, out int count, Span shaders)
- {
- count = default;
- fixed (int* countPtr = &count)
- {
- fixed (uint* shadersPtr = shaders)
- {
- Context.glGetAttachedShaders(program.Value, checked((int)shaders.Length), countPtr, shadersPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public int GetAttribLocation(GlHandle program, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetAttribLocation(program.Value, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetBooleani_v(uint target, uint index, Span data)
- {
- fixed (byte* dataPtr = data)
- {
- Context.glGetBooleani_v(target, index, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetBooleanv(uint pname, Span data)
- {
- fixed (byte* dataPtr = data)
- {
- Context.glGetBooleanv(pname, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetBufferParameter(uint target, uint pname, Span @params)
- {
- fixed (long* @paramsPtr = @params)
- {
- Context.glGetBufferParameteri64v(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetBufferParameter(uint target, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetBufferParameteriv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetBufferPointerv(uint target, uint pname, void** @params)
- {
- Context.glGetBufferPointerv(target, pname, @params);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetBufferSubData(uint target, nint offset, nint size, void* data)
- {
- Context.glGetBufferSubData(target, offset, size, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetCompressedTexImage(uint target, int level, void* img)
- {
- Context.glGetCompressedTexImage(target, level, img);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetDoublev(uint pname, Span data)
- {
- fixed (double* dataPtr = data)
- {
- Context.glGetDoublev(pname, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint GetError()
- {
- return Context.glGetError();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetFloatv(uint pname, Span data)
- {
- fixed (float* dataPtr = data)
- {
- Context.glGetFloatv(pname, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public int GetFragDataIndex(GlHandle program, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetFragDataIndex(program.Value, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public int GetFragDataLocation(GlHandle program, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetFragDataLocation(program.Value, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetFramebufferAttachmentParameteriv(uint target, uint attachment, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetFramebufferAttachmentParameteriv(target, attachment, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetInteger64i_v(uint target, uint index, Span data)
- {
- fixed (long* dataPtr = data)
- {
- Context.glGetInteger64i_v(target, index, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetInteger64v(uint pname, Span data)
- {
- fixed (long* dataPtr = data)
- {
- Context.glGetInteger64v(pname, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetIntegeri_v(uint target, uint index, Span data)
- {
- fixed (int* dataPtr = data)
- {
- Context.glGetIntegeri_v(target, index, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetIntegerv(uint pname, Span data)
- {
- fixed (int* dataPtr = data)
- {
- Context.glGetIntegerv(pname, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetMultisamplefv(uint pname, uint index, Span val)
- {
- fixed (float* valPtr = val)
- {
- Context.glGetMultisamplefv(pname, index, valPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramInfoLog(GlHandle program, out int length, Span infoLog)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* infoLogPtr = infoLog)
- {
- Context.glGetProgramInfoLog(program.Value, checked((int)infoLog.Length), lengthPtr, infoLogPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramiv(GlHandle program, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetProgramiv(program.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryObject(uint id, uint pname, Span @params)
- {
- fixed (long* @paramsPtr = @params)
- {
- Context.glGetQueryObjecti64v(id, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryObject(uint id, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetQueryObjectiv(id, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryObject(uint id, uint pname, Span @params)
- {
- fixed (ulong* @paramsPtr = @params)
- {
- Context.glGetQueryObjectui64v(id, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryObject(uint id, uint pname, Span @params)
- {
- fixed (uint* @paramsPtr = @params)
- {
- Context.glGetQueryObjectuiv(id, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryiv(uint target, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetQueryiv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetRenderbufferParameteriv(uint target, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetRenderbufferParameteriv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetSamplerParameterI(GlHandle sampler, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetSamplerParameterIiv(sampler.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetSamplerParameterI(GlHandle sampler, uint pname, Span @params)
- {
- fixed (uint* @paramsPtr = @params)
- {
- Context.glGetSamplerParameterIuiv(sampler.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetSamplerParameter(GlHandle sampler, uint pname, Span @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetSamplerParameterfv(sampler.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetSamplerParameter(GlHandle sampler, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetSamplerParameteriv(sampler.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetShaderInfoLog(GlHandle shader, out int length, Span infoLog)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* infoLogPtr = infoLog)
- {
- Context.glGetShaderInfoLog(shader.Value, checked((int)infoLog.Length), lengthPtr, infoLogPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetShaderSource(GlHandle shader, out int length, Span source)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* sourcePtr = source)
- {
- Context.glGetShaderSource(shader.Value, checked((int)source.Length), lengthPtr, sourcePtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetShaderiv(GlHandle shader, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetShaderiv(shader.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte* GetString(uint name)
- {
- return Context.glGetString(name);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte* GetString(uint name, uint index)
- {
- return Context.glGetStringi(name, index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetSynciv(glSync sync, uint pname, out int length, Span values)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (int* valuesPtr = values)
- {
- Context.glGetSynciv(sync, pname, checked((int)values.Length), lengthPtr, valuesPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTexImage(uint target, int level, uint format, uint type, void* pixels)
- {
- Context.glGetTexImage(target, level, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTexLevelParameter(uint target, int level, uint pname, Span @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetTexLevelParameterfv(target, level, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTexLevelParameter(uint target, int level, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetTexLevelParameteriv(target, level, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTexParameterI(uint target, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetTexParameterIiv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTexParameterI(uint target, uint pname, Span @params)
- {
- fixed (uint* @paramsPtr = @params)
- {
- Context.glGetTexParameterIuiv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTexParameter(uint target, uint pname, Span @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetTexParameterfv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTexParameter(uint target, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetTexParameteriv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTransformFeedbackVarying(GlHandle program, uint index, out int length, out int size, out uint type, Span name)
- {
- length = default;
- size = default;
- type = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (int* sizePtr = &size)
- {
- fixed (uint* typePtr = &type)
- {
- fixed (byte* namePtr = name)
- {
- Context.glGetTransformFeedbackVarying(program.Value, index, checked((int)name.Length), lengthPtr, sizePtr, typePtr, namePtr);
- }
- }
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint GetUniformBlockIndex(GlHandle program, ReadOnlySpan uniformBlockName)
- {
- fixed (byte* uniformBlockNamePtr = uniformBlockName)
- {
- return Context.glGetUniformBlockIndex(program.Value, uniformBlockNamePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetUniformIndices(GlHandle program, int uniformCount, byte** uniformNames, Span uniformIndices)
- {
- fixed (uint* uniformIndicesPtr = uniformIndices)
- {
- Context.glGetUniformIndices(program.Value, uniformCount, uniformNames, uniformIndicesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public int GetUniformLocation(GlHandle program, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetUniformLocation(program.Value, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetUniform(GlHandle program, int location, Span @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetUniformfv(program.Value, location, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetUniform(GlHandle program, int location, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetUniformiv(program.Value, location, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetUniform(GlHandle program, int location, Span @params)
- {
- fixed (uint* @paramsPtr = @params)
- {
- Context.glGetUniformuiv(program.Value, location, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexAttribI(uint index, uint pname, out int @params)
- {
- @params = default;
- fixed (int* @paramsPtr = &@params)
- {
- Context.glGetVertexAttribIiv(index, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexAttribI(uint index, uint pname, out uint @params)
- {
- @params = default;
- fixed (uint* @paramsPtr = &@params)
- {
- Context.glGetVertexAttribIuiv(index, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexAttribPointerv(uint index, uint pname, void** pointer)
- {
- Context.glGetVertexAttribPointerv(index, pname, pointer);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexAttrib(uint index, uint pname, Span @params)
- {
- if (@params.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(@params));
- }
- fixed (double* @paramsPtr = @params)
- {
- Context.glGetVertexAttribdv(index, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexAttrib(uint index, uint pname, Span @params)
- {
- if (@params.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(@params));
- }
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetVertexAttribfv(index, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexAttrib(uint index, uint pname, Span @params)
- {
- if (@params.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(@params));
- }
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetVertexAttribiv(index, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Hint(uint target, uint mode)
- {
- Context.glHint(target, mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsBuffer(GlHandle buffer)
- {
- return Context.glIsBuffer(buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsEnabled(uint cap)
- {
- return Context.glIsEnabled(cap);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsEnabled(uint target, uint index)
- {
- return Context.glIsEnabledi(target, index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsFramebuffer(GlHandle framebuffer)
- {
- return Context.glIsFramebuffer(framebuffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsProgram(GlHandle program)
- {
- return Context.glIsProgram(program.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsQuery(uint id)
- {
- return Context.glIsQuery(id);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsRenderbuffer(GlHandle renderbuffer)
- {
- return Context.glIsRenderbuffer(renderbuffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsSampler(GlHandle sampler)
- {
- return Context.glIsSampler(sampler.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsShader(GlHandle shader)
- {
- return Context.glIsShader(shader.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsSync(glSync sync)
- {
- return Context.glIsSync(sync);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsTexture(GlHandle texture)
- {
- return Context.glIsTexture(texture.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsVertexArray(uint array)
- {
- return Context.glIsVertexArray(array);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void LineWidth(float width)
- {
- Context.glLineWidth(width);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void LinkProgram(GlHandle program)
- {
- Context.glLinkProgram(program.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void LogicOp(uint opcode)
- {
- Context.glLogicOp(opcode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void* MapBuffer(uint target, uint access)
- {
- return Context.glMapBuffer(target, access);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void* MapBufferRange(uint target, nint offset, nint length, uint access)
- {
- return Context.glMapBufferRange(target, offset, length, access);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MultiDrawArrays(uint mode, ReadOnlySpan first, ReadOnlySpan count)
- {
- if (count.Length != first.Length) {
- throw new ArgumentException("Span lengths controlled by drawcount must match.", nameof(count));
- }
- fixed (int* firstPtr = first)
- {
- fixed (int* countPtr = count)
- {
- Context.glMultiDrawArrays(mode, firstPtr, countPtr, checked((int)first.Length));
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MultiDrawElements(uint mode, ReadOnlySpan count, uint type, void** indices, int drawcount)
- {
- if (count.Length < checked((int)drawcount)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'drawcount'.", nameof(count));
- }
- fixed (int* countPtr = count)
- {
- Context.glMultiDrawElements(mode, countPtr, type, indices, drawcount);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MultiDrawElementsBaseVertex(uint mode, ReadOnlySpan count, uint type, void** indices, int drawcount, ReadOnlySpan basevertex)
- {
- if (count.Length < checked((int)drawcount)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'drawcount'.", nameof(count));
- }
- if (basevertex.Length < checked((int)drawcount)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'drawcount'.", nameof(basevertex));
- }
- fixed (int* countPtr = count)
- {
- fixed (int* basevertexPtr = basevertex)
- {
- Context.glMultiDrawElementsBaseVertex(mode, countPtr, type, indices, drawcount, basevertexPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PixelStore(uint pname, float param)
- {
- Context.glPixelStoref(pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PixelStore(uint pname, int param)
- {
- Context.glPixelStorei(pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PointParameter(uint pname, float param)
- {
- Context.glPointParameterf(pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PointParameter(uint pname, ReadOnlySpan @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glPointParameterfv(pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PointParameter(uint pname, int param)
- {
- Context.glPointParameteri(pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PointParameter(uint pname, ReadOnlySpan @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glPointParameteriv(pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PointSize(float size)
- {
- Context.glPointSize(size);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PolygonMode(uint face, uint mode)
- {
- Context.glPolygonMode(face, mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PolygonOffset(float factor, float units)
- {
- Context.glPolygonOffset(factor, units);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PrimitiveRestartIndex(uint index)
- {
- Context.glPrimitiveRestartIndex(index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ProvokingVertex(uint mode)
- {
- Context.glProvokingVertex(mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void QueryCounter(uint id, uint target)
- {
- Context.glQueryCounter(id, target);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ReadBuffer(uint src)
- {
- Context.glReadBuffer(src);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ReadPixels(int x, int y, int width, int height, uint format, uint type, void* pixels)
- {
- Context.glReadPixels(x, y, width, height, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void RenderbufferStorage(uint target, uint internalformat, int width, int height)
- {
- Context.glRenderbufferStorage(target, internalformat, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void RenderbufferStorageMultisample(uint target, int samples, uint internalformat, int width, int height)
- {
- Context.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SampleCoverage(float value, byte invert)
- {
- Context.glSampleCoverage(value, invert);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SampleMaski(uint maskNumber, uint mask)
- {
- Context.glSampleMaski(maskNumber, mask);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SamplerParameterI(GlHandle sampler, uint pname, ReadOnlySpan param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glSamplerParameterIiv(sampler.Value, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SamplerParameterI(GlHandle sampler, uint pname, ReadOnlySpan param)
- {
- fixed (uint* paramPtr = param)
- {
- Context.glSamplerParameterIuiv(sampler.Value, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SamplerParameter(GlHandle sampler, uint pname, float param)
- {
- Context.glSamplerParameterf(sampler.Value, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SamplerParameter(GlHandle sampler, uint pname, ReadOnlySpan param)
- {
- fixed (float* paramPtr = param)
- {
- Context.glSamplerParameterfv(sampler.Value, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SamplerParameter(GlHandle sampler, uint pname, int param)
- {
- Context.glSamplerParameteri(sampler.Value, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SamplerParameter(GlHandle sampler, uint pname, ReadOnlySpan param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glSamplerParameteriv(sampler.Value, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Scissor(int x, int y, int width, int height)
- {
- Context.glScissor(x, y, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ShaderSource(GlHandle shader, int count, byte** @string, ReadOnlySpan length)
- {
- if (length.Length < checked((int)count)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'count'.", nameof(length));
- }
- fixed (int* lengthPtr = length)
- {
- Context.glShaderSource(shader.Value, count, @string, lengthPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void StencilFunc(uint func, int @ref, uint mask)
- {
- Context.glStencilFunc(func, @ref, mask);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void StencilFuncSeparate(uint face, uint func, int @ref, uint mask)
- {
- Context.glStencilFuncSeparate(face, func, @ref, mask);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void StencilMask(uint mask)
- {
- Context.glStencilMask(mask);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void StencilMaskSeparate(uint face, uint mask)
- {
- Context.glStencilMaskSeparate(face, mask);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void StencilOp(uint fail, uint zfail, uint zpass)
- {
- Context.glStencilOp(fail, zfail, zpass);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void StencilOpSeparate(uint face, uint sfail, uint dpfail, uint dppass)
- {
- Context.glStencilOpSeparate(face, sfail, dpfail, dppass);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexBuffer(uint target, uint internalformat, GlHandle buffer)
- {
- Context.glTexBuffer(target, internalformat, buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexImage1D(uint target, int level, int internalformat, int width, int border, uint format, uint type, void* pixels)
- {
- Context.glTexImage1D(target, level, internalformat, width, border, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexImage2D(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, void* pixels)
- {
- Context.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexImage2DMultisample(uint target, int samples, uint internalformat, int width, int height, byte fixedsamplelocations)
- {
- Context.glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexImage3D(uint target, int level, int internalformat, int width, int height, int depth, int border, uint format, uint type, void* pixels)
- {
- Context.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexImage3DMultisample(uint target, int samples, uint internalformat, int width, int height, int depth, byte fixedsamplelocations)
- {
- Context.glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexParameterI(uint target, uint pname, ReadOnlySpan @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glTexParameterIiv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexParameterI(uint target, uint pname, ReadOnlySpan @params)
- {
- fixed (uint* @paramsPtr = @params)
- {
- Context.glTexParameterIuiv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexParameter(uint target, uint pname, float param)
- {
- Context.glTexParameterf(target, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexParameter(uint target, uint pname, ReadOnlySpan @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glTexParameterfv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexParameter(uint target, uint pname, int param)
- {
- Context.glTexParameteri(target, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexParameter(uint target, uint pname, ReadOnlySpan @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glTexParameteriv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexSubImage1D(uint target, int level, int xoffset, int width, uint format, uint type, void* pixels)
- {
- Context.glTexSubImage1D(target, level, xoffset, width, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, void* pixels)
- {
- Context.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* pixels)
- {
- Context.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TransformFeedbackVaryings(GlHandle program, int count, byte** varyings, uint bufferMode)
- {
- Context.glTransformFeedbackVaryings(program.Value, count, varyings, bufferMode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void UniformBlockBinding(GlHandle program, uint uniformBlockIndex, uint uniformBlockBinding)
- {
- Context.glUniformBlockBinding(program.Value, uniformBlockIndex, uniformBlockBinding);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte UnmapBuffer(uint target)
- {
- return Context.glUnmapBuffer(target);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void UseProgram(GlHandle program)
- {
- Context.glUseProgram(program.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ValidateProgram(GlHandle program)
- {
- Context.glValidateProgram(program.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, double x)
- {
- Context.glVertexAttrib1d(index, x);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, float x)
- {
- Context.glVertexAttrib1f(index, x);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, short x)
- {
- Context.glVertexAttrib1s(index, x);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, double x, double y)
- {
- Context.glVertexAttrib2d(index, x, y);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, float x, float y)
- {
- Context.glVertexAttrib2f(index, x, y);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, short x, short y)
- {
- Context.glVertexAttrib2s(index, x, y);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, double x, double y, double z)
- {
- Context.glVertexAttrib3d(index, x, y, z);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, float x, float y, float z)
- {
- Context.glVertexAttrib3f(index, x, y, z);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, short x, short y, short z)
- {
- Context.glVertexAttrib3s(index, x, y, z);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribNormalized(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (sbyte* vPtr = v)
- {
- Context.glVertexAttrib4Nbv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribNormalized(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (int* vPtr = v)
- {
- Context.glVertexAttrib4Niv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribNormalized(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (short* vPtr = v)
- {
- Context.glVertexAttrib4Nsv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribNormalized(uint index, byte x, byte y, byte z, byte w)
- {
- Context.glVertexAttrib4Nub(index, x, y, z, w);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribNormalized(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (uint* vPtr = v)
- {
- Context.glVertexAttrib4Nuiv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribNormalized(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (ushort* vPtr = v)
- {
- Context.glVertexAttrib4Nusv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (sbyte* vPtr = v)
- {
- Context.glVertexAttrib4bv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, double x, double y, double z, double w)
- {
- Context.glVertexAttrib4d(index, x, y, z, w);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, float x, float y, float z, float w)
- {
- Context.glVertexAttrib4f(index, x, y, z, w);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (int* vPtr = v)
- {
- Context.glVertexAttrib4iv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, short x, short y, short z, short w)
- {
- Context.glVertexAttrib4s(index, x, y, z, w);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (byte* vPtr = v)
- {
- Context.glVertexAttrib4ubv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (uint* vPtr = v)
- {
- Context.glVertexAttrib4uiv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttrib(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (ushort* vPtr = v)
- {
- Context.glVertexAttrib4usv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribDivisor(uint index, uint divisor)
- {
- Context.glVertexAttribDivisor(index, divisor);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, int x)
- {
- Context.glVertexAttribI1i(index, x);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, uint x)
- {
- Context.glVertexAttribI1ui(index, x);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, int x, int y)
- {
- Context.glVertexAttribI2i(index, x, y);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, uint x, uint y)
- {
- Context.glVertexAttribI2ui(index, x, y);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, int x, int y, int z)
- {
- Context.glVertexAttribI3i(index, x, y, z);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, uint x, uint y, uint z)
- {
- Context.glVertexAttribI3ui(index, x, y, z);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (sbyte* vPtr = v)
- {
- Context.glVertexAttribI4bv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, int x, int y, int z, int w)
- {
- Context.glVertexAttribI4i(index, x, y, z, w);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (short* vPtr = v)
- {
- Context.glVertexAttribI4sv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (byte* vPtr = v)
- {
- Context.glVertexAttribI4ubv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, uint x, uint y, uint z, uint w)
- {
- Context.glVertexAttribI4ui(index, x, y, z, w);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribI(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (ushort* vPtr = v)
- {
- Context.glVertexAttribI4usv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribIPointer(uint index, int size, uint type, int stride, void* pointer)
- {
- Context.glVertexAttribIPointer(index, size, type, stride, pointer);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribP(uint index, uint type, byte normalized, uint value)
- {
- Context.glVertexAttribP1ui(index, type, normalized, value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribP2(uint index, uint type, byte normalized, uint value)
- {
- Context.glVertexAttribP2ui(index, type, normalized, value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribP3(uint index, uint type, byte normalized, uint value)
- {
- Context.glVertexAttribP3ui(index, type, normalized, value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribP4(uint index, uint type, byte normalized, uint value)
- {
- Context.glVertexAttribP4ui(index, type, normalized, value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribPointer(uint index, int size, uint type, byte normalized, int stride, void* pointer)
- {
- Context.glVertexAttribPointer(index, size, type, normalized, stride, pointer);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Viewport(int x, int y, int width, int height)
- {
- Context.glViewport(x, y, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void WaitSync(glSync sync, uint flags, ulong timeout)
- {
- Context.glWaitSync(sync, flags, timeout);
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_0.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_0.g.cs
deleted file mode 100644
index 484c5f86..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_0.g.cs
+++ /dev/null
@@ -1,238 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 4.0
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BeginQueryIndexed(uint target, uint index, uint id)
- {
- Context.glBeginQueryIndexed(target, index, id);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindTransformFeedback(uint target, uint id)
- {
- Context.glBindTransformFeedback(target, id);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendEquationSeparate(uint buf, uint modeRGB, uint modeAlpha)
- {
- Context.glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendEquation(uint buf, uint mode)
- {
- Context.glBlendEquationi(buf, mode);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendFuncSeparate(uint buf, uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha)
- {
- Context.glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlendFunc(uint buf, uint src, uint dst)
- {
- Context.glBlendFunci(buf, src, dst);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteTransformFeedbacks(ReadOnlySpan ids)
- {
- fixed (uint* idsPtr = ids)
- {
- Context.glDeleteTransformFeedbacks(checked((int)ids.Length), idsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawArraysIndirect(uint mode, void* indirect)
- {
- Context.glDrawArraysIndirect(mode, indirect);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawElementsIndirect(uint mode, uint type, void* indirect)
- {
- Context.glDrawElementsIndirect(mode, type, indirect);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawTransformFeedback(uint mode, uint id)
- {
- Context.glDrawTransformFeedback(mode, id);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawTransformFeedbackStream(uint mode, uint id, uint stream)
- {
- Context.glDrawTransformFeedbackStream(mode, id, stream);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void EndQueryIndexed(uint target, uint index)
- {
- Context.glEndQueryIndexed(target, index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenTransformFeedbacks(Span ids)
- {
- fixed (uint* idsPtr = ids)
- {
- Context.glGenTransformFeedbacks(checked((int)ids.Length), idsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveSubroutineName(GlHandle program, uint shadertype, uint index, out int length, Span name)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* namePtr = name)
- {
- Context.glGetActiveSubroutineName(program.Value, shadertype, index, checked((int)name.Length), lengthPtr, namePtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveSubroutineUniformName(GlHandle program, uint shadertype, uint index, out int length, Span name)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* namePtr = name)
- {
- Context.glGetActiveSubroutineUniformName(program.Value, shadertype, index, checked((int)name.Length), lengthPtr, namePtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveSubroutineUniformiv(GlHandle program, uint shadertype, uint index, uint pname, Span values)
- {
- fixed (int* valuesPtr = values)
- {
- Context.glGetActiveSubroutineUniformiv(program.Value, shadertype, index, pname, valuesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramStageiv(GlHandle program, uint shadertype, uint pname, out int values)
- {
- values = default;
- fixed (int* valuesPtr = &values)
- {
- Context.glGetProgramStageiv(program.Value, shadertype, pname, valuesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryIndexediv(uint target, uint index, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetQueryIndexediv(target, index, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint GetSubroutineIndex(GlHandle program, uint shadertype, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetSubroutineIndex(program.Value, shadertype, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public int GetSubroutineUniformLocation(GlHandle program, uint shadertype, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetSubroutineUniformLocation(program.Value, shadertype, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetUniformSubroutineuiv(uint shadertype, int location, out uint @params)
- {
- @params = default;
- fixed (uint* @paramsPtr = &@params)
- {
- Context.glGetUniformSubroutineuiv(shadertype, location, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetUniform(GlHandle program, int location, Span @params)
- {
- fixed (double* @paramsPtr = @params)
- {
- Context.glGetUniformdv(program.Value, location, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsTransformFeedback(uint id)
- {
- return Context.glIsTransformFeedback(id);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MinSampleShading(float value)
- {
- Context.glMinSampleShading(value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PatchParameter(uint pname, ReadOnlySpan values)
- {
- fixed (float* valuesPtr = values)
- {
- Context.glPatchParameterfv(pname, valuesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PatchParameter(uint pname, int value)
- {
- Context.glPatchParameteri(pname, value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PauseTransformFeedback()
- {
- Context.glPauseTransformFeedback();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ResumeTransformFeedback()
- {
- Context.glResumeTransformFeedback();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void UniformSubroutinesuiv(uint shadertype, ReadOnlySpan indices)
- {
- fixed (uint* indicesPtr = indices)
- {
- Context.glUniformSubroutinesuiv(shadertype, checked((int)indices.Length), indicesPtr);
- }
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_1.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_1.g.cs
deleted file mode 100644
index 795baf52..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_1.g.cs
+++ /dev/null
@@ -1,286 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 4.1
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ActiveShaderProgram(uint pipeline, GlHandle program)
- {
- Context.glActiveShaderProgram(pipeline, program.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindProgramPipeline(uint pipeline)
- {
- Context.glBindProgramPipeline(pipeline);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearDepth(float d)
- {
- Context.glClearDepthf(d);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public GlHandle CreateShaderProgramv(uint type, int count, byte** strings)
- {
- return GlHandle.Create(Context.glCreateShaderProgramv(type, count, strings));
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DeleteProgramPipelines(ReadOnlySpan pipelines)
- {
- fixed (uint* pipelinesPtr = pipelines)
- {
- Context.glDeleteProgramPipelines(checked((int)pipelines.Length), pipelinesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DepthRangeArrayv(uint first, int count, ReadOnlySpan v)
- {
- fixed (double* vPtr = v)
- {
- Context.glDepthRangeArrayv(first, count, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DepthRangeIndexed(uint index, double n, double f)
- {
- Context.glDepthRangeIndexed(index, n, f);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DepthRange(float n, float f)
- {
- Context.glDepthRangef(n, f);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenProgramPipelines(Span pipelines)
- {
- fixed (uint* pipelinesPtr = pipelines)
- {
- Context.glGenProgramPipelines(checked((int)pipelines.Length), pipelinesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetDoublei_v(uint target, uint index, Span data)
- {
- fixed (double* dataPtr = data)
- {
- Context.glGetDoublei_v(target, index, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetFloati_v(uint target, uint index, Span data)
- {
- fixed (float* dataPtr = data)
- {
- Context.glGetFloati_v(target, index, dataPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramBinary(GlHandle program, int bufSize, out int length, out uint binaryFormat, void* binary)
- {
- length = default;
- binaryFormat = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (uint* binaryFormatPtr = &binaryFormat)
- {
- Context.glGetProgramBinary(program.Value, bufSize, lengthPtr, binaryFormatPtr, binary);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramPipelineInfoLog(uint pipeline, out int length, Span infoLog)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* infoLogPtr = infoLog)
- {
- Context.glGetProgramPipelineInfoLog(pipeline, checked((int)infoLog.Length), lengthPtr, infoLogPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramPipelineiv(uint pipeline, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetProgramPipelineiv(pipeline, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetShaderPrecisionFormat(uint shadertype, uint precisiontype, Span range, out int precision)
- {
- precision = default;
- if (range.Length < 2) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '2'.", nameof(range));
- }
- fixed (int* rangePtr = range)
- {
- fixed (int* precisionPtr = &precision)
- {
- Context.glGetShaderPrecisionFormat(shadertype, precisiontype, rangePtr, precisionPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexAttribLdv(uint index, uint pname, Span @params)
- {
- fixed (double* @paramsPtr = @params)
- {
- Context.glGetVertexAttribLdv(index, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte IsProgramPipeline(uint pipeline)
- {
- return Context.glIsProgramPipeline(pipeline);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ProgramBinary(GlHandle program, uint binaryFormat, void* binary, int length)
- {
- Context.glProgramBinary(program.Value, binaryFormat, binary, length);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ProgramParameter(GlHandle program, uint pname, int value)
- {
- Context.glProgramParameteri(program.Value, pname, value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ReleaseShaderCompiler()
- {
- Context.glReleaseShaderCompiler();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ScissorArrayv(uint first, int count, ReadOnlySpan v)
- {
- fixed (int* vPtr = v)
- {
- Context.glScissorArrayv(first, count, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ScissorIndexed(uint index, int left, int bottom, int width, int height)
- {
- Context.glScissorIndexed(index, left, bottom, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ScissorIndexed(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (int* vPtr = v)
- {
- Context.glScissorIndexedv(index, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ShaderBinary(ReadOnlySpan shaders, uint binaryFormat, void* binary, int length)
- {
- fixed (uint* shadersPtr = shaders)
- {
- Context.glShaderBinary(checked((int)shaders.Length), shadersPtr, binaryFormat, binary, length);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void UseProgramStages(uint pipeline, uint stages, GlHandle program)
- {
- Context.glUseProgramStages(pipeline, stages, program.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ValidateProgramPipeline(uint pipeline)
- {
- Context.glValidateProgramPipeline(pipeline);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribL(uint index, double x)
- {
- Context.glVertexAttribL1d(index, x);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribL(uint index, double x, double y)
- {
- Context.glVertexAttribL2d(index, x, y);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribL(uint index, double x, double y, double z)
- {
- Context.glVertexAttribL3d(index, x, y, z);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribL(uint index, double x, double y, double z, double w)
- {
- Context.glVertexAttribL4d(index, x, y, z, w);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribLPointer(uint index, int size, uint type, int stride, void* pointer)
- {
- Context.glVertexAttribLPointer(index, size, type, stride, pointer);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ViewportArrayv(uint first, int count, ReadOnlySpan v)
- {
- fixed (float* vPtr = v)
- {
- Context.glViewportArrayv(first, count, vPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ViewportIndexed(uint index, float x, float y, float w, float h)
- {
- Context.glViewportIndexedf(index, x, y, w, h);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ViewportIndexed(uint index, ReadOnlySpan v)
- {
- if (v.Length < 4) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v));
- }
- fixed (float* vPtr = v)
- {
- Context.glViewportIndexedfv(index, vPtr);
- }
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_2.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_2.g.cs
deleted file mode 100644
index 4d0f9c84..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_2.g.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 4.2
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindImageTexture(uint unit, GlHandle texture, int level, byte layered, int layer, uint access, uint format)
- {
- Context.glBindImageTexture(unit, texture.Value, level, layered, layer, access, format);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawArraysInstancedBaseInstance(uint mode, int first, int count, int instancecount, uint baseinstance)
- {
- Context.glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawElementsInstancedBaseInstance(uint mode, int count, uint type, void* indices, int instancecount, uint baseinstance)
- {
- Context.glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawElementsInstancedBaseVertexBaseInstance(uint mode, int count, uint type, void* indices, int instancecount, int basevertex, uint baseinstance)
- {
- Context.glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawTransformFeedbackInstanced(uint mode, uint id, int instancecount)
- {
- Context.glDrawTransformFeedbackInstanced(mode, id, instancecount);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DrawTransformFeedbackStreamInstanced(uint mode, uint id, uint stream, int instancecount)
- {
- Context.glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetActiveAtomicCounterBufferiv(GlHandle program, GlHandle bufferIndex, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetActiveAtomicCounterBufferiv(program.Value, bufferIndex.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetInternalformativ(uint target, uint internalformat, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetInternalformativ(target, internalformat, pname, checked((int)@params.Length), @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MemoryBarrier(uint barriers)
- {
- Context.glMemoryBarrier(barriers);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexStorage1D(uint target, int levels, uint internalformat, int width)
- {
- Context.glTexStorage1D(target, levels, internalformat, width);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexStorage2D(uint target, int levels, uint internalformat, int width, int height)
- {
- Context.glTexStorage2D(target, levels, internalformat, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexStorage3D(uint target, int levels, uint internalformat, int width, int height, int depth)
- {
- Context.glTexStorage3D(target, levels, internalformat, width, height, depth);
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_3.g.cs
deleted file mode 100644
index 134d7495..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_3.g.cs
+++ /dev/null
@@ -1,379 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 4.3
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindVertexBuffer(uint bindingindex, GlHandle buffer, nint offset, int stride)
- {
- Context.glBindVertexBuffer(bindingindex, buffer.Value, offset, stride);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearBufferData(uint target, uint internalformat, uint format, uint type, void* data)
- {
- Context.glClearBufferData(target, internalformat, format, type, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearBufferSubData(uint target, uint internalformat, nint offset, nint size, uint format, uint type, void* data)
- {
- Context.glClearBufferSubData(target, internalformat, offset, size, format, type, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyImageSubData(uint srcName, uint srcTarget, int srcLevel, int srcX, int srcY, int srcZ, uint dstName, uint dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth)
- {
- Context.glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DebugMessageCallback(IntPtr callback, void* userParam)
- {
- Context.glDebugMessageCallback(callback, userParam);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DebugMessageControl(uint source, uint type, uint severity, ReadOnlySpan ids, byte enabled)
- {
- fixed (uint* idsPtr = ids)
- {
- Context.glDebugMessageControl(source, type, severity, checked((int)ids.Length), idsPtr, enabled);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DebugMessageInsert(uint source, uint type, uint id, uint severity, int length, ReadOnlySpan buf)
- {
- fixed (byte* bufPtr = buf)
- {
- Context.glDebugMessageInsert(source, type, id, severity, length, bufPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DispatchCompute(uint num_groups_x, uint num_groups_y, uint num_groups_z)
- {
- Context.glDispatchCompute(num_groups_x, num_groups_y, num_groups_z);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DispatchComputeIndirect(nint indirect)
- {
- Context.glDispatchComputeIndirect(indirect);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FramebufferParameter(uint target, uint pname, int param)
- {
- Context.glFramebufferParameteri(target, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint GetDebugMessageLog(Span sources, Span types, Span ids, Span severities, Span lengths, Span messageLog)
- {
- if (types.Length != sources.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(types));
- }
- if (ids.Length != sources.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(ids));
- }
- if (severities.Length != sources.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(severities));
- }
- if (lengths.Length != sources.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(lengths));
- }
- fixed (uint* sourcesPtr = sources)
- {
- fixed (uint* typesPtr = types)
- {
- fixed (uint* idsPtr = ids)
- {
- fixed (uint* severitiesPtr = severities)
- {
- fixed (int* lengthsPtr = lengths)
- {
- fixed (byte* messageLogPtr = messageLog)
- {
- return Context.glGetDebugMessageLog(checked((uint)sources.Length), checked((int)messageLog.Length), sourcesPtr, typesPtr, idsPtr, severitiesPtr, lengthsPtr, messageLogPtr);
- }
- }
- }
- }
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetFramebufferParameteriv(uint target, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetFramebufferParameteriv(target, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetInternalformati64v(uint target, uint internalformat, uint pname, Span @params)
- {
- fixed (long* @paramsPtr = @params)
- {
- Context.glGetInternalformati64v(target, internalformat, pname, checked((int)@params.Length), @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetObjectLabel(uint identifier, uint name, out int length, Span label)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* labelPtr = label)
- {
- Context.glGetObjectLabel(identifier, name, checked((int)label.Length), lengthPtr, labelPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetObjectPtrLabel(void* ptr, out int length, Span label)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* labelPtr = label)
- {
- Context.glGetObjectPtrLabel(ptr, checked((int)label.Length), lengthPtr, labelPtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetPointerv(uint pname, void** @params)
- {
- Context.glGetPointerv(pname, @params);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramInterfaceiv(GlHandle program, uint programInterface, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetProgramInterfaceiv(program.Value, programInterface, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint GetProgramResourceIndex(GlHandle program, uint programInterface, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetProgramResourceIndex(program.Value, programInterface, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public int GetProgramResourceLocation(GlHandle program, uint programInterface, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetProgramResourceLocation(program.Value, programInterface, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public int GetProgramResourceLocationIndex(GlHandle program, uint programInterface, ReadOnlySpan name)
- {
- fixed (byte* namePtr = name)
- {
- return Context.glGetProgramResourceLocationIndex(program.Value, programInterface, namePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramResourceName(GlHandle program, uint programInterface, uint index, out int length, Span name)
- {
- length = default;
- fixed (int* lengthPtr = &length)
- {
- fixed (byte* namePtr = name)
- {
- Context.glGetProgramResourceName(program.Value, programInterface, index, checked((int)name.Length), lengthPtr, namePtr);
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetProgramResourceiv(GlHandle program, uint programInterface, uint index, ReadOnlySpan props, out int length, Span @params)
- {
- length = default;
- fixed (uint* propsPtr = props)
- {
- fixed (int* lengthPtr = &length)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetProgramResourceiv(program.Value, programInterface, index, checked((int)props.Length), propsPtr, checked((int)@params.Length), lengthPtr, @paramsPtr);
- }
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateBufferData(GlHandle buffer)
- {
- Context.glInvalidateBufferData(buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateBufferSubData(GlHandle buffer, nint offset, nint length)
- {
- Context.glInvalidateBufferSubData(buffer.Value, offset, length);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateFramebuffer(uint target, ReadOnlySpan attachments)
- {
- fixed (uint* attachmentsPtr = attachments)
- {
- Context.glInvalidateFramebuffer(target, checked((int)attachments.Length), attachmentsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateSubFramebuffer(uint target, ReadOnlySpan attachments, int x, int y, int width, int height)
- {
- fixed (uint* attachmentsPtr = attachments)
- {
- Context.glInvalidateSubFramebuffer(target, checked((int)attachments.Length), attachmentsPtr, x, y, width, height);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateTexImage(GlHandle texture, int level)
- {
- Context.glInvalidateTexImage(texture.Value, level);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateTexSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth)
- {
- Context.glInvalidateTexSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MultiDrawArraysIndirect(uint mode, void* indirect, int drawcount, int stride)
- {
- Context.glMultiDrawArraysIndirect(mode, indirect, drawcount, stride);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MultiDrawElementsIndirect(uint mode, uint type, void* indirect, int drawcount, int stride)
- {
- Context.glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ObjectLabel(uint identifier, uint name, int length, ReadOnlySpan label)
- {
- fixed (byte* labelPtr = label)
- {
- Context.glObjectLabel(identifier, name, length, labelPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ObjectPtrLabel(void* ptr, int length, ReadOnlySpan label)
- {
- fixed (byte* labelPtr = label)
- {
- Context.glObjectPtrLabel(ptr, length, labelPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PopDebugGroup()
- {
- Context.glPopDebugGroup();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PushDebugGroup(uint source, uint id, int length, ReadOnlySpan message)
- {
- fixed (byte* messagePtr = message)
- {
- Context.glPushDebugGroup(source, id, length, messagePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ShaderStorageBlockBinding(GlHandle program, uint storageBlockIndex, uint storageBlockBinding)
- {
- Context.glShaderStorageBlockBinding(program.Value, storageBlockIndex, storageBlockBinding);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexBufferRange(uint target, uint internalformat, GlHandle buffer, nint offset, nint size)
- {
- Context.glTexBufferRange(target, internalformat, buffer.Value, offset, size);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexStorage2DMultisample(uint target, int samples, uint internalformat, int width, int height, byte fixedsamplelocations)
- {
- Context.glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TexStorage3DMultisample(uint target, int samples, uint internalformat, int width, int height, int depth, byte fixedsamplelocations)
- {
- Context.glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureView(GlHandle texture, uint target, GlHandle origtexture, uint internalformat, uint minlevel, uint numlevels, uint minlayer, uint numlayers)
- {
- Context.glTextureView(texture.Value, target, origtexture.Value, internalformat, minlevel, numlevels, minlayer, numlayers);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribBinding(uint attribindex, uint bindingindex)
- {
- Context.glVertexAttribBinding(attribindex, bindingindex);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribFormat(uint attribindex, int size, uint type, byte normalized, uint relativeoffset)
- {
- Context.glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribIFormat(uint attribindex, int size, uint type, uint relativeoffset)
- {
- Context.glVertexAttribIFormat(attribindex, size, type, relativeoffset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexAttribLFormat(uint attribindex, int size, uint type, uint relativeoffset)
- {
- Context.glVertexAttribLFormat(attribindex, size, type, relativeoffset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexBindingDivisor(uint bindingindex, uint divisor)
- {
- Context.glVertexBindingDivisor(bindingindex, divisor);
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_4.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_4.g.cs
deleted file mode 100644
index 2d4daadf..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_4.g.cs
+++ /dev/null
@@ -1,111 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 4.4
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindBuffersBase(uint target, uint first, ReadOnlySpan buffers)
- {
- fixed (uint* buffersPtr = buffers)
- {
- Context.glBindBuffersBase(target, first, checked((int)buffers.Length), buffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindBuffersRange(uint target, uint first, ReadOnlySpan buffers, ReadOnlySpan offsets, ReadOnlySpan sizes)
- {
- if (offsets.Length != buffers.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(offsets));
- }
- if (sizes.Length != buffers.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(sizes));
- }
- fixed (uint* buffersPtr = buffers)
- {
- fixed (nint* offsetsPtr = offsets)
- {
- fixed (nint* sizesPtr = sizes)
- {
- Context.glBindBuffersRange(target, first, checked((int)buffers.Length), buffersPtr, offsetsPtr, sizesPtr);
- }
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindImageTextures(uint first, ReadOnlySpan textures)
- {
- fixed (uint* texturesPtr = textures)
- {
- Context.glBindImageTextures(first, checked((int)textures.Length), texturesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindSamplers(uint first, ReadOnlySpan samplers)
- {
- fixed (uint* samplersPtr = samplers)
- {
- Context.glBindSamplers(first, checked((int)samplers.Length), samplersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindTextures(uint first, ReadOnlySpan textures)
- {
- fixed (uint* texturesPtr = textures)
- {
- Context.glBindTextures(first, checked((int)textures.Length), texturesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindVertexBuffers(uint first, ReadOnlySpan buffers, ReadOnlySpan offsets, ReadOnlySpan strides)
- {
- if (offsets.Length != buffers.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(offsets));
- }
- if (strides.Length != buffers.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(strides));
- }
- fixed (uint* buffersPtr = buffers)
- {
- fixed (nint* offsetsPtr = offsets)
- {
- fixed (int* stridesPtr = strides)
- {
- Context.glBindVertexBuffers(first, checked((int)buffers.Length), buffersPtr, offsetsPtr, stridesPtr);
- }
- }
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BufferStorage(uint target, nint size, void* data, uint flags)
- {
- Context.glBufferStorage(target, size, data, flags);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearTexImage(GlHandle texture, int level, uint format, uint type, void* data)
- {
- Context.glClearTexImage(texture.Value, level, format, type, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearTexSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* data)
- {
- Context.glClearTexSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_5.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_5.g.cs
deleted file mode 100644
index 6e831635..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_5.g.cs
+++ /dev/null
@@ -1,822 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 4.5
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BindTextureUnit(uint unit, GlHandle texture)
- {
- Context.glBindTextureUnit(unit, texture.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void BlitNamedFramebuffer(GlHandle readFramebuffer, GlHandle drawFramebuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter)
- {
- Context.glBlitNamedFramebuffer(readFramebuffer.Value, drawFramebuffer.Value, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint CheckNamedFramebufferStatus(GlHandle framebuffer, uint target)
- {
- return Context.glCheckNamedFramebufferStatus(framebuffer.Value, target);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearNamedBufferData(GlHandle buffer, uint internalformat, uint format, uint type, void* data)
- {
- Context.glClearNamedBufferData(buffer.Value, internalformat, format, type, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearNamedBufferSubData(GlHandle buffer, uint internalformat, nint offset, nint size, uint format, uint type, void* data)
- {
- Context.glClearNamedBufferSubData(buffer.Value, internalformat, offset, size, format, type, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, float depth, int stencil)
- {
- Context.glClearNamedFramebufferfi(framebuffer.Value, buffer, drawbuffer, depth, stencil);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, ReadOnlySpan value)
- {
- fixed (float* valuePtr = value)
- {
- Context.glClearNamedFramebufferfv(framebuffer.Value, buffer, drawbuffer, valuePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, ReadOnlySpan value)
- {
- fixed (int* valuePtr = value)
- {
- Context.glClearNamedFramebufferiv(framebuffer.Value, buffer, drawbuffer, valuePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, ReadOnlySpan value)
- {
- fixed (uint* valuePtr = value)
- {
- Context.glClearNamedFramebufferuiv(framebuffer.Value, buffer, drawbuffer, valuePtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ClipControl(uint origin, uint depth)
- {
- Context.glClipControl(origin, depth);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTextureSubImage1D(GlHandle texture, int level, int xoffset, int width, uint format, int imageSize, void* data)
- {
- Context.glCompressedTextureSubImage1D(texture.Value, level, xoffset, width, format, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, void* data)
- {
- Context.glCompressedTextureSubImage2D(texture.Value, level, xoffset, yoffset, width, height, format, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CompressedTextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, void* data)
- {
- Context.glCompressedTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyNamedBufferSubData(GlHandle readBuffer, GlHandle writeBuffer, nint readOffset, nint writeOffset, nint size)
- {
- Context.glCopyNamedBufferSubData(readBuffer.Value, writeBuffer.Value, readOffset, writeOffset, size);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTextureSubImage1D(GlHandle texture, int level, int xoffset, int x, int y, int width)
- {
- Context.glCopyTextureSubImage1D(texture.Value, level, xoffset, x, y, width);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int x, int y, int width, int height)
- {
- Context.glCopyTextureSubImage2D(texture.Value, level, xoffset, yoffset, x, y, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CopyTextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height)
- {
- Context.glCopyTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, x, y, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateBuffers(Span buffers)
- {
- fixed (uint* buffersPtr = buffers)
- {
- Context.glCreateBuffers(checked((int)buffers.Length), buffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateFramebuffers(Span framebuffers)
- {
- fixed (uint* framebuffersPtr = framebuffers)
- {
- Context.glCreateFramebuffers(checked((int)framebuffers.Length), framebuffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateProgramPipelines(Span pipelines)
- {
- fixed (uint* pipelinesPtr = pipelines)
- {
- Context.glCreateProgramPipelines(checked((int)pipelines.Length), pipelinesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateQueries(uint target, Span ids)
- {
- fixed (uint* idsPtr = ids)
- {
- Context.glCreateQueries(target, checked((int)ids.Length), idsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateRenderbuffers(Span renderbuffers)
- {
- fixed (uint* renderbuffersPtr = renderbuffers)
- {
- Context.glCreateRenderbuffers(checked((int)renderbuffers.Length), renderbuffersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateSamplers(Span samplers)
- {
- fixed (uint* samplersPtr = samplers)
- {
- Context.glCreateSamplers(checked((int)samplers.Length), samplersPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateTextures(uint target, Span textures)
- {
- fixed (uint* texturesPtr = textures)
- {
- Context.glCreateTextures(target, checked((int)textures.Length), texturesPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateTransformFeedbacks(Span ids)
- {
- fixed (uint* idsPtr = ids)
- {
- Context.glCreateTransformFeedbacks(checked((int)ids.Length), idsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void CreateVertexArrays(Span arrays)
- {
- fixed (uint* arraysPtr = arrays)
- {
- Context.glCreateVertexArrays(checked((int)arrays.Length), arraysPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void DisableVertexArrayAttrib(uint vaobj, uint index)
- {
- Context.glDisableVertexArrayAttrib(vaobj, index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void EnableVertexArrayAttrib(uint vaobj, uint index)
- {
- Context.glEnableVertexArrayAttrib(vaobj, index);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void FlushMappedNamedBufferRange(GlHandle buffer, nint offset, nint length)
- {
- Context.glFlushMappedNamedBufferRange(buffer.Value, offset, length);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GenerateTextureMipmap(GlHandle texture)
- {
- Context.glGenerateTextureMipmap(texture.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetCompressedTextureImage(GlHandle texture, int level, int bufSize, void* pixels)
- {
- Context.glGetCompressedTextureImage(texture.Value, level, bufSize, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetCompressedTextureSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int bufSize, void* pixels)
- {
- Context.glGetCompressedTextureSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public uint GetGraphicsResetStatus()
- {
- return Context.glGetGraphicsResetStatus();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetNamedBufferParameter(GlHandle buffer, uint pname, Span @params)
- {
- fixed (long* @paramsPtr = @params)
- {
- Context.glGetNamedBufferParameteri64v(buffer.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetNamedBufferParameter(GlHandle buffer, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetNamedBufferParameteriv(buffer.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetNamedBufferPointerv(GlHandle buffer, uint pname, void** @params)
- {
- Context.glGetNamedBufferPointerv(buffer.Value, pname, @params);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetNamedBufferSubData(GlHandle buffer, nint offset, nint size, void* data)
- {
- Context.glGetNamedBufferSubData(buffer.Value, offset, size, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetNamedFramebufferAttachmentParameteriv(GlHandle framebuffer, uint attachment, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetNamedFramebufferAttachmentParameteriv(framebuffer.Value, attachment, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetNamedFramebufferParameteriv(GlHandle framebuffer, uint pname, Span param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glGetNamedFramebufferParameteriv(framebuffer.Value, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetNamedRenderbufferParameteriv(GlHandle renderbuffer, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetNamedRenderbufferParameteriv(renderbuffer.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryBufferObject(uint id, GlHandle buffer, uint pname, nint offset)
- {
- Context.glGetQueryBufferObjecti64v(id, buffer.Value, pname, offset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryBufferObjectiv(uint id, GlHandle buffer, uint pname, nint offset)
- {
- Context.glGetQueryBufferObjectiv(id, buffer.Value, pname, offset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryBufferObjectui64v(uint id, GlHandle buffer, uint pname, nint offset)
- {
- Context.glGetQueryBufferObjectui64v(id, buffer.Value, pname, offset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetQueryBufferObjectuiv(uint id, GlHandle buffer, uint pname, nint offset)
- {
- Context.glGetQueryBufferObjectuiv(id, buffer.Value, pname, offset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureImage(GlHandle texture, int level, uint format, uint type, int bufSize, void* pixels)
- {
- Context.glGetTextureImage(texture.Value, level, format, type, bufSize, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureLevelParameter(GlHandle texture, int level, uint pname, Span @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetTextureLevelParameterfv(texture.Value, level, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureLevelParameter(GlHandle texture, int level, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetTextureLevelParameteriv(texture.Value, level, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureParameterI(GlHandle texture, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetTextureParameterIiv(texture.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureParameterI(GlHandle texture, uint pname, Span @params)
- {
- fixed (uint* @paramsPtr = @params)
- {
- Context.glGetTextureParameterIuiv(texture.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureParameter(GlHandle texture, uint pname, Span @params)
- {
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetTextureParameterfv(texture.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureParameter(GlHandle texture, uint pname, Span @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetTextureParameteriv(texture.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTextureSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, int bufSize, void* pixels)
- {
- Context.glGetTextureSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTransformFeedbacki64_v(uint xfb, uint pname, uint index, Span param)
- {
- fixed (long* paramPtr = param)
- {
- Context.glGetTransformFeedbacki64_v(xfb, pname, index, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTransformFeedbacki_v(uint xfb, uint pname, uint index, Span param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glGetTransformFeedbacki_v(xfb, pname, index, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetTransformFeedbackiv(uint xfb, uint pname, Span param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glGetTransformFeedbackiv(xfb, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexArrayIndexed64iv(uint vaobj, uint index, uint pname, Span param)
- {
- fixed (long* paramPtr = param)
- {
- Context.glGetVertexArrayIndexed64iv(vaobj, index, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexArrayIndexediv(uint vaobj, uint index, uint pname, Span param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glGetVertexArrayIndexediv(vaobj, index, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetVertexArrayiv(uint vaobj, uint pname, Span param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glGetVertexArrayiv(vaobj, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetnCompressedTexImage(uint target, int lod, int bufSize, void* pixels)
- {
- Context.glGetnCompressedTexImage(target, lod, bufSize, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetnTexImage(uint target, int level, uint format, uint type, int bufSize, void* pixels)
- {
- Context.glGetnTexImage(target, level, format, type, bufSize, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetnUniform(GlHandle program, int location, int bufSize, Span @params)
- {
- if (@params.Length < checked((int)bufSize / 8)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 8'.", nameof(@params));
- }
- fixed (double* @paramsPtr = @params)
- {
- Context.glGetnUniformdv(program.Value, location, bufSize, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetnUniform(GlHandle program, int location, int bufSize, Span @params)
- {
- if (@params.Length < checked((int)bufSize / 4)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 4'.", nameof(@params));
- }
- fixed (float* @paramsPtr = @params)
- {
- Context.glGetnUniformfv(program.Value, location, bufSize, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetnUniform(GlHandle program, int location, int bufSize, Span @params)
- {
- if (@params.Length < checked((int)bufSize / 4)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 4'.", nameof(@params));
- }
- fixed (int* @paramsPtr = @params)
- {
- Context.glGetnUniformiv(program.Value, location, bufSize, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void GetnUniform(GlHandle program, int location, int bufSize, Span @params)
- {
- if (@params.Length < checked((int)bufSize / 4)) {
- throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 4'.", nameof(@params));
- }
- fixed (uint* @paramsPtr = @params)
- {
- Context.glGetnUniformuiv(program.Value, location, bufSize, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateNamedFramebufferData(GlHandle framebuffer, ReadOnlySpan attachments)
- {
- fixed (uint* attachmentsPtr = attachments)
- {
- Context.glInvalidateNamedFramebufferData(framebuffer.Value, checked((int)attachments.Length), attachmentsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void InvalidateNamedFramebufferSubData(GlHandle framebuffer, ReadOnlySpan attachments, int x, int y, int width, int height)
- {
- fixed (uint* attachmentsPtr = attachments)
- {
- Context.glInvalidateNamedFramebufferSubData(framebuffer.Value, checked((int)attachments.Length), attachmentsPtr, x, y, width, height);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void* MapNamedBuffer(GlHandle buffer, uint access)
- {
- return Context.glMapNamedBuffer(buffer.Value, access);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void* MapNamedBufferRange(GlHandle buffer, nint offset, nint length, uint access)
- {
- return Context.glMapNamedBufferRange(buffer.Value, offset, length, access);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MemoryBarrierByRegion(uint barriers)
- {
- Context.glMemoryBarrierByRegion(barriers);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedBufferData(GlHandle buffer, nint size, void* data, uint usage)
- {
- Context.glNamedBufferData(buffer.Value, size, data, usage);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedBufferStorage(GlHandle buffer, nint size, void* data, uint flags)
- {
- Context.glNamedBufferStorage(buffer.Value, size, data, flags);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedBufferSubData(GlHandle buffer, nint offset, nint size, void* data)
- {
- Context.glNamedBufferSubData(buffer.Value, offset, size, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedFramebufferDrawBuffer(GlHandle framebuffer, uint buf)
- {
- Context.glNamedFramebufferDrawBuffer(framebuffer.Value, buf);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedFramebufferDrawBuffers(GlHandle framebuffer, ReadOnlySpan bufs)
- {
- fixed (uint* bufsPtr = bufs)
- {
- Context.glNamedFramebufferDrawBuffers(framebuffer.Value, checked((int)bufs.Length), bufsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedFramebufferParameter(GlHandle framebuffer, uint pname, int param)
- {
- Context.glNamedFramebufferParameteri(framebuffer.Value, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedFramebufferReadBuffer(GlHandle framebuffer, uint src)
- {
- Context.glNamedFramebufferReadBuffer(framebuffer.Value, src);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedFramebufferRenderbuffer(GlHandle framebuffer, uint attachment, uint renderbuffertarget, GlHandle renderbuffer)
- {
- Context.glNamedFramebufferRenderbuffer(framebuffer.Value, attachment, renderbuffertarget, renderbuffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedFramebufferTexture(GlHandle framebuffer, uint attachment, GlHandle texture, int level)
- {
- Context.glNamedFramebufferTexture(framebuffer.Value, attachment, texture.Value, level);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedFramebufferTextureLayer(GlHandle framebuffer, uint attachment, GlHandle texture, int level, int layer)
- {
- Context.glNamedFramebufferTextureLayer(framebuffer.Value, attachment, texture.Value, level, layer);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedRenderbufferStorage(GlHandle renderbuffer, uint internalformat, int width, int height)
- {
- Context.glNamedRenderbufferStorage(renderbuffer.Value, internalformat, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void NamedRenderbufferStorageMultisample(GlHandle renderbuffer, int samples, uint internalformat, int width, int height)
- {
- Context.glNamedRenderbufferStorageMultisample(renderbuffer.Value, samples, internalformat, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void ReadnPixels(int x, int y, int width, int height, uint format, uint type, int bufSize, void* data)
- {
- Context.glReadnPixels(x, y, width, height, format, type, bufSize, data);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureBarrier()
- {
- Context.glTextureBarrier();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureBuffer(GlHandle texture, uint internalformat, GlHandle buffer)
- {
- Context.glTextureBuffer(texture.Value, internalformat, buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureBufferRange(GlHandle texture, uint internalformat, GlHandle buffer, nint offset, nint size)
- {
- Context.glTextureBufferRange(texture.Value, internalformat, buffer.Value, offset, size);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureParameterI(GlHandle texture, uint pname, ReadOnlySpan @params)
- {
- fixed (int* @paramsPtr = @params)
- {
- Context.glTextureParameterIiv(texture.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureParameterI(GlHandle texture, uint pname, ReadOnlySpan @params)
- {
- fixed (uint* @paramsPtr = @params)
- {
- Context.glTextureParameterIuiv(texture.Value, pname, @paramsPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureParameter(GlHandle texture, uint pname, float param)
- {
- Context.glTextureParameterf(texture.Value, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureParameter(GlHandle texture, uint pname, ReadOnlySpan param)
- {
- fixed (float* paramPtr = param)
- {
- Context.glTextureParameterfv(texture.Value, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureParameter(GlHandle texture, uint pname, int param)
- {
- Context.glTextureParameteri(texture.Value, pname, param);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureParameter(GlHandle texture, uint pname, ReadOnlySpan param)
- {
- fixed (int* paramPtr = param)
- {
- Context.glTextureParameteriv(texture.Value, pname, paramPtr);
- }
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureStorage1D(GlHandle texture, int levels, uint internalformat, int width)
- {
- Context.glTextureStorage1D(texture.Value, levels, internalformat, width);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureStorage2D(GlHandle texture, int levels, uint internalformat, int width, int height)
- {
- Context.glTextureStorage2D(texture.Value, levels, internalformat, width, height);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureStorage2DMultisample(GlHandle texture, int samples, uint internalformat, int width, int height, byte fixedsamplelocations)
- {
- Context.glTextureStorage2DMultisample(texture.Value, samples, internalformat, width, height, fixedsamplelocations);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureStorage3D(GlHandle texture, int levels, uint internalformat, int width, int height, int depth)
- {
- Context.glTextureStorage3D(texture.Value, levels, internalformat, width, height, depth);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureStorage3DMultisample(GlHandle texture, int samples, uint internalformat, int width, int height, int depth, byte fixedsamplelocations)
- {
- Context.glTextureStorage3DMultisample(texture.Value, samples, internalformat, width, height, depth, fixedsamplelocations);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureSubImage1D(GlHandle texture, int level, int xoffset, int width, uint format, uint type, void* pixels)
- {
- Context.glTextureSubImage1D(texture.Value, level, xoffset, width, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, void* pixels)
- {
- Context.glTextureSubImage2D(texture.Value, level, xoffset, yoffset, width, height, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* pixels)
- {
- Context.glTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TransformFeedbackBufferBase(uint xfb, uint index, GlHandle buffer)
- {
- Context.glTransformFeedbackBufferBase(xfb, index, buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void TransformFeedbackBufferRange(uint xfb, uint index, GlHandle buffer, nint offset, nint size)
- {
- Context.glTransformFeedbackBufferRange(xfb, index, buffer.Value, offset, size);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public byte UnmapNamedBuffer(GlHandle buffer)
- {
- return Context.glUnmapNamedBuffer(buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayAttribBinding(uint vaobj, uint attribindex, uint bindingindex)
- {
- Context.glVertexArrayAttribBinding(vaobj, attribindex, bindingindex);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayAttribFormat(uint vaobj, uint attribindex, int size, uint type, byte normalized, uint relativeoffset)
- {
- Context.glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayAttribIFormat(uint vaobj, uint attribindex, int size, uint type, uint relativeoffset)
- {
- Context.glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayAttribLFormat(uint vaobj, uint attribindex, int size, uint type, uint relativeoffset)
- {
- Context.glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayBindingDivisor(uint vaobj, uint bindingindex, uint divisor)
- {
- Context.glVertexArrayBindingDivisor(vaobj, bindingindex, divisor);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayElementBuffer(uint vaobj, GlHandle buffer)
- {
- Context.glVertexArrayElementBuffer(vaobj, buffer.Value);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayVertexBuffer(uint vaobj, uint bindingindex, GlHandle buffer, nint offset, int stride)
- {
- Context.glVertexArrayVertexBuffer(vaobj, bindingindex, buffer.Value, offset, stride);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void VertexArrayVertexBuffers(uint vaobj, uint first, ReadOnlySpan buffers, ReadOnlySpan offsets, ReadOnlySpan strides)
- {
- if (offsets.Length != buffers.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(offsets));
- }
- if (strides.Length != buffers.Length) {
- throw new ArgumentException("Span lengths controlled by count must match.", nameof(strides));
- }
- fixed (uint* buffersPtr = buffers)
- {
- fixed (nint* offsetsPtr = offsets)
- {
- fixed (int* stridesPtr = strides)
- {
- Context.glVertexArrayVertexBuffers(vaobj, first, checked((int)buffers.Length), buffersPtr, offsetsPtr, stridesPtr);
- }
- }
- }
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_6.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_6.g.cs
deleted file mode 100644
index 2cfb253d..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_6.g.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Version: 4.6
-//
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using StgSharp.Graphics.OpenGL;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MultiDrawArraysIndirectCount(uint mode, void* indirect, nint drawcount, int maxdrawcount, int stride)
- {
- Context.glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void MultiDrawElementsIndirectCount(uint mode, uint type, void* indirect, nint drawcount, int maxdrawcount, int stride)
- {
- Context.glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void PolygonOffsetClamp(float factor, float units, float clamp)
- {
- Context.glPolygonOffsetClamp(factor, units, clamp);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SpecializeShader(GlHandle shader, ReadOnlySpan pEntryPoint, ReadOnlySpan pConstantIndex, ReadOnlySpan pConstantValue)
- {
- if (pConstantValue.Length != pConstantIndex.Length) {
- throw new ArgumentException("Span lengths controlled by numSpecializationConstants must match.", nameof(pConstantValue));
- }
- fixed (byte* pEntryPointPtr = pEntryPoint)
- {
- fixed (uint* pConstantIndexPtr = pConstantIndex)
- {
- fixed (uint* pConstantValuePtr = pConstantValue)
- {
- Context.glSpecializeShader(shader.Value, pEntryPointPtr, checked((uint)pConstantIndex.Length), pConstantIndexPtr, pConstantValuePtr);
- }
- }
- }
- }
-
- }
-}
diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v3_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v3_3.g.cs
deleted file mode 100644
index 71e949cf..00000000
--- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v3_3.g.cs
+++ /dev/null
@@ -1,261 +0,0 @@
-//
-// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
-// Uniform overloads introduced in OpenGL 3.3
-//
-using System;
-using System.Runtime.CompilerServices;
-using StgSharp.Mathematics.Graphics;
-
-namespace StgSharp.Graphics.OpenGL
-{
- public unsafe partial class OpenGLFunction
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SetUniformValue(Uniform uniform, float v0)
- {
- ArgumentNullException.ThrowIfNull(uniform);
- Context.glUniform1f(uniform.id.SignedValue, v0);
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void SetUniformValue(Uniform