improve gl api doc

This commit is contained in:
Youmu Liu
2026-08-27 18:24:55 +08:00
parent 648cac9d9b
commit 3cba929599
12 changed files with 3611 additions and 1790 deletions
@@ -13,344 +13,473 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
/// <summary>Forwards to the native C API <c>void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glClearBufferData" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glClearBufferData">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ClearBufferData(uint target, uint internalFormat, uint format, uint type, void* data)
{
__context->glClearBufferData(target, internalFormat, format, type, data);
}
/// <summary>Forwards to the native C API <c>void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glClearBufferSubData" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glClearBufferSubData">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDispatchCompute" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDispatchCompute">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glDispatchComputeIndirect(GLintptr indirect);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDispatchComputeIndirect" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDispatchComputeIndirect(GLintptr indirect);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDispatchComputeIndirect">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DispatchComputeIndirect(nint indirect)
{
__context->glDispatchComputeIndirect(indirect);
}
/// <summary>Forwards to the native C API <c>void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glCopyImageSubData" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glCopyImageSubData">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glFramebufferParameteri" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glFramebufferParameteri">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void FrameBufferParameteri(uint target, uint pname, int param)
{
__context->glFramebufferParameteri(target, pname, param);
}
/// <summary>Forwards to the native C API <c>void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetFramebufferParameteriv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetFramebufferParameteriv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetFrameBufferParameteriv(uint target, uint pname, int* @params)
{
__context->glGetFramebufferParameteriv(target, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetInternalformat" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetInternalformat">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetInternalFormat(uint target, uint internalFormat, uint pname, int count, long* @params)
{
__context->glGetInternalformati64v(target, internalFormat, pname, count, @params);
}
/// <summary>Forwards to the native C API <c>void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glInvalidateTexSubImage" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glInvalidateTexSubImage">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glInvalidateTexImage(GLuint texture, GLint level);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glInvalidateTexImage" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glInvalidateTexImage(GLuint texture, GLint level);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glInvalidateTexImage">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void InvalidateTexImage(GlHandle texture, int level)
{
__context->glInvalidateTexImage(texture.Value, level);
}
/// <summary>Forwards to the native C API <c>void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glInvalidateBufferSubData" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glInvalidateBufferSubData">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void InvalidateBufferSubData(GlHandle buffer, nint offset, nint length)
{
__context->glInvalidateBufferSubData(buffer.Value, offset, length);
}
/// <summary>Forwards to the native C API <c>void glInvalidateBufferData(GLuint buffer);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glInvalidateBufferData" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glInvalidateBufferData(GLuint buffer);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glInvalidateBufferData">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void InvalidateBufferData(GlHandle buffer)
{
__context->glInvalidateBufferData(buffer.Value);
}
/// <summary>Forwards to the native C API <c>void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glInvalidateFramebuffer" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glInvalidateFramebuffer">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void InvalidateFrameBuffer(uint target, int numAttachments, uint* attachments)
{
__context->glInvalidateFramebuffer(target, numAttachments, attachments);
}
/// <summary>Forwards to the native C API <c>void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glInvalidateSubFramebuffer" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glInvalidateSubFramebuffer">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void InvalidateSubFrameBuffer(uint target, int numAttachments, uint* attachments, int x, int y, int width, int height)
{
__context->glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
}
/// <summary>Forwards to the native C API <c>void glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glMultiDrawArraysIndirect" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glMultiDrawArraysIndirect">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MultiDrawArraysIndirect(uint mode, void* indirect, int drawcount, int stride)
{
__context->glMultiDrawArraysIndirect(mode, indirect, drawcount, stride);
}
/// <summary>Forwards to the native C API <c>void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glMultiDrawElementsIndirect" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glMultiDrawElementsIndirect">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MultiDrawElementsIndirect(uint mode, uint type, void* indirect, int drawcount, int stride)
{
__context->glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride);
}
/// <summary>Forwards to the native C API <c>void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramInterfaceiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramInterfaceiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramInterfaceiv(GlHandle program, uint programInterface, uint pname, int* @params)
{
__context->glGetProgramInterfaceiv(program.Value, programInterface, pname, @params);
}
/// <summary>Forwards to the native C API <c>GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramResourceIndex" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramResourceIndex">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public uint GetProgramResourceIndex(GlHandle program, uint programInterface, byte* name)
{
return __context->glGetProgramResourceIndex(program.Value, programInterface, name);
}
/// <summary>Forwards to the native C API <c>void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramResourceName" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramResourceName">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramResourceName(GlHandle program, uint programInterface, uint index, int bufSize, int* length, byte* name)
{
__context->glGetProgramResourceName(program.Value, programInterface, index, bufSize, length, name);
}
/// <summary>Forwards to the native C API <c>void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramResourceiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramResourceiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramResourceiv(GlHandle program, uint programInterface, uint index, int propCount, uint* props, int count, int* length, int* @params)
{
__context->glGetProgramResourceiv(program.Value, programInterface, index, propCount, props, count, length, @params);
}
/// <summary>Forwards to the native C API <c>GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramResourceLocation" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramResourceLocation">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetProgramResourceLocation(GlHandle program, uint programInterface, byte* name)
{
return __context->glGetProgramResourceLocation(program.Value, programInterface, name);
}
/// <summary>Forwards to the native C API <c>GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramResourceLocationIndex" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramResourceLocationIndex">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetProgramResourceLocationIndex(GlHandle program, uint programInterface, byte* name)
{
return __context->glGetProgramResourceLocationIndex(program.Value, programInterface, name);
}
/// <summary>Forwards to the native C API <c>void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glShaderStorageBlockBinding" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glShaderStorageBlockBinding">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ShaderStorageBlockBinding(GlHandle program, uint storageBlockIndex, uint storageBlockBinding)
{
__context->glShaderStorageBlockBinding(program.Value, storageBlockIndex, storageBlockBinding);
}
/// <summary>Forwards to the native C API <c>void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glTexBufferRange" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glTexBufferRange">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexBufferRange(uint target, uint internalFormat, GlHandle buffer, nint offset, nint size)
{
__context->glTexBufferRange(target, internalFormat, buffer.Value, offset, size);
}
/// <summary>Forwards to the native C API <c>void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glTexStorage2DMultisample" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glTexStorage2DMultisample">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glTexStorage3DMultisample" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glTexStorage3DMultisample">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glTextureView" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glTextureView">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindVertexBuffer" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindVertexBuffer">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindVertexBuffer(uint bindingIndex, GlHandle buffer, nint offset, int stride)
{
__context->glBindVertexBuffer(bindingIndex, buffer.Value, offset, stride);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttribFormat" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttribFormat">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeFormat(uint attributeIndex, int size, uint type, byte normalized, uint relativeOffset)
{
__context->glVertexAttribFormat(attributeIndex, size, type, normalized, relativeOffset);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttribFormat" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttribFormat">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeIntegerFormat(uint attributeIndex, int size, uint type, uint relativeOffset)
{
__context->glVertexAttribIFormat(attributeIndex, size, type, relativeOffset);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttribFormat" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttribFormat">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeDoubleFormat(uint attributeIndex, int size, uint type, uint relativeOffset)
{
__context->glVertexAttribLFormat(attributeIndex, size, type, relativeOffset);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttribBinding" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttribBinding">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeBinding(uint attributeIndex, uint bindingIndex)
{
__context->glVertexAttribBinding(attributeIndex, bindingIndex);
}
/// <summary>Forwards to the native C API <c>void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexBindingDivisor" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexBindingDivisor">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexBindingDivisor(uint bindingIndex, uint divisor)
{
__context->glVertexBindingDivisor(bindingIndex, divisor);
}
/// <summary>Forwards to the native C API <c>void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDebugMessageControl" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDebugMessageControl">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DebugMessageControl(uint source, uint type, uint severity, int count, uint* ids, byte enabled)
{
__context->glDebugMessageControl(source, type, severity, count, ids, enabled);
}
/// <summary>Forwards to the native C API <c>void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDebugMessageInsert" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDebugMessageInsert">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DebugMessageInsert(uint source, uint type, uint id, uint severity, int length, byte* buf)
{
__context->glDebugMessageInsert(source, type, id, severity, length, buf);
}
/// <summary>Forwards to the native C API <c>void glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDebugMessageCallback" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDebugMessageCallback">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DebugMessageCallback(delegate* unmanaged<uint, uint, uint, uint, int, byte*, void*, void> callback, void* userParam)
{
__context->glDebugMessageCallback(callback, userParam);
}
/// <summary>Forwards to the native C API <c>GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetDebugMessageLog" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetDebugMessageLog">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public uint GetDebugMessageLog(uint count, int bufSize, uint* sources, uint* types, uint* ids, uint* severities, int* lengths, byte* messageLog)
{
return __context->glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
}
/// <summary>Forwards to the native C API <c>void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glPushDebugGroup" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glPushDebugGroup">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PushDebugGroup(uint source, uint id, int length, byte* message)
{
__context->glPushDebugGroup(source, id, length, message);
}
/// <summary>Forwards to the native C API <c>void glPopDebugGroup();</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glPopDebugGroup" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glPopDebugGroup();</c></para>
/// <para>See <see href="https://docs.gl/gl4/glPopDebugGroup">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PopDebugGroup()
{
__context->glPopDebugGroup();
}
/// <summary>Forwards to the native C API <c>void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glObjectLabel" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glObjectLabel">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ObjectLabel(uint identifier, uint name, int length, byte* label)
{
__context->glObjectLabel(identifier, name, length, label);
}
/// <summary>Forwards to the native C API <c>void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetObjectLabel" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetObjectLabel">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetObjectLabel(uint identifier, uint name, int bufSize, int* length, byte* label)
{
__context->glGetObjectLabel(identifier, name, bufSize, length, label);
}
/// <summary>Forwards to the native C API <c>void glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glObjectPtrLabel" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glObjectPtrLabel">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ObjectPtrLabel(void* ptr, int length, byte* label)
{
__context->glObjectPtrLabel(ptr, length, label);
}
/// <summary>Forwards to the native C API <c>void glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetObjectPtrLabel" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetObjectPtrLabel">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetObjectPtrLabel(void* ptr, int bufSize, int* length, byte* label)
{