diff --git a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin index b3549526..70f16aca 100644 Binary files a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin and b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin differ diff --git a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin index 272ccbd6..1c24d2c6 100644 Binary files a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin and b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin differ diff --git a/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 b/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 index 95b4c1cc..9212583a 100644 Binary files a/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 and b/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/0dff1a08-76e6-47ad-a5f6-674abf144f9f.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/0dff1a08-76e6-47ad-a5f6-674abf144f9f.vsidx new file mode 100644 index 00000000..01324994 Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/0dff1a08-76e6-47ad-a5f6-674abf144f9f.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/16634008-7375-45d5-99ee-694c4d92c41b.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/16634008-7375-45d5-99ee-694c4d92c41b.vsidx new file mode 100644 index 00000000..47e9be4e Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/16634008-7375-45d5-99ee-694c4d92c41b.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/84bb6afb-790a-4bb7-b5ae-cb845012fc54.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/84bb6afb-790a-4bb7-b5ae-cb845012fc54.vsidx deleted file mode 100644 index bcf7a8c6..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/84bb6afb-790a-4bb7-b5ae-cb845012fc54.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/985fde31-3660-4a13-950c-c3deaee96453.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/985fde31-3660-4a13-950c-c3deaee96453.vsidx deleted file mode 100644 index 677b15ca..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/985fde31-3660-4a13-950c-c3deaee96453.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/9adac65a-2837-4bb2-962d-91ee56e61ef4.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/9adac65a-2837-4bb2-962d-91ee56e61ef4.vsidx deleted file mode 100644 index fe3bcb81..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/9adac65a-2837-4bb2-962d-91ee56e61ef4.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/b82b616a-2bd9-4186-92c5-5b12a6371690.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/b82b616a-2bd9-4186-92c5-5b12a6371690.vsidx deleted file mode 100644 index 28a689d2..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/b82b616a-2bd9-4186-92c5-5b12a6371690.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/c3cabf48-fea0-4a62-ac08-335f24f557d2.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/c3cabf48-fea0-4a62-ac08-335f24f557d2.vsidx new file mode 100644 index 00000000..10dfc36b Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/c3cabf48-fea0-4a62-ac08-335f24f557d2.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/e3fbaa32-3574-4a69-ba6a-2660ae8d00ee.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/e3fbaa32-3574-4a69-ba6a-2660ae8d00ee.vsidx new file mode 100644 index 00000000..14d419ed Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/e3fbaa32-3574-4a69-ba6a-2660ae8d00ee.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/ea7e3872-fb73-4a12-83d7-2c676bb1b280.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/ea7e3872-fb73-4a12-83d7-2c676bb1b280.vsidx deleted file mode 100644 index fa648f4b..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/ea7e3872-fb73-4a12-83d7-2c676bb1b280.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/fdaf367b-1a97-440e-a25c-6b919482fe75.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/fdaf367b-1a97-440e-a25c-6b919482fe75.vsidx new file mode 100644 index 00000000..466c482b Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/fdaf367b-1a97-440e-a25c-6b919482fe75.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 b/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 index 3c409ea9..950213d1 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 and b/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 differ diff --git a/源代码/.vs/StgSharpDevelop/v17/.suo b/源代码/.vs/StgSharpDevelop/v17/.suo index fc1ad384..217c6640 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/.suo and b/源代码/.vs/StgSharpDevelop/v17/.suo differ diff --git a/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json b/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json index 476e7402..a3b43dab 100644 --- a/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json +++ b/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json @@ -3,45 +3,141 @@ "WorkspaceRootPath": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\coordination\\icoord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\coordination\\icoord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\shaderedit\\shader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\shaderedit\\shader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\coordination\\streamlocalcoordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\coordination\\streamlocalcoordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\form\\formthreading.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\form\\formthreading.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\glrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{183AA95A-FEBD-42A5-A205-AB7048678251}|OEM\\OEM.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\oem\\mainform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{183AA95A-FEBD-42A5-A205-AB7048678251}|OEM\\OEM.csproj|solutionrelative:oem\\mainform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharp\\graphics\\gl\\glrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\gl\\glrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\logic\\bluepaintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\bluepaintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\logic\\bluepaint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\bluepaint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\test\\mainrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\test\\mainrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\renderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\renderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\math\\linear\\vec3d.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\vec3d.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\glrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\environment\\monitors.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\environment\\monitors.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\math\\graphic\\camera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\graphic\\camera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\glresourcegenrator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glresourcegenrator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\define\\structdefine.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\define\\structdefine.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\ssd\\ssdraw.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\ssd\\ssdraw.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\test\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\test\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\glapimanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glapimanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharp\\graphics\\gl\\glapimanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\gl\\glapimanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharp\\graphics\\form\\formthreading.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\form\\formthreading.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharp\\data\\ssd\\area.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\data\\ssd\\area.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\coordination\\streamlocalcoordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\coordination\\streamlocalcoordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\form\\form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\form\\form.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\control\\processinput.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\control\\processinput.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}|StgsharpEnvDebug\\StgsharpEnvDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpenvdebug\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}|StgsharpEnvDebug\\StgsharpEnvDebug.csproj|solutionrelative:stgsharpenvdebug\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\define\\gltype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\define\\gltype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\plaingeometry\\polygon4.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\plaingeometry\\polygon4.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\shaderedit\\uniform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\shaderedit\\uniform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharp\\geometries\\plaingeometry\\plaingeometry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\geometries\\plaingeometry\\plaingeometry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\coordination\\icoord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\coordination\\icoord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\plaingeometry\\arc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\plaingeometry\\arc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\math\\linear\\vec4d.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\vec4d.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\math\\linear\\vec3d.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\vec3d.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\math\\linear\\matrix44.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\matrix44.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\igeometry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\igeometry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\plaingeometry\\plaingeometry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\plaingeometry\\plaingeometry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\environment\\monitors.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\environment\\monitors.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\control\\processinput.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\control\\processinput.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\m128.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\m128.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -58,22 +154,10 @@ "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\math\\linear\\cordination.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\cordination.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\geometries\\spacegeometry\\spacecoordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\spacegeometry\\spacecoordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\environment\\globalkeystat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\environment\\globalkeystat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\glresourcegenrator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glresourcegenrator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\define\\gltype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\define\\gltype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\buffer\\vbo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\vbo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -102,50 +186,321 @@ "DocumentGroups": [ { "DockedWidth": 197, - "SelectedChildIndex": 1, + "SelectedChildIndex": 10, "Children": [ { "$type": "Document", - "DocumentIndex": 1, - "Title": "StreamLocalCoordinate.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", - "RelativeToolTip": "StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAAAAAAAA", + "DocumentIndex": 2, + "Title": "MainForm.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\OEM\\MainForm.cs", + "RelativeDocumentMoniker": "OEM\\MainForm.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\OEM\\MainForm.cs", + "RelativeToolTip": "OEM\\MainForm.cs", + "ViewState": "AQIAAAcAAAAAAAAAAIAzwAsAAAAFAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T01:09:03.638Z", + "WhenOpened": "2024-04-26T21:06:53.667Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, - "Title": "ICoord.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", - "RelativeToolTip": "StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", - "ViewState": "AQIAABIAAAAAAAAAAAAywCEAAAAAAAAA", + "DocumentIndex": 3, + "Title": "glRenderStream.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\glRenderStream.cs", + "RelativeDocumentMoniker": "StgSharp\\Graphics\\GL\\glRenderStream.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\glRenderStream.cs", + "RelativeToolTip": "StgSharp\\Graphics\\GL\\glRenderStream.cs", + "ViewState": "AQIAAAYAAAAAAAAAAIAzwBYAAAAxAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T01:07:46.041Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "vec3d.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\vec3d.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\vec3d.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\vec3d.cs", - "RelativeToolTip": "StgSharpDebug\\Math\\Linear\\vec3d.cs", - "ViewState": "AQIAAKkAAAAAAAAAAAAtwLkAAAAVAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T01:01:04.105Z", + "WhenOpened": "2024-04-26T21:06:09.909Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 5, + "Title": "BluePaint.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaint.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\BluePaint.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaint.cs", + "RelativeToolTip": "StgSharpDebug\\Logic\\BluePaint.cs", + "ViewState": "AQIAACEAAAAAAAAAAAAAAC4AAAAUAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-26T20:20:31.076Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "BluePaintNode.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaintNode.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\BluePaintNode.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaintNode.cs", + "RelativeToolTip": "StgSharpDebug\\Logic\\BluePaintNode.cs", + "ViewState": "AQIAAFMAAAAAAAAAAAAMwGkAAAAyAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-26T20:15:50.576Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "Camera.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Graphic\\Camera.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Graphic\\Camera.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Graphic\\Camera.cs", + "RelativeToolTip": "StgSharpDebug\\Math\\Graphic\\Camera.cs", + "ViewState": "AQIAACYAAAAAAAAAAIAzwC0AAAAQAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-26T18:08:00.666Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "FormThreading.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\Form\\FormThreading.cs", + "RelativeDocumentMoniker": "StgSharp\\Graphics\\Form\\FormThreading.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\Form\\FormThreading.cs", + "RelativeToolTip": "StgSharp\\Graphics\\Form\\FormThreading.cs", + "ViewState": "AQIAAEkAAAAAAAAAAIAzwFkAAAAcAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:43:06.873Z" + }, + { + "$type": "Document", + "DocumentIndex": 17, + "Title": "Area.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Data\\SSD\\Area.cs", + "RelativeDocumentMoniker": "StgSharp\\Data\\SSD\\Area.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Data\\SSD\\Area.cs", + "RelativeToolTip": "StgSharp\\Data\\SSD\\Area.cs", + "ViewState": "AQIAAAMAAAAAAAAAAIAzwBMAAAAaAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:43:05.544Z" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "SSDraw.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDraw.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Data\\SSD\\SSDraw.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\SSD\\SSDraw.cs", + "RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSDraw.cs", + "ViewState": "AQIAAC0AAAAAAAAAAAArwEEAAAAJAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:33:32.378Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 20, + "Title": "Program.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgsharpEnvDebug\\Program.cs", + "RelativeDocumentMoniker": "StgsharpEnvDebug\\Program.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgsharpEnvDebug\\Program.cs", + "RelativeToolTip": "StgsharpEnvDebug\\Program.cs", + "ViewState": "AQIAABAAAAAAAAAAAAAswB0AAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:32:49.882Z" + }, + { + "$type": "Document", + "DocumentIndex": 22, + "Title": "Polygon4.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Polygon4.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Polygon4.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Polygon4.cs", + "RelativeToolTip": "StgSharpDebug\\Geometries\\PlainGeometry\\Polygon4.cs", + "ViewState": "AQIAACMAAAAAAAAAAIAzwDMAAAAeAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:31:54.67Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Shader.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs", + "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs", + "ViewState": "AQIAABkAAAAAAAAAAIAzwCoAAAAFAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:16:18.922Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "FormThreading.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\FormThreading.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Form\\FormThreading.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\FormThreading.cs", + "RelativeToolTip": "StgSharpDebug\\Graphics\\Form\\FormThreading.cs", + "ViewState": "AQIAAEsAAAAAAAAAAIAzwFsAAAAcAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:29:47.069Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 23, + "Title": "Uniform.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Uniform.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Uniform.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Uniform.cs", + "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Uniform.cs", + "ViewState": "AQIAADkAAAAAAAAAAAD4v0YAAAAgAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:28:31.145Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "MainRenderStream.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Test\\MainRenderStream.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Test\\MainRenderStream.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Test\\MainRenderStream.cs", + "RelativeToolTip": "StgSharpDebug\\Test\\MainRenderStream.cs", + "ViewState": "AQIAAHoAAAAAAAAAAAASwIwAAAAMAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:10:03.206Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 13, + "Title": "Program.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Test\\Program.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Test\\Program.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Test\\Program.cs", + "RelativeToolTip": "StgSharpDebug\\Test\\Program.cs", + "ViewState": "AQIAAAkAAAAAAAAAAAAAAAwAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T18:53:26.174Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 15, + "Title": "glApiManager.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\glApiManager.cs", + "RelativeDocumentMoniker": "StgSharp\\Graphics\\GL\\glApiManager.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\glApiManager.cs", + "RelativeToolTip": "StgSharp\\Graphics\\GL\\glApiManager.cs", + "ViewState": "AQIAAAoCAAAAAAAAAIAzwBcCAABLAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:05:42.752Z" + }, + { + "$type": "Document", + "DocumentIndex": 24, + "Title": "PlainGeometry.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "RelativeDocumentMoniker": "StgSharp\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "RelativeToolTip": "StgSharp\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "ViewState": "AQIAADUAAAAAAAAAAIAzwEMAAABAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:05:27.273Z" + }, + { + "$type": "Document", + "DocumentIndex": 14, + "Title": "glApiManager.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\glApiManager.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\glApiManager.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\glApiManager.cs", + "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\glApiManager.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAL4GAAArAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T19:01:23.974Z" + }, + { + "$type": "Document", + "DocumentIndex": 26, + "Title": "Arc.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Arc.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Arc.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Arc.cs", + "RelativeToolTip": "StgSharpDebug\\Geometries\\PlainGeometry\\Arc.cs", + "ViewState": "AQIAAEIAAAAAAAAAAIAywFAAAABKAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T10:07:25.069Z" + }, + { + "$type": "Document", + "DocumentIndex": 27, + "Title": "Vec4d.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Vec4d.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Vec4d.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Vec4d.cs", + "RelativeToolTip": "StgSharpDebug\\Math\\Linear\\Vec4d.cs", + "ViewState": "AQIAAEsAAAAAAAAAAAAIwF4AAAAiAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T10:04:50.995Z" + }, + { + "$type": "Document", + "DocumentIndex": 31, + "Title": "PlainGeometry.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "RelativeToolTip": "StgSharpDebug\\Geometries\\PlainGeometry\\PlainGeometry.cs", + "ViewState": "AQIAACUAAAAAAAAAAAArwDYAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T09:53:31.974Z" + }, + { + "$type": "Document", + "DocumentIndex": 30, + "Title": "IGeometry.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\IGeometry.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\IGeometry.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\IGeometry.cs", + "RelativeToolTip": "StgSharpDebug\\Geometries\\IGeometry.cs", + "ViewState": "AQIAACkAAAAAAAAAAAA2wCoAAAAFAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T09:47:12.196Z" + }, + { + "$type": "Document", + "DocumentIndex": 18, + "Title": "StreamLocalCoordinate.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", + "RelativeToolTip": "StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", + "ViewState": "AQIAAAIAAAAAAAAAAIAzwBIAAAA7AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T01:09:03.638Z" + }, + { + "$type": "Document", + "DocumentIndex": 25, + "Title": "ICoord.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", + "RelativeToolTip": "StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", + "ViewState": "AQIAACEAAAAAAAAAAAA1wDcAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T01:07:46.041Z" + }, + { + "$type": "Document", + "DocumentIndex": 28, + "Title": "vec3d.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\vec3d.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\vec3d.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\vec3d.cs", + "RelativeToolTip": "StgSharpDebug\\Math\\Linear\\vec3d.cs", + "ViewState": "AQIAANYAAAAAAAAAAAAWwLkAAAAVAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-25T01:01:04.105Z" + }, + { + "$type": "Document", + "DocumentIndex": 32, "Title": "Monitors.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\Monitors.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Environment\\Monitors.cs", @@ -153,12 +508,11 @@ "RelativeToolTip": "StgSharpDebug\\Environment\\Monitors.cs", "ViewState": "AQIAAAsAAAAAAAAAAAAAAB8AAAAVAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-24T14:02:24.341Z", - "EditorCaption": "" + "WhenOpened": "2024-04-24T14:02:24.341Z" }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 33, "Title": "ProcessInput.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Control\\ProcessInput.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Control\\ProcessInput.cs", @@ -166,25 +520,23 @@ "RelativeToolTip": "StgSharpDebug\\Control\\ProcessInput.cs", "ViewState": "AQIAABAAAAAAAAAAAAAswCcAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-24T13:16:11.255Z", - "EditorCaption": "" + "WhenOpened": "2024-04-24T13:16:11.255Z" }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 29, "Title": "Matrix44.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Matrix44.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Matrix44.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Matrix44.cs", "RelativeToolTip": "StgSharpDebug\\Math\\Linear\\Matrix44.cs", - "ViewState": "AQIAACwAAAAAAAAAAAA2wDsAAAAJAAAA", + "ViewState": "AQIAACYAAAAAAAAAAAArwDMAAAA2AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-24T01:37:17.613Z", - "EditorCaption": "" + "WhenOpened": "2024-04-24T01:37:17.613Z" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 34, "Title": "M128.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\M128.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Data\\M128.cs", @@ -196,7 +548,7 @@ }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 35, "Title": "IMemoryType.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\IMemoryType.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Data\\IMemoryType.cs", @@ -208,7 +560,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 37, "Title": "Cordination.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Cordination.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Cordination.cs", @@ -220,7 +572,7 @@ }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 36, "Title": "M256.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\M256.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Data\\M256.cs", @@ -232,19 +584,7 @@ }, { "$type": "Document", - "DocumentIndex": 14, - "Title": "SpaceCoordinate.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\SpaceGeometry\\SpaceCoordinate.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\SpaceGeometry\\SpaceCoordinate.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\SpaceGeometry\\SpaceCoordinate.cs", - "RelativeToolTip": "StgSharpDebug\\Geometries\\SpaceGeometry\\SpaceCoordinate.cs", - "ViewState": "AQIAABgAAAAAAAAAAAAAACYAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-24T00:56:41.545Z" - }, - { - "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 38, "Title": "globalKeyStat.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\globalKeyStat.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Environment\\globalKeyStat.cs", @@ -256,32 +596,32 @@ }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 11, "Title": "StructDefine.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\StructDefine.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Define\\StructDefine.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\StructDefine.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\Define\\StructDefine.cs", - "ViewState": "AQIAANwAAAAAAAAAAAAIwOAAAAAaAAAA", + "ViewState": "AQIAAPMAAAAAAAAAAAAIwBkBAAARAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-04-23T09:29:14.177Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 21, "Title": "glType.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\glType.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Define\\glType.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\glType.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\Define\\glType.cs", - "ViewState": "AQIAAFYAAAAAAAAAAAAcwGAAAABBAAAA", + "ViewState": "AQIAAFUAAAAAAAAAAIAzwHAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-04-23T09:28:35.67Z" }, { "$type": "Document", - "DocumentIndex": 18, + "DocumentIndex": 39, "Title": "VBO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\VBO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\VBO.cs", @@ -293,7 +633,7 @@ }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 40, "Title": "VAO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\VAO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\VAO.cs", @@ -305,7 +645,7 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 41, "Title": "texture.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\texture.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\texture.cs", @@ -317,7 +657,7 @@ }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 43, "Title": "FBO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\FBO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\FBO.cs", @@ -329,7 +669,7 @@ }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 42, "Title": "EBO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\EBO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\EBO.cs", @@ -341,51 +681,51 @@ }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 10, "Title": "GLresourceGenrator.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLresourceGenrator.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLresourceGenrator.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLresourceGenrator.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\GLresourceGenrator.cs", - "ViewState": "AQIAACEAAAAAAAAAAAAAADIAAAAdAAAA", + "ViewState": "AQIAACIAAAAAAAAAAAAzwFYAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-23T09:02:18.829Z" + "WhenOpened": "2024-04-23T09:02:18.829Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 7, + "DocumentIndex": 19, "Title": "Form.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\Form.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Form\\Form.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\Form.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\Form\\Form.cs", - "ViewState": "AQIAAIYAAAAAAAAAAAAzwHMAAABGAAAA", + "ViewState": "AQIAAK4AAAAAAAAAAAAnwIsAAAAPAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-23T09:01:45.978Z", - "EditorCaption": "" + "WhenOpened": "2024-04-23T09:01:45.978Z" }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 8, "Title": "glRenderStream.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\glRenderStream.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\glRenderStream.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\glRenderStream.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\glRenderStream.cs", - "ViewState": "AQIAAAMAAAAAAAAAAIA0wBgAAAAAAAAA", + "ViewState": "AQIAAAMAAAAAAAAAAIA0wBAAAAAzAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-04-23T08:59:46.546Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 7, "Title": "RenderStream.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\RenderStream.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\RenderStream.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\RenderStream.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\RenderStream.cs", - "ViewState": "AQIAACcAAAAAAAAAAAAAACsAAAAzAAAA", + "ViewState": "AQIAALMAAAAAAAAAAAAWwDcAAAAPAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-04-23T08:54:34.159Z", "EditorCaption": "" diff --git a/源代码/.vs/StgSharpDevelop/v17/fileList.bin b/源代码/.vs/StgSharpDevelop/v17/fileList.bin index 52c70350..54fb6949 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/fileList.bin and b/源代码/.vs/StgSharpDevelop/v17/fileList.bin differ diff --git a/源代码/OEM/MainForm.cs b/源代码/OEM/MainForm.cs index c3fb7c35..3e53be54 100644 --- a/源代码/OEM/MainForm.cs +++ b/源代码/OEM/MainForm.cs @@ -10,24 +10,5 @@ namespace StgSharp { internal class MainForm : Form { - protected override void DeInit() - { - throw new NotImplementedException(); - } - - protected override void Init() - { - throw new NotImplementedException(); - } - - protected override void Main() - { - throw new NotImplementedException(); - } - - protected override void ProcessInput() - { - throw new NotImplementedException(); - } } } diff --git a/源代码/StgSharp/Data/SSD/SSDraw.cs b/源代码/StgSharp/Data/SSD/SSDraw.cs index 45719dde..819a825a 100644 --- a/源代码/StgSharp/Data/SSD/SSDraw.cs +++ b/源代码/StgSharp/Data/SSD/SSDraw.cs @@ -62,7 +62,7 @@ namespace StgSharp.Data.FileIO internal SSDraw() { segments = new List(); - ID = home. + } public SSDraw(string name) diff --git a/源代码/StgSharp/Geometries/Coordination/ICoord.cs b/源代码/StgSharp/Geometries/Coordination/ICoord.cs index f9c6f5ec..f0c7c8d5 100644 --- a/源代码/StgSharp/Geometries/Coordination/ICoord.cs +++ b/源代码/StgSharp/Geometries/Coordination/ICoord.cs @@ -11,13 +11,19 @@ namespace StgSharp.Geometries public abstract class ICoord { protected Matrix44 coordMat; + protected List pointBuffer; + + public ICoord() + { + pointBuffer = new List(); + } public abstract Matrix44 GlobalCoordTransformation { get; } - public abstract vec3d Center + public abstract vec3d Origin { get; } @@ -36,5 +42,18 @@ namespace StgSharp.Geometries { get; } + + public T BuildGeometry(params vec4d[] defaultVertex) where T : IGeometry + { + T ret = Activator.CreateInstance(); + ret.GetVertexHandle(this, ret.VertexCount); + for (int i = 0; i < ret.VertexCount; i++) + { + ret[i] = defaultVertex[i]; + } + return ret; + } + + } } diff --git a/源代码/StgSharp/Geometries/Coordination/StreamLocalCoordinate.cs b/源代码/StgSharp/Geometries/Coordination/StreamLocalCoordinate.cs index 202c5f56..c8e0aaec 100644 --- a/源代码/StgSharp/Geometries/Coordination/StreamLocalCoordinate.cs +++ b/源代码/StgSharp/Geometries/Coordination/StreamLocalCoordinate.cs @@ -1,4 +1,6 @@ -using System; +using StgSharp.Math; + +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,9 +8,18 @@ using System.Threading.Tasks; namespace StgSharp.Geometries { - public class StreamLocalCoordinate:ICoord + public class StreamLocalCoordinate : ICoord { + + public override Matrix44 GlobalCoordTransformation => throw new NotImplementedException(); + public override vec3d Origin => Vec3d.Zero; + + public override vec3d X_axis => coordMat.colum0.XYZ; + + public override vec3d Y_axis => throw new NotImplementedException(); + + public override vec3d Z_axis => throw new NotImplementedException(); } } diff --git a/源代码/StgSharp/Geometries/IGeometry.cs b/源代码/StgSharp/Geometries/IGeometry.cs new file mode 100644 index 00000000..7d402fe2 --- /dev/null +++ b/源代码/StgSharp/Geometries/IGeometry.cs @@ -0,0 +1,66 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="IGeometry.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Geometries +{ + public interface IGeometry + { + + public vec4d this[int index] + { + get; + set; + } + + public int VertexCount + { + get; + } + + public vec4d[] VertexStream + { + get; + } + + public void GetVertexHandle(ICoord coordinate, int count); + + public void Transform(Matrix44 transFormMatrix); + + } +} diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Arc.cs b/源代码/StgSharp/Geometries/PlainGeometry/Arc.cs index 459f950c..77dc333f 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Arc.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Arc.cs @@ -77,9 +77,9 @@ namespace StgSharp.Geometries internal override void UpdateCoordinate(int tick) { tick = time; - center.Position = this.coordinate.origin + MoveCenter(tick); - beginPoint.Position = this.coordinate.origin + MovBegin(tick); - endPoint.Position = this.coordinate.origin + MovEnd(tick); + center.Position = this.coordinate.Origin + MoveCenter(tick); + beginPoint.Position = this.coordinate.Origin + MovBegin(tick); + endPoint.Position = this.coordinate.Origin + MovEnd(tick); } } diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Circle.cs b/源代码/StgSharp/Geometries/PlainGeometry/Circle.cs index 50a661ed..4d464ebf 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Circle.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Circle.cs @@ -79,9 +79,9 @@ namespace StgSharp.Geometries internal override void UpdateCoordinate(int tick) { tick = time; - center.Position = this.coordinate.origin + MoveCenter(tick); - pointOnCircle.Position = this.coordinate.origin + UpdateRadius(tick); - pointOnPlain.Position = this.coordinate.origin + UpdatePlain(tick); + center.Position = this.coordinate.Origin + MoveCenter(tick); + pointOnCircle.Position = this.coordinate.Origin + UpdateRadius(tick); + pointOnPlain.Position = this.coordinate.Origin + UpdatePlain(tick); } } diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Line.cs b/源代码/StgSharp/Geometries/PlainGeometry/Line.cs index afeacdaa..a86e6126 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Line.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Line.cs @@ -96,8 +96,8 @@ namespace StgSharp.Geometries internal override void UpdateCoordinate(int tick) { - beginPoint.Position = coordinate.origin + MoveBeginPoint(time); - endPoint.Position = coordinate.origin + MoveEndPoint(time); + beginPoint.Position = coordinate.Origin + MoveBeginPoint(time); + endPoint.Position = coordinate.Origin + MoveEndPoint(time); } } diff --git a/源代码/StgSharp/Geometries/PlainGeometry/PlainGeometry.cs b/源代码/StgSharp/Geometries/PlainGeometry/PlainGeometry.cs index a2b800b1..5b4d6635 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/PlainGeometry.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/PlainGeometry.cs @@ -31,32 +31,44 @@ using StgSharp.Graphics; using StgSharp.Math; +using System; + namespace StgSharp.Geometries { /// /// 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。 /// - public abstract class PlainGeometry + public abstract class PlainGeometry: IGeometry { protected TimeSpanProvider time; - internal PartialPlainCoordinate coordinate; + internal ICoord coordinate; internal Matrix24 textureFrame; public PlainGeometry() { } + vec4d IGeometry.this[int index] + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + /// /// Tick time this geometry eas crested /// public int BornTime => time; - public PartialPlainCoordinate ReferenceCoordinate => this.coordinate; + public ICoord ReferenceCoordinate => this.coordinate; internal abstract int[] Indices { get; } + int IGeometry.VertexCount => throw new NotImplementedException(); + + vec4d[] IGeometry.VertexStream => throw new NotImplementedException(); + /// /// Get all sides of this . /// @@ -72,6 +84,16 @@ namespace StgSharp.Geometries internal abstract void UpdateCoordinate(int tick); + void IGeometry.GetVertexHandle(ICoord coordinate, int count) + { + throw new NotImplementedException(); + } + + void IGeometry.Transform(Matrix44 transFormMatrix) + { + throw new NotImplementedException(); + } + //public abstract Rectangle GetRenderFrame(); } } \ No newline at end of file diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs b/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs index 2ff65fdf..60b72b44 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs @@ -49,7 +49,7 @@ namespace StgSharp.Geometries { } - public Polygon4(PartialPlainCoordinate coordinate, + public Polygon4(ICoord coordinate, vec2d topLeft, vec2d topRight, vec2d bottomRight, diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs b/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs index fb884a3b..f9dedefc 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs @@ -153,11 +153,11 @@ namespace StgSharp.Geometries internal override void UpdateCoordinate(int tick) { int nowTick = tick - BornTime; - vertexMat.vec0 = (coordinate.origin + movVertex01(nowTick)).vec; - vertexMat.vec1 = (coordinate.origin + movVertex02(nowTick)).vec; - vertexMat.vec2 = (coordinate.origin + movVertex03(nowTick)).vec; - vertexMat.vec3 = (coordinate.origin + movVertex04(nowTick)).vec; - vertexMat.vec4 = (coordinate.origin + movVertex05(nowTick)).vec; + vertexMat.vec0 = (coordinate.Origin + movVertex01(nowTick)).vec; + vertexMat.vec1 = (coordinate.Origin + movVertex02(nowTick)).vec; + vertexMat.vec2 = (coordinate.Origin + movVertex03(nowTick)).vec; + vertexMat.vec3 = (coordinate.Origin + movVertex04(nowTick)).vec; + vertexMat.vec4 = (coordinate.Origin + movVertex05(nowTick)).vec; } } diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs b/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs index 0b1aa868..372182b3 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs @@ -144,7 +144,7 @@ namespace StgSharp.Geometries internal override void UpdateCoordinate(int tick) { int nowTick = tick - BornTime; - Vector4 origin = coordinate.origin.vec; + Vector4 origin = coordinate.Origin.vec; vertexMat.vec0 = origin + movVertex0(nowTick).vec; vertexMat.vec1 = origin + movVertex1(nowTick).vec; vertexMat.vec2 = origin + movVertex2(nowTick).vec; diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs b/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs index 58319eaa..199a1b17 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs @@ -116,9 +116,9 @@ namespace StgSharp.Geometries internal override sealed void UpdateCoordinate(int tick) { tick = time; - vertexMat.mat.colum0 = coordinate.origin.vec + MovVertex01(time).vec; - vertexMat.mat.colum1 = coordinate.origin.vec + MovVertex02(time).vec; - vertexMat.mat.colum2 = coordinate.origin.vec + MovVertex03(time).vec; + vertexMat.mat.colum0 = coordinate.Origin.vec + MovVertex01(time).vec; + vertexMat.mat.colum1 = coordinate.Origin.vec + MovVertex02(time).vec; + vertexMat.mat.colum2 = coordinate.Origin.vec + MovVertex03(time).vec; } } diff --git a/源代码/StgSharp/Graphics/Define/StructDefine.cs b/源代码/StgSharp/Graphics/Define/StructDefine.cs index ea6d2582..51c7ae22 100644 --- a/源代码/StgSharp/Graphics/Define/StructDefine.cs +++ b/源代码/StgSharp/Graphics/Define/StructDefine.cs @@ -279,25 +279,25 @@ namespace StgSharp.Graphics // _GLFWcontext context; // 根据_GLFWcontext的定义转换 // Callbacks are represented as IntPtr since we don't need the actual function pointers in C# - struct Callbacks + internal struct Callbacks { - IntPtr pos; - IntPtr size; - IntPtr close; - IntPtr refresh; - IntPtr focus; - IntPtr iconify; - IntPtr maximize; - IntPtr fbsize; - IntPtr scale; - IntPtr mouseButton; - IntPtr cursorPos; - IntPtr cursorEnter; - IntPtr scroll; - IntPtr key; - IntPtr character; - IntPtr charmods; - IntPtr drop; + internal IntPtr pos; + internal IntPtr size; + internal IntPtr close; + internal IntPtr refresh; + internal IntPtr focus; + internal IntPtr iconify; + internal IntPtr maximize; + internal IntPtr fbsize; + internal IntPtr scale; + internal IntPtr mouseButton; + internal IntPtr cursorPos; + internal IntPtr cursorEnter; + internal IntPtr scroll; + internal IntPtr key; + internal IntPtr character; + internal IntPtr charmods; + internal IntPtr drop; } Callbacks callbacks; diff --git a/源代码/StgSharp/Graphics/Define/glType.cs b/源代码/StgSharp/Graphics/Define/glType.cs index 1f843100..1b8f5e21 100644 --- a/源代码/StgSharp/Graphics/Define/glType.cs +++ b/源代码/StgSharp/Graphics/Define/glType.cs @@ -99,7 +99,7 @@ namespace StgSharp.Graphics internal unsafe delegate void GLFWvkproc(); internal unsafe delegate void GLFWscrollfun(glfwWindow* window, double xoffset, double yoffset); internal unsafe delegate void GLFWmousebuttonfun(glfwWindow* window, int button, int action, int mods); - internal unsafe delegate void GLFWmonitorfun(GLFWmonitor* monitor, int monitorevent); + internal unsafe delegate void GLFWmonitorfun(glfwMonitor* monitor, int monitorevent); internal unsafe delegate void GLFWkeyfun(glfwWindow* window, int key, int scancode, int action, int mods); internal unsafe delegate void GLFWjoystickfun(int jid, int keyevent); public unsafe delegate void GLFWglproc(); diff --git a/源代码/StgSharp/Graphics/Form/Form.cs b/源代码/StgSharp/Graphics/Form/Form.cs index a5de2ae7..66e20189 100644 --- a/源代码/StgSharp/Graphics/Form/Form.cs +++ b/源代码/StgSharp/Graphics/Form/Form.cs @@ -188,7 +188,7 @@ namespace StgSharp.Graphics /// Set the size limit of current form /// /// - /// Minimun size of current form. In form of a of (width,height) + /// Minimum size of current form. In form of a of (width,height) /// /// /// Maximum size of current form. In form of a of (width,height) @@ -213,7 +213,10 @@ namespace StgSharp.Graphics /// Maximum height of current form [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetSizeLimit(int minWidth, int minHeight, int maxWidth, int maxHeight) - { InternalIO.glfwSetWindowSizeLimits(this.windowID, minWidth, minHeight, maxWidth, maxHeight); } + { + //TODO 重做form的尺寸极限控制 + InternalIO.glfwSetWindowSizeLimits(this.windowID, minWidth, minHeight, maxWidth, maxHeight); + } } diff --git a/源代码/StgSharp/Graphics/Form/FormThreading.cs b/源代码/StgSharp/Graphics/Form/FormThreading.cs index 8b4ef39d..cefe3d1e 100644 --- a/源代码/StgSharp/Graphics/Form/FormThreading.cs +++ b/源代码/StgSharp/Graphics/Form/FormThreading.cs @@ -42,6 +42,7 @@ namespace StgSharp.Graphics { public abstract partial class Form { + private List multiFrameAsyncThreadList = new List(); private List singleFrameAsyncThreadList = new List(); diff --git a/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs b/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs index 90beb489..68ba595e 100644 --- a/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs +++ b/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs @@ -54,7 +54,7 @@ namespace StgSharp.Graphics /// /// Create a sets of /// - /// Amount of textures to be crated. + /// Amount of textures to be created. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] protected Texture CreateTexture(int count) @@ -65,7 +65,7 @@ namespace StgSharp.Graphics /// /// Create a set of . /// - /// Amount of VAO to be crated. + /// Amount of VAO to be created. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] protected VertexArray CreateVertexArray(int count) @@ -74,7 +74,7 @@ namespace StgSharp.Graphics } /// - /// Create aset of . + /// Create a set of . /// /// Amount of Object to be created. /// @@ -84,5 +84,6 @@ namespace StgSharp.Graphics return new VertexBuffer(count, this); } + } } \ No newline at end of file diff --git a/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs b/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs index 05d8648c..75ef605f 100644 --- a/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs +++ b/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs @@ -39,10 +39,14 @@ using System.Text; namespace StgSharp.Graphics { - public partial class Form + public partial class glRenderStream { + protected glRenderStream(RenderStreamConstructArgs args) : base(args) + { + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected Shader CreateShader(ShaderType type, int count) + protected sealed override Shader CreateShaderSegment(ShaderType type, int count) { return new Shader( GL.CreateShaderSet(count, type), type); } @@ -51,7 +55,7 @@ namespace StgSharp.Graphics /// /// New instance of instance. [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected ShaderProgram CreateShaderProgram() + protected sealed override ShaderProgram CreateShaderProgram() { return new ShaderProgram(this); } @@ -126,9 +130,9 @@ namespace StgSharp.Graphics /// /// Init a program with no shader attached. /// - internal unsafe ShaderProgram(Form binding) + internal unsafe ShaderProgram(glRenderStream binding) { - this.binding = binding.graphicContextID; + this.binding = binding.ContextHandle; handle = GL.CreateProgram(); } diff --git a/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs b/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs index 5f40d864..c9fafdfd 100644 --- a/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs +++ b/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs @@ -62,9 +62,9 @@ namespace StgSharp.Graphics } internal unsafe Uniform( - ShaderProgram program, string name, Form binding) + ShaderProgram program, string name, glRenderStream binding) { - this.binding = binding.graphicContextID; + this.binding = binding.ContextHandle; id = GL.GetUniformLocation(program.handle, name); } @@ -98,9 +98,9 @@ namespace StgSharp.Graphics } internal unsafe Uniform( - ShaderProgram program, string name, Form binding) + ShaderProgram program, string name, glRenderStream binding) { - this.binding = binding.graphicContextID; + this.binding = binding.ContextHandle; id = GL.GetUniformLocation(program.handle, name); } @@ -141,9 +141,9 @@ namespace StgSharp.Graphics id = GL.GetUniformLocation(program.handle, name); } - public unsafe Uniform(ShaderProgram program, string name, Form binding) + public unsafe Uniform(ShaderProgram program, string name, glRenderStream binding) { - this.binding = binding.graphicContextID; + this.binding = binding.ContextHandle; id = GL.GetUniformLocation(program.handle, name); } @@ -172,9 +172,9 @@ namespace StgSharp.Graphics this.id = id; } - internal unsafe Uniform(ShaderProgram program, string name, Form binding) + internal unsafe Uniform(ShaderProgram program, string name, glRenderStream binding) { - this.binding = binding.graphicContextID; + this.binding = binding.ContextHandle; id = GL.GetUniformLocation(program.handle, name); } diff --git a/源代码/StgSharp/Graphics/GL/glApiManager.cs b/源代码/StgSharp/Graphics/GL/glApiManager.cs index cd656ffb..7b5259bc 100644 --- a/源代码/StgSharp/Graphics/GL/glApiManager.cs +++ b/源代码/StgSharp/Graphics/GL/glApiManager.cs @@ -56,16 +56,16 @@ namespace StgSharp.Graphics private static string glExtensionList; /// - /// Load all aupportable OpenGL APIs and bind them to given context. + /// Load all supportted OpenGL APIs and bind them to given context. /// - /// The used as current OpenGL context - /// A delegate to get address of OprnGL api - public static unsafe void LoadGLapi(this Form form) + /// The used as current OpenGL context + /// A delegate to get address of OpenGL api + public static unsafe void LoadGLapi(this glRenderStream stream) { - GLcontext* context = (GLcontext*)form.graphicContextID; + GLcontext* context = (GLcontext*)stream.ContextHandle; GLfuncLoader loader = InternalIO.glfwGetProcAddress; #pragma warning disable CS8909 - if (((GLcontext*)form.graphicContextID)->glGetString != (delegate*)IntPtr.Zero) + if (((GLcontext*)stream.ContextHandle)->glGetString != (delegate*)IntPtr.Zero) #pragma warning restore CS8909 { return; @@ -103,25 +103,25 @@ namespace StgSharp.Graphics { #region load_core_gl - LoadGLcore10((GLcontext*)form.graphicContextID, loader); - LoadGLcore11((GLcontext*)form.graphicContextID, loader); - LoadGLcore12((GLcontext*)form.graphicContextID, loader); - LoadGLcore13((GLcontext*)form.graphicContextID, loader); - LoadGLcore14((GLcontext*)form.graphicContextID, loader); - LoadGLcore15((GLcontext*)form.graphicContextID, loader); - LoadGLcore20((GLcontext*)form.graphicContextID, loader); - LoadGLcore21((GLcontext*)form.graphicContextID, loader); - LoadGLcore30((GLcontext*)form.graphicContextID, loader); - LoadGLcore31((GLcontext*)form.graphicContextID, loader); - LoadGLcore32((GLcontext*)form.graphicContextID, loader); - LoadGLcore33((GLcontext*)form.graphicContextID, loader); - LoadGLcore40((GLcontext*)form.graphicContextID, loader); - LoadGLcore41((GLcontext*)form.graphicContextID, loader); - LoadGLcore42((GLcontext*)form.graphicContextID, loader); - LoadGLcore43((GLcontext*)form.graphicContextID, loader); - LoadGLcore44((GLcontext*)form.graphicContextID, loader); - LoadGLcore45((GLcontext*)form.graphicContextID, loader); - LoadGLcore46((GLcontext*)form.graphicContextID, loader); + LoadGLcore10((GLcontext*)stream.ContextHandle, loader); + LoadGLcore11((GLcontext*)stream.ContextHandle, loader); + LoadGLcore12((GLcontext*)stream.ContextHandle, loader); + LoadGLcore13((GLcontext*)stream.ContextHandle, loader); + LoadGLcore14((GLcontext*)stream.ContextHandle, loader); + LoadGLcore15((GLcontext*)stream.ContextHandle, loader); + LoadGLcore20((GLcontext*)stream.ContextHandle, loader); + LoadGLcore21((GLcontext*)stream.ContextHandle, loader); + LoadGLcore30((GLcontext*)stream.ContextHandle, loader); + LoadGLcore31((GLcontext*)stream.ContextHandle, loader); + LoadGLcore32((GLcontext*)stream.ContextHandle, loader); + LoadGLcore33((GLcontext*)stream.ContextHandle, loader); + LoadGLcore40((GLcontext*)stream.ContextHandle, loader); + LoadGLcore41((GLcontext*)stream.ContextHandle, loader); + LoadGLcore42((GLcontext*)stream.ContextHandle, loader); + LoadGLcore43((GLcontext*)stream.ContextHandle, loader); + LoadGLcore44((GLcontext*)stream.ContextHandle, loader); + LoadGLcore45((GLcontext*)stream.ContextHandle, loader); + LoadGLcore46((GLcontext*)stream.ContextHandle, loader); #endregion load_core_gl } @@ -779,7 +779,7 @@ namespace StgSharp.Graphics /// Get the function pointer of given OpenGL api name /// /// Name of the OpenGL api - /// The funtion pointer of the api in form of + /// The funtion pointer of the api in stream of public static IntPtr LoadGLfunc(string name) { IntPtr ret = InternalIO.glfwGetProcAddress(name); diff --git a/源代码/StgSharp/Graphics/GL/glRenderStream.cs b/源代码/StgSharp/Graphics/GL/glRenderStream.cs index e5e92d54..456c394c 100644 --- a/源代码/StgSharp/Graphics/GL/glRenderStream.cs +++ b/源代码/StgSharp/Graphics/GL/glRenderStream.cs @@ -1,28 +1,47 @@ -using System; +using StgSharp.Math; + +using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace StgSharp.Graphics { - public abstract partial class glRenderStream:RenderStream + public abstract partial class glRenderStream: RenderStream { + protected sealed override void NativeCameraViewTarget(vec3d position, vec3d direction, vec3d up) + { + NativeCamera.SetViewDirection(position, direction, up); + } + + protected sealed override Uniform NativeCameraUniform(ShaderProgram source, string name) + { + NativeCamera.GainAllUniforms(source, name); + return NativeCamera.convertedUniform; + } + protected IntPtr glContextHandle { get { return ContextHandle; } set { ContextHandle = value; } } - internal sealed override void CreateCanvas((int width, int height, int depth) size, (int x_stretch, int y_stretch, int z_stretch) coordStrech, string name) + internal unsafe sealed override void CreateCanvas() { - Width = size.width; Height = size.height; - Depth = size.depth; - _coordStretch = coordStrech; - Name = name; - + byte[] nameCode = Encoding.UTF8.GetBytes(name); + CanvasHandle = InternalIO.glfwCreateWindow( + Width,Height,nameCode,Monitor,IntPtr.Zero + ); + NativeCamera = new Camera(); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected sealed override void NativeCameraViewRange(Radius fieldOfRange,vec2d offset, (float frontDepth, float backDepth) viewDepth) + { + NativeCamera.SetViewRange(fieldOfRange,this.Size, offset, viewDepth); } /// @@ -40,11 +59,11 @@ namespace StgSharp.Graphics byte[] tittleBytes = Encoding.UTF8.GetBytes(name); if (SharedCanvas == IntPtr.Zero) { - windowPtr = InternalIO.glfwCreateWindow(Width, Height, tittleBytes, monitor, IntPtr.Zero); + windowPtr = InternalIO.glfwCreateWindow(Width, Height, tittleBytes, Monitor, IntPtr.Zero); } else { - windowPtr = InternalIO.glfwCreateWindow(Width, Height, tittleBytes, monitor, SharedCanvas.CanvasHandle); + windowPtr = InternalIO.glfwCreateWindow(Width, Height, tittleBytes, Monitor, SharedCanvas); } if (((long)windowPtr == -1) || ((long)windowPtr == -2)) { @@ -64,8 +83,16 @@ namespace StgSharp.Graphics InternalIO.glfwMakeContextCurrent(CanvasHandle); } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public override void SetSizeLimit(int minWidth, int minHeight, int maxWidth, int maxHeight) + { + InternalIO.glfwSetWindowSizeLimits(this.CanvasHandle, minWidth, minHeight, maxWidth, maxHeight); + } internal sealed override void InternalInit() { + CreateCanvas(); + MakeAsCurrentContext(); + this.LoadGLapi(); Init(); } @@ -80,5 +107,6 @@ namespace StgSharp.Graphics { Deinit(); } + } } diff --git a/源代码/StgSharp/Graphics/RenderStream.cs b/源代码/StgSharp/Graphics/RenderStream.cs index 5498b650..883e3cdb 100644 --- a/源代码/StgSharp/Graphics/RenderStream.cs +++ b/源代码/StgSharp/Graphics/RenderStream.cs @@ -34,6 +34,8 @@ using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; @@ -41,18 +43,27 @@ namespace StgSharp.Graphics { public abstract class RenderStream { - protected (int x, int y, int z) _coordStretch; - private int refDepth; - protected Camera NativeCamera; private IntPtr canvasHandle; private IntPtr contextHandle; - private IntPtr monitor; - private IntPtr sharedCanvas; private int height; + private IntPtr monitor; + private IntPtr sharedCanvas; private int width; + protected (int x, int y, int z) _coordStretch; protected string name; + private Camera nativeCamera; + + protected RenderStream(RenderStreamConstructArgs args) + { + height = args.Height; + monitor = args.Monitor; + width = args.Width; + name = args.Name; + monitor = args.Monitor; + _coordStretch = args.UnitCubeSize; + } public IntPtr CanvasHandle { @@ -66,26 +77,30 @@ namespace StgSharp.Graphics internal set => contextHandle = value; } - public int Depth + internal protected Camera NativeCamera { - get => refDepth; - internal set => refDepth = value; + get => nativeCamera; + internal set => nativeCamera = value; } + public FrameBufferSizeHandler FrameSizeCallback + { + set + { + IntPtr handlerPtr = Marshal.GetFunctionPointerForDelegate(value); + InternalIO.glfwSetFramebufferSizeCallback(CanvasHandle, handlerPtr); + } + } + + public vec2d GlobalCoordSize => ((Width * 1.0f) / _coordStretch.x, (Height * 1.0f) / _coordStretch.y); + public int Height { get => height; - internal set => height = value; - } - - public vec3d GlobalCoordSize - { - get + internal set { - return ( - Width * 1.0f / _coordStrech.x, - Height * 1.0f / _coordStrech.y, - refDepth * 1.0f / _coordStrech.z); + height = value; + InternalIO.glfwSetWindowSize(this.canvasHandle, Width, Height); } } @@ -107,24 +122,86 @@ namespace StgSharp.Graphics internal set => sharedCanvas = value; } + public vec2d Size + { + get => new vec2d(width, height); + internal set + { + height = (int)value.Y; + width = (int)value.X; + InternalIO.glfwSetWindowSize(this.canvasHandle, Width, Height); + } + } + public int Width { get => width; - internal set => width = value; + internal set + { + width = value; + InternalIO.glfwSetWindowSize(this.canvasHandle, Width, Height); + } } - internal abstract void CreateCanvas( - (int width,int height,int depth) size, (int x_stretch,int y_stretch, int z_stretch) coordStrech, string name - ); + /// + /// Set the size limit of current form + /// + /// Minimum width of current form + /// Minimum height of current form + /// Maximum width of current form + /// Maximum height of current form + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public abstract void SetSizeLimit(int minWidth, int minHeight, int maxWidth, int maxHeight); + internal abstract void CreateCanvas(); + + #region native camera operation + protected abstract void NativeCameraViewRange(Radius FieldOfRange,vec2d offset, (float frontDepth, float backDepth ) viewDepth ); + protected abstract void NativeCameraViewTarget(vec3d position, vec3d direction, vec3d up); + /// + /// Get uniform from a shader. + /// This uniform will be used as projection matrix of this camera. + /// Additionally, for multi-shader rendering, each shader requires a uniform, + /// so do not ignore return value of this method. + /// + /// Shader using this camera + /// Name of projection camera named in shader + /// + /// (T is ) representing + /// projection matrix in shader program. + /// + protected abstract Uniform NativeCameraUniform(ShaderProgram source, string name); + #endregion + + #region internal operation + internal abstract void InternalDraw(); + internal abstract void InternalInit(); + internal abstract void InternalTerminate(); + #endregion + + #region public operation + protected abstract void Deinit(); protected abstract void Init(); protected abstract void Main(); - protected abstract void Deinit(); protected abstract void ProcessInput(); + #endregion - internal abstract void InternalInit(); - internal abstract void InternalDraw(); - internal abstract void InternalTerminate(); + #region public resource generator + + protected abstract Shader CreateShaderSegment(ShaderType type, int count); + protected abstract ShaderProgram CreateShaderProgram(); + + #endregion } + + public class RenderStreamConstructArgs + { + + public int Height { get; set; } + public IntPtr Monitor { get; set; } + public string Name { get; set; } + public int Width { get; set; } + public (int x, int y, int z) UnitCubeSize { get; set; } + } } diff --git a/源代码/StgSharp/Graphics/ShaderEdit/ShaderGenerator.cs b/源代码/StgSharp/Graphics/ShaderEdit/ShaderGenerator.cs new file mode 100644 index 00000000..28927be2 --- /dev/null +++ b/源代码/StgSharp/Graphics/ShaderEdit/ShaderGenerator.cs @@ -0,0 +1,187 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="ShaderGenerator.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Graphics.ShaderEdit +{ + public class ShaderGenerator + { + private Dictionary uniformDefine; + private List codeList; + private List usedShaderFunctions; + + public Uniform DefineUniform(string name, int index) where T : struct + { + ShaderParameter p = new ShaderParameter(name,ShaderParameter.TypeMarshal()); + uniformDefine.Add(index,p); + //return new Uniform(); + throw new NotImplementedException(); + } + + } + + public class ShaderFunction + { + private List codeList; + private List inputList; + private string name; + private ShaderParameter outPut; + + public int ParameterCount => inputList.Count; + + public void EmitCall(ShaderFunction function, ShaderParameter outPut, params ShaderParameter[] inputParams) + { + if (inputParams.Length != function.ParameterCount) + { + // Param list length not equal + throw new ArgumentException("Provided parameters does not match function's parameter list."); + } + if (!ShaderParameter.IsSameType(outPut, function.outPut)) + { + // Type of returning value not qual + throw new Exception("Provided parameters does not match function's parameter list."); + } + for (int i = 0; i < inputParams.Length; i++) + { + if (!ShaderParameter.IsSameType(function.inputList[i], inputParams[i])) + { + // Input type not match + throw new Exception("Provided parameters does not match function's parameter list."); + } + } + string codeLine = string.Empty; // adding a line like " outvalue = Func(input1, input2,...); " + if (outPut != ShaderParameter.Void) + { + codeLine += $"{outPut.name} = "; + } + codeLine += $"{function.name}("; + foreach (ShaderParameter inputParam in inputParams) + { + codeLine += inputParam.name; + } + codeLine += ");\n"; + codeList.Add(codeLine); + } + + } + + public class ShaderParameter + { + public static readonly ShaderParameter Void = new ShaderParameter(string.Empty, InternalShaderType.Void); + internal readonly bool isReadOnly; + internal readonly string name; + internal readonly InternalShaderType type; + + public ShaderParameter(string name, InternalShaderType type) + { + this.name = name; + this.type = type; + isReadOnly = false; + } + + public static bool IsSameType(ShaderParameter param1, ShaderParameter param2) + { + if (param1.type != InternalShaderType.Struct) + { + return param1.type == param2.type; + } + else + { + throw new Exception("Struct is currently not supported."); + } + } + + public static InternalShaderType TypeMarshal() where T : struct + { + switch (Type.GetTypeCode(typeof(T))) + { + case TypeCode.Single: + return InternalShaderType.Float; + case TypeCode.Double: + return InternalShaderType.Double; + case TypeCode.Int32: + return InternalShaderType.Int; + case TypeCode.UInt32: + return InternalShaderType.UInt; + default: + break; + } + switch (typeof(T).Name) + { + case "vec4d": + return InternalShaderType.Vector4; + case "Matrix2x2": + return InternalShaderType.Matrix2x2; + case "Matrix2x3": + return InternalShaderType.Matrix2x3; + case "Matrix2x4": + return InternalShaderType.Matrix2x4; + case "Matrix3x2": + return InternalShaderType.Matrix3x2; + case "Matrix3x3": + return InternalShaderType.Matrix3x3; + case "Matrix3x4": + return InternalShaderType.Matrix3x4; + case "Matrix4x2": + return InternalShaderType.Matrix4x2; + case "Matrix4x3": + return InternalShaderType.Matrix4x3; + case "Matrix4x4": + return InternalShaderType.Matrix4x4; + default: + throw new ArgumentException("Not supported shader data type."); + } + } + + } + + public enum InternalShaderType + { +#pragma warning disable CS1591 + Struct, Void, + Int, UInt, + Float, Double, + Vector2, Vector3, Vector4, + VectorD2, VectorD3, VectorD4, + Matrix2x2, Matrix2x3, Matrix2x4, + Matrix3x2, Matrix3x3, Matrix3x4, + Matrix4x2, Matrix4x3, Matrix4x4, +#pragma warning restore CS1591 + } +} \ No newline at end of file diff --git a/源代码/StgSharp/Graphics/ShaderEdit/ShaderStruct.cs b/源代码/StgSharp/Graphics/ShaderEdit/ShaderStruct.cs new file mode 100644 index 00000000..bf718694 --- /dev/null +++ b/源代码/StgSharp/Graphics/ShaderEdit/ShaderStruct.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Graphics.ShaderEdit +{ + public class ShaderStructMember + { + internal InternalShaderType type; + internal object value; + } + + public class ShaderStruct + { + internal Dictionary uniformPair; + + public ShaderStruct(params (glSHandle, ShaderStructMember)[] UniformPais) + { + uniformPair = new Dictionary(); + if (UniformPais.Length == 0) + { + return; + } + + foreach (var item in UniformPais) + { + uniformPair.Add(item.Item1,item.Item2); + } + + } + + internal ShaderStruct() { } + + + public unsafe void SetAllUniforms() + { + GLcontext* gl = GL.api; + foreach (var uniform in uniformPair) + { + int id = uniform.Key.Value; + ShaderStructMember s = uniform.Value; + switch (s.type) + { + case InternalShaderType.Struct: throw new ArgumentException( + "Incorrect type \"Struct\" defined in this self define type"); + case InternalShaderType.Void:throw new ArgumentException( + "Incorrect type \"Void\" defined in this self define type"); + case InternalShaderType.Float: + gl->glUniform1f(id, (float)s.value); + break; + case InternalShaderType.Int: + gl->glUniform1f(id, (int)s.value); + break; + default: + throw new NotImplementedException(); + throw new ArgumentException( + "Incorrect type \"Unknown\" defined in this self define type"); + } + } + } + } +} diff --git a/源代码/StgSharp/Logic/BluePaint.cs b/源代码/StgSharp/Logic/BluePaint.cs new file mode 100644 index 00000000..790f6ecc --- /dev/null +++ b/源代码/StgSharp/Logic/BluePaint.cs @@ -0,0 +1,60 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="BluePaint.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Logic; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharpDebug.Logic +{ + public class BluePaint + { + + private bool running; + private List allNode; + + private BluePaintNode beginNode; + + public bool IsRunning + { + get => running; set => running = value; + } + + public void Start() + { + + } + + } +} diff --git a/源代码/StgSharp/Logic/BluePaintNode.cs b/源代码/StgSharp/Logic/BluePaintNode.cs new file mode 100644 index 00000000..6a5ee718 --- /dev/null +++ b/源代码/StgSharp/Logic/BluePaintNode.cs @@ -0,0 +1,114 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="BluePaintNode.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharpDebug.Logic; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Logic +{ + public delegate void BluePaintNodeAction( + in Dictionary inpput, + in Dictionary output); + + public abstract class BluePaintNode + { + + private BluePaintNodeAction mainOperation; + + private BluePaint local; + private bool survivalTask; + + private Dictionary inputInterfaces; + private Dictionary outputInterface; + + private string name; + private Task mainTask; + + internal BluePaintNode(string name, bool isTaskSurvival) + { + this.name = name; + SurvivalTask = isTaskSurvival; + } + + protected BluePaintNode(string name, BluePaintNodeAction operation) + { + this.name = name; + mainOperation = operation; + } + + internal bool SurvivalTask + { + get; set; + } + + public void Run() + { + if (survivalTask) + { + if (mainTask == null) + { + mainTask = new Task( + () => + { + while (local.IsRunning) + { + mainOperation(in inputInterfaces, in outputInterface); + } + } + ); + } + return; + } + }//--------------------------------- end of class ----------------------------- + } + + public class BluePaintPipeline + { + + private Barrier formerCompleteBarrier; + + private BluePaintPipelineArgs args; + + public void CompleteAndWriteData(BluePaintPipelineArgs args) + { + formerCompleteBarrier.SignalAndWait(); + } + + } + + public abstract class BluePaintPipelineArgs + { + } +} diff --git a/源代码/StgSharp/Math/Graphic/Camera.cs b/源代码/StgSharp/Math/Graphic/Camera.cs index c67d56f4..e47fe823 100644 --- a/源代码/StgSharp/Math/Graphic/Camera.cs +++ b/源代码/StgSharp/Math/Graphic/Camera.cs @@ -43,8 +43,7 @@ namespace StgSharp.Graphics public sealed class Camera : IglConvertable { - private Uniform convertedUniform ; - + internal Uniform convertedUniform; internal bool _isLookAtAvailable; internal Matrix44 cameraAtt; internal vec3d _target, up, cameraCoord; diff --git a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs index 13e4dad0..31c5314f 100644 --- a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs +++ b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+32c0a0f99bffeed87de8eedfd6d8a27bbcc94012")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+dd6e8247bf5c1a1ddc9401e652ebeee72ff913e1")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.sourcelink.json b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.sourcelink.json index d5cce3eb..47739479 100644 --- a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.sourcelink.json +++ b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.sourcelink.json @@ -1 +1 @@ -{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/915a560b4309adf0aa201a011f972121196e6b02/*"}} \ No newline at end of file +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/dd6e8247bf5c1a1ddc9401e652ebeee72ff913e1/*"}} \ No newline at end of file diff --git a/源代码/StgSharpDebug/StgSharpDebug.csproj b/源代码/StgSharpDebug/StgSharpDebug.csproj index 4e8bfefc..cda8304f 100644 --- a/源代码/StgSharpDebug/StgSharpDebug.csproj +++ b/源代码/StgSharpDebug/StgSharpDebug.csproj @@ -77,10 +77,6 @@ Linux - - - - @@ -88,6 +84,7 @@ + diff --git a/源代码/StgSharpDebug/Test/MainRenderStream.cs b/源代码/StgSharpDebug/Test/MainRenderStream.cs new file mode 100644 index 00000000..2d50bea6 --- /dev/null +++ b/源代码/StgSharpDebug/Test/MainRenderStream.cs @@ -0,0 +1,183 @@ +using StgSharp; +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharpDebug +{ + public sealed class MainRenderStream : glRenderStream + { + private Uniform color; + private ElementBuffer ebo; + private Uniform ourTexture; + private Uniform ourTexture2; + private ShaderProgram shader; + private Texture texture; + private VertexArray vao; + private VertexBuffer vbo; + + protected override void Deinit() + { + /**/ + vao.Dispose(); + vbo.Dispose(); + ebo.Dispose(); + /**/ + } + + protected override void Init() + { + SetSizeLimit(800, 800, 800, 800); + + + FrameSizeCallback = + (IntPtr id, uint width, uint height) => + { + GL.Viewport(0, 0, width, height); + }; + + shader = CreateShaderProgram(); + var vertex = CreateShaderSegment(ShaderType.Vertex, 1); + var fragment = CreateShaderSegment(ShaderType.Fragment, 1); + vertex.Compile(0, File.ReadAllText("Shader\\vertex.vert")); + vertex.AttachTo(0, shader); + fragment.Compile(0, File.ReadAllText("Shader\\fragment.frag")); + fragment.AttachTo(0, shader); + shader.Link(); + Triangle tri = new Triangle( + -0.5f, -0.3f, 0.0f, + 0.5f, -0.5f, 0.0f, + 0.0f, 0.5f, 0.0f + ); + Rectangle rec = new Rectangle( + -0.3f, 0.3f, 130.0f, + 0.3f, 0.3f, 130.0f, + 0.3f, -0.3f, 130.0f, + -0.3f, -0.3f, 130.0f + ); + Polygon5 polygon = new Polygon5( + -0.4f, 0.5f, 0.0f, + 0.5f, 0.5f, 0.0f, + 0.6f, -0.5f, 0.0f, + 0, -1, 0, + -0.7f, -0.5f, 0.0f + ); + vao = CreateVertexArray(1); + vbo = CreateVertexBuffer(2); + ebo = CreateElementBuffer(1); + texture = CreateTexture(2); + float[] texCoord = { + 0.0f, 0.0f, + 1.0f, 0.0f, + 1.0f, 1.0f, + 0.0f, 1.0f }; + GL.BindVertexArray(vao[0]); + ebo.SetValue(0, rec.Indices, BufferUsage.STATIC_DRAW); + vbo.SetValue(0, rec.VertexBuffer, BufferUsage.STATIC_DRAW); + GL.SetVertexAttribute(0, 3, TypeCode.Single, false, 4 * sizeof(float), 0); + vbo.SetValueArray(1, texCoord, BufferUsage.STATIC_DRAW); + GL.SetVertexAttribute(2, 2, TypeCode.Single, false, 2 * sizeof(float), 0); + /**/ + GL.BindBuffer(BufferType.ARRAY_BUFFER, glHandle.Zero); + vao.BindNull(); + /**/ + texture.Bind2D(0); + texture.Set2dWrapProperty(Wrap.Repeat, Wrap.Repeat); + texture.Set2dFilterProperty(Filter.Nearest, Filter.Nearest); + texture.LoadTexture(0, "Shader\\Image1.png", null); + + texture.Bind2D(1); + texture.Set2dWrapProperty(Wrap.Repeat, Wrap.Repeat); + texture.Set2dFilterProperty(Filter.Nearest, Filter.Nearest); + texture.LoadTexture(1, "Shader\\awesomeface.png", null); + + shader.Use(); + /**/ + color = shader.GetUniform("color"); + ourTexture = shader.GetUniform("ourTexture"); + GL.SetValue(ourTexture, 0); + ourTexture2 = shader.GetUniform("ourTexture2"); + GL.SetValue(ourTexture2, 1); + /**/ + + NativeCameraViewTarget( + new vec3d(0, 0, 200), + new vec3d(0, 0, 100), + new vec3d(0, 1, 0) + ); + NativeCameraViewRange(new Degree(5),(0, 0), (50f, 50f)); + NativeCameraUniform(shader, "NativeCamera"); + + } + + protected override void Main() + { + GL.ClearColor(0.333f, 0.555f, 0.555f, 1.0f); + + GL.Clear(MaskBufferBit.COLOR | MaskBufferBit.DEPTH); + + /**/ + vao.Bind(0); + shader.Use(); + /**/ + /**/ + texture.Activate(TextureUnit.Unit0); + texture.Bind2D(0); + texture.Activate(TextureUnit.Unit1); + texture.Bind2D(1); + /**/ + + /**/ + float time = CurrentFrameCount / 60.0f; + + + + GL.SetValue(color, + 0.5f + MathF.Cos(time), + 0.5f + MathF.Sin(time * 0.66667f + (2 * Scaler.Pi / 3)), + 0.5f + MathF.Sin(time * 0.33333f + (Scaler.Pi / 3)), + time + ); + + NativeCamera.SetAllUniforms(); + /**/ + + GL.DrawElements(GepmetryType.TRIANGLES, 6, TypeCode.UInt32, IntPtr.Zero); + + //vao.BindNull(); + /**/ + } + + protected override void ProcessInput() + { + float movement = 0.005f; + if (InternalIO.glfwGetKey(CanvasHandle, (int)KeyboardKey.ESCAPE) + == KeyStatus.PRESS) + { + InternalIO.glfwSetWindowShouldClose(CanvasHandle, 1); + } + if (InternalIO.glfwGetKey(this.CanvasHandle, GLconst.GLFW_KEY_UP) == KeyStatus.PRESS) + { + NativeCamera.Pitch(new Radius(movement)); + } + else if (InternalIO.glfwGetKey(this.CanvasHandle, GLconst.GLFW_KEY_DOWN) == KeyStatus.PRESS) + { + NativeCamera.Pitch(new Radius(-movement)); + } + if (InternalIO.glfwGetKey(CanvasHandle, GLconst.GLFW_KEY_LEFT) == KeyStatus.PRESS) + { + NativeCamera.Yaw(new Radius(-movement)); + } + else if (InternalIO.glfwGetKey(CanvasHandle, GLconst.GLFW_KEY_RIGHT) == KeyStatus.PRESS) + { + NativeCamera.Yaw(new Radius(movement)); + } + } + } +} diff --git a/源代码/StgSharpDebug/Test/Program.cs b/源代码/StgSharpDebug/Test/Program.cs new file mode 100644 index 00000000..dd4dde50 --- /dev/null +++ b/源代码/StgSharpDebug/Test/Program.cs @@ -0,0 +1,61 @@ +//using StgSharp.Environment.Win32; +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp +{ + public class StgSharpDemoForm : Form + { + + + + + [MultiFrameActivity()] + public void Beep() + { + if (CurrentFrameCount%60==0) + { + Console.Beep(); + } + } + + + + //[RenderActivity(RenderPriority.Pre_1)] + public void NoOp() + { + int a = 1; + } + } + + internal static class Program + { + internal static unsafe void Main(string[] args) + { + try + { + //StgSharp.TryCreatWindow(); + + /**/ + StgSharp.Init(); + StgSharp.InitGL(4, 6); + StgSharp.GlobalSetting.VSyncActivated = false; + StgSharpDemoForm demoForm = new StgSharpDemoForm(); + demoForm.Show(); + StgSharp.Terminate(); + /**/ + + } + catch (Exception ex) + { + InternalIO.InternalWriteLog( + ex.Message + "\n" + ex.StackTrace, + LogType.Error); + } + } + } +} \ No newline at end of file diff --git a/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs b/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs index 851cf7cf..fb8d3e0c 100644 --- a/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs +++ b/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+32c0a0f99bffeed87de8eedfd6d8a27bbcc94012")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+dd6e8247bf5c1a1ddc9401e652ebeee72ff913e1")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgsharpEnvDebug/Program.cs b/源代码/StgsharpEnvDebug/Program.cs index 3d99ca25..749b8065 100644 --- a/源代码/StgsharpEnvDebug/Program.cs +++ b/源代码/StgsharpEnvDebug/Program.cs @@ -28,24 +28,5 @@ namespace StgsharpEnvDebug public sealed class DemoForm : Form { - protected override void DeInit() - { - throw new NotImplementedException(); - } - - protected override void Init() - { - throw new NotImplementedException(); - } - - protected override void Main() - { - throw new NotImplementedException(); - } - - protected override void ProcessInput() - { - throw new NotImplementedException(); - } } }