daly update on 20230502 by nitload youmu
This commit is contained in:
@@ -42,17 +42,30 @@ namespace StgSharp.Graphics
|
||||
{
|
||||
internal static unsafe partial class GL
|
||||
{
|
||||
private static IntPtr api;
|
||||
|
||||
private static ref GLcontext Context
|
||||
{
|
||||
get { return ref *(GLcontext*)api; }
|
||||
}
|
||||
private static GLcontext* context;
|
||||
|
||||
public static IntPtr CurrentContextHandle
|
||||
{
|
||||
get { return (IntPtr)api; }
|
||||
set { api = value; }
|
||||
get { return (IntPtr)context; }
|
||||
set
|
||||
{
|
||||
context = (GLcontext*)value;
|
||||
}
|
||||
}
|
||||
|
||||
private static ref GLcontext Context
|
||||
{
|
||||
get
|
||||
{
|
||||
#if DEBUG
|
||||
if ((IntPtr)context==IntPtr.Zero)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
#endif
|
||||
return ref *context;
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
|
||||
@@ -56,10 +56,9 @@ namespace StgSharp.Graphics
|
||||
private static string glExtensionList;
|
||||
|
||||
/// <summary>
|
||||
/// Load all supportted OpenGL APIs and bind them to given <see cref="Form"/> context.
|
||||
/// Load all supported OpenGL APIs and bind them to given <see cref="Form"/> context.
|
||||
/// </summary>
|
||||
/// <param name="stream">The <see cref="Form"/> used as current OpenGL context</param>
|
||||
/// <param name="loader">A delegate to get address of OpenGL api</param>
|
||||
public static unsafe void LoadGLapi(this glRenderStream stream)
|
||||
{
|
||||
GLcontext* context = (GLcontext*)stream.ContextHandle;
|
||||
@@ -94,7 +93,7 @@ namespace StgSharp.Graphics
|
||||
coreVersion.Replace(branch, string.Empty);
|
||||
}
|
||||
}
|
||||
string[] versionSep = coreVersion.Split('.');
|
||||
string[] versionSep = coreVersion!.Split('.');
|
||||
int majorVersion = int.Parse(versionSep[0]);
|
||||
int minorVersion = int.Parse(versionSep[1]);
|
||||
CheckCoreVersion(majorVersion, minorVersion);
|
||||
|
||||
@@ -100,10 +100,12 @@ namespace StgSharp.Graphics
|
||||
in Dictionary<string, BlueprintPipeline> output)
|
||||
{
|
||||
MakeAsCurrentContext();
|
||||
ProcessInput();
|
||||
Main(in input, in output);
|
||||
InternalIO.glfwSwapBuffers(CanvasHandle);
|
||||
InternalIO.glfwPollEvents();
|
||||
}
|
||||
|
||||
|
||||
internal sealed override void InternalTerminate()
|
||||
{
|
||||
Deinit();
|
||||
|
||||
Reference in New Issue
Block a user