daily update on 20230911 by nitload youmu, uncertain bug of gl api loading

This commit is contained in:
Nitload
2023-09-11 23:34:34 +08:00
parent c6f4b3dd53
commit 5d701bce0c
172 changed files with 15161 additions and 9614 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+6 -6
View File
@@ -13,7 +13,7 @@
<FileName>Control\IO\GeometryIO.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Instruction" Collapsed="true">
<Class Name="StgSharp.Controlling" Collapsed="true">
<Position X="46.5" Y="1.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
@@ -106,21 +106,21 @@
<FileName>Logic\Sensor.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Control.ProgramTimeLine" Collapsed="true">
<Class Name="StgSharp.Controlling.ProgramTimeLine" Collapsed="true">
<Position X="41.25" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAACAAAAAAAQAAAAAAAAAAAAEAAAAABAIAAAIAA=</HashCode>
<FileName>Control\ProgramTimeLine.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Control.Remove" Collapsed="true">
<Class Name="StgSharp.Controlling.Remove" Collapsed="true">
<Position X="43" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Control\Remove.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="StgSharp.Control.TimelineBlock" Collapsed="true">
<Class Name="StgSharp.Controlling.TimelineBlock" Collapsed="true">
<Position X="0.5" Y="1.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAA=</HashCode>
@@ -318,7 +318,7 @@
<FileName>Geometries\PlainGeometry\Square.cs</FileName>
</TypeIdentifier>
</Class>
<Struct Name="StgSharp.Control.GraphicIOPack" Collapsed="true">
<Struct Name="StgSharp.Controlling.GraphicIOPack" Collapsed="true">
<Position X="48.25" Y="7.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA=</HashCode>
@@ -676,7 +676,7 @@
<FileName>Logic\Sensor.cs</FileName>
</TypeIdentifier>
</Delegate>
<Delegate Name="StgSharp.Control.InitWindow" Collapsed="true">
<Delegate Name="StgSharp.Controlling.InitWindow" Collapsed="true">
<Position X="44.75" Y="13" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAA=</HashCode>
+4 -4
View File
@@ -1,10 +1,10 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Math;
using System;
namespace StgSharp
{
public static partial class Instruction
public static partial class Control
{
/// <summary>
/// Add a pool to timeline controller, and return the instance of the pool.
@@ -19,8 +19,8 @@ namespace StgSharp
public static void AddPool(Pool pool)
{
TimeLine.allPool.Add(pool);
TimeLine._currentPool = pool;
StgSharp.Controlling.TimeLine.allPool.Add(pool);
StgSharp.Controlling.TimeLine._currentPool = pool;
}
public static void LoadTimeline()
+1 -1
View File
@@ -1,7 +1,7 @@
namespace StgSharp
{
public static partial class Instruction
public static partial class Control
{
//method used for chaging the value of paameters will be listed here
+15 -3
View File
@@ -1,12 +1,13 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Graphics;
using StgSharp.Logic;
using StgSharp.Math;
namespace StgSharp
{
public static unsafe partial class Instruction
public static unsafe partial class Control
{
public static LinkedList<T> GetAllActivatedPool<T>() where T:Pool
public static LinkedList<T> GetAllActivatedPool<T>() where T : Pool
{
/**/
LinkedList<T> pool = new LinkedList<T>();
@@ -47,5 +48,16 @@ namespace StgSharp
return ptr;
}
/// <summary>
/// Get the status of a certain key on the keyboard.
/// </summary>
/// <param name="form"></param>
/// <param name="key"></param>
/// <returns></returns>
public static KeyStatus GetKeyStatus(Form form, Key key)
{
return internalIO.glfwGetKey(form.windowID, (int)key);
}
}
}
+400
View File
@@ -0,0 +1,400 @@
using StgSharp.Controlling;
using StgSharp.Graphics;
using System;
using System.Runtime.InteropServices;
namespace StgSharp
{
internal static partial class internalIO
{
[DllImport(SSGC_libname, EntryPoint = "initGL",
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
internal static extern unsafe void InternalInitGL(int majorVersion, int minorVersion);
[DllImport(SSGC_libname, EntryPoint = "initGLAD",
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
internal static extern unsafe int InternalInitGLAD();
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowUserPointer",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void* glfwGetWindowUserPointer(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorUserPointer", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void* glfwGetMonitorUserPointer(GLFWmonitor* monitor);
[DllImport(SSGC_libname, EntryPoint = "glfwGetJoystickUserPointer", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void* glfwGetJoystickUserPointer(int jid);
[DllImport(SSGC_libname, EntryPoint = "glfwWindowHintString", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwWindowHintString(int hint, byte* value);
[DllImport(SSGC_libname, EntryPoint = "glfwWindowHint", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwWindowHint(int hint, int value);
[DllImport(SSGC_libname, EntryPoint = "glfwWaitEventsTimeout", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwWaitEventsTimeout(double timeout);
[DllImport(SSGC_libname, EntryPoint = "glfwWaitEvents", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwWaitEvents();
[DllImport(SSGC_libname, EntryPoint = "glfwTerminate", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwTerminate();
[DllImport(SSGC_libname, EntryPoint = "glfwSwapInterval", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSwapInterval(int interval);
//window is the pointer to a glfwwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwSwapBuffers", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSwapBuffers(IntPtr window);
[DllImport(SSGC_libname, EntryPoint = "glfwShowWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwShowWindow(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowUserPointer", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowTitle", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowTitle(GLFWwindow* window, byte* title);
//window is the pointer of glfwwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowSizeLimits", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowSizeLimits(IntPtr window, int minwidth, int minheight, int maxwidth, int maxheight);
//window is the pointer of glfwwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowSize", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowSize(IntPtr window, int width, int height);
//window is the pointer of glfwwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowShouldClose", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowShouldClose(IntPtr window, int value);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowPos", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowOpacity", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowOpacity(GLFWwindow* window, float opacity);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowMonitor", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowMonitor(GLFWwindow* window, GLFWmonitor* monitor, int xpos, int ypos, int width, int height, int refreshRate);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowIcon", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowIcon(GLFWwindow* window, int count, GLFWimage* images);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowAttrib", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowAttrib(GLFWwindow* window, int attrib, int value);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowAspectRatio", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom);
[DllImport(SSGC_libname, EntryPoint = "glfwSetTime", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetTime(double time);
[DllImport(SSGC_libname, EntryPoint = "glfwSetMonitorUserPointer", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetMonitorUserPointer(GLFWmonitor* monitor, void* pointer);
[DllImport(SSGC_libname, EntryPoint = "glfwSetJoystickUserPointer", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetJoystickUserPointer(int jid, void* pointer);
[DllImport(SSGC_libname, EntryPoint = "glfwSetInputMode", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetInputMode(GLFWwindow* window, int mode, int value);
[DllImport(SSGC_libname, EntryPoint = "glfwSetGammaRamp", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetGammaRamp(GLFWmonitor* monitor, GLFWgammaramp* ramp);
[DllImport(SSGC_libname, EntryPoint = "glfwSetGamma", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetGamma(GLFWmonitor* monitor, float gamma);
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursorPos", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos);
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursor", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor);
[DllImport(SSGC_libname, EntryPoint = "glfwSetClipboardString", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwSetClipboardString(GLFWwindow* window, byte* str);
[DllImport(SSGC_libname, EntryPoint = "glfwRestoreWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwRestoreWindow(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwRequestWindowAttention", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwRequestWindowAttention(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwPostEmptyEvent", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwPostEmptyEvent();
[DllImport(SSGC_libname, EntryPoint = "glfwPollEvents", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwPollEvents();
[DllImport(SSGC_libname, EntryPoint = "glfwMaximizeWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwMaximizeWindow(GLFWwindow* window);
//window is the pointer to a glfwwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwMakeContextCurrent", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwMakeContextCurrent(IntPtr window);
[DllImport(SSGC_libname, EntryPoint = "glfwInitHint", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwInitHint(int hint, int value);
[DllImport(SSGC_libname, EntryPoint = "glfwIconifyWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwIconifyWindow(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwHideWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwHideWindow(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowSize", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetWindowSize(GLFWwindow* window, int* width, int* height);
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowPos", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos);
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowFrameSize", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int* right, int* bottom);
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowContentScale", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetWindowContentScale(GLFWwindow* window, float* xscale, float* yscale);
[DllImport(SSGC_libname, EntryPoint = "glfwGetVersion", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetVersion(int* major, int* minor, int* rev);
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorWorkarea", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetMonitorWorkarea(GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height);
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorPos", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos);
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorPhysicalSize", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* heightMM);
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorContentScale", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetMonitorContentScale(GLFWmonitor* monitor, float* xscale, float* yscale);
[DllImport(SSGC_libname, EntryPoint = "glfwGetFramebufferSize", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height);
[DllImport(SSGC_libname, EntryPoint = "glfwGetCursorPos", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos);
[DllImport(SSGC_libname, EntryPoint = "glfwFocusWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwFocusWindow(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwDestroyWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwDestroyWindow(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwDestroyCursor", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwDestroyCursor(GLFWcursor* cursor);
[DllImport(SSGC_libname, EntryPoint = "glfwDefaultWindowHints", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void glfwDefaultWindowHints();
[DllImport(SSGC_libname, EntryPoint = "glfwGetTimerValue", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe ulong glfwGetTimerValue();
[DllImport(SSGC_libname, EntryPoint = "glfwGetTimerFrequency", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe ulong glfwGetTimerFrequency();
//window is the pointer to a glfwwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwWindowShouldClose", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwWindowShouldClose(IntPtr window);
[DllImport(SSGC_libname, EntryPoint = "glfwVulkanSupported", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwVulkanSupported();
[DllImport(SSGC_libname, EntryPoint = "glfwUpdateGamepadMappings", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwUpdateGamepadMappings(byte* str);
[DllImport(SSGC_libname, EntryPoint = "glfwRawMouseMotionSupported", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwRawMouseMotionSupported();
[DllImport(SSGC_libname, EntryPoint = "glfwJoystickPresent", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwJoystickPresent(int jid);
[DllImport(SSGC_libname, EntryPoint = "glfwJoystickIsGamepad", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwJoystickIsGamepad(int jid);
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowAttrib", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwGetWindowAttrib(GLFWwindow* window, int attrib);
[DllImport(SSGC_libname, EntryPoint = "glfwGetMouseButton", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwGetMouseButton(GLFWwindow* window, int button);
[DllImport(SSGC_libname, EntryPoint = "glfwGetKeyScancode", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwGetKeyScancode(int key);
//window is the pointer to GLFWwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwGetKey", CallingConvention = CallingConvention.Cdecl)]
internal static extern KeyStatus glfwGetKey(IntPtr window, int key);
[DllImport(SSGC_libname, EntryPoint = "glfwGetInputMode", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwGetInputMode(GLFWwindow* window, int mode);
[DllImport(SSGC_libname, EntryPoint = "glfwGetGamepadState", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwGetGamepadState(int jid, GLFWgamepadstate* state);
[DllImport(SSGC_libname, EntryPoint = "glfwGetError", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwGetError(byte** description);
[DllImport(SSGC_libname, EntryPoint = "glfwExtensionSupported", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe int glfwExtensionSupported(byte* extension);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowSizeCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowRefreshCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowPosCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindowposfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowMaximizeCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow* window, GLFWwindowmaximizefun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowIconifyCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow* window, GLFWwindowiconifyfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowFocusCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowContentScaleCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow* window, GLFWwindowcontentscalefun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowCloseCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwGetCurrentContext", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWwindow* glfwGetCurrentContext();
//monitor and share are pointers to instance of glfwmonitor and glfwwindow
//the method returns a pointer to glfw window instance
[DllImport(SSGC_libname, EntryPoint = "glfwCreateWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe IntPtr glfwCreateWindow(
int width, int height, byte[] title, IntPtr monitor, IntPtr share);
[DllImport(SSGC_libname, EntryPoint = "glfwSetScrollCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetMouseButtonCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetMonitorCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitors",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWmonitor** glfwGetMonitors(int* count);
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowMonitor",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwGetPrimaryMonitor",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWmonitor* glfwGetPrimaryMonitor();
[DllImport(SSGC_libname, EntryPoint = "glfwSetKeyCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWkeyfun glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetJoystickCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwGetProcAddress",
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
internal static extern unsafe IntPtr glfwGetProcAddress(string procName);
//window is the pointer to a glfwwindow instance
[DllImport(SSGC_libname, EntryPoint = "glfwSetFramebufferSizeCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWframebuffersizefun glfwSetFramebufferSizeCallback(IntPtr window, GLFWframebuffersizefun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetErrorCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetDropCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWdropfun glfwSetDropCallback(GLFWwindow* window, GLFWdropfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursorPosCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursorEnterCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwCreateStandardCursor",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWcursor* glfwCreateStandardCursor(int shape);
[DllImport(SSGC_libname, EntryPoint = "glfwCreateCursor",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWcursor* glfwCreateCursor(GLFWimage* image, int xhot, int yhot);
[DllImport(SSGC_libname, EntryPoint = "glfwSetCharModsCallback", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow* window, GLFWcharmodsfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwSetCharCallback",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun callback);
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowOpacity",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe float glfwGetWindowOpacity(GLFWwindow* window);
[DllImport(SSGC_libname, EntryPoint = "glfwGetTime",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe double glfwGetTime();
[DllImport(SSGC_libname, EntryPoint = "unsigned", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetJoystickHats(int jid, int* count);
[DllImport(SSGC_libname, EntryPoint = "unsigned", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetJoystickButtons(int jid, int* count);
[DllImport(SSGC_libname, EntryPoint = "GLFWvidmode*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWvidmode* glfwGetVideoModes(GLFWmonitor* monitor, int* count);
[DllImport(SSGC_libname, EntryPoint = "GLFWvidmode*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor);
[DllImport(SSGC_libname, EntryPoint = "GLFWgammaramp*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor);
[DllImport(SSGC_libname, EntryPoint = "float*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe float* glfwGetJoystickAxes(int jid, int* count);
[DllImport(SSGC_libname, EntryPoint = "byte**", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte** glfwGetRequiredInstanceExtensions(uint* count);
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetVersionString();
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetMonitorName(GLFWmonitor* monitor);
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetKeyName(int key, int scancode);
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetJoystickName(int jid);
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetJoystickGUID(int jid);
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetGamepadName(int jid);
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe byte* glfwGetClipboardString(GLFWwindow* window);
//
}
}
@@ -1,25 +0,0 @@
using StgSharp.Control;
using StgSharp.Graphics;
using System;
using System.Runtime.InteropServices;
namespace StgSharp
{
internal static partial class internalIO
{
[DllImport("StgSharpGraphic",EntryPoint = "loadGLApi",
CallingConvention = CallingConvention.Cdecl,CharSet =CharSet.Ansi)]
internal static extern GraphicIOPack InternalInitGraphicApi();
[DllImport("StgSharpGraphic",EntryPoint = "initGL",
CallingConvention = CallingConvention.Cdecl,CharSet = CharSet.Ansi)]
internal static extern unsafe void InternalInitGL();
[DllImport("StgSharpGraphic",EntryPoint = "initGLAD",
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
internal static extern unsafe int InternalInitGLAD();
//
}
}
@@ -1,48 +0,0 @@
using System;
using System.Runtime.InteropServices;
namespace StgSharp.Control
{
//these are gl functions used to create a window
internal delegate void InternalInitGLDelegate();
internal delegate IntPtr InternalGLcreateWindowDelegate
(int width, int height, byte[] tittle, IntPtr monitor, IntPtr share);
internal delegate void InternalGLmakeContextCurrent(IntPtr window);
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 int InternalGLwindowShouldClose(IntPtr window);
internal delegate void InternalGLswapBuffers(IntPtr window);
//these are gl functions used to set a callback
internal delegate FrameBufferSizeCallback InternalsetBufferSizeCallback(IntPtr window, FrameBufferSizeCallback callback);
///
internal delegate void GLFWproc();
internal unsafe delegate void* InternalGLADloadproc(byte[] name);
[StructLayout(LayoutKind.Sequential)]
internal struct GraphicIOPack
{
//these are gl functions used to create a window
internal InternalGLcreateWindowDelegate internalGLcreateWindow;
internal InternalGLmakeContextCurrent internalGLmakeContextCurrent;
internal InternalGLswapInterval internalGLswapInterval;
internal InternalGLclearColorDelegate internalGLclearColor;
internal InternalGLwindowShouldClose internalGLwindowShouldClose;
internal InternalGLswapBuffers internalGLswapBuffers;
//these are gl functions used to set a callback
internal InternalsetBufferSizeCallback internalGLsetBufferSize;
}
}
@@ -18,6 +18,8 @@ namespace StgSharp
internal static unsafe partial class internalIO
{
internal const string SSGC_libname =
"StgSharpGraphic";
}
}
+175
View File
@@ -0,0 +1,175 @@
namespace StgSharp
{
public static partial class Control
{
public enum Key : int
{
UNKNOWN = -1,
SPACE = 32,
APOSTROPHE = 39/*'*/,
COMMA = 44/*,*/,
MINUS = 45/*-*/,
PERIOD = 46/*.*/,
SLASH = 47/*/*/,
ZERO = 48,
ONE = 49,
TWO = 50,
THREE = 51,
FOUR = 52,
FIVE = 53,
SIX = 54,
SEVEN = 55,
EIGHT = 56,
NINE = 57,
SEMICOLON = 59/*,*/,
EQUAL = 61/*=*/,
A = 65,
B = 66,
C = 67,
D = 68,
E = 69,
F = 70,
G = 71,
H = 72,
I = 73,
J = 74,
K = 75,
L = 76,
M = 77,
N = 78,
O = 79,
P = 80,
Q = 81,
R = 82,
S = 83,
T = 84,
U = 85,
V = 86,
W = 87,
X = 88,
Y = 89,
Z = 90,
LEFT_BRACKET = 91/*[*/,
BACKSLASH = 92/*\*/,
RIGHT_BRACKET = 93/*]*/,
GRAVE_ACCENT = 96/*`*/,
WORLD_1 = 161/*non-US#1*/,
WORLD_2 = 162/*non-US#2*/,
ESCAPE = 256,
ENTER = 257,
TAB = 258,
BACKSPACE = 259,
INSERT = 260,
DELETE = 261,
RIGHT = 262,
LEFT = 263,
DOWN = 264,
UP = 265,
PAGE_UP = 266,
PAGE_DOWN = 267,
HOME = 268,
END = 269,
CAPS_LOCK = 280,
SCROLL_LOCK = 281,
NUM_LOCK = 282,
PRINT_SCREEN = 283,
PAUSE = 284,
F1 = 290,
F2 = 291,
F3 = 292,
F4 = 293,
F5 = 294,
F6 = 295,
F7 = 296,
F8 = 297,
F9 = 298,
F10 = 299,
F11 = 300,
F12 = 301,
F13 = 302,
F14 = 303,
F15 = 304,
F16 = 305,
F17 = 306,
F18 = 307,
F19 = 308,
F20 = 309,
F21 = 310,
F22 = 311,
F23 = 312,
F24 = 313,
F25 = 314,
KP_0 = 320,
KP_1 = 321,
KP_2 = 322,
KP_3 = 323,
KP_4 = 324,
KP_5 = 325,
KP_6 = 326,
KP_7 = 327,
KP_8 = 328,
KP_9 = 329,
KP_DECIMAL = 330,
KP_DIVIDE = 331,
KP_MULTIPLY = 332,
KP_SUBTRACT = 333,
KP_ADD = 334,
KP_ENTER = 335,
KP_EQUAL = 336,
LEFT_SHIFT = 340,
LEFT_CONTROL = 341,
LEFT_ALT = 342,
LEFT_SUPER = 343,
RIGHT_SHIFT = 344,
RIGHT_CONTROL = 345,
RIGHT_ALT = 346,
RIGHT_SUPER = 347,
MENU = 348
}
public enum Joystick:int
{
JOYSTICK_1 = 0,
JOYSTICK_2 = 1,
JOYSTICK_3 = 2,
JOYSTICK_4 = 3,
JOYSTICK_5 = 4,
JOYSTICK_6 = 5,
JOYSTICK_7 = 6,
JOYSTICK_8 = 7,
JOYSTICK_9 = 8,
JOYSTICK_10 = 9,
JOYSTICK_11 = 10,
JOYSTICK_12 = 11,
JOYSTICK_13 = 12,
JOYSTICK_14 = 13,
JOYSTICK_15 = 14,
JOYSTICK_16 = 15,
JOYSTICK_LAST = JOYSTICK_16
}
public enum Mouse : int
{
BUTTON_1 = 0,
BUTTON_2 = 1,
BUTTON_3 = 2,
BUTTON_4 = 3,
BUTTON_5 = 4,
BUTTON_6 = 5,
BUTTON_7 = 6,
BUTTON_8 = 7,
BUTTON_LAST = BUTTON_8,
BUTTON_LEFT = BUTTON_1,
BUTTON_RIGHT = BUTTON_2,
BUTTON_MIDDLE = BUTTON_3
}
}
public enum KeyStatus : int
{
RELEASE = 0,
PRESS = 1
}
}
+2 -2
View File
@@ -3,9 +3,9 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Control
namespace StgSharp.Controlling
{
public static partial class Instruction
public static partial class Control
{
public static unsafe void RecycleMappedVec(Vec4d vec)
{
+1 -1
View File
@@ -1,6 +1,6 @@
using StgSharp.Geometries;
namespace StgSharp.Control
namespace StgSharp.Controlling
{
public static class Remove
{
+1 -3
View File
@@ -3,7 +3,7 @@ using StgSharp.Graphics;
using System;
using System.Diagnostics.CodeAnalysis;
namespace StgSharp.Control
namespace StgSharp.Controlling
{
public static partial class TimeLine
{
@@ -23,10 +23,8 @@ namespace StgSharp.Control
static unsafe TimeLine()
{
allForm = new LinkedList<Form>();
allPool = new LinkedList<Pool>();
internalIO.InternalInitGL();
}
public static TimelineBlock CurrentOperation
+1 -1
View File
@@ -1,4 +1,4 @@
namespace StgSharp.Control
namespace StgSharp.Controlling
{
public abstract class TimelineBlock
{
+1 -1
View File
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using System;
namespace StgSharp.Entities
+1 -1
View File
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
namespace StgSharp.Entities
{
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Math;
namespace StgSharp.Geometries
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Math;
namespace StgSharp.Geometries
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Math;
namespace StgSharp.Geometries
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Math;
namespace StgSharp.Geometries
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Math;
namespace StgSharp.Geometries
+1 -1
View File
@@ -17,7 +17,7 @@ namespace StgSharp.Graphics
public unsafe class Form
{
internal long windowID; //pointer to the form
internal IntPtr windowID; //pointer to the form
internal formInfo info = new formInfo() ;
internal IntPtr shader;
internal LinkedList<Pool> allControl;
+1 -1
View File
@@ -354,7 +354,7 @@ namespace StgSharp.Graphics
internal const uint _GLFW_POLL_BUTTONS = 2;
internal const uint _GLFW_POLL_ALL = (_GLFW_POLL_AXES | _GLFW_POLL_BUTTONS);
internal const uint _GLFW_MESSAGE_SIZE = 1024;
internal const uint GL_VERSION = 0x1f02;
internal const int GL_VERSION = 0x1f02;
internal const uint GL_NONE = 0;
internal const uint GL_COLOR_BUFFER_BIT = 0x00004000;
internal const uint GL_UNSIGNED_BYTE = 0x1401;
+53 -26
View File
@@ -8,6 +8,7 @@ namespace StgSharp.Graphics
using GLFWbool = Boolean;
//strucs defined in glfw3.h
#region glfw3 struct
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWcontext
@@ -31,8 +32,8 @@ namespace StgSharp.Graphics
void (* makeCurrent) (_GLFWwindow*);
void (* swapBuffers) (_GLFWwindow*);
void (* swapInterval) (int);
int (* extensionSupported) (const char*);
GLFWglproc(*getProcAddress)(const char*);
int (* extensionSupported) (const byte*);
GLFWglproc(*getProcAddress)(const byte*);
void (* destroy) (_GLFWwindow*);
*/
@@ -159,7 +160,7 @@ namespace StgSharp.Graphics
public unsafe struct GLFWmonitor
{
char[] name = new char[128];
byte[] name = new byte[128];
void* userPointer;
// Physical dimensions in millimeters.
@@ -210,8 +211,10 @@ namespace StgSharp.Graphics
public bool stickyMouseButtons = false;
public bool lockKeyMods = false;
public int cursorMode = 0;
public char[] mouseButtons = new char[8];
public char[] keys = new char[349];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] mouseButtons = new byte[8];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 349)]
public byte[] keys = new byte[349];
// Virtual cursor position when cursor is disabled
public double virtualCursorPosX = 0, virtualCursorPosY = 0;
public bool rawMouseMotion = false;
@@ -242,7 +245,8 @@ namespace StgSharp.Graphics
//_GLFWerror* next;
IntPtr next;
int code;
char[] description = new char[GLFW._GLFW_MESSAGE_SIZE];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)GLFW._GLFW_MESSAGE_SIZE)]
byte[] description = new byte[GLFW._GLFW_MESSAGE_SIZE];
public GLFWerror()
{
@@ -281,7 +285,7 @@ namespace StgSharp.Graphics
int ypos;
int width;
int height;
char* title;
byte* title;
GLFWbool resizable;
GLFWbool visible;
GLFWbool decorated;
@@ -296,7 +300,8 @@ namespace StgSharp.Graphics
internal struct Ns
{
GLFWbool retina = false;
char[] frameName = new char[256];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
byte[] frameName = new byte[256];
public Ns()
{
@@ -306,8 +311,10 @@ namespace StgSharp.Graphics
internal struct X11
{
char[] className = new char[256];
char[] instanceName = new char[256];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
byte[] className = new byte[256];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
byte[] instanceName = new byte[256];
public X11()
{
@@ -323,7 +330,8 @@ namespace StgSharp.Graphics
internal struct Wl
{
char[] appId = new char[256];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
byte[] appId = new byte[256];
public Wl()
{
@@ -416,6 +424,7 @@ namespace StgSharp.Graphics
GLFWbool joysticksInitialized;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = GLFW.GLFW_JOYSTICK_LAST + 1)]
_GLFWjoystick[] joysticks = new _GLFWjoystick[GLFW.GLFW_JOYSTICK_LAST + 1];
//_GLFWmapping* mappings;
IntPtr mappings;
@@ -501,7 +510,8 @@ namespace StgSharp.Graphics
{
GLFWbool available;
void* handle;
char*[] extensions = new char*[2];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
byte*[] extensions = new byte*[2];
IntPtr GetInstanceProcAddr;
GLFWbool KHR_surface;
GLFWbool KHR_win32_surface;
@@ -543,9 +553,13 @@ namespace StgSharp.Graphics
public unsafe struct _GLFWmapping
{
char[] name = new char[128];
char[] guid = new char[33];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
byte[] name = new byte[128];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)]
byte[] guid = new byte[33];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)]
_GLFWmapelement[] buttons = new _GLFWmapelement[15];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
_GLFWmapelement[] axes = new _GLFWmapelement[6];
public _GLFWmapping() { }
@@ -563,9 +577,11 @@ namespace StgSharp.Graphics
int buttonCount;
byte* hats;
int hatCount;
char[] name = new char[128];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
byte[] name = new byte[128];
void* userPointer;
char[] guid = new char[33];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)]
byte[] guid = new byte[33];
//_GLFWmapping* mapping;
IntPtr mapping;
@@ -605,15 +621,15 @@ namespace StgSharp.Graphics
GLFWbool(*createStandardCursor)(_GLFWcursor*, int);
void (* destroyCursor) (_GLFWcursor*);
void (* setCursor) (_GLFWwindow*, _GLFWcursor*);
const char* (*getScancodeName)(int);
const byte* (*getScancodeName)(int);
int (* getKeyScancode) (int);
void (* setClipboardString) (const char*);
const char* (*getClipboardString)(void);
void (* setClipboardString) (const byte*);
const byte* (*getClipboardString)(void);
GLFWbool(*initJoysticks)(void);
void (* terminateJoysticks) (void);
GLFWbool(*pollJoystick)(_GLFWjoystick*, int);
const char* (*getMappingName)(void);
void (* updateGamepadGUID) (char*);
const byte* (*getMappingName)(void);
void (* updateGamepadGUID) (byte*);
// monitor
void (* freeMonitor) (_GLFWmonitor*);
void (* getMonitorPos) (_GLFWmonitor*, int*, int*);
@@ -626,7 +642,7 @@ namespace StgSharp.Graphics
// window
GLFWbool(*createWindow)(_GLFWwindow*,const _GLFWwndconfig*,const _GLFWctxconfig*,const _GLFWfbconfig*);
void (* destroyWindow) (_GLFWwindow*);
void (* setWindowTitle) (_GLFWwindow*,const char*);
void (* setWindowTitle) (_GLFWwindow*,const byte*);
void (* setWindowIcon) (_GLFWwindow*, int,const GLFWimage*);
void (* getWindowPos) (_GLFWwindow*, int*, int*);
void (* setWindowPos) (_GLFWwindow*, int, int);
@@ -739,7 +755,7 @@ namespace StgSharp.Graphics
// vulkan
//void (* getRequiredInstanceExtensions) (char**);
//void (* getRequiredInstanceExtensions) (byte**);
//GLFWbool(*getPhysicalDevicePresentationSupport)(VkInstance, VkPhysicalDevice, uint32_t);
//VkResult(*createWindowSurface)(VkInstance, _GLFWwindow*,const VkAllocationCallbacks*, VkSurfaceKHR*);
internal IntPtr getRequiredInstanceExtensions;
@@ -760,7 +776,8 @@ namespace StgSharp.Graphics
[StructLayout(LayoutKind.Sequential)]
internal unsafe struct VkExtensionProperties
{
char[] extensionName = new char[256];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
byte[] extensionName = new byte[256];
uint specVersion;
public VkExtensionProperties()
@@ -773,7 +790,8 @@ namespace StgSharp.Graphics
{
IntPtr next;
int code;
char[] description = new char[1024];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
byte[] description = new byte[1024];
public _GLFWerror()
{
@@ -789,8 +807,17 @@ namespace StgSharp.Graphics
[FieldOffset(8)]
long part2;
}
#endregion
#region glad struct
[StructLayout(LayoutKind.Sequential)]
internal struct GLsync
{
}
#endregion
}
+33 -12
View File
@@ -1,9 +1,10 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Graphics;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp
@@ -21,22 +22,24 @@ namespace StgSharp
/// <param name="share"></param>
/// <returns>The instance of created form</returns>
/// <exception cref="Exception"></exception>
public static unsafe Form GLcreateWindow(int width, int height, byte[] tittle, IntPtr monitor, Form share)
public static unsafe Form GLcreateWindow(
int width, int height, string tittle, IntPtr monitor, Form share)
{
byte[] tittleBytes = Encoding.UTF8.GetBytes(tittle);
IntPtr windowPtr;
if (share == null)
{
windowPtr = glIO.internalGLcreateWindow(
width, height, tittle, monitor, (IntPtr)0);
windowPtr = internalIO.glfwCreateWindow(
800, 600, tittleBytes, monitor, IntPtr.Zero);
}
else
{
windowPtr = glIO.internalGLcreateWindow(
width, height, tittle, monitor, (IntPtr)share.windowID);
windowPtr = internalIO.glfwCreateWindow(
width, height, tittleBytes, monitor, share.windowID);
}
if ((int)windowPtr == -1 || (int)windowPtr == -2)
if ((long)windowPtr == -1 || (long)windowPtr == -2)
{
throw new Exception("Cannot create window instance!");
}
@@ -44,7 +47,7 @@ namespace StgSharp
{
Form form = new Form();
form.Size = new Vec2d(width, height);
form.windowID = (long)windowPtr;
form.windowID = windowPtr;
return form;
}
}
@@ -62,7 +65,7 @@ namespace StgSharp
public static unsafe Form GLcreateWindow(int width, int height, string tittle, IntPtr monitor, IntPtr share)
{
byte[] tittleCharArray = System.Text.Encoding.UTF8.GetBytes(tittle);
long windowPtr = (long)glIO.internalGLcreateWindow
IntPtr windowPtr = internalIO.glfwCreateWindow
(width, height, tittleCharArray, monitor, share);
if ((int)windowPtr == -1 || (int)windowPtr == -2)
@@ -81,20 +84,38 @@ namespace StgSharp
public static unsafe void GLmakeContexCurrent(Form form)
{
glIO.internalGLmakeContextCurrent((IntPtr)form.windowID);
internalIO.glfwMakeContextCurrent(form.windowID);
}
public static unsafe bool GLwindowShouldClose(Form form)
{
int a = glIO.internalGLwindowShouldClose((IntPtr)form.windowID);
int a = internalIO.glfwWindowShouldClose(form.windowID);
return a != 0;
}
public static unsafe void GLswapBuffers(Form form)
{
glIO.internalGLswapBuffers((IntPtr)form.windowID);
internalIO.glfwSwapBuffers(form.windowID);
}
public static IntPtr GetProcAddress(string name)
{
IntPtr ret = internalIO.glfwGetProcAddress(name);
if (ret == IntPtr.Zero)
{
#if DEBUG
Console.WriteLine(name);
#endif
return (IntPtr)0b1111111111;
}
else
{
return ret;
}
}
}
File diff suppressed because it is too large Load Diff
+12 -26
View File
@@ -1,33 +1,16 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Graphics;
using System;
using System.Runtime.InteropServices;
namespace StgSharp
{
public static unsafe partial class Graphic
{
internal static GraphicIOPack glIO;
private static bool isGLSet = false;
private static bool isGLADset = false;
private static bool isGLready = false;
/// <summary>
/// Load OpenGL API to StgSharp core programm,
/// please call this method before call any other
/// graphic APIs in StgSharp.
/// </summary>
/// <exception cref="Exception">If run this method twice, will throw exception</exception>
public static unsafe void LoadGL()
{
if (!isGLADset)
{
glIO = internalIO.InternalInitGraphicApi();
}
else
{
throw new Exception("Do not load GL api twice.");
}
}
/// <summary>
@@ -35,11 +18,11 @@ namespace StgSharp
/// This method should be called before other
/// graphic methods, after LoadGL method.
/// </summary>
public static void InitGL()
public static void InitGL(int majorVersion, int minorVersion)
{
if (!isGLSet)
{
internalIO.InternalInitGL();
internalIO.InternalInitGL(majorVersion, minorVersion);
isGLready = isGLSet && isGLADset;
}
else
@@ -48,7 +31,7 @@ namespace StgSharp
}
}
/// <summary>
/// Attach GLFW API to GLAD,
@@ -56,19 +39,22 @@ namespace StgSharp
/// and before other graphic method.
/// </summary>
/// <exception cref="Exception">The accident that program cannot attach GLFW to GLAD</exception>
public static unsafe void InitGLAD()
public static unsafe void InitGLAD(glLoader loader)
{
if (!isGLADset)
{
int a = internalIO.InternalInitGLAD();
if (a != 0)
if (a == 0)
{
throw new Exception("Cannot attach GLFW to GLAD!");
}
else
{
isGLready = isGLSet && isGLADset;
LoadGLLoader(loader);
return;
}
}
@@ -110,7 +96,7 @@ namespace StgSharp
*/
}
}
+5
View File
@@ -109,5 +109,10 @@ namespace StgSharp
return Value.ToString();
}
public static implicit operator T(Counter<T> counter)
{
return counter.Value;
}
}
}
+5 -93
View File
@@ -1,8 +1,6 @@
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -12,97 +10,11 @@ namespace StgSharp
{
internal static partial class internalIO
{
#region load
[DllImport(dllName: "StgSharpGraphic", EntryPoint = "load",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern ref Vector4 load_internal(float x,float y, float z, float w);
[DllImport(dllName: "StgSharpGraphic", EntryPoint = "load",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static unsafe extern Vector4* loadptr_internal(float x, float y, float z, float w);
[DllImport("StgSharpGraphic",EntryPoint = "load_matmap",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr load_mat(IntPtr c0, IntPtr c1, IntPtr c2, IntPtr c3);
[DllImport("StgSharpGraphic", EntryPoint = "load_cpy",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr load_cpy_internal(IntPtr ptr);
#endregion
#region add sub
[DllImport("StgSharpGraphic", EntryPoint = "addps",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr addps_internal(IntPtr ptr1, IntPtr ptr2);
[DllImport("StgSharpGraphic", EntryPoint = "subps",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr subps_internal(IntPtr ptr1, IntPtr ptr2);
#endregion
#region mulps
[DllImport("StgSharpGraphic", EntryPoint = "mulps",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr mulps_internal(IntPtr ptr1, IntPtr ptr2);
[DllImport("StgSharpGraphic", EntryPoint = "mulps_const",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern IntPtr mulps_const_internal(IntPtr ptr, float value);
[DllImport("StgSharpGraphic", EntryPoint = "mulps_sum",
CallingConvention = CallingConvention.Cdecl)]
internal static extern float mulps_sum_internal(IntPtr ptr1, IntPtr ptr2);
[DllImport("StgSharpGraphic", EntryPoint = "mulps_sum",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe float mulps_sum_internal(Vector4* ptr1, Vector4* ptr2);
[DllImport("StgSharpGraphic", EntryPoint = "mulps_sum",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe float mulps_sum_internal(Vec4d* ptr1, Vec4d* ptr2);
#endregion
#region div
[DllImport("StgSharpGraphic", EntryPoint = "mulps",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr divps_internal(IntPtr ptr1, IntPtr ptr2);
[DllImport("StgSharpGraphic", EntryPoint = "divps_const",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr divps_const_internal(IntPtr ptr, float value);
#endregion
[DllImport("StgSharpGraphic", EntryPoint = "sqrtss_const",
CallingConvention = CallingConvention.Cdecl)]
internal static extern float sqrtss_const_internal(float a);
[DllImport("StgSharpGraphic", EntryPoint = "set_Vector4ptr_default",
[DllImport(SSGC_libname, EntryPoint = "set_Vector4ptr_default",
CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr set_Vector4ptr_default_internal();
#region deinit Vector4
[DllImport(
@@ -135,21 +47,21 @@ namespace StgSharp
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe void deinit_internal(Mat4* ptr);
[DllImport("StgSharpGraphic", EntryPoint = "deinitVector4",
[DllImport(SSGC_libname, EntryPoint = "deinitVector4",
CallingConvention = CallingConvention.Cdecl)]
internal static extern void deinitVector4_internal(ref Vector4 vec);
[DllImport("StgSharpGraphic", EntryPoint = "deinitVector4",
[DllImport(SSGC_libname, EntryPoint = "deinitVector4",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void deinitVector4_internal(Vector4* vec);
#endregion
[DllImport("StgSharpGraphic", EntryPoint = "deinit_matmapPtr_sse",
[DllImport(SSGC_libname, EntryPoint = "deinit_matmapPtr_sse",
CallingConvention = CallingConvention.Cdecl)]
internal static extern void deinitMatmapPtr_sse_internal(ref Vector4Map mapPtr);
[DllImport("StgSharpGraphic", EntryPoint = "deinit_matmap_sse",
[DllImport(SSGC_libname, EntryPoint = "deinit_matmap_sse",
CallingConvention = CallingConvention.Cdecl)]
internal static extern void deinitMatmap_sse_internal(ref Vector4Map mapPtr);
+1 -1
View File
@@ -1,5 +1,5 @@
using StgSharp;
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Logic;
using System.Numerics;
using System.Runtime.InteropServices;
+1 -1
View File
@@ -3,7 +3,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Control
namespace StgSharp.Controlling
{
public static unsafe partial class TimeLine
{
+5 -6
View File
@@ -10,7 +10,7 @@ namespace StgSharp
{
#region add
[DllImport("StgsharpGraphic", EntryPoint = "add_Mat2",
[DllImport(SSGC_libname, EntryPoint = "add_Mat2",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern Mat2* add_mat2(Mat2* left, Mat2* right);
@@ -20,23 +20,22 @@ namespace StgSharp
#region sub
[DllImport("StgsharpGraphic", EntryPoint = "sub_mat2",
[DllImport(SSGC_libname, EntryPoint = "sub_mat2",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe Mat2* sub_mat2(Mat2* left, Mat2* right);
#endregion
#region transpose
[DllImport("StgsharpGraphic", EntryPoint = "transmpose2to4",
[DllImport(SSGC_libname, EntryPoint = "transmpose2to4",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe void Transpose2to4_internal(Mat2* source, Mat4* target);
[DllImport("StgsharpGraphic", EntryPoint = "transmpose2to3",
[DllImport(SSGC_libname, EntryPoint = "transmpose2to3",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe void Transpose2to3_internal(Mat2* source, Mat3* target);
@@ -45,7 +44,7 @@ namespace StgSharp
#region deinit mat2
[DllImport("StgsharpGraphic", EntryPoint = "deinit_mat2",
[DllImport(SSGC_libname, EntryPoint = "deinit_mat2",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe void deinit_mat2(Mat2* mat);
+4 -4
View File
@@ -11,7 +11,7 @@ namespace StgSharp
#region det
[DllImport("StgsharpGraphic", EntryPoint = "det_mat3",
[DllImport(SSGC_libname, EntryPoint = "det_mat3",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe float det_mat3(Mat3* mat);
@@ -20,18 +20,18 @@ namespace StgSharp
#region transpose
[DllImport("StgsharpGraphic", EntryPoint = "transpose3to4",
[DllImport(SSGC_libname, EntryPoint = "transpose3to4",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose3to4_internal(Mat3* source, Mat4* target);
[DllImport("StgsharpGra[hic", EntryPoint = "transpose3to4",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose3to3_internal(Mat3* source, Mat3* target);
[DllImport("StgsharpGra[hic", EntryPoint = "transpose3to2",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose3to2_internal(Mat3* source, Mat2* target);
#endregion
}
+5 -5
View File
@@ -12,15 +12,15 @@ namespace StgSharp
#region transpose
[DllImport("StgsharpGraphic", EntryPoint = "transpose4to4",
[DllImport(SSGC_libname, EntryPoint = "transpose4to4",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose4to4_internal(Mat4* source, Mat4* target);
[DllImport("StgsharpGraphic", EntryPoint = "transpose4to3",
[DllImport(SSGC_libname, EntryPoint = "transpose4to3",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose4to3_internal(Mat4* source, Mat3* target);
[DllImport("StgsharpGraphic", EntryPoint = "transpose4to2",
[DllImport(SSGC_libname, EntryPoint = "transpose4to2",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose4to2_internal(Mat4* source, Mat2* target);
@@ -29,7 +29,7 @@ namespace StgSharp
#region det
[DllImport("StgsharpGraphic", EntryPoint = "det_mat4",
[DllImport(SSGC_libname, EntryPoint = "det_mat4",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static unsafe extern float det_mat4(Mat4* matPtr, Mat4* transpose);
@@ -39,7 +39,7 @@ namespace StgSharp
#region deinit_mat4
[DllImport("StgSharpGraphic", EntryPoint = "deinit_mat4",
[DllImport(SSGC_libname, EntryPoint = "deinit_mat4",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern void deinit_mat4(Mat4* mat);
+1 -1
View File
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+1 -1
View File
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using StgSharp.Math;
using System.Numerics;
using System.Runtime.InteropServices;
+1 -1
View File
@@ -1,4 +1,4 @@
using StgSharp.Control;
using StgSharp.Controlling;
using System;
using System.Collections.Generic;
using System.Text;
+1 -10
View File
@@ -8,16 +8,7 @@ namespace StgSharp.Math
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Sqrt(float x)
{
/**/
#if NET6_0_OR_GREATER
return System.MathF.Sqrt(x);
#else
/**/
return internalIO.sqrtss_const_internal(x);
/**/
#endif
return MathF.Sqrt(x);
/**/
}
@@ -4,16 +4,21 @@
<name>StgSharp</name>
</assembly>
<members>
<member name="M:StgSharp.Instruction.InitPool">
<member name="M:StgSharp.Control.InitPool">
<summary>
Add a pool to timeline controller, and return the instance of the pool.
</summary>
<returns></returns>
</member>
<member name="T:StgSharp.Control.GLFWproc">
<member name="M:StgSharp.Control.GetKeyStatus(StgSharp.Graphics.Form,StgSharp.Control.Key)">
<summary>
Get the status of a certain key on the keyboard.
</summary>
<param name="form"></param>
<param name="key"></param>
<returns></returns>
</member>
<member name="F:StgSharp.Control.TimeLine.tickCounter">
<member name="F:StgSharp.Controlling.TimeLine.tickCounter">
<summary>
Tick counter count the frames passed since the program start.
</summary>
@@ -103,7 +108,7 @@
but only can be referred by pointers.
</summary>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.Byte[],System.IntPtr,StgSharp.Graphics.Form)">
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<summary>
Creates a form and its associated context.
</summary>
@@ -127,22 +132,14 @@
<returns>The handle of created window</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphic.LoadGL">
<summary>
Load OpenGL API to StgSharp core programm,
please call this method before call any other
graphic APIs in StgSharp.
</summary>
<exception cref="T:System.Exception">If run this method twice, will throw exception</exception>
</member>
<member name="M:StgSharp.Graphic.InitGL">
<member name="M:StgSharp.Graphic.InitGL(System.Int32,System.Int32)">
<summary>
Init an instance of OpenGL program,
This method should be called before other
graphic methods, after LoadGL method.
</summary>
</member>
<member name="M:StgSharp.Graphic.InitGLAD">
<member name="M:StgSharp.Graphic.InitGLAD(StgSharp.glLoader)">
<summary>
Attach GLFW API to GLAD,
this method should be called after LoadGL
@@ -150,6 +147,13 @@
</summary>
<exception cref="T:System.Exception">The accident that program cannot attach GLFW to GLAD</exception>
</member>
<member name="T:StgSharp.glLoader">
<summary>
Function handler to load an opengl function by serching its name.
</summary>
<param name="funcname">the name of the Opengl function</param>
<returns>An intptr value representing the pointer to the function</returns>
</member>
<member name="M:StgSharp.LinkedList`1.Add(`0)">
<summary>
Add an item to the tail of linked list.
@@ -9,7 +9,6 @@
".NETStandard,Version=v2.1/": {
"StgSharp/1.0.0": {
"dependencies": {
"Facepunch.Steamworks": "2.3.3",
"Microsoft.Bcl.HashCode": "1.1.1",
"Microsoft.CSharp": "4.7.0"
},
@@ -17,14 +16,6 @@
"StgSharp.dll": {}
}
},
"Facepunch.Steamworks/2.3.3": {
"runtime": {
"lib/netstandard2.0/Facepunch.Steamworks.Win64.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"Microsoft.Bcl.HashCode/1.1.1": {
"runtime": {
"lib/netstandard2.1/Microsoft.Bcl.HashCode.dll": {
@@ -49,13 +40,6 @@
"serviceable": false,
"sha512": ""
},
"Facepunch.Steamworks/2.3.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7nUjWX/uy6JbDX7Q3n8ij7vrpWjTM0S8hXO24R3ZwQ0QgY0sXVlxzh3unmYoLvKGi31rzDHqGX68I169hnHNxQ==",
"path": "facepunch.steamworks/2.3.3",
"hashPath": "facepunch.steamworks.2.3.3.nupkg.sha512"
},
"Microsoft.Bcl.HashCode/1.1.1": {
"type": "package",
"serviceable": true,
@@ -4,13 +4,21 @@
<name>StgSharp</name>
</assembly>
<members>
<member name="M:StgSharp.Instruction.InitPool">
<member name="M:StgSharp.Control.InitPool">
<summary>
Add a pool to timeline controller, and return the instance of the pool.
</summary>
<returns></returns>
</member>
<member name="F:StgSharp.Control.ProgramTimeLine.tickCounter">
<member name="M:StgSharp.Control.GetKeyStatus(StgSharp.Graphics.Form,StgSharp.Control.Key)">
<summary>
Get the status of a certain key on the keyboard.
</summary>
<param name="form"></param>
<param name="key"></param>
<returns></returns>
</member>
<member name="F:StgSharp.Controlling.TimeLine.tickCounter">
<summary>
Tick counter count the frames passed since the program start.
</summary>
@@ -44,7 +52,7 @@
<summary>
计算位移失量,需要手动输入游戏刻以提供时间数据
</summary>
<param name="tickCounter"></param>
<param name="tick"></param>
<returns>表示位移量的三维矢量</returns>
</member>
<member name="T:StgSharp.Geometries.IPlainGeometry">
@@ -54,11 +62,19 @@
</member>
<member name="M:StgSharp.Geometries.Parallelogram.MovVertex03(System.UInt32)">
<summary>
移动平行四边形的第三个顶点,是一个多余的方法,调用会引发多余变量异常
Move the third vertix. this is a useless method for Parallelograms.
</summary>
<param name="tick">当前游戏刻</param>
<param name="tick">Current time tick</param>
<returns></returns>
<exception cref="T:StgSharp.Geometries.UnusedVertexException">几何体过定义</exception>
<exception cref="T:StgSharp.Geometries.UnusedVertexException">Geometry overdefined</exception>
</member>
<member name="M:StgSharp.Geometries.Parallelogram.MovVertex04(System.UInt32)">
<summary>
Move the third vertix. This method is useless for Parallelograms.
</summary>
<param name="tick">Current time tick</param>
<returns></returns>
<exception cref="T:StgSharp.Geometries.UnusedVertexException">Geometry overdefined</exception>
</member>
<member name="M:StgSharp.Geometries.Point.Update(System.UInt32)">
<summary>
@@ -80,227 +96,75 @@
A square
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.#ctor">
<summary>
Constructor of a Form, creats an instance of a form and
initilize all the customizing operations.
</summary>
</member>
<member name="T:StgSharp.Graphics.SSGwindow">
<summary>
A window struct that has nearly no differencr with GLFWwindow,
but only can be referred by pointers.
</summary>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<summary>
Creates a form and its associated context.
</summary>
<param name="width">Required width</param>
<param name="height">Required width</param>
<param name="tittle">Tittle of the window </param>
<param name="monitor"></param>
<param name="share"></param>
<returns>The instance of created form</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.String,System.IntPtr,System.IntPtr)">
<summary>
Creates a window and its associated context.
</summary>
<param name="width">Required width</param>
<param name="height">Required width</param>
<param name="tittle">Tittle of the window </param>
<param name="monitor"></param>
<param name="share"></param>
<returns>The handle of created window</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphic.InitGL(System.Int32,System.Int32)">
<summary>
Init an instance of OpenGL program,
This method should be called before other
graphic methods, after LoadGL method.
</summary>
</member>
<member name="M:StgSharp.Graphic.InitGLAD(StgSharp.glLoader)">
<summary>
Attach GLFW API to GLAD,
this method should be called after LoadGL
and before other graphic method.
</summary>
<exception cref="T:System.Exception">The accident that program cannot attach GLFW to GLAD</exception>
</member>
<member name="T:StgSharp.glLoader">
<summary>
Function handler to load an opengl function by serching its name.
</summary>
<param name="funcname">the name of the Opengl function</param>
<returns>An intptr value representing the pointer to the function</returns>
</member>
<member name="M:StgSharp.LinkedList`1.Add(`0)">
<summary>
Add an item to the tail of linked list.
</summary>
<param name="t">The item ready to add to the list</param>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.colum2,StgSharp.Math.vec2d)">
<member name="T:StgSharp.Math.Vec2d">
<summary>
A two dimension vector defined by two elements.
Vec2Ds in StgSharp are defaultly usaed as colum vector.
</summary>
<param name="colum"></param>
<param name="vec"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.vec2d)">
<summary>
</summary>
<param name="vec1"></param>
<param name="vec2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.colum2)">
<summary>
</summary>
<param name="vec"></param>
<param name="colum"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.matrix2x2)">
<summary>
</summary>
<param name="vec"></param>
<param name="matrix"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.matrix2x3)">
<summary>
</summary>
<param name="vec"></param>
<param name="matrix"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="vec"></param>
<param name="matrix"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.colum2)">
<summary>
</summary>
<param name="matrix"></param>
<param name="colum"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.matrix2x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.matrix2x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.colum3)">
<summary>
</summary>
<param name="matrix"></param>
<param name="vec"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.matrix3x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.matrix3x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.matrix3x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x4,StgSharp.Math.matrix4x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x4,StgSharp.Math.matrix4x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x4,StgSharp.Math.matrix4x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x2,StgSharp.Math.matrix2x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x2,StgSharp.Math.matrix2x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x2,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x3,StgSharp.Math.matrix3x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x3,StgSharp.Math.matrix3x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x4,StgSharp.Math.matrix4x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x4,StgSharp.Math.matrix4x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x4,StgSharp.Math.matrix4x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix4x2,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix4x4,StgSharp.Math.matrix4x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.Calc.ASin(System.Single)">
<summary>
@@ -334,21 +198,17 @@
<param name="y"></param>
<returns>Returns the value of x^y</returns>
</member>
<member name="T:StgSharp.Properties.Resources">
<member name="M:StgSharp.Math.Calc.Random">
<summary>
一个强类型的资源类,用于查找本地化的字符串等。
returns a random float number between 0 and 1.
</summary>
<returns></returns>
</member>
<member name="P:StgSharp.Properties.Resources.ResourceManager">
<member name="M:StgSharp.Math.Calc.RandomSeed">
<summary>
返回此类使用的缓存的 ResourceManager 实例。
</summary>
</member>
<member name="P:StgSharp.Properties.Resources.Culture">
<summary>
重写当前线程的 CurrentUICulture 属性,对
使用此强类型资源类的所有资源查找执行重写。
Generates a random seed in int value.
</summary>
<returns></returns>
</member>
</members>
</doc>
@@ -70,7 +70,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.400\\RuntimeIdentifierGraph.json"
}
}
}
@@ -7,7 +7,7 @@
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Nitlo\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.6.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.7.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Nitlo\.nuget\packages\" />
+1 -1
View File
@@ -203,7 +203,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.400\\RuntimeIdentifierGraph.json"
}
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"version": 2,
"dgSpecHash": "nyq9v8WRAFwIjz8I9Gv9vf0PpGAcnjjNKfzoUjZTNrikCVkWYQ0og9Fjs/Iji8EwIym3cvVShDpL3VAfbdckRQ==",
"dgSpecHash": "laAh6HOqaqkeza4HK3EBhAx7AjcOlrd8Z6s26b8lsUCoYM8PIJh/NJy8SIv8UHq9F9mqp0Pw10DuCZW5/r5x5g==",
"success": true,
"projectFilePath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\StgSharp\\StgSharp.csproj",
"expectedPackageFiles": [
@@ -1 +1 @@
affa619bf07b05c035efee881282f4490e2b3fd5
a58e0bad75f945d384a0d1dfa8c31c469d253ee7
@@ -4,16 +4,21 @@
<name>StgSharp</name>
</assembly>
<members>
<member name="M:StgSharp.Instruction.InitPool">
<member name="M:StgSharp.Control.InitPool">
<summary>
Add a pool to timeline controller, and return the instance of the pool.
</summary>
<returns></returns>
</member>
<member name="T:StgSharp.Control.GLFWproc">
<member name="M:StgSharp.Control.GetKeyStatus(StgSharp.Graphics.Form,StgSharp.Control.Key)">
<summary>
Get the status of a certain key on the keyboard.
</summary>
<param name="form"></param>
<param name="key"></param>
<returns></returns>
</member>
<member name="F:StgSharp.Control.TimeLine.tickCounter">
<member name="F:StgSharp.Controlling.TimeLine.tickCounter">
<summary>
Tick counter count the frames passed since the program start.
</summary>
@@ -103,7 +108,7 @@
but only can be referred by pointers.
</summary>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.Byte[],System.IntPtr,StgSharp.Graphics.Form)">
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<summary>
Creates a form and its associated context.
</summary>
@@ -127,22 +132,14 @@
<returns>The handle of created window</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphic.LoadGL">
<summary>
Load OpenGL API to StgSharp core programm,
please call this method before call any other
graphic APIs in StgSharp.
</summary>
<exception cref="T:System.Exception">If run this method twice, will throw exception</exception>
</member>
<member name="M:StgSharp.Graphic.InitGL">
<member name="M:StgSharp.Graphic.InitGL(System.Int32,System.Int32)">
<summary>
Init an instance of OpenGL program,
This method should be called before other
graphic methods, after LoadGL method.
</summary>
</member>
<member name="M:StgSharp.Graphic.InitGLAD">
<member name="M:StgSharp.Graphic.InitGLAD(StgSharp.glLoader)">
<summary>
Attach GLFW API to GLAD,
this method should be called after LoadGL
@@ -150,6 +147,13 @@
</summary>
<exception cref="T:System.Exception">The accident that program cannot attach GLFW to GLAD</exception>
</member>
<member name="T:StgSharp.glLoader">
<summary>
Function handler to load an opengl function by serching its name.
</summary>
<param name="funcname">the name of the Opengl function</param>
<returns>An intptr value representing the pointer to the function</returns>
</member>
<member name="M:StgSharp.LinkedList`1.Add(`0)">
<summary>
Add an item to the tail of linked list.
@@ -1 +1 @@
875f5b150116d1a7cb65e453e97603b061ab1377
8aba738477b1c9dbd1dd8e532aae5f0dbceda2dd
@@ -1,10 +1,7 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\bin\x64\Release\netstandard2.1\StgSharpGraphics.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\bin\x64\Release\netstandard2.1\StgSharp.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\bin\x64\Release\netstandard2.1\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\bin\x64\Release\netstandard2.1\StgSharp.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Release\netstandard2.1\StgSharp.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Release\netstandard2.1\StgSharp.Properties.Resources.resources
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Release\netstandard2.1\StgSharp.csproj.GenerateResource.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Release\netstandard2.1\StgSharp.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Release\netstandard2.1\StgSharp.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Release\netstandard2.1\StgSharp.AssemblyInfo.cs
@@ -4,13 +4,21 @@
<name>StgSharp</name>
</assembly>
<members>
<member name="M:StgSharp.Instruction.InitPool">
<member name="M:StgSharp.Control.InitPool">
<summary>
Add a pool to timeline controller, and return the instance of the pool.
</summary>
<returns></returns>
</member>
<member name="F:StgSharp.Control.ProgramTimeLine.tickCounter">
<member name="M:StgSharp.Control.GetKeyStatus(StgSharp.Graphics.Form,StgSharp.Control.Key)">
<summary>
Get the status of a certain key on the keyboard.
</summary>
<param name="form"></param>
<param name="key"></param>
<returns></returns>
</member>
<member name="F:StgSharp.Controlling.TimeLine.tickCounter">
<summary>
Tick counter count the frames passed since the program start.
</summary>
@@ -44,7 +52,7 @@
<summary>
计算位移失量,需要手动输入游戏刻以提供时间数据
</summary>
<param name="tickCounter"></param>
<param name="tick"></param>
<returns>表示位移量的三维矢量</returns>
</member>
<member name="T:StgSharp.Geometries.IPlainGeometry">
@@ -54,11 +62,19 @@
</member>
<member name="M:StgSharp.Geometries.Parallelogram.MovVertex03(System.UInt32)">
<summary>
移动平行四边形的第三个顶点,是一个多余的方法,调用会引发多余变量异常
Move the third vertix. this is a useless method for Parallelograms.
</summary>
<param name="tick">当前游戏刻</param>
<param name="tick">Current time tick</param>
<returns></returns>
<exception cref="T:StgSharp.Geometries.UnusedVertexException">几何体过定义</exception>
<exception cref="T:StgSharp.Geometries.UnusedVertexException">Geometry overdefined</exception>
</member>
<member name="M:StgSharp.Geometries.Parallelogram.MovVertex04(System.UInt32)">
<summary>
Move the third vertix. This method is useless for Parallelograms.
</summary>
<param name="tick">Current time tick</param>
<returns></returns>
<exception cref="T:StgSharp.Geometries.UnusedVertexException">Geometry overdefined</exception>
</member>
<member name="M:StgSharp.Geometries.Point.Update(System.UInt32)">
<summary>
@@ -80,227 +96,75 @@
A square
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.#ctor">
<summary>
Constructor of a Form, creats an instance of a form and
initilize all the customizing operations.
</summary>
</member>
<member name="T:StgSharp.Graphics.SSGwindow">
<summary>
A window struct that has nearly no differencr with GLFWwindow,
but only can be referred by pointers.
</summary>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<summary>
Creates a form and its associated context.
</summary>
<param name="width">Required width</param>
<param name="height">Required width</param>
<param name="tittle">Tittle of the window </param>
<param name="monitor"></param>
<param name="share"></param>
<returns>The instance of created form</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.String,System.IntPtr,System.IntPtr)">
<summary>
Creates a window and its associated context.
</summary>
<param name="width">Required width</param>
<param name="height">Required width</param>
<param name="tittle">Tittle of the window </param>
<param name="monitor"></param>
<param name="share"></param>
<returns>The handle of created window</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphic.InitGL(System.Int32,System.Int32)">
<summary>
Init an instance of OpenGL program,
This method should be called before other
graphic methods, after LoadGL method.
</summary>
</member>
<member name="M:StgSharp.Graphic.InitGLAD(StgSharp.glLoader)">
<summary>
Attach GLFW API to GLAD,
this method should be called after LoadGL
and before other graphic method.
</summary>
<exception cref="T:System.Exception">The accident that program cannot attach GLFW to GLAD</exception>
</member>
<member name="T:StgSharp.glLoader">
<summary>
Function handler to load an opengl function by serching its name.
</summary>
<param name="funcname">the name of the Opengl function</param>
<returns>An intptr value representing the pointer to the function</returns>
</member>
<member name="M:StgSharp.LinkedList`1.Add(`0)">
<summary>
Add an item to the tail of linked list.
</summary>
<param name="t">The item ready to add to the list</param>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.colum2,StgSharp.Math.vec2d)">
<member name="T:StgSharp.Math.Vec2d">
<summary>
A two dimension vector defined by two elements.
Vec2Ds in StgSharp are defaultly usaed as colum vector.
</summary>
<param name="colum"></param>
<param name="vec"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.vec2d)">
<summary>
</summary>
<param name="vec1"></param>
<param name="vec2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.colum2)">
<summary>
</summary>
<param name="vec"></param>
<param name="colum"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.matrix2x2)">
<summary>
</summary>
<param name="vec"></param>
<param name="matrix"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.matrix2x3)">
<summary>
</summary>
<param name="vec"></param>
<param name="matrix"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.vec2d,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="vec"></param>
<param name="matrix"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.colum2)">
<summary>
</summary>
<param name="matrix"></param>
<param name="colum"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.matrix2x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.matrix2x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x2,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.colum3)">
<summary>
</summary>
<param name="matrix"></param>
<param name="vec"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.matrix3x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.matrix3x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x3,StgSharp.Math.matrix3x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x4,StgSharp.Math.matrix4x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x4,StgSharp.Math.matrix4x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix2x4,StgSharp.Math.matrix4x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x2,StgSharp.Math.matrix2x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x2,StgSharp.Math.matrix2x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x2,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x3,StgSharp.Math.matrix3x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x3,StgSharp.Math.matrix3x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x4,StgSharp.Math.matrix4x2)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x4,StgSharp.Math.matrix4x3)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix3x4,StgSharp.Math.matrix4x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix4x2,StgSharp.Math.matrix2x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.VectorCalc.multiple(StgSharp.Math.matrix4x4,StgSharp.Math.matrix4x4)">
<summary>
</summary>
<param name="matrix1"></param>
<param name="matrix2"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Math.Calc.ASin(System.Single)">
<summary>
@@ -334,21 +198,17 @@
<param name="y"></param>
<returns>Returns the value of x^y</returns>
</member>
<member name="T:StgSharp.Properties.Resources">
<member name="M:StgSharp.Math.Calc.Random">
<summary>
一个强类型的资源类,用于查找本地化的字符串等。
returns a random float number between 0 and 1.
</summary>
<returns></returns>
</member>
<member name="P:StgSharp.Properties.Resources.ResourceManager">
<member name="M:StgSharp.Math.Calc.RandomSeed">
<summary>
返回此类使用的缓存的 ResourceManager 实例。
</summary>
</member>
<member name="P:StgSharp.Properties.Resources.Culture">
<summary>
重写当前线程的 CurrentUICulture 属性,对
使用此强类型资源类的所有资源查找执行重写。
Generates a random seed in int value.
</summary>
<returns></returns>
</member>
</members>
</doc>
+52 -8
View File
@@ -1,9 +1,9 @@
using StgSharp.Math;
using StgSharp.Graphics;
using StgSharp.Math;
using System;
using System.Diagnostics;
using System.Numerics;
using System.Runtime.InteropServices;
using System.Runtime.Intrinsics.X86;
namespace StgSharp
{
@@ -13,19 +13,63 @@ namespace StgSharp
internal unsafe static void Main(string[] args)
{
Matrix3x3 matrix = new Matrix3x3(
1,2,3,
4,5,6,
7,8,9
Graphic.InitGL(3, 3);
Form f = Graphic.GLcreateWindow(
800, 600, "Test STG#!", IntPtr.Zero, null
);
Graphic.GLmakeContexCurrent(f);
internalIO.glfwSetFramebufferSizeCallback(f.windowID, FormSizeCallback);
Console.WriteLine(matrix.Det());
GetApiRep();
Graphic.InitGLAD(Graphic.GetProcAddress);
while (internalIO.glfwWindowShouldClose(f.windowID) == 0)
{
ProcessInput(f.windowID);
Graphic.glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
Graphic.glClear(GLFW.GL_COLOR_BUFFER_BIT);
internalIO.glfwSwapBuffers(f.windowID);
internalIO.glfwPollEvents();
}
internalIO.glfwTerminate();
}
public static void FormSizeCallback(IntPtr window, int width, int height)
{
Graphic.glViewport(0, 0, width, height);
}
public static void ProcessInput(IntPtr windowPtr)
{
if (internalIO.glfwGetKey(windowPtr, (int)Control.Key.ESCAPE)
== KeyStatus.PRESS)
{
internalIO.glfwSetWindowShouldClose(windowPtr, 1);
}
}
[DllImport(internalIO.SSGC_libname, EntryPoint = "getApiReporter",
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
internal extern static void internal_getApiReporter(IntPtr reporter);
internal static void GetApiRep()
{
showApiHandler handle = new showApiHandler(ShowApiAddress);
internal_getApiReporter(Marshal.GetFunctionPointerForDelegate(handle));
}
internal delegate void showApiHandler(ulong add);
internal static void ShowApiAddress(ulong address)
{
Console.WriteLine(address);
}
}
}

Some files were not shown because too many files have changed in this diff Show More