498 lines
28 KiB
C#
498 lines
28 KiB
C#
// -----------------------------------------------------------------------------
|
|
// file="OpenGLFunction.v4_3"
|
|
// Project: StgSharp
|
|
// Copyright (c) Nitload.
|
|
// SPDX-License-Identifier: MIT
|
|
// -----------------------------------------------------------------------------
|
|
|
|
// <auto-generated>
|
|
// Generated by StgSharp.GenerateGL.
|
|
// Desktop OpenGL 4.3 core-profile forwarding methods.
|
|
// </auto-generated>
|
|
|
|
using StgSharp.Mathematics.Numeric.Graphics;
|
|
|
|
using System;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
namespace StgSharp.Graphics.OpenGL
|
|
{
|
|
public unsafe partial class OpenGLFunction
|
|
{
|
|
|
|
/// <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(BufferStorageTarget target, SizedInternalFormat internalFormat, PixelFormat format, PixelType type, void* data)
|
|
{
|
|
__context->glClearBufferData((uint)target, (uint)internalFormat, (uint)format, (uint)type, data);
|
|
}
|
|
|
|
/// <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(BufferTarget target, SizedInternalFormat internalFormat, nint offset, nint size, PixelFormat format, PixelType type, void* data)
|
|
{
|
|
__context->glClearBufferSubData((uint)target, (uint)internalFormat, offset, size, (uint)format, (uint)type, data);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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>
|
|
/// <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, CopyImageSubDataTarget srcTarget, int srcLevel, int srcX, int srcY, int srcZ, uint dstName, CopyImageSubDataTarget dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth)
|
|
{
|
|
__context->glCopyImageSubData(srcName, (uint)srcTarget, srcLevel, srcX, srcY, srcZ, dstName, (uint)dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
|
|
}
|
|
|
|
/// <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(FrameBufferTarget target, FrameBufferParameterName pName, int param)
|
|
{
|
|
__context->glFramebufferParameteri((uint)target, (uint)pName, param);
|
|
}
|
|
|
|
/// <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(FrameBufferTarget target, FrameBufferAttachmentParameterName pName, int* @params)
|
|
{
|
|
__context->glGetFramebufferParameteriv((uint)target, (uint)pName, @params);
|
|
}
|
|
|
|
/// <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(TextureTarget target, InternalFormat internalFormat, InternalFormatPName pName, int count, long* @params)
|
|
{
|
|
__context->glGetInternalformati64v((uint)target, (uint)internalFormat, (uint)pName, count, @params);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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>
|
|
/// <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>
|
|
/// <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>
|
|
/// <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(FrameBufferTarget target, int numAttachments, InvalidateFrameBufferAttachment* attachments)
|
|
{
|
|
__context->glInvalidateFramebuffer((uint)target, numAttachments, (uint*)attachments);
|
|
}
|
|
|
|
/// <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(FrameBufferTarget target, int numAttachments, InvalidateFrameBufferAttachment* attachments, int x, int y, int width, int height)
|
|
{
|
|
__context->glInvalidateSubFramebuffer((uint)target, numAttachments, (uint*)attachments, x, y, width, height);
|
|
}
|
|
|
|
/// <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(PrimitiveType mode, void* indirect, int drawcount, int stride)
|
|
{
|
|
__context->glMultiDrawArraysIndirect((uint)mode, indirect, drawcount, stride);
|
|
}
|
|
|
|
/// <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(PrimitiveType mode, DrawElementsType type, void* indirect, int drawcount, int stride)
|
|
{
|
|
__context->glMultiDrawElementsIndirect((uint)mode, (uint)type, indirect, drawcount, stride);
|
|
}
|
|
|
|
/// <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, ProgramInterface programInterface, ProgramInterfacePName pName, int* @params)
|
|
{
|
|
__context->glGetProgramInterfaceiv(program.Value, (uint)programInterface, (uint)pName, @params);
|
|
}
|
|
|
|
/// <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, ProgramInterface programInterface, byte* name)
|
|
{
|
|
return __context->glGetProgramResourceIndex(program.Value, (uint)programInterface, name);
|
|
}
|
|
|
|
/// <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, ProgramInterface programInterface, uint index, int bufSize, int* length, byte* name)
|
|
{
|
|
__context->glGetProgramResourceName(program.Value, (uint)programInterface, index, bufSize, length, name);
|
|
}
|
|
|
|
/// <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, ProgramInterface programInterface, uint index, int propCount, ProgramResourceProperty* props, int count, int* length, int* @params)
|
|
{
|
|
__context->glGetProgramResourceiv(program.Value, (uint)programInterface, index, propCount, (uint*)props, count, length, @params);
|
|
}
|
|
|
|
/// <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, ProgramInterface programInterface, byte* name)
|
|
{
|
|
return __context->glGetProgramResourceLocation(program.Value, (uint)programInterface, name);
|
|
}
|
|
|
|
/// <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, ProgramInterface programInterface, byte* name)
|
|
{
|
|
return __context->glGetProgramResourceLocationIndex(program.Value, (uint)programInterface, name);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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(TextureTarget target, SizedInternalFormat internalFormat, GlHandle buffer, nint offset, nint size)
|
|
{
|
|
__context->glTexBufferRange((uint)target, (uint)internalFormat, buffer.Value, offset, size);
|
|
}
|
|
|
|
/// <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(TextureTarget target, int samples, SizedInternalFormat internalFormat, int width, int height, byte fixedsamplelocations)
|
|
{
|
|
__context->glTexStorage2DMultisample((uint)target, samples, (uint)internalFormat, width, height, fixedsamplelocations);
|
|
}
|
|
|
|
/// <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(TextureTarget target, int samples, SizedInternalFormat internalFormat, int width, int height, int depth, byte fixedsamplelocations)
|
|
{
|
|
__context->glTexStorage3DMultisample((uint)target, samples, (uint)internalFormat, width, height, depth, fixedsamplelocations);
|
|
}
|
|
|
|
/// <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, TextureTarget target, GlHandle origtexture, SizedInternalFormat internalFormat, uint minlevel, uint numlevels, uint minlayer, uint numlayers)
|
|
{
|
|
__context->glTextureView(texture.Value, (uint)target, origtexture.Value, (uint)internalFormat, minlevel, numlevels, minlayer, numlayers);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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, VertexAttributeType type, byte normalized, uint relativeOffset)
|
|
{
|
|
__context->glVertexAttribFormat(attributeIndex, size, (uint)type, normalized, relativeOffset);
|
|
}
|
|
|
|
/// <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, VertexAttributeIType type, uint relativeOffset)
|
|
{
|
|
__context->glVertexAttribIFormat(attributeIndex, size, (uint)type, relativeOffset);
|
|
}
|
|
|
|
/// <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, VertexAttributeLType type, uint relativeOffset)
|
|
{
|
|
__context->glVertexAttribLFormat(attributeIndex, size, (uint)type, relativeOffset);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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>
|
|
/// <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(DebugSource source, DebugType type, DebugSeverity severity, int count, uint* ids, byte enabled)
|
|
{
|
|
__context->glDebugMessageControl((uint)source, (uint)type, (uint)severity, count, ids, enabled);
|
|
}
|
|
|
|
/// <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(DebugSource source, DebugType type, uint id, DebugSeverity severity, int length, byte* buf)
|
|
{
|
|
__context->glDebugMessageInsert((uint)source, (uint)type, id, (uint)severity, length, buf);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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, DebugSource* sources, DebugType* types, uint* ids, DebugSeverity* severities, int* lengths, byte* messageLog)
|
|
{
|
|
return __context->glGetDebugMessageLog(count, bufSize, (uint*)sources, (uint*)types, ids, (uint*)severities, lengths, messageLog);
|
|
}
|
|
|
|
/// <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(DebugSource source, uint id, int length, byte* message)
|
|
{
|
|
__context->glPushDebugGroup((uint)source, id, length, message);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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(ObjectIdentifier identifier, uint name, int length, byte* label)
|
|
{
|
|
__context->glObjectLabel((uint)identifier, name, length, label);
|
|
}
|
|
|
|
/// <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(ObjectIdentifier identifier, uint name, int bufSize, int* length, byte* label)
|
|
{
|
|
__context->glGetObjectLabel((uint)identifier, name, bufSize, length, label);
|
|
}
|
|
|
|
/// <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>
|
|
/// <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)
|
|
{
|
|
__context->glGetObjectPtrLabel(ptr, bufSize, length, label);
|
|
}
|
|
|
|
}
|
|
}
|