make some changes to opengl api gen, discussing on rewrite of all opengl binding, making it neat and structral
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
// <auto-generated>
|
||||
// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
|
||||
// Uniform overloads introduced in OpenGL 4.0
|
||||
// </auto-generated>
|
||||
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<double> uniform, double v0)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform1d(uniform.id.SignedValue, v0);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<double> uniform, ReadOnlySpan<double> values)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
fixed (double* valuesPtr = values) {
|
||||
Context.glUniform1dv(uniform.id.SignedValue, values.Length, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<double, double> uniform, double v0, double v1)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform2d(uniform.id.SignedValue, v0, v1);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<double, double> uniform, ReadOnlySpan<double> 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<double, double, double> 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<double, double, double> uniform, ReadOnlySpan<double> 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<double, double, double, double> 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<double, double, double, double> uniform, ReadOnlySpan<double> 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user