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
File diff suppressed because it is too large Load Diff
@@ -13,24 +13,33 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
/// <summary>Forwards to the native C API <c>void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindFragDataLocationIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindFragDataLocationIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindFragmentDataLocationIndexed(GlHandle program, uint colorNumber, uint index, byte* name)
{
__context->glBindFragDataLocationIndexed(program.Value, colorNumber, index, name);
}
/// <summary>Forwards to the native C API <c>GLint glGetFragDataIndex(GLuint program, const GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetFragDataIndex" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLint glGetFragDataIndex(GLuint program, const GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetFragDataIndex">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetFragmentDataIndex(GlHandle program, byte* name)
{
return __context->glGetFragDataIndex(program.Value, name);
}
/// <summary>Forwards to the native C API <c>void glGenSamplers(GLsizei count, GLuint *samplers);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGenSamplers" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGenSamplers(GLsizei count, GLuint *samplers);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGenSamplers">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenSamplers(Span<GlHandle> samplers)
{
@@ -40,8 +49,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glDeleteSamplers(GLsizei count, const GLuint *samplers);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDeleteSamplers" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDeleteSamplers(GLsizei count, const GLuint *samplers);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDeleteSamplers">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteSamplers(ReadOnlySpan<GlHandle> samplers)
{
@@ -51,160 +63,220 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>GLboolean glIsSampler(GLuint sampler);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glIsSampler" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLboolean glIsSampler(GLuint sampler);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glIsSampler">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public byte IsSampler(GlHandle sampler)
{
return __context->glIsSampler(sampler.Value);
}
/// <summary>Forwards to the native C API <c>void glBindSampler(GLuint unit, GLuint sampler);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindSampler" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindSampler(GLuint unit, GLuint sampler);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindSampler">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindSampler(uint unit, GlHandle sampler)
{
__context->glBindSampler(unit, sampler.Value);
}
/// <summary>Forwards to the native C API <c>void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameter(GlHandle sampler, uint pname, int param)
{
__context->glSamplerParameteri(sampler.Value, pname, param);
}
/// <summary>Forwards to the native C API <c>void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameter(GlHandle sampler, uint pname, int* param)
{
__context->glSamplerParameteriv(sampler.Value, pname, param);
}
/// <summary>Forwards to the native C API <c>void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameter(GlHandle sampler, uint pname, float param)
{
__context->glSamplerParameterf(sampler.Value, pname, param);
}
/// <summary>Forwards to the native C API <c>void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameter(GlHandle sampler, uint pname, float* param)
{
__context->glSamplerParameterfv(sampler.Value, pname, param);
}
/// <summary>Forwards to the native C API <c>void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameterInteger(GlHandle sampler, uint pname, int* param)
{
__context->glSamplerParameterIiv(sampler.Value, pname, param);
}
/// <summary>Forwards to the native C API <c>void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameterInteger(GlHandle sampler, uint pname, uint* param)
{
__context->glSamplerParameterIuiv(sampler.Value, pname, param);
}
/// <summary>Forwards to the native C API <c>void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameter(GlHandle sampler, uint pname, int* @params)
{
__context->glGetSamplerParameteriv(sampler.Value, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameterInteger(GlHandle sampler, uint pname, int* @params)
{
__context->glGetSamplerParameterIiv(sampler.Value, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameter(GlHandle sampler, uint pname, float* @params)
{
__context->glGetSamplerParameterfv(sampler.Value, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetSamplerParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetSamplerParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameterInteger(GlHandle sampler, uint pname, uint* @params)
{
__context->glGetSamplerParameterIuiv(sampler.Value, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glQueryCounter(GLuint id, GLenum target);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glQueryCounter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glQueryCounter(GLuint id, GLenum target);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glQueryCounter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void QueryCounter(GlHandle id, uint target)
{
__context->glQueryCounter(id.Value, target);
}
/// <summary>Forwards to the native C API <c>void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetQueryObject" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetQueryObject">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryObject(GlHandle id, uint pname, long* @params)
{
__context->glGetQueryObjecti64v(id.Value, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetQueryObject" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetQueryObject">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryObject(GlHandle id, uint pname, ulong* @params)
{
__context->glGetQueryObjectui64v(id.Value, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribDivisor(GLuint index, GLuint divisor);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttribDivisor" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribDivisor(GLuint index, GLuint divisor);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttribDivisor">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeDivisor(uint index, uint divisor)
{
__context->glVertexAttribDivisor(index, divisor);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributePacked1(uint index, uint type, byte normalized, uint value)
{
__context->glVertexAttribP1ui(index, type, normalized, value);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributePacked2(uint index, uint type, byte normalized, uint value)
{
__context->glVertexAttribP2ui(index, type, normalized, value);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributePacked3(uint index, uint type, byte normalized, uint value)
{
__context->glVertexAttribP3ui(index, type, normalized, value);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributePacked4(uint index, uint type, byte normalized, uint value)
{
@@ -13,120 +13,165 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
/// <summary>Forwards to the native C API <c>void glMinSampleShading(GLfloat value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glMinSampleShading" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glMinSampleShading(GLfloat value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glMinSampleShading">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MinSampleShading(float value)
{
__context->glMinSampleShading(value);
}
/// <summary>Forwards to the native C API <c>void glBlendEquationi(GLuint buf, GLenum mode);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBlendEquationi" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBlendEquationi(GLuint buf, GLenum mode);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBlendEquationi">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BlendEquationi(uint buf, uint mode)
{
__context->glBlendEquationi(buf, mode);
}
/// <summary>Forwards to the native C API <c>void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBlendEquationSeparatei" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBlendEquationSeparatei">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BlendEquationSeparatei(uint buf, uint modeRGB, uint modeAlpha)
{
__context->glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
}
/// <summary>Forwards to the native C API <c>void glBlendFunci(GLuint buf, GLenum src, GLenum dst);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBlendFunci" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBlendFunci(GLuint buf, GLenum src, GLenum dst);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBlendFunci">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BlendFunci(uint buf, uint src, uint dst)
{
__context->glBlendFunci(buf, src, dst);
}
/// <summary>Forwards to the native C API <c>void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBlendFuncSeparatei" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBlendFuncSeparatei">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BlendFuncSeparatei(uint buf, uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha)
{
__context->glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
}
/// <summary>Forwards to the native C API <c>void glDrawArraysIndirect(GLenum mode, const void *indirect);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawArraysIndirect" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawArraysIndirect(GLenum mode, const void *indirect);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawArraysIndirect">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawArraysIndirect(uint mode, void* indirect)
{
__context->glDrawArraysIndirect(mode, indirect);
}
/// <summary>Forwards to the native C API <c>void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawElementsIndirect" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawElementsIndirect">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawElementsIndirect(uint mode, uint type, void* indirect)
{
__context->glDrawElementsIndirect(mode, type, indirect);
}
/// <summary>Forwards to the native C API <c>void glUniform1d(GLint location, GLdouble x);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform1d(GLint location, GLdouble x);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, double x)
{
__context->glUniform1d(location, x);
}
/// <summary>Forwards to the native C API <c>void glUniform2d(GLint location, GLdouble x, GLdouble y);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform2d(GLint location, GLdouble x, GLdouble y);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, double x, double y)
{
__context->glUniform2d(location, x, y);
}
/// <summary>Forwards to the native C API <c>void glUniform2d(GLint location, GLdouble x, GLdouble y);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform2d(GLint location, GLdouble x, GLdouble y);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, Vec2<double> value)
{
__context->glUniform2d(location, value.X, value.Y);
}
/// <summary>Forwards to the native C API <c>void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, double x, double y, double z)
{
__context->glUniform3d(location, x, y, z);
}
/// <summary>Forwards to the native C API <c>void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, Vec3<double> value)
{
__context->glUniform3d(location, value.X, value.Y, value.Z);
}
/// <summary>Forwards to the native C API <c>void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, double x, double y, double z, double w)
{
__context->glUniform4d(location, x, y, z, w);
}
/// <summary>Forwards to the native C API <c>void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, Vec4<double> value)
{
__context->glUniform4d(location, value.X, value.Y, value.Z, value.W);
}
/// <summary>Forwards to the native C API <c>void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, ReadOnlySpan<double> values)
{
@@ -136,8 +181,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform(int location, ReadOnlySpan<Vec4<double>> values)
{
@@ -147,104 +195,143 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glGetUniformdv(GLuint program, GLint location, GLdouble *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetUniformdv(GLuint program, GLint location, GLdouble *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetUniform(GlHandle program, int location, double* @params)
{
__context->glGetUniformdv(program.Value, location, @params);
}
/// <summary>Forwards to the native C API <c>GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetSubroutineUniformLocation" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetSubroutineUniformLocation">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetSubroutineUniformLocation(GlHandle program, uint shadertype, byte* name)
{
return __context->glGetSubroutineUniformLocation(program.Value, shadertype, name);
}
/// <summary>Forwards to the native C API <c>GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetSubroutineIndex" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetSubroutineIndex">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public uint GetSubroutineIndex(GlHandle program, uint shadertype, byte* name)
{
return __context->glGetSubroutineIndex(program.Value, shadertype, name);
}
/// <summary>Forwards to the native C API <c>void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetActiveSubroutineUniformiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetActiveSubroutineUniformiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveSubroutineUniformiv(GlHandle program, uint shadertype, uint index, uint pname, int* values)
{
__context->glGetActiveSubroutineUniformiv(program.Value, shadertype, index, pname, values);
}
/// <summary>Forwards to the native C API <c>void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetActiveSubroutineUniformName" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetActiveSubroutineUniformName">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveSubroutineUniformName(GlHandle program, uint shadertype, uint index, int bufSize, int* length, byte* name)
{
__context->glGetActiveSubroutineUniformName(program.Value, shadertype, index, bufSize, length, name);
}
/// <summary>Forwards to the native C API <c>void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetActiveSubroutineName" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetActiveSubroutineName">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveSubroutineName(GlHandle program, uint shadertype, uint index, int bufSize, int* length, byte* name)
{
__context->glGetActiveSubroutineName(program.Value, shadertype, index, bufSize, length, name);
}
/// <summary>Forwards to the native C API <c>void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUniformSubroutinesuiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUniformSubroutinesuiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformSubroutinesuiv(uint shadertype, int count, uint* indices)
{
__context->glUniformSubroutinesuiv(shadertype, count, indices);
}
/// <summary>Forwards to the native C API <c>void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetUniformSubroutineuiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetUniformSubroutineuiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetUniformSubroutineuiv(uint shadertype, int location, uint* @params)
{
__context->glGetUniformSubroutineuiv(shadertype, location, @params);
}
/// <summary>Forwards to the native C API <c>void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramStageiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramStageiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramStageiv(GlHandle program, uint shadertype, uint pname, int* values)
{
__context->glGetProgramStageiv(program.Value, shadertype, pname, values);
}
/// <summary>Forwards to the native C API <c>void glPatchParameteri(GLenum pname, GLint value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glPatchParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glPatchParameteri(GLenum pname, GLint value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glPatchParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PatchParameter(uint pname, int value)
{
__context->glPatchParameteri(pname, value);
}
/// <summary>Forwards to the native C API <c>void glPatchParameterfv(GLenum pname, const GLfloat *values);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glPatchParameter" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glPatchParameterfv(GLenum pname, const GLfloat *values);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glPatchParameter">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PatchParameter(uint pname, float* values)
{
__context->glPatchParameterfv(pname, values);
}
/// <summary>Forwards to the native C API <c>void glBindTransformFeedback(GLenum target, GLuint id);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindTransformFeedback" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindTransformFeedback(GLenum target, GLuint id);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindTransformFeedback">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindTransformFeedback(uint target, GlHandle id)
{
__context->glBindTransformFeedback(target, id.Value);
}
/// <summary>Forwards to the native C API <c>void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDeleteTransformFeedbacks" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDeleteTransformFeedbacks">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteTransformFeedbacks(ReadOnlySpan<GlHandle> ids)
{
@@ -254,8 +341,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glGenTransformFeedbacks(GLsizei n, GLuint *ids);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGenTransformFeedbacks" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGenTransformFeedbacks(GLsizei n, GLuint *ids);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGenTransformFeedbacks">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenTransformFeedbacks(Span<GlHandle> ids)
{
@@ -265,64 +355,88 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>GLboolean glIsTransformFeedback(GLuint id);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glIsTransformFeedback" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLboolean glIsTransformFeedback(GLuint id);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glIsTransformFeedback">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public byte IsTransformFeedback(GlHandle id)
{
return __context->glIsTransformFeedback(id.Value);
}
/// <summary>Forwards to the native C API <c>void glPauseTransformFeedback();</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glPauseTransformFeedback" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glPauseTransformFeedback();</c></para>
/// <para>See <see href="https://docs.gl/gl4/glPauseTransformFeedback">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PauseTransformFeedback()
{
__context->glPauseTransformFeedback();
}
/// <summary>Forwards to the native C API <c>void glResumeTransformFeedback();</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glResumeTransformFeedback" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glResumeTransformFeedback();</c></para>
/// <para>See <see href="https://docs.gl/gl4/glResumeTransformFeedback">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ResumeTransformFeedback()
{
__context->glResumeTransformFeedback();
}
/// <summary>Forwards to the native C API <c>void glDrawTransformFeedback(GLenum mode, GLuint id);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawTransformFeedback" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawTransformFeedback(GLenum mode, GLuint id);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawTransformFeedback">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawTransformFeedback(uint mode, GlHandle id)
{
__context->glDrawTransformFeedback(mode, id.Value);
}
/// <summary>Forwards to the native C API <c>void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawTransformFeedbackStream" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawTransformFeedbackStream">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawTransformFeedbackStream(uint mode, GlHandle id, uint stream)
{
__context->glDrawTransformFeedbackStream(mode, id.Value, stream);
}
/// <summary>Forwards to the native C API <c>void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBeginQueryIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBeginQueryIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BeginQueryIndexed(uint target, uint index, GlHandle id)
{
__context->glBeginQueryIndexed(target, index, id.Value);
}
/// <summary>Forwards to the native C API <c>void glEndQueryIndexed(GLenum target, GLuint index);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glEndQueryIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glEndQueryIndexed(GLenum target, GLuint index);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glEndQueryIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void EndQueryIndexed(uint target, uint index)
{
__context->glEndQueryIndexed(target, index);
}
/// <summary>Forwards to the native C API <c>void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetQueryIndexediv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetQueryIndexediv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryIndexediv(uint target, uint index, uint pname, int* @params)
{
@@ -13,16 +13,22 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
/// <summary>Forwards to the native C API <c>void glReleaseShaderCompiler();</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glReleaseShaderCompiler" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glReleaseShaderCompiler();</c></para>
/// <para>See <see href="https://docs.gl/gl4/glReleaseShaderCompiler">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ReleaseShaderCompiler()
{
__context->glReleaseShaderCompiler();
}
/// <summary>Forwards to the native C API <c>void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glShaderBinary" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glShaderBinary">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ShaderBinary(ReadOnlySpan<GlHandle> shaders, uint binaryFormat, void* binary, int length)
{
@@ -32,88 +38,121 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetShaderPrecisionFormat" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetShaderPrecisionFormat">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetShaderPrecisionFormat(uint shadertype, uint precisiontype, int* range, int* precision)
{
__context->glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
}
/// <summary>Forwards to the native C API <c>void glDepthRangef(GLfloat n, GLfloat f);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDepthRangef" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDepthRangef(GLfloat n, GLfloat f);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDepthRangef">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DepthRangef(float n, float f)
{
__context->glDepthRangef(n, f);
}
/// <summary>Forwards to the native C API <c>void glClearDepthf(GLfloat d);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glClearDepthf" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glClearDepthf(GLfloat d);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glClearDepthf">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ClearDepthf(float d)
{
__context->glClearDepthf(d);
}
/// <summary>Forwards to the native C API <c>void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramBinary" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramBinary">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramBinary(GlHandle program, int bufSize, int* length, uint* binaryFormat, void* binary)
{
__context->glGetProgramBinary(program.Value, bufSize, length, binaryFormat, binary);
}
/// <summary>Forwards to the native C API <c>void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramBinary" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramBinary">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramBinary(GlHandle program, uint binaryFormat, void* binary, int length)
{
__context->glProgramBinary(program.Value, binaryFormat, binary, length);
}
/// <summary>Forwards to the native C API <c>void glProgramParameteri(GLuint program, GLenum pname, GLint value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramParameteri" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramParameteri(GLuint program, GLenum pname, GLint value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramParameteri">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramParameteri(GlHandle program, uint pname, int value)
{
__context->glProgramParameteri(program.Value, pname, value);
}
/// <summary>Forwards to the native C API <c>void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glUseProgramStages" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glUseProgramStages">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UseProgramStages(GlHandle pipeline, uint stages, GlHandle program)
{
__context->glUseProgramStages(pipeline.Value, stages, program.Value);
}
/// <summary>Forwards to the native C API <c>void glActiveShaderProgram(GLuint pipeline, GLuint program);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glActiveShaderProgram" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glActiveShaderProgram(GLuint pipeline, GLuint program);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glActiveShaderProgram">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ActiveShaderProgram(GlHandle pipeline, GlHandle program)
{
__context->glActiveShaderProgram(pipeline.Value, program.Value);
}
/// <summary>Forwards to the native C API <c>GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const*strings);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glCreateShaderProgramv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const*strings);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glCreateShaderProgramv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public GlHandle CreateShaderProgramv(uint type, int count, byte** strings)
{
return GlHandle.Create(__context->glCreateShaderProgramv(type, count, strings));
}
/// <summary>Forwards to the native C API <c>void glBindProgramPipeline(GLuint pipeline);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindProgramPipeline" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindProgramPipeline(GLuint pipeline);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindProgramPipeline">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindProgramPipeline(GlHandle pipeline)
{
__context->glBindProgramPipeline(pipeline.Value);
}
/// <summary>Forwards to the native C API <c>void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDeleteProgramPipelines" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDeleteProgramPipelines">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteProgramPipelines(ReadOnlySpan<GlHandle> pipelines)
{
@@ -123,8 +162,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glGenProgramPipelines(GLsizei n, GLuint *pipelines);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGenProgramPipelines" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGenProgramPipelines(GLsizei n, GLuint *pipelines);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGenProgramPipelines">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenProgramPipelines(Span<GlHandle> pipelines)
{
@@ -134,32 +176,44 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>GLboolean glIsProgramPipeline(GLuint pipeline);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glIsProgramPipeline" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>GLboolean glIsProgramPipeline(GLuint pipeline);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glIsProgramPipeline">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public byte IsProgramPipeline(GlHandle pipeline)
{
return __context->glIsProgramPipeline(pipeline.Value);
}
/// <summary>Forwards to the native C API <c>void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramPipelineiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramPipelineiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramPipelineiv(GlHandle pipeline, uint pname, int* @params)
{
__context->glGetProgramPipelineiv(pipeline.Value, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1i(GLuint program, GLint location, GLint v0);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1i(GLuint program, GLint location, GLint v0);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, int v0)
{
__context->glProgramUniform1i(program.Value, location, v0);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<int> values)
{
@@ -169,16 +223,22 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, float v0)
{
__context->glProgramUniform1f(program.Value, location, v0);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<float> values)
{
@@ -188,16 +248,22 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, double v0)
{
__context->glProgramUniform1d(program.Value, location, v0);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<double> values)
{
@@ -207,16 +273,22 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, uint v0)
{
__context->glProgramUniform1ui(program.Value, location, v0);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<uint> values)
{
@@ -226,152 +298,209 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, int v0, int v1)
{
__context->glProgramUniform2i(program.Value, location, v0, v1);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec2<int> value)
{
__context->glProgramUniform2i(program.Value, location, value.X, value.Y);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, float v0, float v1)
{
__context->glProgramUniform2f(program.Value, location, v0, v1);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec2<float> value)
{
__context->glProgramUniform2f(program.Value, location, value.X, value.Y);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, double v0, double v1)
{
__context->glProgramUniform2d(program.Value, location, v0, v1);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec2<double> value)
{
__context->glProgramUniform2d(program.Value, location, value.X, value.Y);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, uint v0, uint v1)
{
__context->glProgramUniform2ui(program.Value, location, v0, v1);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec2<uint> value)
{
__context->glProgramUniform2ui(program.Value, location, value.X, value.Y);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, int v0, int v1, int v2)
{
__context->glProgramUniform3i(program.Value, location, v0, v1, v2);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec3<int> value)
{
__context->glProgramUniform3i(program.Value, location, value.X, value.Y, value.Z);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, float v0, float v1, float v2)
{
__context->glProgramUniform3f(program.Value, location, v0, v1, v2);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec3<float> value)
{
__context->glProgramUniform3f(program.Value, location, value.X, value.Y, value.Z);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, double v0, double v1, double v2)
{
__context->glProgramUniform3d(program.Value, location, v0, v1, v2);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec3<double> value)
{
__context->glProgramUniform3d(program.Value, location, value.X, value.Y, value.Z);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, uint v0, uint v1, uint v2)
{
__context->glProgramUniform3ui(program.Value, location, v0, v1, v2);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec3<uint> value)
{
__context->glProgramUniform3ui(program.Value, location, value.X, value.Y, value.Z);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, int v0, int v1, int v2, int v3)
{
__context->glProgramUniform4i(program.Value, location, v0, v1, v2, v3);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec4<int> value)
{
__context->glProgramUniform4i(program.Value, location, value.X, value.Y, value.Z, value.W);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<Vec4<int>> values)
{
@@ -381,24 +510,33 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, float v0, float v1, float v2, float v3)
{
__context->glProgramUniform4f(program.Value, location, v0, v1, v2, v3);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec4<float> value)
{
__context->glProgramUniform4f(program.Value, location, value.X, value.Y, value.Z, value.W);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<Vec4<float>> values)
{
@@ -408,24 +546,33 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, double v0, double v1, double v2, double v3)
{
__context->glProgramUniform4d(program.Value, location, v0, v1, v2, v3);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec4<double> value)
{
__context->glProgramUniform4d(program.Value, location, value.X, value.Y, value.Z, value.W);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<Vec4<double>> values)
{
@@ -435,24 +582,33 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, uint v0, uint v1, uint v2, uint v3)
{
__context->glProgramUniform4ui(program.Value, location, v0, v1, v2, v3);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, Vec4<uint> value)
{
__context->glProgramUniform4ui(program.Value, location, value.X, value.Y, value.Z, value.W);
}
/// <summary>Forwards to the native C API <c>void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, ReadOnlySpan<Vec4<uint>> values)
{
@@ -462,16 +618,22 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, bool transpose, GraphicsMatrix value)
{
__context->glProgramUniformMatrix4fv(program.Value, location, 1, transpose ? (byte)1 : (byte)0, (float*)&value);
}
/// <summary>Forwards to the native C API <c>void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glProgramUniform" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glProgramUniform">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ProgramUniform(GlHandle program, int location, bool transpose, ReadOnlySpan<GraphicsMatrix> values)
{
@@ -481,136 +643,187 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glValidateProgramPipeline(GLuint pipeline);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glValidateProgramPipeline" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glValidateProgramPipeline(GLuint pipeline);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glValidateProgramPipeline">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ValidateProgramPipeline(GlHandle pipeline)
{
__context->glValidateProgramPipeline(pipeline.Value);
}
/// <summary>Forwards to the native C API <c>void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetProgramPipelineInfoLog" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetProgramPipelineInfoLog">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramPipelineInfoLog(GlHandle pipeline, int bufSize, int* length, byte* infoLog)
{
__context->glGetProgramPipelineInfoLog(pipeline.Value, bufSize, length, infoLog);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribL1d(GLuint index, GLdouble x);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribL1d(GLuint index, GLdouble x);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeDouble(uint index, double x)
{
__context->glVertexAttribL1d(index, x);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeDouble(uint index, double x, double y)
{
__context->glVertexAttribL2d(index, x, y);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeDouble(uint index, double x, double y, double z)
{
__context->glVertexAttribL3d(index, x, y, z);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeDouble(uint index, double x, double y, double z, double w)
{
__context->glVertexAttribL4d(index, x, y, z, w);
}
/// <summary>Forwards to the native C API <c>void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glVertexAttribPointer" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glVertexAttribPointer">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttributeDoublePointer(uint index, int size, uint type, int stride, void* pointer)
{
__context->glVertexAttribLPointer(index, size, type, stride, pointer);
}
/// <summary>Forwards to the native C API <c>void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetVertexAttrib" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetVertexAttrib">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetVertexAttributeDouble(uint index, uint pname, double* @params)
{
__context->glGetVertexAttribLdv(index, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glViewportArrayv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glViewportArrayv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ViewportArrayv(uint first, int count, float* v)
{
__context->glViewportArrayv(first, count, v);
}
/// <summary>Forwards to the native C API <c>void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glViewportIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glViewportIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ViewportIndexed(uint index, float x, float y, float w, float h)
{
__context->glViewportIndexedf(index, x, y, w, h);
}
/// <summary>Forwards to the native C API <c>void glViewportIndexedfv(GLuint index, const GLfloat *v);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glViewportIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glViewportIndexedfv(GLuint index, const GLfloat *v);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glViewportIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ViewportIndexed(uint index, float* v)
{
__context->glViewportIndexedfv(index, v);
}
/// <summary>Forwards to the native C API <c>void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glScissorArrayv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glScissorArrayv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ScissorArrayv(uint first, int count, int* v)
{
__context->glScissorArrayv(first, count, v);
}
/// <summary>Forwards to the native C API <c>void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glScissorIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glScissorIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ScissorIndexed(uint index, int left, int bottom, int width, int height)
{
__context->glScissorIndexed(index, left, bottom, width, height);
}
/// <summary>Forwards to the native C API <c>void glScissorIndexedv(GLuint index, const GLint *v);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glScissorIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glScissorIndexedv(GLuint index, const GLint *v);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glScissorIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ScissorIndexed(uint index, int* v)
{
__context->glScissorIndexedv(index, v);
}
/// <summary>Forwards to the native C API <c>void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDepthRangeArrayv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDepthRangeArrayv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DepthRangeArrayv(uint first, int count, double* v)
{
__context->glDepthRangeArrayv(first, count, v);
}
/// <summary>Forwards to the native C API <c>void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDepthRangeIndexed" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDepthRangeIndexed">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DepthRangeIndexed(uint index, double n, double f)
{
__context->glDepthRangeIndexed(index, n, f);
}
/// <summary>Forwards to the native C API <c>void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGet" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGet">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetValue(uint target, uint index, Span<float> values)
{
@@ -620,8 +833,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGet" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGet">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetValue(uint target, uint index, Span<double> values)
{
@@ -13,96 +13,132 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
/// <summary>Forwards to the native C API <c>void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawArraysInstancedBaseInstance" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawArraysInstancedBaseInstance">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawArraysInstancedBaseInstance(uint mode, int first, int count, int instancecount, uint baseinstance)
{
__context->glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
}
/// <summary>Forwards to the native C API <c>void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawElementsInstancedBaseInstance" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawElementsInstancedBaseInstance">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawElementsInstancedBaseVertexBaseInstance" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawElementsInstancedBaseVertexBaseInstance">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetInternalformat" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *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, int* @params)
{
__context->glGetInternalformativ(target, internalFormat, pname, count, @params);
}
/// <summary>Forwards to the native C API <c>void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glGetActiveAtomicCounterBufferiv" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glGetActiveAtomicCounterBufferiv">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveAtomicCounterBufferiv(GlHandle program, uint bufferIndex, uint pname, int* @params)
{
__context->glGetActiveAtomicCounterBufferiv(program.Value, bufferIndex, pname, @params);
}
/// <summary>Forwards to the native C API <c>void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindImageTexture" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindImageTexture">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glMemoryBarrier(GLbitfield barriers);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glMemoryBarrier" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glMemoryBarrier(GLbitfield barriers);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glMemoryBarrier">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MemoryBarrier(uint barriers)
{
__context->glMemoryBarrier(barriers);
}
/// <summary>Forwards to the native C API <c>void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glTexStorage1D" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glTexStorage1D">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexStorage1D(uint target, int levels, uint internalFormat, int width)
{
__context->glTexStorage1D(target, levels, internalFormat, width);
}
/// <summary>Forwards to the native C API <c>void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glTexStorage2D" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glTexStorage2D">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexStorage2D(uint target, int levels, uint internalFormat, int width, int height)
{
__context->glTexStorage2D(target, levels, internalFormat, width, height);
}
/// <summary>Forwards to the native C API <c>void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glTexStorage3D" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glTexStorage3D">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawTransformFeedbackInstanced" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawTransformFeedbackInstanced">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawTransformFeedbackInstanced(uint mode, GlHandle id, int instancecount)
{
__context->glDrawTransformFeedbackInstanced(mode, id.Value, instancecount);
}
/// <summary>Forwards to the native C API <c>void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glDrawTransformFeedbackStreamInstanced" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glDrawTransformFeedbackStreamInstanced">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawTransformFeedbackStreamInstanced(uint mode, GlHandle id, uint stream, int instancecount)
{
@@ -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)
{
@@ -13,32 +13,44 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
/// <summary>Forwards to the native C API <c>void glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBufferStorage" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBufferStorage">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BufferStorage(uint target, nint size, void* data, uint flags)
{
__context->glBufferStorage(target, size, data, flags);
}
/// <summary>Forwards to the native C API <c>void glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glClearTexImage" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glClearTexImage">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ClearTexImage(GlHandle texture, int level, uint format, uint type, void* data)
{
__context->glClearTexImage(texture.Value, level, format, type, data);
}
/// <summary>Forwards to the native C API <c>void glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glClearTexSubImage" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glClearTexSubImage">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindBuffersBase" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindBuffersBase">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindBuffersBase(uint target, uint first, ReadOnlySpan<GlHandle> buffers)
{
@@ -48,8 +60,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindBuffersRange" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindBuffersRange">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindBuffersRange(uint target, uint first, ReadOnlySpan<GlHandle> buffers, nint* offsets, nint* sizes)
{
@@ -59,8 +74,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glBindTextures(GLuint first, GLsizei count, const GLuint *textures);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindTextures" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindTextures(GLuint first, GLsizei count, const GLuint *textures);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindTextures">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindTextures(uint first, ReadOnlySpan<GlHandle> textures)
{
@@ -70,8 +88,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindSamplers" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindSamplers">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindSamplers(uint first, ReadOnlySpan<GlHandle> samplers)
{
@@ -81,8 +102,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindImageTextures" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindImageTextures">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindImageTextures(uint first, ReadOnlySpan<GlHandle> textures)
{
@@ -92,8 +116,11 @@ namespace StgSharp.Graphics.OpenGL
}
}
/// <summary>Forwards to the native C API <c>void glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glBindVertexBuffers" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glBindVertexBuffers">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindVertexBuffers(uint first, ReadOnlySpan<GlHandle> buffers, nint* offsets, int* strides)
{
File diff suppressed because it is too large Load Diff
@@ -13,32 +13,44 @@ namespace StgSharp.Graphics.OpenGL
public unsafe partial class OpenGLFunction
{
/// <summary>Forwards to the native C API <c>void glSpecializeShader(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glSpecializeShader" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glSpecializeShader(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glSpecializeShader">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SpecializeShader(GlHandle shader, byte* pEntryPoint, uint numSpecializationConstants, uint* pConstantIndex, uint* pConstantValue)
{
__context->glSpecializeShader(shader.Value, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue);
}
/// <summary>Forwards to the native C API <c>void glMultiDrawArraysIndirectCount(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glMultiDrawArraysIndirectCount" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glMultiDrawArraysIndirectCount(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glMultiDrawArraysIndirectCount">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MultiDrawArraysIndirectCount(uint mode, void* indirect, nint drawcount, int maxdrawcount, int stride)
{
__context->glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride);
}
/// <summary>Forwards to the native C API <c>void glMultiDrawElementsIndirectCount(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glMultiDrawElementsIndirectCount" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glMultiDrawElementsIndirectCount(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glMultiDrawElementsIndirectCount">docs.gl</see>.</para>
/// </summary>
[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);
}
/// <summary>Forwards to the native C API <c>void glPolygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp);</c>.</summary>
/// <seealso href="https://docs.gl/gl4/glPolygonOffsetClamp" />
/// <summary>
/// <para>Forwards to the native OpenGL entry point.</para>
/// <para><c>void glPolygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp);</c></para>
/// <para>See <see href="https://docs.gl/gl4/glPolygonOffsetClamp">docs.gl</see>.</para>
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PolygonOffsetClamp(float factor, float units, float clamp)
{
File diff suppressed because it is too large Load Diff
@@ -5,4 +5,8 @@
<ProjectReference Include="..\StgSharp.Mathematics\StgSharp.Mathematics.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="OpenGL\Generated\" />
</ItemGroup>
</Project>