diff --git a/latex/01.tex b/latex/01.tex
index c5bd2d72..2d4310ff 100644
--- a/latex/01.tex
+++ b/latex/01.tex
@@ -21,8 +21,3 @@
\end{document}
-其中,example.bib文件的内容如下:
-
-@article{ref1, author = {作者1}, title = {标题1}, journal = {期刊1}, year = {年份1}, volume = {卷号1}, number = {期号1}, pages = {页码1}, }
-
-@book{ref2, author = {作者2}, title = {标题2}, publisher = {出版社2}, year = {年份2}, }
\ No newline at end of file
diff --git a/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1 b/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1
index 3d06b1e9..27c3b063 100644
Binary files a/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1 and b/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1 differ
diff --git a/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1 b/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1
index 3e73bcc5..4fa3a71e 100644
Binary files a/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1 and b/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1 differ
diff --git a/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2 b/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2
index 749d3a73..5084e01f 100644
Binary files a/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2 and b/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/0ad382d2-6508-4e77-8558-19559bdebac8.vsidx b/源代码/.vs/StgSharp/FileContentIndex/0ad382d2-6508-4e77-8558-19559bdebac8.vsidx
deleted file mode 100644
index 8f4549e3..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/0ad382d2-6508-4e77-8558-19559bdebac8.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/1483c01d-bef0-4e4f-846b-d9e1834decfa.vsidx b/源代码/.vs/StgSharp/FileContentIndex/1483c01d-bef0-4e4f-846b-d9e1834decfa.vsidx
new file mode 100644
index 00000000..eddd3d25
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/1483c01d-bef0-4e4f-846b-d9e1834decfa.vsidx differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/285610f1-f370-405d-aa94-3e7ff7f934c6.vsidx b/源代码/.vs/StgSharp/FileContentIndex/285610f1-f370-405d-aa94-3e7ff7f934c6.vsidx
deleted file mode 100644
index 8b5c5f4a..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/285610f1-f370-405d-aa94-3e7ff7f934c6.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/40e425b2-a590-449d-ab3d-f726402f2e8c.vsidx b/源代码/.vs/StgSharp/FileContentIndex/40e425b2-a590-449d-ab3d-f726402f2e8c.vsidx
new file mode 100644
index 00000000..a3314a83
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/40e425b2-a590-449d-ab3d-f726402f2e8c.vsidx differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/61ffa930-8879-45e4-8ecc-3dc6adec0851.vsidx b/源代码/.vs/StgSharp/FileContentIndex/61ffa930-8879-45e4-8ecc-3dc6adec0851.vsidx
deleted file mode 100644
index 23096e75..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/61ffa930-8879-45e4-8ecc-3dc6adec0851.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/c849d2c0-881f-42be-a72c-f7f8da8234d0.vsidx b/源代码/.vs/StgSharp/FileContentIndex/c849d2c0-881f-42be-a72c-f7f8da8234d0.vsidx
new file mode 100644
index 00000000..170ecc5b
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/c849d2c0-881f-42be-a72c-f7f8da8234d0.vsidx differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/cc2a8b6d-00f9-4abf-88e5-68467da79c28.vsidx b/源代码/.vs/StgSharp/FileContentIndex/cc2a8b6d-00f9-4abf-88e5-68467da79c28.vsidx
deleted file mode 100644
index 00350f5b..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/cc2a8b6d-00f9-4abf-88e5-68467da79c28.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/e210bbb4-bb40-48fe-80e9-6de9dd773f7c.vsidx b/源代码/.vs/StgSharp/FileContentIndex/e210bbb4-bb40-48fe-80e9-6de9dd773f7c.vsidx
new file mode 100644
index 00000000..c972a418
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/e210bbb4-bb40-48fe-80e9-6de9dd773f7c.vsidx differ
diff --git a/源代码/.vs/StgSharp/v17/.futdcache.v2 b/源代码/.vs/StgSharp/v17/.futdcache.v2
index 563832b5..8a93fccc 100644
Binary files a/源代码/.vs/StgSharp/v17/.futdcache.v2 and b/源代码/.vs/StgSharp/v17/.futdcache.v2 differ
diff --git a/源代码/.vs/StgSharp/v17/.suo b/源代码/.vs/StgSharp/v17/.suo
index cf91545a..3547639a 100644
Binary files a/源代码/.vs/StgSharp/v17/.suo and b/源代码/.vs/StgSharp/v17/.suo differ
diff --git a/源代码/.vs/StgSharp/v17/Browse.VC.db b/源代码/.vs/StgSharp/v17/Browse.VC.db
index 2b56e681..467b0b23 100644
Binary files a/源代码/.vs/StgSharp/v17/Browse.VC.db and b/源代码/.vs/StgSharp/v17/Browse.VC.db differ
diff --git a/源代码/.vs/StgSharp/v17/HierarchyCache.v1.txt b/源代码/.vs/StgSharp/v17/HierarchyCache.v1.txt
new file mode 100644
index 00000000..464f0a84
Binary files /dev/null and b/源代码/.vs/StgSharp/v17/HierarchyCache.v1.txt differ
diff --git a/源代码/.vs/StgSharp/v17/Solution.VC.db b/源代码/.vs/StgSharp/v17/Solution.VC.db
index e8afb7b6..b8b40ece 100644
Binary files a/源代码/.vs/StgSharp/v17/Solution.VC.db and b/源代码/.vs/StgSharp/v17/Solution.VC.db differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/12d07b4a18c1814c/GLAD.ipch b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/12d07b4a18c1814c/GLAD.ipch
index 8fd0adb3..3a4ed45a 100644
Binary files a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/12d07b4a18c1814c/GLAD.ipch and b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/12d07b4a18c1814c/GLAD.ipch differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/620368b5b40c7d6d/DLLMAIN.ipch b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/620368b5b40c7d6d/DLLMAIN.ipch
index c762b90e..733f0703 100644
Binary files a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/620368b5b40c7d6d/DLLMAIN.ipch and b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/620368b5b40c7d6d/DLLMAIN.ipch differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/8be0d82c77b287c4/LOADAPI.ipch b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/8be0d82c77b287c4/LOADAPI.ipch
new file mode 100644
index 00000000..4c1ecf17
Binary files /dev/null and b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/8be0d82c77b287c4/LOADAPI.ipch differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/8c348b28bf9d9265/STGSHARPGRAPHICS.ipch b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/8c348b28bf9d9265/STGSHARPGRAPHICS.ipch
index c0513247..1d588815 100644
Binary files a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/8c348b28bf9d9265/STGSHARPGRAPHICS.ipch and b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/8c348b28bf9d9265/STGSHARPGRAPHICS.ipch differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/92b4f156fb57fca0/GEOMETRYHANDLER.ipch b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/92b4f156fb57fca0/GEOMETRYHANDLER.ipch
index 5e91298c..2a6468dc 100644
Binary files a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/92b4f156fb57fca0/GEOMETRYHANDLER.ipch and b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/92b4f156fb57fca0/GEOMETRYHANDLER.ipch differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/96a8634321746b7b/STGSHARPGRAPHICS.ipch b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/96a8634321746b7b/STGSHARPGRAPHICS.ipch
index 854120d1..255a5cc3 100644
Binary files a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/96a8634321746b7b/STGSHARPGRAPHICS.ipch and b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/96a8634321746b7b/STGSHARPGRAPHICS.ipch differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/ddc60acf97b7f4a6/FPSCONTROL.ipch b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/ddc60acf97b7f4a6/FPSCONTROL.ipch
index 5547d548..5e39ea5d 100644
Binary files a/源代码/.vs/StgSharp/v17/ipch/AutoPCH/ddc60acf97b7f4a6/FPSCONTROL.ipch and b/源代码/.vs/StgSharp/v17/ipch/AutoPCH/ddc60acf97b7f4a6/FPSCONTROL.ipch differ
diff --git a/源代码/.vs/StgSharp/v17/ipch/b92c1bd778bdeacf.ipch b/源代码/.vs/StgSharp/v17/ipch/b92c1bd778bdeacf.ipch
new file mode 100644
index 00000000..354a4543
Binary files /dev/null and b/源代码/.vs/StgSharp/v17/ipch/b92c1bd778bdeacf.ipch differ
diff --git a/源代码/StgSharp/ClassDiagram1.cd b/源代码/StgSharp/ClassDiagram1.cd
index 61f75821..e34c46de 100644
--- a/源代码/StgSharp/ClassDiagram1.cd
+++ b/源代码/StgSharp/ClassDiagram1.cd
@@ -66,14 +66,14 @@
AgAAAAAAAAAAogAAAABAAAAAAACAAAAAAAAAAAAAAAA=
- Logic\ContainerNode.cs
+ Logic\LinkedListNode.cs
-
+
BhAAAAAAAAAAAgAAAAAABAAAAAAAAAAoAAAgAAAAAAA=
- Logic\ContainerNode.cs
+ Logic\LinkedListNode.cs
diff --git a/源代码/StgSharp/Control/Add.cs b/源代码/StgSharp/Control/Add.cs
index 9ddc996c..a33bf12f 100644
--- a/源代码/StgSharp/Control/Add.cs
+++ b/源代码/StgSharp/Control/Add.cs
@@ -1,8 +1,4 @@
using StgSharp.Control;
-using StgSharp.Geometries;
-using System;
-using System.Collections.Generic;
-using System.Text;
namespace StgSharp
{
@@ -21,8 +17,8 @@ namespace StgSharp
public static void AddPool(Pool pool)
{
- ProgramTimeLine.allPool.Add(pool);
- ProgramTimeLine._currentPool = pool;
+ TimeLine.allPool.Add(pool);
+ TimeLine._currentPool = pool;
}
}
}
diff --git a/源代码/StgSharp/Control/Change.cs b/源代码/StgSharp/Control/Change.cs
index 35d41ddd..f794d077 100644
--- a/源代码/StgSharp/Control/Change.cs
+++ b/源代码/StgSharp/Control/Change.cs
@@ -1,16 +1,10 @@
-using System;
-using StgSharp.Control;
-using System.Collections.Generic;
-using System.Runtime.CompilerServices;
-using System.Text;
-
-namespace StgSharp
+namespace StgSharp
{
public static partial class Instruction
{
//method used for chaging the value of paameters will be listed here
-
+
}
}
diff --git a/源代码/StgSharp/Control/Geoemtry.cs b/源代码/StgSharp/Control/Geoemtry.cs
index 3335db91..ca6fb36c 100644
--- a/源代码/StgSharp/Control/Geoemtry.cs
+++ b/源代码/StgSharp/Control/Geoemtry.cs
@@ -1,22 +1,19 @@
using StgSharp.Geometries;
using StgSharp.Math;
-using System;
-using System.Collections.Generic;
-using System.Text;
namespace StgSharp
{
- public static unsafe partial class Geometry
+ public static unsafe partial class Geometry
{
public static unsafe Triangle InitTriagnle(
vec3d vertex1,
vec3d vertex2,
vec3d vertex3
- )where T:Triangle
+ ) where T : Triangle
{
Triangle t = new Triangle();
-
-
+
+
return t;
}
diff --git a/源代码/StgSharp/Control/IO/GeometryIO.cs b/源代码/StgSharp/Control/IO/GeometryIO.cs
index 7f87b4a8..9dea8456 100644
--- a/源代码/StgSharp/Control/IO/GeometryIO.cs
+++ b/源代码/StgSharp/Control/IO/GeometryIO.cs
@@ -1,25 +1,22 @@
using StgSharp.Geometries;
-using System;
-using System.Collections.Generic;
using System.Runtime.InteropServices;
-using System.Text;
namespace StgSharp
{
internal static unsafe partial class internalIO
{
[DllImport("StgSharpGraphics.dll", EntryPoint = "initTriangle")]
- internal static unsafe extern triangleVertexArray initTriangleVertex();
+ internal static extern unsafe triangleVertexArray initTriangleVertex();
[DllImport("StgSharpGraphics.dll", EntryPoint = "initPolygon4")]
- internal static unsafe extern Polygon4VertexArray initPolygon4Vertex();
+ internal static extern unsafe Polygon4VertexArray initPolygon4Vertex();
[DllImport("StgSharpGraphics.dll", EntryPoint = "initPolygon5")]
- internal static unsafe extern Polygon5VertexArray initPolygon5Vertex();
+ internal static extern unsafe Polygon5VertexArray initPolygon5Vertex();
[DllImport("StgSharpGraphics.dll", EntryPoint = "inputTriangle")]
- internal static unsafe extern void internalLoadTriangle(triangleVertexArray triangle);
+ internal static extern unsafe void internalLoadTriangle(triangleVertexArray triangle);
+
-
}
}
diff --git a/源代码/StgSharp/Control/IO/GraphicIO.cs b/源代码/StgSharp/Control/IO/GraphicIO.cs
index 961ad301..1f7d3734 100644
--- a/源代码/StgSharp/Control/IO/GraphicIO.cs
+++ b/源代码/StgSharp/Control/IO/GraphicIO.cs
@@ -1,35 +1,47 @@
-using StgSharp.Graphics;
+using StgSharp.Control;
+using StgSharp.Graphics;
using StgSharp.Graphics.GL;
using System;
-using System.Collections.Generic;
using System.Runtime.InteropServices;
-using System.Text;
namespace StgSharp
{
internal static partial class internalIO
{
- [DllImport("StgSharpGraphics.dll", EntryPoint = "InitGL")]
+ [DllImport("StgSharpGraphics.dll",
+ EntryPoint = "loadGLApi", CallingConvention = CallingConvention.Cdecl)]
+ internal static extern GraphicIOPack InternalInitGraphicApi();
+
+ [DllImport("StgSharpGraphics.dll",
+ EntryPoint = "InitGL", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void InternalInitGL();
- [DllImport("StgSharpGraphics.dll", EntryPoint = "InitWindow")]
+ [DllImport("StgSharpGraphics.dll",
+ EntryPoint = "InitWindow", CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe IntPtr InternalInitWindow(formInfo win);
- [DllImport("StgSharpGraphics.dll", EntryPoint = "CompileShader")]
- internal static unsafe extern void InternalCompileShader
+ [DllImport("StgSharpGraphics.dll",
+ EntryPoint = "CompileShader", CallingConvention = CallingConvention.Cdecl)]
+ internal static extern unsafe void InternalCompileShader
(
shaderObject* shaderObj
);
- [DllImport("StgSharpGraphics.dll", EntryPoint = "RenderWindow")]
- internal static unsafe extern void InternalRenderWindow
+ [DllImport("StgSharpGraphics.dll", EntryPoint = "SSGraphicShouldWindowClose",
+ CallingConvention = CallingConvention.Cdecl)]
+ internal static extern unsafe int InternalShouldFormClose(IntPtr formPtr);
+
+ [DllImport("StgSharpGraphics.dll",
+ EntryPoint = "RenderWindow", CallingConvention = CallingConvention.Cdecl)]
+ internal static extern unsafe void InternalRenderWindow
(
- IntPtr window,
+ IntPtr window,
formInfo info,
shaderObject* shaderObj
);
- [DllImport("StgSharpGraphics.dll", EntryPoint = "TerminateWindow")]
- internal static unsafe extern void TerminateWindow(shaderObject* shaderObj);
+ [DllImport("StgSharpGraphics.dll", EntryPoint = "TerminateWindow"
+ , CallingConvention = CallingConvention.Cdecl)]
+ internal static extern unsafe void TerminateWindow(shaderObject* shaderObj);
}
}
diff --git a/源代码/StgSharp/Control/IO/GraphicIOpack.cs b/源代码/StgSharp/Control/IO/GraphicIOpack.cs
new file mode 100644
index 00000000..d2da41da
--- /dev/null
+++ b/源代码/StgSharp/Control/IO/GraphicIOpack.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace StgSharp.Control
+{
+ internal delegate void InternalInitGLDelegate();
+ internal delegate IntPtr InternalGLcreateWindowDelegate
+ (int width, int height, char[] 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);
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ internal struct GraphicIOPack
+ {
+ internal InternalInitGLDelegate InternalLoadGL;
+ internal InternalGLcreateWindowDelegate InternalGLcreatWindow;
+ internal InternalGLmakeContextCurrent InternalGLmakeContextCurrent;
+ internal InternalGLswapInterval InternalGLswapInterval;
+ internal InternalGLclearColorDelegate InternalGLclearColor;
+ }
+}
diff --git a/源代码/StgSharp/Control/IO/IOpackage.cs b/源代码/StgSharp/Control/IO/IOpackage.cs
deleted file mode 100644
index 711409f9..00000000
--- a/源代码/StgSharp/Control/IO/IOpackage.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Runtime.InteropServices;
-using System.Text;
-
-namespace StgSharp.Control
-{
-
- public delegate int InitWindow(int width, int height);
-
-
- [StructLayout(LayoutKind.Sequential)]
- public struct GraphicIOPack
- {
- public InitWindow initWindowPtr = default;
-
-
-
- public GraphicIOPack()
- {
- }
- }
-}
diff --git a/源代码/StgSharp/Control/Remove.cs b/源代码/StgSharp/Control/Remove.cs
index 67eb2988..e675b205 100644
--- a/源代码/StgSharp/Control/Remove.cs
+++ b/源代码/StgSharp/Control/Remove.cs
@@ -1,7 +1,4 @@
using StgSharp.Geometries;
-using System;
-using System.Collections.Generic;
-using System.Text;
namespace StgSharp.Control
{
@@ -9,10 +6,10 @@ namespace StgSharp.Control
{
public static void Point(Point p)
{
- ProgramTimeLine._currentPool._pointContainer.Remove(p);
+ TimeLine._currentPool._pointContainer.Remove(p);
}
-
+
}
}
diff --git a/源代码/StgSharp/Control/ProgramTimeLine.cs b/源代码/StgSharp/Control/TimeLine.cs
similarity index 62%
rename from 源代码/StgSharp/Control/ProgramTimeLine.cs
rename to 源代码/StgSharp/Control/TimeLine.cs
index c98801e3..edf6aca7 100644
--- a/源代码/StgSharp/Control/ProgramTimeLine.cs
+++ b/源代码/StgSharp/Control/TimeLine.cs
@@ -1,12 +1,12 @@
using StgSharp.Entities;
using StgSharp.Graphics;
+using StgSharp.Graphics.GL;
using System;
using System.Diagnostics.CodeAnalysis;
-using System.Text;
namespace StgSharp.Control
{
- public static class ProgramTimeLine
+ public static class TimeLine
{
[AllowNull]
internal static Pool _currentPool = default;
@@ -16,18 +16,18 @@ namespace StgSharp.Control
///
/// Tick counter count the frames passed since the program start.
///
- public readonly static Counter tickCounter = new Counter(0,1,1);
+ public static readonly Counter tickCounter = new Counter(0, 1, 1);
[AllowNull]
- internal static TimelineBlock currentOperation ;
+ internal static TimelineBlock currentOperation;
private static bool isPaused = false;
- static ProgramTimeLine()
+ static TimeLine()
{
allForm = new LinkedList