daily update on 20230628 by nitload youmu, new debug and graphic lib added

This commit is contained in:
Nitload
2023-06-29 02:10:56 +08:00
parent f99a0674b0
commit 04b166771c
277 changed files with 19879 additions and 12406 deletions
+153
View File
@@ -0,0 +1,153 @@
## The .lutignore file is used by Live Unit Testing to ignore Visual Studio temporary files, build results,
## and files generated by popular Visual Studio add-ons when creating a private copy of the source tree that
## Live Unit Testing uses for its build.
##
## This file has same format as git's .gitignore file (https://git-scm.com/docs/gitignore). In fact, in the
## case where a .lutignore file is not found, but a .gitignore file is found, Live Unit Testing will use the
## .gitignore file directly for the above purpose.
# User-specific files
*.suo
*.user
*.userprefs
*.sln.docstates
.vs/
.vscode/
.packages/
.dotnet/
.tools/
.idea/
# Build results
[Dd]ebug/
[Rr]elease/
[Bb]inaries/
[Bb]in/
[Oo]bj/
x64/
TestResults/
# Debug artifactss
launchSettings.json
# Click-Once directory
publish/
# Publish Web Output
*.Publish.xml
# NuGet Packages Directory
packages/
# NuGet V3 artifacts
[Nn]u[Gg]et.exe
*-packages.config
*.nuget.props
*.nuget.targets
project.lock.json
msbuild.binlog
*.project.lock.json
# Miscellaneous
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.wrn
*.vspscc
*.vssscc
.builds
*.pidb
*.scc
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings
# Visual Studio cache files
*.sln.ide/
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
*.VC.opendb
*.VC.db
# Windows Store app package directory
AppPackages/
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# Guidance Automation Toolkit
*.gpState
# ReSharper
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
*.ncrunch*
.*crunch*.local.xml
# Upgrade backups
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
App_Data/*.mdf
App_Data/*.ldf
#LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Mac desktop service store files
.DS_Store
# WPF temp projects
*wpftmp.*
-9
View File
@@ -1,9 +0,0 @@
root = true
# All files
[*]
indent_style = space
# Xml files
[*.xml]
indent_size = 2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+39 -13
View File
@@ -7,13 +7,21 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharp", "StgSharp\StgSha
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharpDebug", "StgSharpDebug\StgSharpDebug.csproj", "{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StgSharpGraphic", "StgSharpGraphic\StgSharpGraphic.vcxproj", "{C0994414-D90B-4647-B05E-546D57ABEEE2}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "解决方案项", "解决方案项", "{504FB3A6-5326-4FB6-83EC-F8551FD9D1C4}"
ProjectSection(SolutionItems) = preProject
StgSharpGraphic.dll = StgSharpGraphic.dll
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StgSharpGraphic", "StgShqrpGraphic\StgShqrpGraphic.vcxproj", "{4CD737E9-9502-46CE-89AC-FE8047502DE4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
NoOps|Any CPU = NoOps|Any CPU
NoOps|x64 = NoOps|x64
NoOps|x86 = NoOps|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
@@ -25,6 +33,12 @@ Global
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.Debug|x64.Build.0 = Debug|x64
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.Debug|x86.ActiveCfg = Debug|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.Debug|x86.Build.0 = Debug|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.NoOps|Any CPU.ActiveCfg = NoOps|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.NoOps|Any CPU.Build.0 = NoOps|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.NoOps|x64.ActiveCfg = NoOps|x64
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.NoOps|x64.Build.0 = NoOps|x64
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.NoOps|x86.ActiveCfg = NoOps|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.NoOps|x86.Build.0 = NoOps|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.Release|Any CPU.Build.0 = Release|Any CPU
{EEC1D075-F8F4-43EA-914A-02B1339D2305}.Release|x64.ActiveCfg = Release|x64
@@ -37,24 +51,36 @@ Global
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Debug|x64.Build.0 = Debug|x64
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Debug|x86.ActiveCfg = Debug|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Debug|x86.Build.0 = Debug|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.NoOps|Any CPU.ActiveCfg = Release|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.NoOps|Any CPU.Build.0 = Release|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.NoOps|x64.ActiveCfg = Release|x64
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.NoOps|x64.Build.0 = Release|x64
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.NoOps|x86.ActiveCfg = Release|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.NoOps|x86.Build.0 = Release|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Release|Any CPU.ActiveCfg = Release|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Release|Any CPU.Build.0 = Release|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Release|x64.ActiveCfg = Release|x64
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Release|x64.Build.0 = Release|x64
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Release|x86.ActiveCfg = Release|Any CPU
{467F2A1A-D7E2-4904-AAAD-A5998EE45C71}.Release|x86.Build.0 = Release|Any CPU
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Debug|Any CPU.ActiveCfg = Debug|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Debug|Any CPU.Build.0 = Debug|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Debug|x64.ActiveCfg = Debug|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Debug|x64.Build.0 = Debug|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Debug|x86.ActiveCfg = Debug|Win32
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Debug|x86.Build.0 = Debug|Win32
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Release|Any CPU.ActiveCfg = Release|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Release|Any CPU.Build.0 = Release|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Release|x64.ActiveCfg = Release|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Release|x64.Build.0 = Release|x64
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Release|x86.ActiveCfg = Release|Win32
{C0994414-D90B-4647-B05E-546D57ABEEE2}.Release|x86.Build.0 = Release|Win32
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Debug|Any CPU.ActiveCfg = Debug|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Debug|Any CPU.Build.0 = Debug|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Debug|x64.ActiveCfg = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Debug|x64.Build.0 = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Debug|x86.ActiveCfg = Debug|Win32
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Debug|x86.Build.0 = Debug|Win32
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.NoOps|Any CPU.ActiveCfg = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.NoOps|Any CPU.Build.0 = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.NoOps|x64.ActiveCfg = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.NoOps|x64.Build.0 = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.NoOps|x86.ActiveCfg = Release|Win32
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.NoOps|x86.Build.0 = Release|Win32
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Release|Any CPU.ActiveCfg = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Release|Any CPU.Build.0 = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Release|x64.ActiveCfg = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Release|x64.Build.0 = Release|x64
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Release|x86.ActiveCfg = Release|Win32
{4CD737E9-9502-46CE-89AC-FE8047502DE4}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
+9 -7
View File
@@ -1,6 +1,5 @@
using StgSharp.Control;
using StgSharp.Graphics;
using StgSharp.Graphics.GL;
using System;
using System.Runtime.InteropServices;
@@ -8,16 +7,19 @@ namespace StgSharp
{
internal static partial class internalIO
{
[DllImport("StgSharpGraphics.dll",
EntryPoint = "loadGLApi", CallingConvention = CallingConvention.Cdecl)]
[DllImport("StgSharpGraphic.dll",EntryPoint = "loadGLApi",
CallingConvention = CallingConvention.Cdecl,CharSet =CharSet.Ansi)]
internal static extern GraphicIOPack InternalInitGraphicApi();
[DllImport("StgSharpGraphics.dll",
EntryPoint = "InitGL", CallingConvention = CallingConvention.Cdecl)]
[DllImport("StgSharpGraphic.dll",EntryPoint = "initGL",
CallingConvention = CallingConvention.Cdecl,CharSet = CharSet.Ansi)]
internal static extern unsafe void InternalInitGL();
[DllImport("StgSharpGraphics.dll",
EntryPoint = "InitGLAD", CallingConvention = CallingConvention.Cdecl)]
[DllImport("StgSharpGraphic.dll",EntryPoint = "initGLAD",
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
internal static extern unsafe int InternalInitGLAD();
//
}
}
+22 -7
View File
@@ -3,16 +3,26 @@ 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, char[] tittle, IntPtr monitor, IntPtr share);
(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);
@@ -21,13 +31,18 @@ namespace StgSharp.Control
[StructLayout(LayoutKind.Sequential)]
internal struct GraphicIOPack
{
internal InternalGLcreateWindowDelegate InternalGLcreateWindow;
internal InternalGLmakeContextCurrent InternalGLmakeContextCurrent;
internal InternalGLswapInterval InternalGLswapInterval;
internal InternalGLclearColorDelegate InternalGLclearColor;
//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;
internal internalglGetProcAddress InternalGLGetProcAddress;
//these are gl functions used to set a callback
internal InternalsetBufferSizeCallback internalGLsetBufferSize;
}
}
-1
View File
@@ -1,6 +1,5 @@
using StgSharp.Entities;
using StgSharp.Graphics;
using StgSharp.Graphics.GL;
using System;
using System.Diagnostics.CodeAnalysis;
@@ -5,7 +5,7 @@ namespace StgSharp.Geometries
/// <summary>
/// 计算位移失量,需要手动输入游戏刻以提供时间数据
/// </summary>
/// <param name="tickCounter"></param>
/// <param name="tick"></param>
/// <returns>表示位移量的三维矢量</returns>
public delegate vec3d GetLocationHandler(uint tick);
@@ -5,9 +5,9 @@ namespace StgSharp.Geometries
{
public class Line : IPlainGeometry
{
internal Point basePoint = default;
internal Point beginPoint = default;
internal Point endPoint = default;
internal Point basePoint = new Point();
internal Point beginPoint = new Point();
internal Point endPoint = new Point();
internal GetLocationHandler movBegin;
internal GetLocationHandler movEnd;
@@ -8,9 +8,9 @@ namespace StgSharp.Geometries
public unsafe class Triangle : IPlainGeometry
{
internal Point vertex1;
internal Point vertex2;
internal Point vertex3;
internal Point vertex1 = new Point();
internal Point vertex2 = new Point();
internal Point vertex3 = new Point();
internal GetLocationHandler movVertex01Opearion = new GetLocationHandler(GeometryOperation.DefualtMotion);
internal GetLocationHandler movVertex02Opearion = new GetLocationHandler(GeometryOperation.DefualtMotion);
internal GetLocationHandler movVertex03Opearion = new GetLocationHandler(GeometryOperation.DefualtMotion);
@@ -52,8 +52,8 @@ namespace StgSharp.Geometries
)
{
vertex1.Position = vertex01;
vertex1.Position = vertex01;
vertex1.Position = vertex01;
vertex2.Position = vertex02;
vertex3.Position = vertex03;
}
internal sealed override void OnRender(uint tick)
@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Geometries.SpaceGeometry
{
internal class Class1
{
}
}
+3 -31
View File
@@ -1,5 +1,4 @@
using StgSharp.Graphics.GL;
using StgSharp.Math;
using StgSharp.Math;
using System;
using System.Runtime.InteropServices;
@@ -11,7 +10,7 @@ namespace StgSharp.Graphics
public int width;
public int height;
public vec4d color;
public string name;
public byte[] name;
}
public unsafe class Form
@@ -19,7 +18,7 @@ namespace StgSharp.Graphics
internal IntPtr windowPtr;
internal formInfo info;
internal IntPtr shader;
internal LinkedList<Pool> allControl;
internal LinkedList<Pool> allControl = new LinkedList<Pool>();
public vec2d Size
{
@@ -55,35 +54,8 @@ namespace StgSharp.Graphics
/// </summary>
public Form()
{
info = new formInfo();
allControl = new LinkedList<Pool>();
Init();
//StgSharp.Graphic.LoadForm(this);
}
//used for internal control purpose
internal Form(int instruction)
{
}
internal unsafe void defualtInit()
{
//IntPtr windowPtr = Graphic.InitWindow(this);
}
public virtual void Init()
{
info.color = new vec4d(0.95, 0.93, 0.92, 0);
info.width = 800;
info.height = 600;
//this.windowPtr = Graphic.InitWindow(this);
}
public void Show()
{
}
}
}
+49 -31
View File
@@ -9,7 +9,7 @@ namespace StgSharp.Graphics
//strucs defined in glfw3.h
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWcontext
{
int client;
@@ -69,7 +69,7 @@ namespace StgSharp.Graphics
//GLFW_PLATFORM_CONTEXT_STATE
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWvidmode
{
/*! The width, in screen coordinates, of the video mode.
@@ -92,6 +92,7 @@ namespace StgSharp.Graphics
int refreshRate;
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWgammaramp
{
@@ -109,6 +110,7 @@ namespace StgSharp.Graphics
uint size;
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWimage
{
@@ -123,6 +125,7 @@ namespace StgSharp.Graphics
byte* pixels;
}
[StructLayout(LayoutKind.Sequential)]
public struct GLFWgamepadstate
{
@@ -140,6 +143,7 @@ namespace StgSharp.Graphics
}
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWallocator
{
//GLFWallocatefun allocate;
@@ -151,6 +155,7 @@ namespace StgSharp.Graphics
void* user;
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWmonitor
{
@@ -178,47 +183,48 @@ namespace StgSharp.Graphics
public GLFWmonitor() { }
}
public unsafe struct _GLFWwindow
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWwindow
{
//struct _GLFWwindow* next in GLFW
public IntPtr next;
public IntPtr next = IntPtr.Zero;
public bool resizable;
public bool decorated;
public bool autoIconify;
public bool floating;
public bool focusOnShow;
public bool mousePassthrough;
public bool shouldClose;
public void* userPointer;
public bool doublebuffer;
public GLFWvidmode videoMode;
//public GLFWmonitor* monitor;
public IntPtr monitor;
public GLFWcursor* cursor;
public bool resizable = false;
public bool decorated = false;
public bool autoIconify = false;
public bool floating = false;
public bool focusOnShow = false;
public bool mousePassthrough = false;
public bool shouldClose = false;
public void* userPointer = (void*)0;
public bool doublebuffer = false;
public GLFWvidmode videoMode = default;
public IntPtr monitor = IntPtr.Zero; //public GLFWmonitor* monitor;
public GLFWcursor* cursor = (GLFWcursor*)0;
public int minwidth, minheight;
public int maxwidth, maxheight;
public int numer, denom;
public int minwidth = 0, minheight = 0;
public int maxwidth = 0, maxheight = 0;
public int numer = 0, denom = 0;
public bool stickyKeys;
public bool stickyMouseButtons;
public bool lockKeyMods;
public int cursorMode;
public bool stickyKeys = false;
public bool stickyMouseButtons = false;
public bool lockKeyMods = false;
public int cursorMode = 0;
public char[] mouseButtons = new char[8];
public char[] keys = new char[349];
// Virtual cursor position when cursor is disabled
public double virtualCursorPosX, virtualCursorPosY;
public bool rawMouseMotion;
public double virtualCursorPosX = 0, virtualCursorPosY = 0;
public bool rawMouseMotion = false;
public GLFWcontext context;
public GLFWcontext context = default;
public _GLFWwindow()
public GLFWwindow()
{
}
}
[StructLayout(LayoutKind.Sequential)]
public struct GLFWcursor
{
//_GLFWcursor* next;
@@ -229,6 +235,7 @@ namespace StgSharp.Graphics
// GLFW_PLATFORM_CURSOR_STATE;
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWerror
{
@@ -242,6 +249,7 @@ namespace StgSharp.Graphics
}
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWinitconfig
{
@@ -265,6 +273,7 @@ namespace StgSharp.Graphics
}
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWwndconfig
{
@@ -286,7 +295,7 @@ namespace StgSharp.Graphics
GLFWbool scaleToMonitor;
internal struct Ns
{
GLFWbool retina;
GLFWbool retina = false;
char[] frameName = new char[256];
public Ns()
@@ -327,6 +336,7 @@ namespace StgSharp.Graphics
}
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWctxconfig
{
int client;
@@ -352,6 +362,7 @@ namespace StgSharp.Graphics
}
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWfbconfig
{
@@ -374,7 +385,7 @@ namespace StgSharp.Graphics
uintptr_t handle;
}
[StructLayout(LayoutKind.Sequential)]
internal unsafe struct _GLFWlibrary
{
GLFWbool initialized;
@@ -519,6 +530,7 @@ namespace StgSharp.Graphics
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct _GLFWmapelement
{
byte type;
@@ -527,6 +539,7 @@ namespace StgSharp.Graphics
sbyte axisOffset;
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct _GLFWmapping
{
@@ -538,6 +551,7 @@ namespace StgSharp.Graphics
public _GLFWmapping() { }
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct _GLFWjoystick
{
@@ -562,6 +576,7 @@ namespace StgSharp.Graphics
public _GLFWjoystick() { }
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct _GLFWtls
{
// This is defined in platform.h
@@ -569,7 +584,7 @@ namespace StgSharp.Graphics
//GLFW_PLATFORM_TLS_STATE
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct GLFWplatform
{
@@ -733,6 +748,7 @@ namespace StgSharp.Graphics
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct _GLFWmutex
{
// This is defined in platform.h
@@ -741,6 +757,7 @@ namespace StgSharp.Graphics
//public unsafe struct VkAllocationCallbacks { }
[StructLayout(LayoutKind.Sequential)]
internal unsafe struct VkExtensionProperties
{
char[] extensionName = new char[256];
@@ -751,6 +768,7 @@ namespace StgSharp.Graphics
}
}
[StructLayout(LayoutKind.Sequential)]
internal unsafe struct _GLFWerror
{
IntPtr next;
+56 -12
View File
@@ -1,6 +1,9 @@
using StgSharp.Control;
using StgSharp.Graphics;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace StgSharp
@@ -8,29 +11,42 @@ namespace StgSharp
public static unsafe partial class Graphic
{
/// <summary>
/// Creates a window and its associated context.
/// 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 handle of created window</returns>
/// <returns>The instance of created form</returns>
/// <exception cref="Exception"></exception>
public static unsafe IntPtr GLcreateWindow(int width, int height, char[] tittle, IntPtr monitor, IntPtr share)
public static unsafe Form GLcreateWindow(int width, int height, byte[] tittle, IntPtr monitor, Form share)
{
IntPtr windowPtr = glIO.InternalGLcreateWindow(width, height, tittle, monitor, share);
IntPtr windowPtr;
if (share == null)
{
windowPtr = glIO.internalGLcreateWindow(
width, height, tittle, monitor, (IntPtr)0);
}
else
{
windowPtr = glIO.internalGLcreateWindow(
width, height, tittle, monitor, (IntPtr)share.windowPtr);
}
if ((int)windowPtr == -1 || (int)windowPtr == -2)
{
throw new Exception("Cannot create window instance!");
}
return windowPtr;
else
{
Form form = new Form();
form.Size = new vec2d(width, height);
form.windowPtr = windowPtr;
return form;
}
}
/// <summary>
@@ -43,15 +59,43 @@ namespace StgSharp
/// <param name="share"></param>
/// <returns>The handle of created window</returns>
/// <exception cref="Exception"></exception>
public static unsafe IntPtr GLcreateWindow(int width, int height, string tittle, IntPtr monitor, IntPtr share)
public static unsafe Form GLcreateWindow(int width, int height, string tittle, IntPtr monitor, IntPtr share)
{
IntPtr windowPtr = glIO.InternalGLcreateWindow(width, height, null, monitor, share);
Form form = new Form();
form.Size = new vec2d(width, height);
byte[] tittleCharArray = System.Text.Encoding.UTF8.GetBytes(tittle);
IntPtr windowPtr = glIO.internalGLcreateWindow(width, height, tittleCharArray, monitor, share);
form.info.name = tittleCharArray;
form.windowPtr = windowPtr;
Console.WriteLine(windowPtr);
if ((int)windowPtr == -1 || (int)windowPtr == -2)
{
throw new Exception("Cannot create window instance!");
}
return windowPtr;
return form;
}
public static unsafe void GLmakeContexCurrent(Form form)
{
glIO.internalGLmakeContextCurrent((IntPtr)form.windowPtr);
}
public static unsafe bool GLwindowShouldClose(Form form)
{
int a = glIO.internalGLwindowShouldClose((IntPtr)form.windowPtr);
return a != 0;
}
public static unsafe void GLswapBuffers(Form form)
{
glIO.internalGLswapBuffers((IntPtr)form.windowPtr);
}
}
+10
View File
@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Control
{
public delegate void FrameBufferSizeCallback(IntPtr window, int width, int height);
}
+5 -1
View File
@@ -43,13 +43,17 @@ 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 LoadGLAD()
public static unsafe void InitGLAD()
{
int a = internalIO.InternalInitGLAD();
if (a!=0)
{
throw new Exception("Cannot attach GLFW to GLAD!");
}
else
{
return;
}
}
@@ -0,0 +1,147 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Graphics
{
/// <summary>
/// A window struct that has nearly no differencr with GLFWwindow,
/// but only can be referred by pointers.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public unsafe struct SSGwindow
{
//struct _GLFWwindow* next in GLFW
internal SSGwindow* next;
internal bool resizable;
internal bool decorated;
internal bool autoIconify;
internal bool floating;
internal bool focusOnShow;
internal bool mousePassthrough;
internal bool shouldClose;
internal void* userPointer;
internal bool doublebuffer;
internal GLFWvidmode videoMode;
internal IntPtr monitor; //internal GLFWmonitor* monitor;
internal GLFWcursor* cursor;
internal int minwidth, minheight;
internal int maxwidth, maxheight;
internal int numer, denom;
internal bool stickyKeys;
internal bool stickyMouseButtons;
internal bool lockKeyMods;
internal int cursorMode;
internal long mouseButtons; //internal char[] mouseButtons = new char[8];
internal CharArray349 keys; //internal char[] keys = new char[349];
// Virtual cursor position when cursor is disabled
internal double virtualCursorPosX, virtualCursorPosY;
internal bool rawMouseMotion;
internal GLFWcontext context;
[StructLayout(LayoutKind.Sequential)]
internal struct CharArray349
{
internal long charGroup1;
internal long charGroup2;
internal long charGroup3;
internal long charGroup4;
internal long charGroup5;
internal long charGroup6;
internal long charGroup7;
internal long charGroup8;
internal long charGroup9;
internal long charGroup10;
internal long charGroup11;
internal long charGroup12;
internal long charGroup13;
internal long charGroup14;
internal long charGroup15;
internal long charGroup16;
internal long charGroup17;
internal long charGroup18;
internal long charGroup19;
internal long charGroup20;
internal long charGroup21;
internal long charGroup22;
internal long charGroup23;
internal long charGroup24;
internal long charGroup25;
internal long charGroup26;
internal long charGroup27;
internal long charGroup28;
internal long charGroup29;
internal long charGroup30;
internal long charGroup31;
internal long charGroup32;
internal long charGroup33;
internal long charGroup34;
internal long charGroup35;
internal long charGroup36;
internal long charGroup37;
internal long charGroup38;
internal long charGroup39;
internal long charGroup40;
internal long charGroup41;
internal long charGroup42;
internal long charGroup43;
internal byte char345;
internal byte char346;
internal byte char347;
internal byte char348;
internal byte char349;
}
public SSGwindow()
{
}
}
[StructLayout(LayoutKind.Sequential)]
public unsafe struct SSGmonitor
{
char[] name = new char[128];
void* userPointer;
// Physical dimensions in millimeters.
int widthMM, heightMM;
// The window whose video mode is current on this monitor
//_GLFWwindow* window;
IntPtr window;
//GLFWvidmode* modes;
IntPtr modes;
int modeCount;
GLFWvidmode currentMode;
GLFWgammaramp originalRamp;
GLFWgammaramp currentRamp;
// not transformed
//GLFW_PLATFORM_MONITOR_STATE;
[StructLayout(LayoutKind.Sequential)]
internal struct monitorName
{
internal int byte1to4;
internal int byte5to8;
internal int byte9to12;
internal int byte13to16;
}
public SSGmonitor() { }
}
}
File diff suppressed because it is too large Load Diff
@@ -1,96 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO.Compression;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix2x2Int:IEquatable<matrix2x2>
{
[FieldOffset(0)]
public vec2dInt row1;
[FieldOffset(8)]
public vec2dInt row2;
public matrix2x2Int(vec2d c0, vec2d c1)
{
row1 = c0;
row2 = c1;
}
public matrix2x2Int(
int a11,
int a12,
int a21,
int a22
)
{
row1 = new vec2dInt(a11, a12);
row2 = new vec2dInt(a21, a22);
}
bool IEquatable<matrix2x2>.Equals(matrix2x2 other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return
this.row1 == other.row1
&& this.row2 == other.row2;
}
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() != typeof(matrix2x2))
{
return false;
}
else
{
return this.Equals((vec3d)obj);
}
}
public override int GetHashCode()
{
return HashCode.Combine(row1,row2);
}
public override string ToString()
{
return $"{row1}\n{row2}";
}
public static matrix2x2Int operator +(matrix2x2Int matrix1 , matrix2x2Int matrix2)
{
return new matrix2x2Int(
matrix1.row1 + matrix2.row1,
matrix1.row2 + matrix2.row2
);
}
public static matrix2x2Int operator -(matrix2x2Int matrix1, matrix2x2Int matrix2)
{
return new matrix2x2Int(
matrix1.row1 - matrix2.row1,
matrix1.row2 - matrix2.row2
);
}
}
}
@@ -1,107 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix2x3Int:IEquatable<matrix2x3Int>
{
[FieldOffset(0)]
public vec3d row1;
[FieldOffset(12)]
public vec3d row2;
public matrix2x3Int(vec3d r1, vec3d r2)
{
row1 = r1;
row2 = r2;
}
public matrix2x3Int(
int r11, int r12, int r13,
int r21, int r22, int r23
)
{
row1 = new vec3d(r11, r12, r13);
row2 = new vec3d(r21, r22, r23);
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() != typeof(matrix2x3Int))
{
return false;
}
else
{
return this.Equals((vec3d)obj);
}
}
public override int GetHashCode()
{
return HashCode.Combine(row1, row2);
}
public override string ToString()
{
return $"{row1}\n{row2}";
}
bool IEquatable<matrix2x3Int>.Equals(matrix2x3Int other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return
this.row1 == other.row1
&& this.row2 == other.row2;
}
}
public static matrix2x3Int operator +(matrix2x3Int matrix1, matrix2x3Int matrix2)
{
return new matrix2x3Int(
matrix1.row1 + matrix2.row1,
matrix1.row2 + matrix2.row2
);
}
public static matrix2x3Int operator -(matrix2x3Int matrix1, matrix2x3Int matrix2)
{
return new matrix2x3Int(
matrix1.row1 - matrix2.row1,
matrix1.row2 - matrix2.row2
);
}
public static matrix2x3Int operator *(matrix2x3Int array, int x)
{
return new matrix2x3Int(
array.row1 * x,
array.row2 * x
) ;
}
public static matrix2x3Int operator /(matrix2x3Int array, int x)
{
return new matrix2x3Int(
array.row1 / x,
array.row2 / x
);
}
}
}
@@ -1,105 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix2x4 : IEquatable<matrix2x4>
{
[FieldOffset(0)]
public vec4d row1;
[FieldOffset(16)]
public vec4d row2;
public matrix2x4( vec4d r1, vec4d r2)
{
row1 = r1;
row2 = r2;
}
public matrix2x4(
float a11, float a12, float a13, float a14,
float a21, float a22, float a23, float a24
)
{
row1 = new vec4d(a11,a12,a13,a14);
row2 = new vec4d(a21,a22,a23,a24);
}
public bool Equals(matrix2x4 other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return this.row1 == other.row1
&& this.row2 == other.row2;
}
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() != typeof(matrix2x4))
{
return false;
}
else
{
return this.Equals((matrix2x4)obj);
}
}
public override int GetHashCode()
{
return HashCode.Combine(this.row1, this.row2);
}
public override string ToString()
{
return $"{this.row1}\n{this.row2}";
}
public static matrix2x4 operator +(matrix2x4 matrix1 ,matrix2x4 matrix2)
{
return new matrix2x4(
matrix1.row1 + matrix2.row1,
matrix1.row2 + matrix2.row2
) ;
}
public static matrix2x4 operator -(matrix2x4 matrix1, matrix2x4 matrix2)
{
return new matrix2x4(
matrix1.row1 - matrix2.row1,
matrix1.row2 - matrix2.row2
);
}
public static matrix2x4 operator *(matrix2x4 array, float x)
{
return new matrix2x4(
array.row1 * x,
array.row2 * x
);
}
public static matrix2x4 operator /(matrix2x4 array, float x)
{
return new matrix2x4(
array.row1 / x,
array.row2 / x
);
}
}
}
@@ -1,97 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix3x2Int:IEquatable<matrix3x2Int>
{
[FieldOffset(0)]
public vec2d row1;
[FieldOffset(8)]
public vec2d row2;
[FieldOffset(16)]
public vec2d row3;
public matrix3x2Int(vec2d r1,vec2d r2,vec2d r3)
{
row1= r1;
row2= r2;
row3= r3;
}
public matrix3x2Int(
int a11, int a12,
int a21, int a22,
int a31, int a32
)
{
row1 = new vec2d(a11, a12);
row2 = new vec2d(a21, a22);
row3 = new vec2d(a31, a32);
}
bool IEquatable<matrix3x2Int>.Equals(matrix3x2Int other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return
this.row1 == other.row1
&& this.row2 == other.row2
&& this.row3 == other.row3
;
}
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() != typeof(matrix3x2Int))
{
return false;
}
else
{
return this.Equals((matrix3x2Int)obj);
}
}
public override int GetHashCode()
{
return HashCode.Combine(row1, row2, row3);
}
public override string ToString()
{
return $"{row1}\n{row2}\n{row3}";
}
public static matrix3x2Int operator +(matrix3x2Int matrix1, matrix3x2Int matrix2)
{
return new matrix3x2Int(
matrix1.row1 + matrix2.row1,
matrix1.row2 + matrix2.row2,
matrix1.row3 + matrix2.row3
);
}
public static matrix3x2Int operator -(matrix3x2Int matrix1, matrix3x2Int matrix2)
{
return new matrix3x2Int(
matrix1.row1 - matrix2.row1,
matrix1.row2 - matrix2.row2,
matrix1.row3 - matrix2.row3
);
}
}
}
@@ -1,144 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix3x3:IEquatable<matrix3x3>
{
[FieldOffset(0)]
public vec3d row1;
[FieldOffset(12)]
public vec3d row2;
[FieldOffset(24)]
public vec3d row3;
public matrix3x3(vec3d r0,vec3d r1,vec3d r2)
{
row1 = r0;
row2 = r1;
row3 = r2;
}
public matrix3x3(
float a11,float a12,float a13,
float a21,float a22,float a23,
float a31,float a32,float a33
)
{
row1 = new vec3d(a11, a12, a13);
row2 = new vec3d(a21, a22, a23);
row3 = new vec3d(a31, a32, a33);
}
public override int GetHashCode()
{
return HashCode.Combine(row1,row2,row3);
}
bool IEquatable<matrix3x3>.Equals(matrix3x3 other)
{
if (this.GetHashCode()!=other.GetHashCode())
{
return false;
}
else
{
return
this.row1 == other.row1
&& this.row2 == other.row2
&& this.row3 == other.row3;
}
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() != typeof(matrix3x3))
{
return false;
}
else
{
return this.Equals((matrix3x3)obj);
}
}
public override string ToString()
{
return $"{row1}\n{row2}\n{row3}";
}
public static bool operator ==(matrix3x3 matrix1, matrix3x3 matrix2)
{
return matrix1.Equals(matrix2);
}
public static bool operator !=(matrix3x3 matrix1, matrix3x3 matrix2)
{
return !matrix1.Equals(matrix2);
}
public static matrix3x3 operator +(matrix3x3 matrix1, matrix3x3 matrix2)
{
return new matrix3x3(
matrix1.row1.X + matrix2.row1.X,
matrix1.row1.Y + matrix2.row1.Y,
matrix1.row1.Z + matrix2.row1.Z,
matrix1.row2.X + matrix2.row2.X,
matrix1.row2.Y + matrix2.row2.Y,
matrix1.row2.Z + matrix2.row2.Z,
matrix1.row3.X + matrix2.row3.X,
matrix1.row3.Y + matrix2.row3.Y,
matrix1.row3.Z + matrix2.row3.Z
);
}
public static matrix3x3 operator -(matrix3x3 matrix1, matrix3x3 matrix2)
{
return new matrix3x3(
matrix1.row1.X - matrix2.row1.X,
matrix1.row1.Y - matrix2.row1.Y,
matrix1.row1.Z - matrix2.row1.Z,
matrix1.row2.X - matrix2.row2.X,
matrix1.row2.Y - matrix2.row2.Y,
matrix1.row2.Z - matrix2.row2.Z,
matrix1.row3.X - matrix2.row3.X,
matrix1.row3.Y - matrix2.row3.Y,
matrix1.row3.Z - matrix2.row3.Z
);
}
public static matrix3x3 operator *(matrix3x3 array, float x)
{
return new matrix3x3(
array.row1 * x,
array.row2 * x,
array.row3 * x
);
}
public static matrix3x3 operator /(matrix3x3 array, float x)
{
return new matrix3x3(
array.row1/x,
array.row2/x,
array.row3/x
);
}
}
}
@@ -1,83 +0,0 @@
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix3x4:IEquatable<matrix3x4>
{
[FieldOffset(0)]
public vec4d row1;
[FieldOffset(16)]
public vec4d row2;
[FieldOffset(32)]
public vec4d row3;
public matrix3x4(
vec4d r1,vec4d r2,vec4d r3
)
{
this.row1 = r1;
this.row2 = r2;
this.row3 = r3;
}
public matrix3x4(
float a11, float a12, float a13, float a14,
float a21, float a22, float a23, float a24,
float a31, float a32, float a33, float a34
)
{
row1 = new vec4d(a11,a12,a13,a14);
row2 = new vec4d(a21,a22,a23,a24);
row3 = new vec4d(a31,a32,a33,a34);
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() != typeof(matrix3x4))
{
return false;
}
else
{
return this.Equals((matrix3x4)obj);
}
}
bool IEquatable<matrix3x4>.Equals(matrix3x4 other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return this.row1 == other.row1
&& this.row2 == other.row2
&& this.row3 == other.row3;
}
}
public override int GetHashCode()
{
return HashCode.Combine(this.row1,this.row2,this.row3);
}
public override string ToString()
{
return $"{this.row1}\n{this.row2}\n{this.row3}";
}
}
}
@@ -1,84 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix4x2:IEquatable<matrix4x2>
{
[FieldOffset(0)]
public vec2d row1;
[FieldOffset(8)]
public vec2d row2;
[FieldOffset(16)]
public vec2d row3;
[FieldOffset(24)]
public vec2d row4;
public matrix4x2(vec2d r1, vec2d r2, vec2d r3, vec2d r4)
{
row1 = r1;
row2 = r2;
row3 = r3;
row4 = r4;
}
public matrix4x2(
float a11, float a12,
float a21, float a22,
float a31, float a32,
float a41, float a42
)
{
row1 = new vec2d(a11, a12);
row2 = new vec2d(a21, a22);
row3 = new vec2d(a31, a32);
row4 = new vec2d(a41, a42);
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() == typeof(matrix4x2))
{
return false;
}
else
{
return this.Equals((matrix4x2)obj);
}
}
public override int GetHashCode()
{
return HashCode.Combine(row1, row2, row3, row4);
}
public override string ToString()
{
return $"{row1}\n{row2}\n{row3}\n{row4}";
}
bool IEquatable<matrix4x2>.Equals(matrix4x2 other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return this.row1 == other.row1
&& this.row2 == other.row2
&& this.row3 == other.row3
&& this.row4 == other.row4;
}
}
}
}
@@ -1,77 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix4x3:IEquatable<matrix4x3>
{
[FieldOffset(0)]
public vec3d row1;
[FieldOffset(12)]
public vec3d row2;
[FieldOffset(24)]
public vec3d row3;
[FieldOffset(36)]
public vec3d row4;
public matrix4x3(
float a11, float a12, float a13,
float a21, float a22, float a23,
float a31, float a32, float a33,
float a41, float a42, float a43
)
{
row1 = new vec3d(a11, a12, a13);
row2 = new vec3d(a21, a22, a23);
row3 = new vec3d(a31, a32, a33);
row4 = new vec3d(a41, a42, a43);
}
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
else if (obj.GetType() != typeof(matrix4x3))
{
return false;
}
else
{
return this.Equals((matrix4x3)obj);
}
}
bool IEquatable<matrix4x3>.Equals(matrix4x3 other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return this.row1 == other.row1
&& this.row2 == other.row2
&& this.row3 == other.row3
&& this.row4 == other.row4;
}
}
public override int GetHashCode()
{
return base.GetHashCode();
}
public override string ToString()
{
return base.ToString();
}
}
}
@@ -1,107 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit)]
public struct matrix4x4:IEquatable<matrix4x4>
{
[FieldOffset(0)]
public vec4d row1;
[FieldOffset(16)]
public vec4d row2;
[FieldOffset(32)]
public vec4d row3;
[FieldOffset(48)]
public vec4d row4;
public matrix4x4( vec4d r1,vec4d r2,vec4d r3,vec4d r4)
{
row1 = r1;
row2 = r2;
row3 = r3;
row4 = r4;
}
public matrix4x4(
float a11, float a12, float a13, float a14,
float a21, float a22, float a23, float a24,
float a31, float a32, float a33, float a34,
float a41, float a42, float a43, float a44
)
{
row1 = new vec4d(a11, a12, a13, a14);
row2 = new vec4d(a21, a22, a23, a24);
row3 = new vec4d(a31, a32, a33, a34);
row4 = new vec4d(a41, a42, a43, a44);
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
bool IEquatable<matrix4x4>.Equals(matrix4x4 other)
{
if (this.GetHashCode() != other.GetHashCode())
{
return false;
}
else
{
return this.row1 == other.row1
&& this.row2 == other.row2
&& this.row3 == other.row3
&& this.row4 == other.row4;
}
}
public override int GetHashCode()
{
return HashCode.Combine(row1, row2, row3, row4);
}
public override string ToString()
{
return $"{this.row1}\n{this.row2}\n{this.row3}\n{this.row4}";
}
public static matrix4x4 operator +(matrix4x4 matrix1, matrix4x4 matrix2)
{
return new matrix4x4(
matrix1.row1 + matrix2.row1,
matrix1.row2 + matrix2.row2,
matrix1.row3 + matrix2.row3,
matrix1.row4 + matrix2.row4
);
}
public static matrix4x4 operator -(matrix4x4 matrix1, matrix4x4 matrix2)
{
return new matrix4x4(
matrix1.row1 - matrix2.row1,
matrix1.row2 - matrix2.row2,
matrix1.row3 - matrix2.row3,
matrix1.row4 - matrix2.row4
);
}
public static matrix4x4 operator *(matrix4x4 array, float x)
{
return new matrix4x4(
array.row1 * x,
array.row2 * x,
array.row3 * x,
array.row4 * x
);
}
}
}
@@ -1,44 +0,0 @@
using Steamworks;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit,Size = 8)]
public unsafe struct vec2dInt
{
[FieldOffset(0)]
public int X;
[FieldOffset(4)]
public int Y;
public vec2dInt(int x, int y)
{
this.X = x;
this.Y = y;
}
public static implicit operator vec2d(vec2dInt vec)
{
return new vec2d(vec.X,vec.Y);
}
public static implicit operator vec2dInt(vec2d vec)
{
return new vec2dInt((int)vec.X, (int)vec.Y);
}
public static vec2dInt operator +(vec2dInt vec1, vec2dInt vec2)
{
return new vec2dInt(vec1.X + vec2.X, vec1.Y + vec2.Y);
}
public static vec2dInt operator -(vec2dInt vec1, vec2dInt vec2)
{
return new vec2dInt(vec1.X - vec2.X, vec1.Y - vec2.Y);
}
}
}
@@ -1,18 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit,Size =12)]
public struct vec3dInt
{
[FieldOffset(0)]
public int X;
[FieldOffset(4)]
public int Y;
[FieldOffset(8)]
public int Z;
}
}
@@ -1,20 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit,Size =16)]
public struct vec4dInt
{
[FieldOffset(0)]
public int X;
[FieldOffset(4)]
public int Y;
[FieldOffset(8)]
public int Z;
[FieldOffset(12)]
public int W;
}
}
@@ -1,8 +1,8 @@
namespace StgSharp.Math
{
public static unsafe partial class Vector
public unsafe static partial class Vector
{
public static vec3d To3D(this vec2d vec)
public static vec3d To3D(vec2d vec)
{
return new vec3d(vec.X, vec.Y, 0.0f);
}
File diff suppressed because it is too large Load Diff
+7 -28
View File
@@ -15,6 +15,7 @@
<OutputType>Library</OutputType>
<StartupObject></StartupObject>
<Nullable>enable</Nullable>
<Configurations>Debug;Release;NoOps</Configurations>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -43,17 +44,12 @@
<NoWarn>1701;1702;0649;1591;0169</NoWarn>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Math\Graphic\**" />
<None Remove="Graphic\**" />
<None Remove="Math\Graphic\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Facepunch.Steamworks" Version="2.3.3" />
<PackageReference Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.4" />
</ItemGroup>
<ItemGroup>
@@ -61,30 +57,13 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Dependency\StgSharpGraphics.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Resource>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="StgSharpGraphics.dll">
<None Update="..\StgSharpGraphic.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="copy $(solutiondir)StgSharpGraphic.dll $(targetdir)" />
</Target>
</Project>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,37 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.StgSharpTest
{
public static class PInvokeTest
{
[DllImport("StgSharpGraphic.dll",EntryPoint ="getPtr")]
internal static extern IntPtr getPtr();
public static void GLloadtest()
{
try
{
IntPtr ptr = Marshal.GetFunctionPointerForDelegate(Graphic.glIO.internalGLcreateWindow);
Console.WriteLine(ptr);
IntPtr ptr1 = getPtr();
Console.WriteLine(ptr1);
}
catch (Exception)
{
throw;
}
}
}
}
@@ -10,6 +10,7 @@
"StgSharp/1.0.0": {
"dependencies": {
"Facepunch.Steamworks": "2.3.3",
"MSTest.TestFramework": "3.0.4",
"Microsoft.Bcl.HashCode": "1.1.1",
"Microsoft.CSharp": "4.7.0"
},
@@ -40,6 +41,59 @@
"fileVersion": "4.700.19.56404"
}
}
},
"MSTest.TestFramework/3.0.4": {
"runtime": {
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll": {
"assemblyVersion": "14.0.0.0",
"fileVersion": "14.0.8501.1"
},
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": {
"assemblyVersion": "14.0.0.0",
"fileVersion": "14.0.8501.1"
}
},
"resources": {
"lib/netstandard2.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "cs"
},
"lib/netstandard2.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "de"
},
"lib/netstandard2.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "es"
},
"lib/netstandard2.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "fr"
},
"lib/netstandard2.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "it"
},
"lib/netstandard2.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ja"
},
"lib/netstandard2.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ko"
},
"lib/netstandard2.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "pl"
},
"lib/netstandard2.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "pt-BR"
},
"lib/netstandard2.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ru"
},
"lib/netstandard2.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "tr"
},
"lib/netstandard2.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "zh-Hans"
},
"lib/netstandard2.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "zh-Hant"
}
}
}
}
},
@@ -69,6 +123,13 @@
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"path": "microsoft.csharp/4.7.0",
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
},
"MSTest.TestFramework/3.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hYq5xOOr2k09rtXpmcHkJ4Tdt/yS4cy8jiFPNMdDJP+lB6OY8yekOmQC4Fsvug4rhLpXGDd6zbPWYeoewqfePA==",
"path": "mstest.testframework/3.0.4",
"hashPath": "mstest.testframework.3.0.4.nupkg.sha512"
}
}
}
@@ -9,6 +9,9 @@
Add a pool to timeline controller, and return the instance of the pool.
</summary>
<returns></returns>
</member>
<member name="T:StgSharp.Control.GLFWproc">
</member>
<member name="F:StgSharp.Control.TimeLine.tickCounter">
<summary>
@@ -44,7 +47,7 @@
<summary>
计算位移失量,需要手动输入游戏刻以提供时间数据
</summary>
<param name="tickCounter"></param>
<param name="tick"></param>
<returns>表示位移量的三维矢量</returns>
</member>
<member name="T:StgSharp.Geometries.IPlainGeometry">
@@ -86,16 +89,22 @@
initilize all the customizing operations.
</summary>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.Char[],System.IntPtr,System.IntPtr)">
<member name="T:StgSharp.Graphics.SSGwindow">
<summary>
Creates a window and its associated context.
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.Byte[],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 handle of created window</returns>
<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)">
@@ -125,7 +134,7 @@
</summary>
<exception cref="T:System.Exception">If run this method twice, will throw exception</exception>
</member>
<member name="M:StgSharp.Graphic.LoadGLAD">
<member name="M:StgSharp.Graphic.InitGLAD">
<summary>
Attach GLFW API to GLAD,
this method should be called after LoadGL
@@ -49,6 +49,10 @@
"target": "Package",
"version": "[2.3.3, )"
},
"MSTest.TestFramework": {
"target": "Package",
"version": "[3.0.4, )"
},
"Microsoft.Bcl.HashCode": {
"target": "Package",
"version": "[1.1.1, )"
+165
View File
@@ -38,6 +38,66 @@
"related": ".xml"
}
}
},
"MSTest.TestFramework/3.0.4": {
"type": "package",
"compile": {
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll": {
"related": ".xml"
},
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": {
"related": ".Extensions.xml;.xml"
}
},
"runtime": {
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll": {
"related": ".xml"
},
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": {
"related": ".Extensions.xml;.xml"
}
},
"resource": {
"lib/netstandard2.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "cs"
},
"lib/netstandard2.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "de"
},
"lib/netstandard2.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "es"
},
"lib/netstandard2.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "fr"
},
"lib/netstandard2.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "it"
},
"lib/netstandard2.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ja"
},
"lib/netstandard2.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ko"
},
"lib/netstandard2.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "pl"
},
"lib/netstandard2.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "pt-BR"
},
"lib/netstandard2.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ru"
},
"lib/netstandard2.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "tr"
},
"lib/netstandard2.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "zh-Hans"
},
"lib/netstandard2.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "zh-Hant"
}
}
}
}
},
@@ -155,11 +215,112 @@
"useSharedDesignerContext.txt",
"version.txt"
]
},
"MSTest.TestFramework/3.0.4": {
"sha512": "hYq5xOOr2k09rtXpmcHkJ4Tdt/yS4cy8jiFPNMdDJP+lB6OY8yekOmQC4Fsvug4rhLpXGDd6zbPWYeoewqfePA==",
"type": "package",
"path": "mstest.testframework/3.0.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"build/net6.0/MSTest.TestFramework.targets",
"build/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll",
"build/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml",
"build/net6.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll",
"build/net6.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml",
"lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll",
"lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml",
"lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.dll",
"lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.xml",
"lib/net462/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net462/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll",
"lib/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml",
"lib/net6.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/net6.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll",
"lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml",
"lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.dll",
"lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.xml",
"lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll",
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml",
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll",
"lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml",
"lib/netstandard2.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/netstandard2.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll",
"lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml",
"lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll",
"lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml",
"lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll",
"mstest.testframework.3.0.4.nupkg.sha512",
"mstest.testframework.nuspec"
]
}
},
"projectFileDependencyGroups": {
".NETStandard,Version=v2.1": [
"Facepunch.Steamworks >= 2.3.3",
"MSTest.TestFramework >= 3.0.4",
"Microsoft.Bcl.HashCode >= 1.1.1",
"Microsoft.CSharp >= 4.7.0"
]
@@ -213,6 +374,10 @@
"target": "Package",
"version": "[2.3.3, )"
},
"MSTest.TestFramework": {
"target": "Package",
"version": "[3.0.4, )"
},
"Microsoft.Bcl.HashCode": {
"target": "Package",
"version": "[1.1.1, )"
+3 -2
View File
@@ -1,12 +1,13 @@
{
"version": 2,
"dgSpecHash": "0wLiERtqIl+07/qyrsOmTBfKZIQqYkUcCkrrFH+nIatbQb87AlMw0u1ibcBVNP/tKys5m4Ciw+5WO8b8hgcJbw==",
"dgSpecHash": "U93NwZUCaTKdojyZwk/yPIqkF5IoqBKIr/oNzhJRGbWoOaJ7Ir19MrkSMc3WswCLpGiTClg2bYFNwxQt00Zsmw==",
"success": true,
"projectFilePath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\源代码\\StgSharp\\StgSharp.csproj",
"expectedPackageFiles": [
"C:\\Users\\Nitlo\\.nuget\\packages\\facepunch.steamworks\\2.3.3\\facepunch.steamworks.2.3.3.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.bcl.hashcode\\1.1.1\\microsoft.bcl.hashcode.1.1.1.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512"
"C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
"C:\\Users\\Nitlo\\.nuget\\packages\\mstest.testframework\\3.0.4\\mstest.testframework.3.0.4.nupkg.sha512"
],
"logs": []
}
@@ -1 +1 @@
30862d0e511e1361db5f27d40508177e02373c0d
44f5687daea9ff535ce461e814448994f86788e4
@@ -10,4 +10,3 @@ D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Debug\netstandard2.1\refint\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Debug\netstandard2.1\StgSharp.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\obj\x64\Debug\netstandard2.1\ref\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharp\bin\x64\Debug\netstandard2.1\StgSharpGraphics.dll
@@ -9,6 +9,9 @@
Add a pool to timeline controller, and return the instance of the pool.
</summary>
<returns></returns>
</member>
<member name="T:StgSharp.Control.GLFWproc">
</member>
<member name="F:StgSharp.Control.TimeLine.tickCounter">
<summary>
@@ -44,7 +47,7 @@
<summary>
计算位移失量,需要手动输入游戏刻以提供时间数据
</summary>
<param name="tickCounter"></param>
<param name="tick"></param>
<returns>表示位移量的三维矢量</returns>
</member>
<member name="T:StgSharp.Geometries.IPlainGeometry">
@@ -86,16 +89,22 @@
initilize all the customizing operations.
</summary>
</member>
<member name="M:StgSharp.Graphic.GLcreateWindow(System.Int32,System.Int32,System.Char[],System.IntPtr,System.IntPtr)">
<member name="T:StgSharp.Graphics.SSGwindow">
<summary>
Creates a window and its associated context.
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.Byte[],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 handle of created window</returns>
<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)">
@@ -125,7 +134,7 @@
</summary>
<exception cref="T:System.Exception">If run this method twice, will throw exception</exception>
</member>
<member name="M:StgSharp.Graphic.LoadGLAD">
<member name="M:StgSharp.Graphic.InitGLAD">
<summary>
Attach GLFW API to GLAD,
this method should be called after LoadGL

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