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,261 @@
|
||||
// <auto-generated>
|
||||
// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
|
||||
// Uniform overloads introduced in OpenGL 3.3
|
||||
// </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<float> uniform, float v0)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform1f(uniform.id.SignedValue, v0);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<float> uniform, ReadOnlySpan<float> values)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
fixed (float* valuesPtr = values) {
|
||||
Context.glUniform1fv(uniform.id.SignedValue, values.Length, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int> uniform, int v0)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform1i(uniform.id.SignedValue, v0);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int> uniform, ReadOnlySpan<int> values)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
fixed (int* valuesPtr = values) {
|
||||
Context.glUniform1iv(uniform.id.SignedValue, values.Length, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint> uniform, uint v0)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform1ui(uniform.id.SignedValue, v0);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint> uniform, ReadOnlySpan<uint> values)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
fixed (uint* valuesPtr = values) {
|
||||
Context.glUniform1uiv(uniform.id.SignedValue, values.Length, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<float, float> uniform, float v0, float v1)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform2f(uniform.id.SignedValue, v0, v1);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<float, float> uniform, ReadOnlySpan<float> 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.glUniform2fv(uniform.id.SignedValue, values.Length / 2, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int, int> uniform, int v0, int v1)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform2i(uniform.id.SignedValue, v0, v1);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int, int> uniform, ReadOnlySpan<int> 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.glUniform2iv(uniform.id.SignedValue, values.Length / 2, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint, uint> uniform, uint v0, uint v1)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform2ui(uniform.id.SignedValue, v0, v1);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint, uint> uniform, ReadOnlySpan<uint> 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.glUniform2uiv(uniform.id.SignedValue, values.Length / 2, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<float, float, float> uniform, float v0, float v1, float v2)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform3f(uniform.id.SignedValue, v0, v1, v2);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<float, float, float> uniform, ReadOnlySpan<float> 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.glUniform3fv(uniform.id.SignedValue, values.Length / 3, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int, int, int> uniform, int v0, int v1, int v2)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform3i(uniform.id.SignedValue, v0, v1, v2);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int, int, int> uniform, ReadOnlySpan<int> 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.glUniform3iv(uniform.id.SignedValue, values.Length / 3, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint, uint, uint> uniform, uint v0, uint v1, uint v2)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform3ui(uniform.id.SignedValue, v0, v1, v2);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint, uint, uint> uniform, ReadOnlySpan<uint> 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.glUniform3uiv(uniform.id.SignedValue, values.Length / 3, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<float, float, float, float> uniform, float v0, float v1, float v2, float v3)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform4f(uniform.id.SignedValue, v0, v1, v2, v3);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<float, float, float, float> uniform, ReadOnlySpan<float> 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.glUniform4fv(uniform.id.SignedValue, values.Length / 4, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int, int, int, int> uniform, int v0, int v1, int v2, int v3)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform4i(uniform.id.SignedValue, v0, v1, v2, v3);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<int, int, int, int> uniform, ReadOnlySpan<int> 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.glUniform4iv(uniform.id.SignedValue, values.Length / 4, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint, uint, uint, uint> uniform, uint v0, uint v1, uint v2, uint v3)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform4ui(uniform.id.SignedValue, v0, v1, v2, v3);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<uint, uint, uint, uint> uniform, ReadOnlySpan<uint> 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.glUniform4uiv(uniform.id.SignedValue, values.Length / 4, valuesPtr);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<Vec2> uniform, Vec2 value)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform2fv(uniform.id.SignedValue, 1, (float*)&value);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<Vec3> uniform, Vec3 value)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform3fv(uniform.id.SignedValue, 1, (float*)&value);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<Vec4> uniform, Vec4 value)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniform4fv(uniform.id.SignedValue, 1, (float*)&value);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void SetUniformValue(Uniform<GraphicsMatrix> uniform, GraphicsMatrix value, bool transpose = false)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(uniform);
|
||||
Context.glUniformMatrix4fv(uniform.id.SignedValue, 1, transpose ? (byte)1 : (byte)0, (float*)&value);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user