daily update on 20240325 by nitload youmu
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user