// // Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z // Uniform overloads introduced in OpenGL 4.1 // using System; using System.Runtime.CompilerServices; using StgSharp.Mathematics.Graphics; namespace StgSharp.Graphics.OpenGL { public unsafe partial class OpenGLFunction { [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, double v0) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform1d(program.Value, uniform.id.SignedValue, v0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); fixed (double* valuesPtr = values) { Context.glProgramUniform1dv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, float v0) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform1f(program.Value, uniform.id.SignedValue, v0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); fixed (float* valuesPtr = values) { Context.glProgramUniform1fv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, int v0) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform1i(program.Value, uniform.id.SignedValue, v0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); fixed (int* valuesPtr = values) { Context.glProgramUniform1iv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, uint v0) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform1ui(program.Value, uniform.id.SignedValue, v0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); fixed (uint* valuesPtr = values) { Context.glProgramUniform1uiv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, double v0, double v1) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform2d(program.Value, uniform.id.SignedValue, v0, v1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 2) != 0) { throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); } fixed (double* valuesPtr = values) { Context.glProgramUniform2dv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, float v0, float v1) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform2f(program.Value, uniform.id.SignedValue, v0, v1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 2) != 0) { throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); } fixed (float* valuesPtr = values) { Context.glProgramUniform2fv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, int v0, int v1) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform2i(program.Value, uniform.id.SignedValue, v0, v1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 2) != 0) { throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); } fixed (int* valuesPtr = values) { Context.glProgramUniform2iv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, uint v0, uint v1) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform2ui(program.Value, uniform.id.SignedValue, v0, v1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 2) != 0) { throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); } fixed (uint* valuesPtr = values) { Context.glProgramUniform2uiv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, double v0, double v1, double v2) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform3d(program.Value, uniform.id.SignedValue, v0, v1, v2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 3) != 0) { throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); } fixed (double* valuesPtr = values) { Context.glProgramUniform3dv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, float v0, float v1, float v2) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform3f(program.Value, uniform.id.SignedValue, v0, v1, v2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 3) != 0) { throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); } fixed (float* valuesPtr = values) { Context.glProgramUniform3fv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, int v0, int v1, int v2) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform3i(program.Value, uniform.id.SignedValue, v0, v1, v2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 3) != 0) { throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); } fixed (int* valuesPtr = values) { Context.glProgramUniform3iv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, uint v0, uint v1, uint v2) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform3ui(program.Value, uniform.id.SignedValue, v0, v1, v2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 3) != 0) { throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); } fixed (uint* valuesPtr = values) { Context.glProgramUniform3uiv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, double v0, double v1, double v2, double v3) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform4d(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 4) != 0) { throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); } fixed (double* valuesPtr = values) { Context.glProgramUniform4dv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, float v0, float v1, float v2, float v3) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform4f(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 4) != 0) { throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); } fixed (float* valuesPtr = values) { Context.glProgramUniform4fv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, int v0, int v1, int v2, int v3) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform4i(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 4) != 0) { throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); } fixed (int* valuesPtr = values) { Context.glProgramUniform4iv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, uint v0, uint v1, uint v2, uint v3) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform4ui(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); if ((values.Length % 4) != 0) { throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); } fixed (uint* valuesPtr = values) { Context.glProgramUniform4uiv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, Vec2 value) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform2fv(program.Value, uniform.id.SignedValue, 1, (float*)&value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, Vec3 value) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform3fv(program.Value, uniform.id.SignedValue, 1, (float*)&value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, Vec4 value) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniform4fv(program.Value, uniform.id.SignedValue, 1, (float*)&value); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(GlHandle program, Uniform uniform, GraphicsMatrix value, bool transpose = false) { ArgumentNullException.ThrowIfNull(uniform); Context.glProgramUniformMatrix4fv(program.Value, uniform.id.SignedValue, 1, transpose ? (byte)1 : (byte)0, (float*)&value); } } }