// // Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z // Uniform overloads introduced in OpenGL 4.0 // using System; using System.Runtime.CompilerServices; using StgSharp.Mathematics.Graphics; namespace StgSharp.Graphics.OpenGL { public unsafe partial class OpenGLFunction { [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(Uniform uniform, double v0) { ArgumentNullException.ThrowIfNull(uniform); Context.glUniform1d(uniform.id.SignedValue, v0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(Uniform uniform, ReadOnlySpan values) { ArgumentNullException.ThrowIfNull(uniform); fixed (double* valuesPtr = values) { Context.glUniform1dv(uniform.id.SignedValue, values.Length, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(Uniform uniform, double v0, double v1) { ArgumentNullException.ThrowIfNull(uniform); Context.glUniform2d(uniform.id.SignedValue, v0, v1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(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.glUniform2dv(uniform.id.SignedValue, values.Length / 2, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(Uniform uniform, double v0, double v1, double v2) { ArgumentNullException.ThrowIfNull(uniform); Context.glUniform3d(uniform.id.SignedValue, v0, v1, v2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(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.glUniform3dv(uniform.id.SignedValue, values.Length / 3, valuesPtr); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(Uniform uniform, double v0, double v1, double v2, double v3) { ArgumentNullException.ThrowIfNull(uniform); Context.glUniform4d(uniform.id.SignedValue, v0, v1, v2, v3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetUniformValue(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.glUniform4dv(uniform.id.SignedValue, values.Length / 4, valuesPtr); } } } }