daily update on 20230623 by nitload youmu, SSG lib rewrite
This commit is contained in:
@@ -5,17 +5,6 @@ namespace StgSharp
|
||||
{
|
||||
internal static unsafe partial class internalIO
|
||||
{
|
||||
[DllImport("StgSharpGraphics.dll", EntryPoint = "initTriangle")]
|
||||
internal static extern unsafe triangleVertexArray initTriangleVertex();
|
||||
|
||||
[DllImport("StgSharpGraphics.dll", EntryPoint = "initPolygon4")]
|
||||
internal static extern unsafe Polygon4VertexArray initPolygon4Vertex();
|
||||
|
||||
[DllImport("StgSharpGraphics.dll", EntryPoint = "initPolygon5")]
|
||||
internal static extern unsafe Polygon5VertexArray initPolygon5Vertex();
|
||||
|
||||
[DllImport("StgSharpGraphics.dll", EntryPoint = "inputTriangle")]
|
||||
internal static extern unsafe void internalLoadTriangle(triangleVertexArray triangle);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,31 +17,7 @@ namespace StgSharp
|
||||
internal static extern unsafe void InternalInitGL();
|
||||
|
||||
[DllImport("StgSharpGraphics.dll",
|
||||
EntryPoint = "InitWindow", CallingConvention = CallingConvention.Cdecl)]
|
||||
internal static extern unsafe IntPtr InternalInitWindow(formInfo win);
|
||||
|
||||
[DllImport("StgSharpGraphics.dll",
|
||||
EntryPoint = "CompileShader", CallingConvention = CallingConvention.Cdecl)]
|
||||
internal static extern unsafe void InternalCompileShader
|
||||
(
|
||||
shaderObject* shaderObj
|
||||
);
|
||||
|
||||
[DllImport("StgSharpGraphics.dll", EntryPoint = "SSGraphicShouldWindowClose",
|
||||
CallingConvention = CallingConvention.Cdecl)]
|
||||
internal static extern unsafe int InternalShouldFormClose(IntPtr formPtr);
|
||||
|
||||
[DllImport("StgSharpGraphics.dll",
|
||||
EntryPoint = "RenderWindow", CallingConvention = CallingConvention.Cdecl)]
|
||||
internal static extern unsafe void InternalRenderWindow
|
||||
(
|
||||
IntPtr window,
|
||||
formInfo info,
|
||||
shaderObject* shaderObj
|
||||
);
|
||||
|
||||
[DllImport("StgSharpGraphics.dll", EntryPoint = "TerminateWindow"
|
||||
, CallingConvention = CallingConvention.Cdecl)]
|
||||
internal static extern unsafe void TerminateWindow(shaderObject* shaderObj);
|
||||
EntryPoint = "InitGLAD", CallingConvention = CallingConvention.Cdecl)]
|
||||
internal static extern unsafe int InternalInitGLAD();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,15 +10,24 @@ namespace StgSharp.Control
|
||||
internal delegate void InternalGLswapInterval(int interval);
|
||||
internal delegate void InternalGLclearColorDelegate
|
||||
(float red, float green, float blue, float alpha);
|
||||
internal delegate GLFWproc internalglGetProcAddress(char[] name);
|
||||
internal delegate int internalGLADloadGLloader(InternalGLADloadproc load);
|
||||
|
||||
internal delegate void GLFWproc();
|
||||
internal unsafe delegate void* InternalGLADloadproc(byte[] name);
|
||||
|
||||
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct GraphicIOPack
|
||||
{
|
||||
internal InternalInitGLDelegate InternalLoadGL;
|
||||
internal InternalGLcreateWindowDelegate InternalGLcreatWindow;
|
||||
|
||||
internal InternalGLcreateWindowDelegate InternalGLcreateWindow;
|
||||
internal InternalGLmakeContextCurrent InternalGLmakeContextCurrent;
|
||||
internal InternalGLswapInterval InternalGLswapInterval;
|
||||
internal InternalGLclearColorDelegate InternalGLclearColor;
|
||||
|
||||
|
||||
internal internalglGetProcAddress InternalGLGetProcAddress;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,16 +57,6 @@ namespace StgSharp.Control
|
||||
|
||||
public static unsafe void StartProgram()
|
||||
{
|
||||
foreach (Form form in allForm)
|
||||
{
|
||||
if (Graphic.ShouldFormClose(form))
|
||||
{
|
||||
internalIO.InternalRenderWindow(
|
||||
form.windowPtr,
|
||||
form.info,
|
||||
(shaderObject*)form.shader);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user