daily update on 20240325 by nitload youmu

This commit is contained in:
YoumuLiu
2024-03-25 09:26:53 +08:00
parent 9a10ec201c
commit 02be081eee
142 changed files with 11277 additions and 572 deletions
@@ -53,7 +53,7 @@ namespace StgSharp.Graphics
[MethodImpl(MethodImplOptions.AggressiveInlining)]
protected ShaderProgram CreateShaderProgram()
{
return new ShaderProgram(GL);
return new ShaderProgram(this);
}
}
@@ -105,16 +105,16 @@ namespace StgSharp.Graphics
public class ShaderProgram
{
private readonly IglFunc GL;
private readonly Form binding;
internal readonly glHandle handle;
/// <summary>
/// Inti a shader with no program attached.
/// </summary>
internal unsafe ShaderProgram(IglFunc gl)
internal unsafe ShaderProgram(Form binding)
{
GL = gl;
handle = GL.CreateProgram();
this.binding = binding;
handle = binding.GL.CreateProgram();
}
/// <summary>
@@ -126,7 +126,7 @@ namespace StgSharp.Graphics
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public unsafe Uniform<T> GetUniform<T>(string name) where T : struct
{
return new Uniform<T>(this, name, GL);
return new Uniform<T>(this, name, binding);
}
/// <summary>
@@ -139,7 +139,7 @@ namespace StgSharp.Graphics
where T : struct
where U : struct
{
return new Uniform<T, U>(this, name, GL);
return new Uniform<T, U>(this, name, binding);
}
/// <summary>
@@ -153,7 +153,7 @@ namespace StgSharp.Graphics
where U : struct
where V : struct
{
return new Uniform<T, U, V>(this, name, GL);
return new Uniform<T, U, V>(this, name, binding);
}
/// <summary>
@@ -161,7 +161,7 @@ namespace StgSharp.Graphics
/// </summary>
public unsafe void Link()
{
if (InternalIO.InternalLinkShaderProgram(GL.Context, handle.Value) == 0)
if (InternalIO.InternalLinkShaderProgram(binding.GL.Context, handle.Value) == 0)
{
IntPtr logPtr = InternalIO.InternalReadSSCLog();
try
@@ -185,7 +185,7 @@ namespace StgSharp.Graphics
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public unsafe void Use()
{
GL.UseProgram(handle);
binding.GL.UseProgram(handle);
}
}