diff --git a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin index 2bcb39cc..cf513f4e 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 80593a42..9f05ba86 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 60cd010a..907f1a1c 100644 Binary files a/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 and b/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/188bbc73-cb2a-4541-8666-2cd20a049f66.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/188bbc73-cb2a-4541-8666-2cd20a049f66.vsidx deleted file mode 100644 index 480a11b5..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/188bbc73-cb2a-4541-8666-2cd20a049f66.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/33e18094-ec0d-424b-8ff7-39c108d48644.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/33e18094-ec0d-424b-8ff7-39c108d48644.vsidx deleted file mode 100644 index 941f666e..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/33e18094-ec0d-424b-8ff7-39c108d48644.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/35c89d52-8eb9-4107-a3cd-e25f5c5115bf.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/35c89d52-8eb9-4107-a3cd-e25f5c5115bf.vsidx deleted file mode 100644 index f0fa7845..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/35c89d52-8eb9-4107-a3cd-e25f5c5115bf.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/9f249680-d3e9-4518-bb08-82ba673b184f.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/9f249680-d3e9-4518-bb08-82ba673b184f.vsidx new file mode 100644 index 00000000..6206e5b6 Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/9f249680-d3e9-4518-bb08-82ba673b184f.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/d0834751-8c69-4788-ad9f-9e20354db58f.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/d0834751-8c69-4788-ad9f-9e20354db58f.vsidx new file mode 100644 index 00000000..f40824aa Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/d0834751-8c69-4788-ad9f-9e20354db58f.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/d3f9e2d2-852b-48f0-875d-cb16ad43c227.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/d3f9e2d2-852b-48f0-875d-cb16ad43c227.vsidx new file mode 100644 index 00000000..d3df50d5 Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/d3f9e2d2-852b-48f0-875d-cb16ad43c227.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/f4bcb7d6-acf1-4788-95f2-0783db3267fd.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/f4bcb7d6-acf1-4788-95f2-0783db3267fd.vsidx deleted file mode 100644 index 66704aab..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/f4bcb7d6-acf1-4788-95f2-0783db3267fd.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/f70552f0-cd88-4e86-9212-8db60658f836.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/f70552f0-cd88-4e86-9212-8db60658f836.vsidx new file mode 100644 index 00000000..3ff366a2 Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/f70552f0-cd88-4e86-9212-8db60658f836.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 b/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 index 82b261d5..3ba6defd 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 6ecd3bfe..eeaf7408 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/.suo and b/源代码/.vs/StgSharpDevelop/v17/.suo differ diff --git a/源代码/.vs/StgSharpDevelop/v17/Browse.VC.db b/源代码/.vs/StgSharpDevelop/v17/Browse.VC.db index 0c6367cb..57d90451 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/Browse.VC.db and b/源代码/.vs/StgSharpDevelop/v17/Browse.VC.db differ diff --git a/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json b/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json index 1bc5a1b3..8509e640 100644 --- a/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json +++ b/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json @@ -2,33 +2,33 @@ "Version": 1, "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\\graphics\\frameasyncthread.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\frameasyncthread.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.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\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\\graphics\\gl\\glonupdate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glonupdate.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\\timespanprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\timespanprovider.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\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\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\\glonrender.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glonrender.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\\iglfunc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\iglfunc.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\\glonrender.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\gl\\glonrender.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\\glonupdateinternal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glonupdateinternal.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\\frameasynctask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\frameasynctask.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\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\program.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\\shaderedit\\uniform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\gl\\shaderedit\\uniform.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\\timeprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", @@ -38,6 +38,70 @@ "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\\timesourceprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\timesourceprovider.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\\nativemethods.txt||{8B382828-6202-11D1-8870-0000F87579D2}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\nativemethods.txt||{8B382828-6202-11D1-8870-0000F87579D2}" + }, + { + "AbsoluteMoniker": "D:0:0:{20CBFF26-6746-402E-992C-7B643E9423EB}|StgSharpC\\StgSharpC.vcxproj|D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpC\\mat4.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{20CBFF26-6746-402E-992C-7B643E9423EB}|StgSharpC\\StgSharpC.vcxproj|solutionrelative:StgSharpC\\mat4.c||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "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\\texture.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\texture.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\\glonupdate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glonupdate.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\\m128.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\m128.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\\graphics\\gl\\buffer\\vao.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\vao.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\\glonupdate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\gl\\glonupdate.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\\framework.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\framework.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:{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\\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}" + }, + { + "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\\bufferobjectbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\bufferobjectbase.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\\ebo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\ebo.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\\glonupdateinternal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glonupdateinternal.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\\iglfunc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\iglfunc.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\\platform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\environment\\platform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -50,10 +114,6 @@ "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\\globalsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\environment\\globalsetting.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\\timespanprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\timespanprovider.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\\logic\\timespanprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\logic\\timespanprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -110,14 +170,6 @@ "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\\sensor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\sensor.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\\glonrender.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\gl\\glonrender.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\\shaderedit\\uniform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\gl\\shaderedit\\uniform.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\\shader\\vertex.vert||{8B382828-6202-11D1-8870-0000F87579D2}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\shader\\vertex.vert||{8B382828-6202-11D1-8870-0000F87579D2}" @@ -126,10 +178,6 @@ "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\\shader\\fragment.frag||{8B382828-6202-11D1-8870-0000F87579D2}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\shader\\fragment.frag||{8B382828-6202-11D1-8870-0000F87579D2}" }, - { - "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\\frameasynctask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\graphics\\frameasynctask.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\\image.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\image.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -166,18 +214,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\\control\\get.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\control\\get.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\\framework.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\framework.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\\counter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\counter.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\\gl\\glapimanagerconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\glapimanagerconst.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -190,10 +230,6 @@ "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\\exception.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\exception.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:{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\\shadergenerator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\shaderedit\\shadergenerator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -206,10 +242,6 @@ "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\\io\\glio.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\control\\io\\glio.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\\nativemethods.txt||{8B382828-6202-11D1-8870-0000F87579D2}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\nativemethods.txt||{8B382828-6202-11D1-8870-0000F87579D2}" - }, { "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\\timeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\control\\timeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -218,38 +250,14 @@ "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\\glparamqueue.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\glparamqueue.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\\m128.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\m128.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\\logicvalue.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\logicvalue.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}" - }, - { - "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\\vao.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\vao.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\\ebo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\ebo.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\\texture.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\texture.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\\glapidefine.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\define\\glapidefine.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\\math\\linear\\mat2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\math\\linear\\mat2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -290,10 +298,6 @@ { "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Nitlo\\AppData\\Local\\Temp\\VSGeneratedDocuments\\79ac1c40-7151-2ce1-597a-25095d944cf9\\Windows.Win32.PInvoke.Gdi32.g.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\\bufferobjectbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\buffer\\bufferobjectbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\MSBuild\\Microsoft\\VC\\v170\\Microsoft.CppCommon.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" }, @@ -319,6 +323,9 @@ { "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\\cordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\geometries\\plaingeometry\\cordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.39.33519\\include\\immintrin.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" } ], "DocumentGroupContainers": [ @@ -328,11 +335,57 @@ "DocumentGroups": [ { "DockedWidth": 197, - "SelectedChildIndex": 38, + "SelectedChildIndex": 30, "Children": [ { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 82, + "Title": "immintrin.h", + "DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.39.33519\\include\\immintrin.h", + "ToolTip": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.39.33519\\include\\immintrin.h", + "ViewState": "AQIAADIGAAAAAAAAAAAEwEQGAAAuAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-22T17:11:07.303Z" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "mat4.c", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpC\\mat4.c", + "RelativeDocumentMoniker": "StgSharpC\\mat4.c", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpC\\mat4.c", + "RelativeToolTip": "StgSharpC\\mat4.c", + "ViewState": "AQIAAAMAAAAAAAAAAAAAAA4AAAAwAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|", + "WhenOpened": "2024-03-22T17:07:11.13Z" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "GLonUpdate.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\GLonUpdate.cs", + "RelativeDocumentMoniker": "StgSharp\\Graphics\\GL\\GLonUpdate.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\GLonUpdate.cs", + "RelativeToolTip": "StgSharp\\Graphics\\GL\\GLonUpdate.cs", + "ViewState": "AQIAAK8AAAAAAAAAAAAlwLsAAAA5AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-03-22T07:44:49.853Z" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "GLonUpdate.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", + "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", + "ViewState": "AQIAAD0AAAAAAAAAAAAhwEsAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-01-30T05:17:49.423Z" + }, + { + "$type": "Document", + "DocumentIndex": 29, "Title": "Square.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Square.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Square.cs", @@ -344,7 +397,7 @@ }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 30, "Title": "Square.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Geometries\\PlainGeometry\\Square.cs", "RelativeDocumentMoniker": "StgSharp\\Geometries\\PlainGeometry\\Square.cs", @@ -356,7 +409,7 @@ }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 31, "Title": "Parallelogram.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Parallelogram.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Parallelogram.cs", @@ -368,7 +421,7 @@ }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 32, "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", @@ -380,7 +433,7 @@ }, { "$type": "Document", - "DocumentIndex": 18, + "DocumentIndex": 33, "Title": "Circle.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Circle.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Circle.cs", @@ -392,7 +445,7 @@ }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 34, "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", @@ -404,7 +457,7 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 35, "Title": "Polygon6.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Polygon6.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Polygon6.cs", @@ -416,7 +469,7 @@ }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 36, "Title": "Line.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Line.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Line.cs", @@ -428,7 +481,7 @@ }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 37, "Title": "Polygon5.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Polygon5.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Polygon5.cs", @@ -440,7 +493,7 @@ }, { "$type": "Document", - "DocumentIndex": 24, + "DocumentIndex": 39, "Title": "GeometryOperation.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\GeometryOperation.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\GeometryOperation.cs", @@ -452,7 +505,7 @@ }, { "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 38, "Title": "Triangle.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Triangle.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Triangle.cs", @@ -464,7 +517,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 28, "Title": "TimeSpanProvider.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Logic\\TimeSpanProvider.cs", "RelativeDocumentMoniker": "StgSharp\\Logic\\TimeSpanProvider.cs", @@ -472,12 +525,11 @@ "RelativeToolTip": "StgSharp\\Logic\\TimeSpanProvider.cs", "ViewState": "AQIAAHgAAAAAAAAAAIA4wIIAAAAkAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-19T18:26:58.908Z", - "EditorCaption": "" + "WhenOpened": "2024-03-19T18:26:58.908Z" }, { "$type": "Document", - "DocumentIndex": 26, + "DocumentIndex": 41, "Title": "Sensor.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\Sensor.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\Sensor.cs", @@ -489,31 +541,31 @@ }, { "$type": "Document", - "DocumentIndex": 27, + "DocumentIndex": 5, "Title": "GLonRender.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\GLonRender.cs", "RelativeDocumentMoniker": "StgSharp\\Graphics\\GL\\GLonRender.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\GLonRender.cs", "RelativeToolTip": "StgSharp\\Graphics\\GL\\GLonRender.cs", - "ViewState": "AQIAADABAAAAAAAAAAAjwEEBAAAtAAAA", + "ViewState": "AQIAACIBAAAAAAAAAAAEwDIBAAAaAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-03-18T18:26:12.379Z" }, { "$type": "Document", - "DocumentIndex": 28, + "DocumentIndex": 6, "Title": "Uniform.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\ShaderEdit\\Uniform.cs", "RelativeDocumentMoniker": "StgSharp\\Graphics\\GL\\ShaderEdit\\Uniform.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\ShaderEdit\\Uniform.cs", "RelativeToolTip": "StgSharp\\Graphics\\GL\\ShaderEdit\\Uniform.cs", - "ViewState": "AQIAAPQAAAAAAAAAAAAMwBwBAABQAAAA", + "ViewState": "AQIAAKYAAAAAAAAAAIA1wBwBAAAsAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-03-18T18:25:24.623Z" }, { "$type": "Document", - "DocumentIndex": 36, + "DocumentIndex": 48, "Title": "TimeProvider.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Environment\\TimeProvider.cs", "RelativeDocumentMoniker": "StgSharp\\Environment\\TimeProvider.cs", @@ -525,7 +577,7 @@ }, { "$type": "Document", - "DocumentIndex": 35, + "DocumentIndex": 47, "Title": "TimeSourceProvider.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Logic\\TimeSourceProvider.cs", "RelativeDocumentMoniker": "StgSharp\\Logic\\TimeSourceProvider.cs", @@ -535,18 +587,6 @@ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-03-18T18:15:53.091Z" }, - { - "$type": "Document", - "DocumentIndex": 31, - "Title": "FrameAsyncTask.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\FrameAsyncTask.cs", - "RelativeDocumentMoniker": "StgSharp\\Graphics\\FrameAsyncTask.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\FrameAsyncTask.cs", - "RelativeToolTip": "StgSharp\\Graphics\\FrameAsyncTask.cs", - "ViewState": "AQIAACQAAAAAAAAAAAAAwO4BAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-18T18:15:24.736Z" - }, { "$type": "Document", "DocumentIndex": 8, @@ -555,14 +595,13 @@ "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\TimeSourceProvider.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\TimeSourceProvider.cs", "RelativeToolTip": "StgSharpDebug\\Logic\\TimeSourceProvider.cs", - "ViewState": "AQIAACgAAAAAAAAAAIAxwFgAAAAAAAAA", + "ViewState": "AQIAACYAAAAAAAAAAAAlwEYAAAA1AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-18T16:55:59.265Z", - "EditorCaption": "" + "WhenOpened": "2024-03-18T16:55:59.265Z" }, { "$type": "Document", - "DocumentIndex": 38, + "DocumentIndex": 50, "Title": "StructDefine.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\Define\\StructDefine.cs", "RelativeDocumentMoniker": "StgSharp\\Graphics\\Define\\StructDefine.cs", @@ -574,7 +613,7 @@ }, { "$type": "Document", - "DocumentIndex": 39, + "DocumentIndex": 51, "Title": "Form.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\Form.cs", "RelativeDocumentMoniker": "StgSharp\\Graphics\\Form.cs", @@ -586,20 +625,19 @@ }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 2, "Title": "TimeSpanProvider.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\TimeSpanProvider.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\TimeSpanProvider.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\TimeSpanProvider.cs", "RelativeToolTip": "StgSharpDebug\\Logic\\TimeSpanProvider.cs", - "ViewState": "AQIAAHoAAAAAAAAAAAAUwIQAAAA5AAAA", + "ViewState": "AQIAAIkAAAAAAAAAAAAlwJwAAAARAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-16T08:04:49.945Z", - "EditorCaption": "" + "WhenOpened": "2024-03-16T08:04:49.945Z" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 26, "Title": "StgSharpC.c", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpC\\StgSharpC.c", "RelativeDocumentMoniker": "StgSharpC\\StgSharpC.c", @@ -607,12 +645,11 @@ "RelativeToolTip": "StgSharpC\\StgSharpC.c", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAA9AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000423|", - "WhenOpened": "2024-03-15T18:54:32.768Z", - "EditorCaption": "" + "WhenOpened": "2024-03-15T18:54:32.768Z" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 27, "Title": "GlobalSetting.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\GlobalSetting.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Environment\\GlobalSetting.cs", @@ -620,12 +657,11 @@ "RelativeToolTip": "StgSharpDebug\\Environment\\GlobalSetting.cs", "ViewState": "AQIAACEAAAAAAAAAAAAlwDUAAAAlAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-15T17:27:18.553Z", - "EditorCaption": "" + "WhenOpened": "2024-03-15T17:27:18.553Z" }, { "$type": "Document", - "DocumentIndex": 25, + "DocumentIndex": 40, "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", @@ -643,14 +679,13 @@ "RelativeDocumentMoniker": "StgSharpDebug\\Environment\\TimeProvider.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\TimeProvider.cs", "RelativeToolTip": "StgSharpDebug\\Environment\\TimeProvider.cs", - "ViewState": "AQIAAHwAAAAAAAAAAAAUwIEAAAAMAAAA", + "ViewState": "AQIAAHcAAAAAAAAAAAAUwIoAAAAmAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-14T14:42:25.658Z", - "EditorCaption": "" + "WhenOpened": "2024-03-14T14:42:25.658Z" }, { "$type": "Document", - "DocumentIndex": 42, + "DocumentIndex": 53, "Title": "Counter.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\Counter.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\Counter.cs", @@ -662,33 +697,32 @@ }, { "$type": "Document", - "DocumentIndex": 5, - "Title": "FrameAsyncTask.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\FrameAsyncTask.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\FrameAsyncTask.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\FrameAsyncTask.cs", - "RelativeToolTip": "StgSharpDebug\\Graphics\\FrameAsyncTask.cs", - "ViewState": "AQIAAC4AAAAAAAAAAAAMwDcAAAAAAAAA", + "DocumentIndex": 0, + "Title": "FrameAsyncThread.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\FrameAsyncThread.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\FrameAsyncThread.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\FrameAsyncThread.cs", + "RelativeToolTip": "StgSharpDebug\\Graphics\\FrameAsyncThread.cs", + "ViewState": "AQIAAPcAAAAAAAAAAAAqwAcBAAANAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-03-12T03:06:36.197Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 3, "Title": "Program.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Program.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Program.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Program.cs", "RelativeToolTip": "StgSharpDebug\\Program.cs", - "ViewState": "AQIAACgAAAAAAAAAAAAswDQAAAASAAAA", + "ViewState": "AQIAACQAAAAAAAAAAAAYwDEAAAAeAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-05T18:42:51.911Z", - "EditorCaption": "" + "WhenOpened": "2024-03-05T18:42:51.911Z" }, { "$type": "Document", - "DocumentIndex": 48, + "DocumentIndex": 57, "Title": "ShaderGenerator.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\ShaderGenerator.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\ShaderGenerator.cs", @@ -700,7 +734,7 @@ }, { "$type": "Document", - "DocumentIndex": 37, + "DocumentIndex": 49, "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", @@ -712,19 +746,19 @@ }, { "$type": "Document", - "DocumentIndex": 54, + "DocumentIndex": 13, "Title": "M128.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\M128.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\M128.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\M128.cs", "RelativeToolTip": "StgSharpDebug\\Math\\Linear\\M128.cs", - "ViewState": "AQIAABAAAAAAAAAAAAAIwBwAAAAIAAAA", + "ViewState": "AQIAAEUAAAAAAAAAAADgv1UAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-02-27T01:42:02.193Z" }, { "$type": "Document", - "DocumentIndex": 67, + "DocumentIndex": 69, "Title": "StgSharpDebug.csproj", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\StgSharpDebug.csproj", "RelativeDocumentMoniker": "StgSharpDebug\\StgSharpDebug.csproj", @@ -736,7 +770,7 @@ }, { "$type": "Document", - "DocumentIndex": 70, + "DocumentIndex": 72, "Title": "Random.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Scalar\\Random.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Scalar\\Random.cs", @@ -748,7 +782,7 @@ }, { "$type": "Document", - "DocumentIndex": 49, + "DocumentIndex": 58, "Title": "InternalIO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Control\\IO\\InternalIO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Control\\IO\\InternalIO.cs", @@ -760,7 +794,7 @@ }, { "$type": "Document", - "DocumentIndex": 50, + "DocumentIndex": 59, "Title": "GLIO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Control\\IO\\GLIO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Control\\IO\\GLIO.cs", @@ -772,7 +806,7 @@ }, { "$type": "Document", - "DocumentIndex": 45, + "DocumentIndex": 55, "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", @@ -784,7 +818,7 @@ }, { "$type": "Document", - "DocumentIndex": 51, + "DocumentIndex": 9, "Title": "NativeMethods.txt", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\NativeMethods.txt", "RelativeDocumentMoniker": "StgSharpDebug\\NativeMethods.txt", @@ -796,33 +830,31 @@ }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 1, "Title": "Form.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Form.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\Form.cs", - "ViewState": "AQIAALYAAAAAAAAAAAAEwMQAAAA4AAAA", + "ViewState": "AQIAADABAAAAAAAAAAAEwEQBAAApAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2023-12-04T10:47:53.872Z", - "EditorCaption": "" + "WhenOpened": "2023-12-04T10:47:53.872Z" }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 4, "Title": "GLonRender.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonRender.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLonRender.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonRender.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\GLonRender.cs", - "ViewState": "AQIAAD8BAAAAAAAAAADgv04BAAAAAAAA", + "ViewState": "AQIAABwBAAAAAAAAAAAEwDEBAAAdAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2023-12-07T17:34:38.441Z", - "EditorCaption": "" + "WhenOpened": "2023-12-07T17:34:38.441Z" }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 25, "Title": "Platform.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\Platform.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Environment\\Platform.cs", @@ -830,24 +862,23 @@ "RelativeToolTip": "StgSharpDebug\\Environment\\Platform.cs", "ViewState": "AQIAAEQAAAAAAAAAAAAjwFkAAAApAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-02-11T11:50:29.668Z", - "EditorCaption": "" + "WhenOpened": "2024-02-11T11:50:29.668Z" }, { "$type": "Document", - "DocumentIndex": 41, + "DocumentIndex": 17, "Title": "framework.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\framework.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\framework.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\framework.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\framework.cs", - "ViewState": "AQIAADsAAAAAAAAAAAAvwEcAAACMAAAA", + "ViewState": "AQIAAFoAAAAAAAAAAIAzwGMAAACzAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-02-08T00:19:37.453Z" }, { "$type": "Document", - "DocumentIndex": 44, + "DocumentIndex": 54, "Title": "glApiManagerConst.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\glApiManagerConst.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\glApiManagerConst.cs", @@ -859,7 +890,7 @@ }, { "$type": "Document", - "DocumentIndex": 66, + "DocumentIndex": 68, "Title": "StgSharpDebug", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\StgSharpDebug.csproj", "RelativeDocumentMoniker": "StgSharpDebug\\StgSharpDebug.csproj", @@ -870,7 +901,7 @@ }, { "$type": "Document", - "DocumentIndex": 68, + "DocumentIndex": 70, "Title": "Windows.Win32.PInvoke.USER32.dll.g.cs", "DocumentMoniker": "C:\\Users\\Nitlo\\AppData\\Local\\Temp\\VSGeneratedDocuments\\2c3332ae-ceb8-c175-356d-4c8856697af4\\Windows.Win32.PInvoke.USER32.dll.g.cs", "ToolTip": "Windows.Win32.PInvoke.USER32.dll.g.cs [\u7531 Microsoft.Windows.CsWin32.SourceGenerator \u751F\u6210]", @@ -880,7 +911,7 @@ }, { "$type": "Document", - "DocumentIndex": 72, + "DocumentIndex": 74, "Title": "Windows.Win32.PInvoke.Gdi32.g.cs", "DocumentMoniker": "C:\\Users\\Nitlo\\AppData\\Local\\Temp\\VSGeneratedDocuments\\79ac1c40-7151-2ce1-597a-25095d944cf9\\Windows.Win32.PInvoke.Gdi32.g.cs", "ToolTip": "Windows.Win32.PInvoke.Gdi32.g.cs [\u7531 Microsoft.Windows.CsWin32.SourceGenerator \u751F\u6210]", @@ -890,7 +921,7 @@ }, { "$type": "Document", - "DocumentIndex": 71, + "DocumentIndex": 73, "Title": "Windows.Win32.PInvoke.OPENGL32.g.cs", "DocumentMoniker": "C:\\Users\\Nitlo\\AppData\\Local\\Temp\\VSGeneratedDocuments\\0c87b10d-89a1-0d65-5307-332433f23145\\Windows.Win32.PInvoke.OPENGL32.g.cs", "ToolTip": "Windows.Win32.PInvoke.OPENGL32.g.cs [\u7531 Microsoft.Windows.CsWin32.SourceGenerator \u751F\u6210]", @@ -900,7 +931,7 @@ }, { "$type": "Document", - "DocumentIndex": 69, + "DocumentIndex": 71, "Title": "readme.txt", "DocumentMoniker": "C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.windows.cswin32\\0.3.49-beta\\readme.txt", "ToolTip": "C:\\Users\\Nitlo\\.nuget\\packages\\microsoft.windows.cswin32\\0.3.49-beta\\readme.txt", @@ -910,20 +941,19 @@ }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 23, "Title": "GLonUpdateInternal.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonUpdateInternal.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLonUpdateInternal.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonUpdateInternal.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\GLonUpdateInternal.cs", - "ViewState": "AQIAACQAAAAAAAAAAAAAAEYAAAAxAAAA", + "ViewState": "AQIAAFUAAAAAAAAAAAAlwGYAAAAdAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-02-11T02:33:08.008Z", - "EditorCaption": "" + "WhenOpened": "2024-02-11T02:33:08.008Z" }, { "$type": "Document", - "DocumentIndex": 55, + "DocumentIndex": 62, "Title": "LogicValue.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\LogicValue.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\LogicValue.cs", @@ -935,7 +965,7 @@ }, { "$type": "Document", - "DocumentIndex": 74, + "DocumentIndex": 75, "Title": "Microsoft.CppCommon.targets", "DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\MSBuild\\Microsoft\\VC\\v170\\Microsoft.CppCommon.targets", "ToolTip": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\MSBuild\\Microsoft\\VC\\v170\\Microsoft.CppCommon.targets", @@ -945,7 +975,7 @@ }, { "$type": "Document", - "DocumentIndex": 75, + "DocumentIndex": 76, "Title": "Rectangle.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Rectangle.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Rectangle.cs", @@ -957,7 +987,7 @@ }, { "$type": "Document", - "DocumentIndex": 40, + "DocumentIndex": 52, "Title": "Get.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Control\\Get.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Control\\Get.cs", @@ -969,19 +999,19 @@ }, { "$type": "Document", - "DocumentIndex": 47, + "DocumentIndex": 18, "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": "AQIAAE4AAAAAAAAAAAA+wKoAAABEAAAA", + "ViewState": "AQIAAC8AAAAAAAAAAIAywE4AAAAZAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-02-08T08:59:32.195Z" }, { "$type": "Document", - "DocumentIndex": 62, + "DocumentIndex": 64, "Title": "mat2.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\mat2.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\mat2.cs", @@ -993,7 +1023,7 @@ }, { "$type": "Document", - "DocumentIndex": 63, + "DocumentIndex": 65, "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", @@ -1005,7 +1035,7 @@ }, { "$type": "Document", - "DocumentIndex": 64, + "DocumentIndex": 66, "Title": "glEnum.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\glEnum.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Define\\glEnum.cs", @@ -1017,7 +1047,7 @@ }, { "$type": "Document", - "DocumentIndex": 34, + "DocumentIndex": 46, "Title": "GLhandle.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLhandle.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLhandle.cs", @@ -1029,7 +1059,7 @@ }, { "$type": "Document", - "DocumentIndex": 53, + "DocumentIndex": 61, "Title": "glParamQueue.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\glParamQueue.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\glParamQueue.cs", @@ -1041,20 +1071,19 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 24, "Title": "IglFunc.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\IglFunc.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\IglFunc.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\IglFunc.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\IglFunc.cs", - "ViewState": "AQIAAD4BAAAAAAAAAAAEwEwBAAAAAAAA", + "ViewState": "AQIAAFoAAAAAAAAAAAAMwGcAAAAcAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-01-30T01:57:38.516Z", - "EditorCaption": "" + "WhenOpened": "2024-01-30T01:57:38.516Z" }, { "$type": "Document", - "DocumentIndex": 60, + "DocumentIndex": 63, "Title": "glApiDefine.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\glApiDefine.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Define\\glApiDefine.cs", @@ -1066,68 +1095,55 @@ }, { "$type": "Document", - "DocumentIndex": 61, + "DocumentIndex": 14, "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": "AQIAAEIAAAAAAAAAAADwv1IAAAAfAAAA", + "ViewState": "AQIAAK4AAAAAAAAAAIA0wLwAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2023-12-07T17:49:49.555Z" }, { "$type": "Document", - "DocumentIndex": 1, - "Title": "GLonUpdate.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", - "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\GLonUpdate.cs", - "ViewState": "AQIAAHgBAAAAAAAAAAAWwIUBAAAJAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-01-30T05:17:49.423Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 43, + "DocumentIndex": 19, "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": "AQIAAAAAAAAAAAAAAAAuwBYAAAAAAAAA", + "ViewState": "AQIAAEQAAAAAAAAAAAAqwFQAAAAJAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-02-03T01:26:23.297Z" }, { "$type": "Document", - "DocumentIndex": 56, + "DocumentIndex": 20, "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", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\VBO.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\Buffer\\VBO.cs", - "ViewState": "AQIAABUAAAAAAAAAAAAcwCAAAABdAAAA", + "ViewState": "AQIAAEwAAAAAAAAAAEBAwFsAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2023-12-07T18:49:42.332Z" }, { "$type": "Document", - "DocumentIndex": 57, + "DocumentIndex": 15, "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", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\VAO.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\Buffer\\VAO.cs", - "ViewState": "AQIAABcAAAAAAAAAAAAowCkAAAAoAAAA", + "ViewState": "AQIAACQAAAAAAAAAAIA0wDIAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2023-12-10T18:54:07.607Z" }, { "$type": "Document", - "DocumentIndex": 65, + "DocumentIndex": 67, "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", @@ -1139,43 +1155,43 @@ }, { "$type": "Document", - "DocumentIndex": 59, + "DocumentIndex": 11, "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", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\texture.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\Buffer\\texture.cs", - "ViewState": "AQIAAEMAAAAAAAAAAAAuwFEAAAABAAAA", + "ViewState": "AQIAAC4AAAAAAAAAAIA0wDwAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2023-11-17T07:06:58.925Z" }, { "$type": "Document", - "DocumentIndex": 73, + "DocumentIndex": 21, "Title": "BufferObjectBase.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\BufferObjectBase.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\BufferObjectBase.cs", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\BufferObjectBase.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\Buffer\\BufferObjectBase.cs", - "ViewState": "AQIAAA8AAAAAAAAAAABbwCAAAAAIAAAA", + "ViewState": "AQIAAB0AAAAAAAAAAIAxwDQAAAAgAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2023-12-10T18:51:58.659Z" }, { "$type": "Document", - "DocumentIndex": 58, + "DocumentIndex": 22, "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", "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\EBO.cs", "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\Buffer\\EBO.cs", - "ViewState": "AQIAABIAAAAAAAAAAAAcwB4AAAAJAAAA", + "ViewState": "AQIAADcAAAAAAAAAAAAYwEYAAAATAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2023-12-03T14:56:37.242Z" }, { "$type": "Document", - "DocumentIndex": 32, + "DocumentIndex": 44, "Title": "Image.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Image.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Image.cs", @@ -1187,7 +1203,7 @@ }, { "$type": "Document", - "DocumentIndex": 29, + "DocumentIndex": 42, "Title": "vertex.vert", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Shader\\vertex.vert", "RelativeDocumentMoniker": "StgSharpDebug\\Shader\\vertex.vert", @@ -1199,7 +1215,7 @@ }, { "$type": "Document", - "DocumentIndex": 30, + "DocumentIndex": 43, "Title": "fragment.frag", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Shader\\fragment.frag", "RelativeDocumentMoniker": "StgSharpDebug\\Shader\\fragment.frag", @@ -1211,7 +1227,7 @@ }, { "$type": "Document", - "DocumentIndex": 79, + "DocumentIndex": 80, "Title": "List.cs", "DocumentMoniker": "C:\\Users\\Nitlo\\AppData\\Local\\SourceServer\\a49b3a21a68db01290f63b8f22e4a9e58546e0a62fe2ff69b472e6b354d1bcea\\src\\libraries\\System.Private.CoreLib\\src\\System\\Collections\\Generic\\List.cs", "ToolTip": "C:\\Users\\Nitlo\\AppData\\Local\\SourceServer\\a49b3a21a68db01290f63b8f22e4a9e58546e0a62fe2ff69b472e6b354d1bcea\\src\\libraries\\System.Private.CoreLib\\src\\System\\Collections\\Generic\\List.cs", @@ -1220,7 +1236,7 @@ }, { "$type": "Document", - "DocumentIndex": 33, + "DocumentIndex": 45, "Title": "Program.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgsharpEnvDebug\\Program.cs", "RelativeDocumentMoniker": "StgsharpEnvDebug\\Program.cs", @@ -1232,7 +1248,7 @@ }, { "$type": "Document", - "DocumentIndex": 46, + "DocumentIndex": 56, "Title": "Exception.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\Exception.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\Exception.cs", @@ -1244,7 +1260,7 @@ }, { "$type": "Document", - "DocumentIndex": 52, + "DocumentIndex": 60, "Title": "TimeLine.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Control\\TimeLine.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Control\\TimeLine.cs", @@ -1256,7 +1272,7 @@ }, { "$type": "Document", - "DocumentIndex": 78, + "DocumentIndex": 79, "Title": "Enemy.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Entities\\Enemy.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Entities\\Enemy.cs", @@ -1268,7 +1284,7 @@ }, { "$type": "Document", - "DocumentIndex": 76, + "DocumentIndex": 77, "Title": "vec2d.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\vec2d.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\vec2d.cs", @@ -1280,7 +1296,7 @@ }, { "$type": "Document", - "DocumentIndex": 80, + "DocumentIndex": 81, "Title": "Cordinate.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Cordinate.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Cordinate.cs", @@ -1292,7 +1308,7 @@ }, { "$type": "Document", - "DocumentIndex": 77, + "DocumentIndex": 78, "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", diff --git a/源代码/.vs/StgSharpDevelop/v17/Solution.VC.db b/源代码/.vs/StgSharpDevelop/v17/Solution.VC.db index bd6e5294..2ed04708 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/Solution.VC.db and b/源代码/.vs/StgSharpDevelop/v17/Solution.VC.db differ diff --git a/源代码/.vs/StgSharpDevelop/v17/fileList.bin b/源代码/.vs/StgSharpDevelop/v17/fileList.bin index b9e6bbcd..5422c671 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/fileList.bin and b/源代码/.vs/StgSharpDevelop/v17/fileList.bin differ diff --git a/源代码/.vs/StgSharpDevelop/v17/ipch/AutoPCH/500f892d67371fea/MAT4.ipch b/源代码/.vs/StgSharpDevelop/v17/ipch/AutoPCH/500f892d67371fea/MAT4.ipch new file mode 100644 index 00000000..276580a9 Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/v17/ipch/AutoPCH/500f892d67371fea/MAT4.ipch differ diff --git a/源代码/.vs/StgSharpDevelop/v17/ipch/AutoPCH/8b0ae67cdca71063/DLLMAIN.ipch b/源代码/.vs/StgSharpDevelop/v17/ipch/AutoPCH/8b0ae67cdca71063/DLLMAIN.ipch index ec674f12..4c14b05b 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/ipch/AutoPCH/8b0ae67cdca71063/DLLMAIN.ipch and b/源代码/.vs/StgSharpDevelop/v17/ipch/AutoPCH/8b0ae67cdca71063/DLLMAIN.ipch differ diff --git a/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfo.cs b/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfo.cs index 7a570f91..c55c65b5 100644 --- a/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfo.cs +++ b/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("BenchMark")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+15bf989285b01c5617b5f5612667e0da6a2b1781")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("BenchMark")] [assembly: System.Reflection.AssemblyTitleAttribute("BenchMark")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfoInputs.cache b/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfoInputs.cache index 6e0be317..bb163fb3 100644 --- a/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfoInputs.cache +++ b/源代码/BenchMark/obj/Debug/net6.0/BenchMark.AssemblyInfoInputs.cache @@ -1 +1 @@ -60748d6834d1deac3b68f29467e8af995e7f1690974ec71ee229ce37c30422b0 +331bbf3c35654da88180d558f3b88a7e74b2a43f71fb31cc5618b93548451025 diff --git a/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfo.cs b/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfo.cs index 4e9419ad..9600449d 100644 --- a/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfo.cs +++ b/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("BenchMark")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a2241a5a5816a9438c63e3ca3c69313e6f2e8f56")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("BenchMark")] [assembly: System.Reflection.AssemblyTitleAttribute("BenchMark")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfoInputs.cache b/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfoInputs.cache index 5c4b2691..9185a68f 100644 --- a/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfoInputs.cache +++ b/源代码/BenchMark/obj/Release/net6.0/BenchMark.AssemblyInfoInputs.cache @@ -1 +1 @@ -4f8004b34f843774009ae065c059edcfd2d77ae961c2b6e932ff111274937cc5 +a3df72991b91678a050f99577f80b9dd92b0c90b5690edffb7f70fbc967c5a97 diff --git a/源代码/Debug/StgSharpGraphic.dll b/源代码/Debug/StgSharpGraphic.dll deleted file mode 100644 index 2ab9994c..00000000 Binary files a/源代码/Debug/StgSharpGraphic.dll and /dev/null differ diff --git a/源代码/Debug/StgSharpGraphic.exp b/源代码/Debug/StgSharpGraphic.exp deleted file mode 100644 index 4dd88395..00000000 Binary files a/源代码/Debug/StgSharpGraphic.exp and /dev/null differ diff --git a/源代码/Debug/StgSharpGraphic.lib b/源代码/Debug/StgSharpGraphic.lib deleted file mode 100644 index 99c60bb1..00000000 Binary files a/源代码/Debug/StgSharpGraphic.lib and /dev/null differ diff --git a/源代码/Debug/StgSharpGraphic.pdb b/源代码/Debug/StgSharpGraphic.pdb deleted file mode 100644 index 09cf54fa..00000000 Binary files a/源代码/Debug/StgSharpGraphic.pdb and /dev/null differ diff --git a/源代码/Output/x64/Debug/net6.0/SS_errorlog.log b/源代码/Output/x64/Debug/net6.0/SS_errorlog.log index 25c07f19..47b6823a 100644 --- a/源代码/Output/x64/Debug/net6.0/SS_errorlog.log +++ b/源代码/Output/x64/Debug/net6.0/SS_errorlog.log @@ -27,3 +27,1807 @@ Successfully load all OpenGL 4.5 APIs Successfully load all OpenGL 4.6 APIs Info @ 2024-03-21T01:58:52.5308551+08:00 No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T07:49:57.6229414+08:00 +Program start +Info @ 2024-03-22T07:49:58.1861163+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T07:49:58.2012213+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T08:47:26.6387441+08:00 +Program start +Info @ 2024-03-22T08:47:27.1559147+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T08:47:27.1660329+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T08:51:19.1558800+08:00 +Program start +Info @ 2024-03-22T08:52:20.8117962+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T08:52:20.8226948+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T08:57:36.1306627+08:00 +Program start +Info @ 2024-03-22T08:57:36.6783372+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T08:57:36.6886680+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T10:18:40.4666633+08:00 +Program start +Info @ 2024-03-22T10:18:41.3395743+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T10:18:41.3603017+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T10:21:55.6727246+08:00 +Program start +Info @ 2024-03-22T10:21:55.7787517+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T10:21:55.7931084+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T10:23:08.7498057+08:00 +Program start +Info @ 2024-03-22T10:23:08.8633423+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T10:23:08.8719339+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T10:47:46.7301829+08:00 +Program start +Info @ 2024-03-22T10:47:46.8433538+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T10:47:46.8519965+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T10:51:25.7503242+08:00 +Program start +Info @ 2024-03-22T10:51:25.8533714+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T10:51:25.8619862+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T10:52:56.4214246+08:00 +Program start +Info @ 2024-03-22T10:52:56.5283627+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T10:52:56.5372202+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T10:55:11.4328753+08:00 +Program start +Info @ 2024-03-22T10:55:11.5467917+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T10:55:11.5556131+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T11:15:00.9026165+08:00 +Program start +Info @ 2024-03-22T11:15:01.0383840+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T11:15:01.0470758+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T11:25:26.6554306+08:00 +Program start +Info @ 2024-03-22T11:25:26.7550601+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T11:25:26.7636883+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T11:25:46.3860963+08:00 +Program start +Info @ 2024-03-22T11:25:47.0135885+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T11:25:47.0237391+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T13:11:11.2265702+08:00 +Program start +Info @ 2024-03-22T13:11:11.3369253+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T13:11:11.3454778+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T13:11:20.0436077+08:00 +Program start +Info @ 2024-03-22T13:11:20.6314021+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T13:11:20.6461248+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T13:11:37.3374324+08:00 +Program start +Info @ 2024-03-22T13:11:37.4376462+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T13:11:37.4470561+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T13:14:10.5493531+08:00 +Program start +Info @ 2024-03-22T13:14:11.0590293+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T13:14:11.0688219+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T13:25:35.2139136+08:00 +Program start +Info @ 2024-03-22T13:25:35.3105554+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T13:25:35.3195632+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T15:31:54.0229336+08:00 +Program start +Info @ 2024-03-22T15:31:56.0576418+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T15:31:56.1157771+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T15:35:03.3365057+08:00 +Program start +Info @ 2024-03-22T15:35:07.4818318+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T15:35:07.5480629+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T15:38:34.8729180+08:00 +Program start +Info @ 2024-03-22T15:38:37.4949555+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T15:38:37.5454483+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T15:40:39.4263426+08:00 +Program start +Info @ 2024-03-22T15:40:43.0601485+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T15:40:43.1223562+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T15:46:37.7068708+08:00 +Program start +Info @ 2024-03-22T15:46:38.7922070+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T15:46:38.8339343+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T16:00:07.8559858+08:00 +Program start +Info @ 2024-03-22T16:00:08.1214579+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T16:00:08.1374334+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:02:35.2140313+08:00 +Program start +Info @ 2024-03-23T03:02:35.3887830+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:02:35.3982172+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:02:58.8460083+08:00 +Program start +Info @ 2024-03-23T03:02:58.9516673+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:02:58.9605808+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:04:54.6206898+08:00 +Program start +Info @ 2024-03-23T03:04:54.7335448+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:04:54.7430207+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:08:14.9199126+08:00 +Program start +Info @ 2024-03-23T03:08:15.0454822+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:08:15.0542165+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:09:24.5323804+08:00 +Program start +Info @ 2024-03-23T03:09:24.6523443+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:09:24.6608872+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:17:02.4126870+08:00 +Program start +Info @ 2024-03-23T03:17:02.5266302+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:17:02.5361619+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:18:14.3839923+08:00 +Program start +Info @ 2024-03-23T03:18:14.4968932+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:18:14.5055301+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:19:22.7027771+08:00 +Program start + + + + +Info @ 2024-03-23T03:26:17.1571008+08:00 +Program start +Info @ 2024-03-23T03:26:17.2604504+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:26:17.2688743+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:26:41.4913831+08:00 +Program start +Info @ 2024-03-23T03:26:42.0782886+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:26:42.0883753+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:28:41.4580823+08:00 +Program start +Info @ 2024-03-23T03:28:42.1090289+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:28:42.1188837+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:29:28.6971470+08:00 +Program start +Info @ 2024-03-23T03:29:28.8053720+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:29:28.8145856+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:33:04.8308511+08:00 +Program start +Info @ 2024-03-23T03:33:04.9406221+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:33:04.9490954+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:33:24.0535917+08:00 +Program start +Info @ 2024-03-23T03:33:24.1577586+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:33:24.1673380+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:34:06.3538133+08:00 +Program start +Info @ 2024-03-23T03:34:06.9254224+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:34:06.9354545+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:35:55.7820362+08:00 +Program start +Info @ 2024-03-23T03:35:55.8905354+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:35:55.8991646+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:36:40.3434684+08:00 +Program start +Info @ 2024-03-23T03:36:40.4646442+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:36:40.4736544+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:37:19.5038188+08:00 +Program start +Info @ 2024-03-23T03:37:19.6124411+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:37:19.6220436+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:37:51.8720984+08:00 +Program start +Info @ 2024-03-23T03:37:52.4278098+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:37:52.4377755+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T03:38:11.2910521+08:00 +Program start +Info @ 2024-03-23T03:38:11.8487744+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T03:38:11.8603954+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T19:50:51.0733293+08:00 +Program start +Info @ 2024-03-23T19:50:52.0798403+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T19:50:52.0999608+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T19:53:15.9057357+08:00 +Program start +Info @ 2024-03-23T19:53:16.7769003+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T19:53:16.7994654+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T19:53:31.2082689+08:00 +Program start +Info @ 2024-03-23T19:53:31.8778563+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T19:53:31.8959192+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T20:01:51.7954271+08:00 +Program start +Info @ 2024-03-23T20:01:51.9069248+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T20:01:51.9163068+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T20:02:02.9118295+08:00 +Program start +Info @ 2024-03-23T20:02:03.6141231+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T20:02:03.6350292+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T20:08:36.7032037+08:00 +Program start +Info @ 2024-03-23T20:08:37.3818182+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T20:08:37.3958657+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-23T20:10:04.8574067+08:00 +Program start +Info @ 2024-03-23T20:10:05.4810198+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-23T20:10:05.4980272+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:28:29.9055040+08:00 +Program start +Info @ 2024-03-24T03:28:30.0307140+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:28:30.0393505+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:47:21.7712292+08:00 +Program start +Info @ 2024-03-24T03:47:21.8848719+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:47:21.8955403+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:47:57.5201863+08:00 +Program start +Info @ 2024-03-24T03:47:57.6412066+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:47:57.6502882+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:48:50.8855393+08:00 +Program start +Info @ 2024-03-24T03:48:50.9987492+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:48:51.0092115+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:49:24.4054382+08:00 +Program start +Info @ 2024-03-24T03:49:24.5180464+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:49:24.5270800+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:51:03.9541737+08:00 +Program start +Info @ 2024-03-24T03:51:04.0673865+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:51:04.0765445+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:51:17.5744274+08:00 +Program start +Info @ 2024-03-24T03:51:17.6922351+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:51:17.7020496+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:52:54.0463361+08:00 +Program start +Info @ 2024-03-24T03:52:54.1685950+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:52:54.1798050+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:53:11.8396134+08:00 +Program start +Info @ 2024-03-24T03:53:11.9599536+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:53:11.9704763+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-24T03:53:46.9845630+08:00 +Program start +Info @ 2024-03-24T03:53:47.0951672+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-24T03:53:47.1047565+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-25T01:07:56.6325133+08:00 +Program start +Info @ 2024-03-25T01:07:57.1265049+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-25T01:07:57.1366050+08:00 +No supported OpenGL extensions are found. diff --git a/源代码/Output/x64/Debug/net6.0/StgSharpC.dll b/源代码/Output/x64/Debug/net6.0/StgSharpC.dll index d4bcc832..59232b2f 100644 Binary files a/源代码/Output/x64/Debug/net6.0/StgSharpC.dll and b/源代码/Output/x64/Debug/net6.0/StgSharpC.dll differ diff --git a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.dll b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.dll index ae573d62..e024c210 100644 Binary files a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.dll and b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.dll differ diff --git a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.exe b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.exe index 2a95760d..7ad1cad7 100644 Binary files a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.exe and b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.exe differ diff --git a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.pdb b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.pdb index 4bf92019..b17873f3 100644 Binary files a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.pdb and b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.pdb differ diff --git a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.xml b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.xml index a71aa0d0..23d4be87 100644 --- a/源代码/Output/x64/Debug/net6.0/StgSharpDebug.xml +++ b/源代码/Output/x64/Debug/net6.0/StgSharpDebug.xml @@ -268,7 +268,7 @@ - + Inti a shader with no program attached. diff --git a/源代码/Output/x64/Release/net6.0/SS_errorlog.log b/源代码/Output/x64/Release/net6.0/SS_errorlog.log new file mode 100644 index 00000000..2dd04db6 --- /dev/null +++ b/源代码/Output/x64/Release/net6.0/SS_errorlog.log @@ -0,0 +1,58 @@ + + + + +Info @ 2024-03-22T08:05:55.7164557+08:00 +Program start +Info @ 2024-03-22T08:05:55.9361037+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T08:05:55.9477010+08:00 +No supported OpenGL extensions are found. + + + + +Info @ 2024-03-22T08:07:58.5811933+08:00 +Program start +Info @ 2024-03-22T08:07:58.7021730+08:00 +Find core OpenGL version. +Successfully load all OpenGL 1.0 APIs +Successfully load all OpenGL 1.1 APIs +Successfully load all OpenGL 1.2 APIs +Successfully load all OpenGL 1.3 APIs +Successfully load all OpenGL 1.4 APIs +Successfully load all OpenGL 1.5 APIs +Successfully load all OpenGL 2.0 APIs +Successfully load all OpenGL 2.1 APIs +Successfully load all OpenGL 3.0 APIs +Successfully load all OpenGL 3.1 APIs +Successfully load all OpenGL 3.2 APIs +Successfully load all OpenGL 3.3 APIs +Successfully load all OpenGL 4.0 APIs +Successfully load all OpenGL 4.1 APIs +Successfully load all OpenGL 4.2 APIs +Successfully load all OpenGL 4.3 APIs +Successfully load all OpenGL 4.4 APIs +Successfully load all OpenGL 4.5 APIs +Successfully load all OpenGL 4.6 APIs +Info @ 2024-03-22T08:07:58.7110859+08:00 +No supported OpenGL extensions are found. diff --git a/源代码/Output/x64/Release/net6.0/Shader/Image1.png b/源代码/Output/x64/Release/net6.0/Shader/Image1.png new file mode 100644 index 00000000..5e95b072 Binary files /dev/null and b/源代码/Output/x64/Release/net6.0/Shader/Image1.png differ diff --git a/源代码/Output/x64/Release/net6.0/Shader/awesomeface.png b/源代码/Output/x64/Release/net6.0/Shader/awesomeface.png new file mode 100644 index 00000000..c7bfec66 Binary files /dev/null and b/源代码/Output/x64/Release/net6.0/Shader/awesomeface.png differ diff --git a/源代码/Output/x64/Release/net6.0/Shader/fragment.frag b/源代码/Output/x64/Release/net6.0/Shader/fragment.frag new file mode 100644 index 00000000..53635067 --- /dev/null +++ b/源代码/Output/x64/Release/net6.0/Shader/fragment.frag @@ -0,0 +1,17 @@ +#version 330 core + +in vec3 TexColor; +in vec2 TexCoord; + +out vec4 FragColor; + +uniform sampler2D ourTexture; +uniform sampler2D ourTexture2; + +void main() +{ + vec4 tex1 = texture(ourTexture, TexCoord); + vec4 tex2 = texture(ourTexture2,TexCoord); + FragColor = mix(tex1 * vec4( TexColor,1.0),tex2,0.2) /* *vec4( TexColor,1.0) /**/; +} + diff --git a/源代码/Output/x64/Release/net6.0/Shader/vertex.vert b/源代码/Output/x64/Release/net6.0/Shader/vertex.vert new file mode 100644 index 00000000..ed919278 --- /dev/null +++ b/源代码/Output/x64/Release/net6.0/Shader/vertex.vert @@ -0,0 +1,20 @@ +#version 330 core + +layout(location = 0) in vec3 aPos; +layout(location = 1) in vec3 aColor; +layout(location = 2) in vec2 aTextCoord; + +out vec3 TexColor; +out vec2 TexCoord; + +uniform vec3 color; + +void main() +{ + gl_Position = vec4(aPos.xyz,1.0) + vec4(color.xy-vec2(0.5,0.5),0.0,0.0); + TexColor = color; + TexCoord = aTextCoord; +} + + + diff --git a/源代码/Output/x64/Release/net6.0/StgSharpC.dll b/源代码/Output/x64/Release/net6.0/StgSharpC.dll new file mode 100644 index 00000000..d4bcc832 Binary files /dev/null and b/源代码/Output/x64/Release/net6.0/StgSharpC.dll differ diff --git a/源代码/Output/x64/Release/net6.0/StgSharpDebug.deps.json b/源代码/Output/x64/Release/net6.0/StgSharpDebug.deps.json new file mode 100644 index 00000000..3ae4a3fa --- /dev/null +++ b/源代码/Output/x64/Release/net6.0/StgSharpDebug.deps.json @@ -0,0 +1,86 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "StgSharpDebug/1.0.0": { + "dependencies": { + "Microsoft.Windows.CsWin32": "0.3.49-beta" + }, + "runtime": { + "StgSharpDebug.dll": {} + } + }, + "Microsoft.Windows.CsWin32/0.3.49-beta": { + "dependencies": { + "Microsoft.Windows.SDK.Win32Docs": "0.1.42-alpha", + "Microsoft.Windows.SDK.Win32Metadata": "55.0.45-preview", + "Microsoft.Windows.WDK.Win32Metadata": "0.9.9-experimental", + "System.Memory": "4.5.5", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Windows.SDK.Win32Docs/0.1.42-alpha": {}, + "Microsoft.Windows.SDK.Win32Metadata/55.0.45-preview": {}, + "Microsoft.Windows.WDK.Win32Metadata/0.9.9-experimental": { + "dependencies": { + "Microsoft.Windows.SDK.Win32Metadata": "55.0.45-preview" + } + }, + "System.Memory/4.5.5": {}, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {} + } + }, + "libraries": { + "StgSharpDebug/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Windows.CsWin32/0.3.49-beta": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iAXplVDKESFyLz/MShuVYVx62YFvFePpq3qrzREl8KScQqG6Z2kV7r9UJTjQS1g+hfy3V+e4m1x9lsu24YNSg==", + "path": "microsoft.windows.cswin32/0.3.49-beta", + "hashPath": "microsoft.windows.cswin32.0.3.49-beta.nupkg.sha512" + }, + "Microsoft.Windows.SDK.Win32Docs/0.1.42-alpha": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z/9po23gUA9aoukirh2ItMU2ZS9++Js9Gdds9fu5yuMojDrmArvY2y+tq9985tR3cxFxpZO1O35Wjfo0khj5HA==", + "path": "microsoft.windows.sdk.win32docs/0.1.42-alpha", + "hashPath": "microsoft.windows.sdk.win32docs.0.1.42-alpha.nupkg.sha512" + }, + "Microsoft.Windows.SDK.Win32Metadata/55.0.45-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2i1kVIk8rMuMCYtoeYeWbmCRLqNgb63Berac3Gv+J/pjp0oucopasKgLQNslryhsgBl4xex9ENhJX2MXEW5vdA==", + "path": "microsoft.windows.sdk.win32metadata/55.0.45-preview", + "hashPath": "microsoft.windows.sdk.win32metadata.55.0.45-preview.nupkg.sha512" + }, + "Microsoft.Windows.WDK.Win32Metadata/0.9.9-experimental": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cncPlxLqR25mFOuvpxZPgXgJqRmXyV5eTULj/9w8AQvO/c1xJDEapohRsWkYaia7hCR/EwEzBHr7RU9u93T03w==", + "path": "microsoft.windows.wdk.win32metadata/0.9.9-experimental", + "hashPath": "microsoft.windows.wdk.win32metadata.0.9.9-experimental.nupkg.sha512" + }, + "System.Memory/4.5.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==", + "path": "system.memory/4.5.5", + "hashPath": "system.memory.4.5.5.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/源代码/Output/x64/Release/net6.0/StgSharpDebug.dll b/源代码/Output/x64/Release/net6.0/StgSharpDebug.dll new file mode 100644 index 00000000..0d32a729 Binary files /dev/null and b/源代码/Output/x64/Release/net6.0/StgSharpDebug.dll differ diff --git a/源代码/Output/x64/Release/net6.0/StgSharpDebug.exe b/源代码/Output/x64/Release/net6.0/StgSharpDebug.exe new file mode 100644 index 00000000..7ad1cad7 Binary files /dev/null and b/源代码/Output/x64/Release/net6.0/StgSharpDebug.exe differ diff --git a/源代码/Output/x64/Release/net6.0/StgSharpDebug.pdb b/源代码/Output/x64/Release/net6.0/StgSharpDebug.pdb new file mode 100644 index 00000000..b7fc25dd Binary files /dev/null and b/源代码/Output/x64/Release/net6.0/StgSharpDebug.pdb differ diff --git a/源代码/Output/x64/Release/net6.0/StgSharpDebug.runtimeconfig.json b/源代码/Output/x64/Release/net6.0/StgSharpDebug.runtimeconfig.json new file mode 100644 index 00000000..e7b3b03d --- /dev/null +++ b/源代码/Output/x64/Release/net6.0/StgSharpDebug.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net6.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "6.0.0" + }, + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false + } + } +} \ No newline at end of file diff --git a/源代码/Output/x64/Release/net6.0/StgSharpDebug.xml b/源代码/Output/x64/Release/net6.0/StgSharpDebug.xml new file mode 100644 index 00000000..a71aa0d0 --- /dev/null +++ b/源代码/Output/x64/Release/net6.0/StgSharpDebug.xml @@ -0,0 +1,2069 @@ + + + + StgSharpDebug + + + + + Get the status of a certain key on the keyboard. + + + + + + + + Function handler to load an opengl function by serching its name. + + the name of the Opengl function + An intptr value representing the pointer to the function + + + + + + + + + OpenGL package binded to current form context. + A OpenGL context is only binded to current form. + + + + + Height of this form, represent in + + + + + Representing + + + + + Width of this form, represent in + + + + + Width of this form, represent in + + + + + Necessary operation to init this form. + + + + + + Behaviour of current form when in a frame cycle. + + + + + + Init an OpenGl context if current form has not been binded to any context. and set the context binded to + current form as current OpenGL context. + + + Something goes wrong and StgSharp fails in creating a new OpenGL context. + + + + + Set all necessary metadata to current form instance + + + + + Resize the current form + + + A (width,height) representing the new size of current form + + + + + Resize the current form + + New width of the window + New height of the window + + + + Set the size limit of current form + + + Minimun size of current form. In form of a of (width,height) + + + Maximum size of current form. In form of a of (width,height) + + + + + Set the size limit of current form + + Minimum width of current form + Minimum height of current form + Maximum width of curent form + Maximum height of current form + + + + Init this form and render it on screen, and respond with operation + + + + + Get OpenGL library of this form's context. + + A package contains all opengl APIs + + + + Define how current form render in one frame. + + + Please define this befor calling any OpenGL api and other graphic methods. + + + + + Create a set of . + + Amount of EBO to be created. + + + + + Create a sets of + + Amount of textures to be crated. + + + + + Create a set of . + + Amount of VAO to be crated. + + + + + Create aset of . + + Amount of Object to be created. + + + + + Create an instance of program + + New instance of instance. + + + + Interface of all kinds OpenGL buffer onjects + + + + + Get the only handle to one of the Object instance + + + + + + + Bind a buffer instance to OpenGL + + Index of handle of the object in this instance to be bind + + + + + + + A collecion of handle to Element Buffer Object in OpenGL. + Each value indexed from instance of this class this + is the only handle to one Element Buffer Object. + + + + + + + + + + + + Set data to current vertex buffer object + + Type of bufferData + Index to find certain VBO in this instance + Data to write in + How OpenGL use these data, defined by + + + + Set data to current vertex buffer object + + Type of bufferData + Index to find certain VBO in this instance + A array of data to write in + How OpenGL use these data, defined by + + + + + + + + + Load all aupportable OpenGL APIs and bind them to given context. + + The used as current OpenGL context + A delegate to get address of OprnGL api + + + + Get the function pointer of given OpenGL api name + + Name of the OpenGL api + The funtion pointer of the api in form of + + + + A handle to an OpenGL object, + must be indexed from a . + Direct call will cause + + + + + A handle to an OpenGL object. + + + + + temporarily release the handle of GLhandle sets. + Please call method before indexing. + + + + + Realse all resource in this handle. + This will release all resource in this . + This will be not usable. + + + + + + + + + + + + Inti a shader with no program attached. + + + + + Get a uniform form current shader, + the value type of the uniform should be provided. + + Name of the Uniform in shader code + + + + + Get a uniform form current shader, + the value type of the uniform should be provided. + + Name of the Uniform in shader code + + + + + Get a uniform form current shader, + the value type of the uniform should be provided. + + Name of the Uniform in shader code + + + + + Link the shader to current context. + + + + + Let the current context use this shader. + + + + + Same function as OpenGL api glActiveTexture + + type of texture to activate + + + + Operation after alignment by calling . + No calling of this method is acceptable, but it will bring the risk + of that relevant code will not run if it is interrupted by frame overtime. + Please call this method immediately after calling , + too early or sonner may cause . + + The form used as frame update benchmark. + Operation after frame update alignment. + The action binded to a wrong alignment. + + + + Align a sets of code to frame update of a . + Usually, a call of is required. + This method is used as sigle thread method. If more than one + alignment is requested, a will throw. + + The form used as frame update benchmark. + More than one alingment attached to one form timer + + + + Same fucntion as OpenGL api glAttachShader. + Only the first in handle + will be attached to the first in handle. + The rest shader and program will be ignored. + + Shader program to be attachec + A shader part to attach + + + + Bind the indexed buffer object to certain type of buffer + + + + + + + Same function as OpenGL api, glBindTexture. + + Type of texture to bind + Sign of texture + + + + Same function as OpenGL api, glBindVertexArray + + + + + + Clear buffers to preset values + + + + + + Call apiClearColor in OpenGL + specifies the red, green, blue, and alpha values used by apiClear to clear the color buffers. + Values specified by apiClearColor are clamped to the range [0,1] + + Specify the red values used when the color buffers are cleared. + Specify the red values used when the color buffers are cleared. + Specify the red values used when the color buffers are cleared. + Specify the red values used when the color buffers are cleared. + + + + Same function as OpenGL api, glCreateProgram + + A handle representing a single shader program + + + + Same function as OpenGL api, glCreateProgram. + Used for creating multiple shader program. + + A handle representing all shader programs + + + + Creates a form and its associated + + Required width + Required width + Tittle of the window + + + + + + + Same function as OpenGL api, glDeleteBuffer. This method can delete one buffer in one call + + a handle representing the buffer to be deleted + + + + Same function as OpenGL api, glDeleteBuffer. This method can delete a sets of buffers in one call. + + Array of buffers to be deleted + + + + Same function as OpenGL api, glDeleteVertexArrays + + Handle of vertex objects. + + + + + + + + + + + + + Same fucntion as the OpenGL api glGenBuffers + + + + + + + Same fucnction as OpenGL api glGenTextures. + + amount of textures to generate + + + + Same fucntion as OpenGL api, glGenVertexArray + + Amount of vao to be generated + + + + Same fucntion as OpenGL api, glGetUniformLocation + + Shader program to find the uniform + Name of the uniform + + + + + Make the OpenGL context of a certain as the activated OpenGL context. + + + + + + Set data value to a float , + all types of parameters are float. + + The target + A packing four parameters of the uniform + + + + Set data value to a float , + all types of parameters are float. + + The target + The value to be set + + + + Set data value to a int , + all types of parameters are int. + + The target + The value to be set + + + + Set data value to a float , + all types of parameters are . + + The target + A value of the uniform + + + + Set data value to a float , + all types of parameters are float. + + The target + The first value to be set + The second value to be set + + + + Set data value to a float , + all types of parameters are float. + + The target + The first value to be set + The second value to be set + The third value to be set + + + + Set data value to a float , + all types of parameters are float. + + The target + The first value to be set + The second value to be set + The third value to be set + The forth value to be set + + + + Set how a shader parameter read data from a VBO. + + Serial number of the parameter + Amount of data each elements contains + Type of data read by shader + + Pixels stride of each sets of data + + + + + Same function as OpenGL api glTexImage2d + + texture target to load image in + level of mipmap, 0 if default + OpenGL's internal color channel format + width of image + height of image + color channels of this image + how this image express each pixel + data array of pixels + + + + Same fucntion as OpenGL api glTexParameteri + + texture target to set parameters + name of parameter + value of parameter + + + + Same fucntion as OpenGL api glUseShader. + + Sign of program to be used + + + + Same function as the OpenGL api, glViewPort + + + + + + + + + A sensor used for cheking out if a bullet hit a player or something else + + + + + A 2D vector presenting the position of an enemy entity, position can also be visited by X, Y + + + + + X position of an enenmy entity + + + + + Y position of an enemy entity + + + + + Init an instance of OpenGL program, + This method should be called before any other StgSharp api. + + + + + Version of current StgSharp platform. + Main version represent in hundred's digit, + and sub version represent in ten's digit. + + + + + Write a log message to log file, and mark the level of this message. + + A string contains information of how current evironment runs. + The severity of current message. + + + + Part of a circle. All points on a arc has the same distance to their center. + + + + + A collection of all point on the same plain and has the same distance to a point + + + + + The origin of this coordinate. + + + + + The horizontial axis of the coordinate. + Point to the right direction. + + + + + The vertical axis of the coordinate. + Point to the top direction. + + + + + 当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常 + + + + + Caculate the movement of a point. + + The game tick represent time passed by + A 3d vector representing movement + + + + Move begin side of a line. + It is recommended to override this function rather than + loading an with same function. + + Time passed since current line was created. + + + + Move end side of a line. + It is recommended to override this function rather than + loading an with same function. + + Time passed since current line was created. + + + + + Move the third vertix. this is a useless method for Parallelograms. + + Current time tick + + Geometry overdefined + + + + Move the third vertix. This method is useless for Parallelograms. + + Current time tick + + Geometry overdefined + + + + 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。 + + + + + Tick time this geometry eas crested + + + + + Get all sides of this . + + A array contains all straight s of current geometry item. + + + + Get a flat cincide with current geometry. + + + + + + Update the coordinate of the point. If this is a moving point, + (Points on sides or surface if other geometry items) + please do not define any motion here, codes will be ignored by program + + Time passes since the program begin, counted by frames + + + + 计算中心点相对于参考原点的位移 + + 当前游戏刻 + + + + + A square + + + + + A linear data structure with dynamic length. + It contains a of , + each is twice longer than the former one. + + + + + + Init a with a certain amount of elements prepared. + + Amount of elements to be prepared. + + + + Create a new instance of , + and fill the begining ones of elemtns as given instance. + + Amount of beginning elements to be filled + + + + + Length of this + + + + + A pair of value + + + + + A value. + The lower byte is , + and higher byte is . + + + + + The first value. + + + + + The second value. + + + + + A microsecond-accuracy timer. It will refresh every a certain time span. + + + + + Create a new and define the length of time span. Length of a single time span is defined in microseconds. + + + + + + + Create a new and define the length of time span. + Length of a single time span is defined in seconds. + + + + + + + Create a new and define the length of time span. Length of a single time span is defined in microseconds. + + + + + + + Time source provider provided in internal framework. + + + + + The method this will call every time a new time span started. + + + + + OpenGL numeric type. + An IEEE-754 floating-point value, clamped to the range [0,1]. + + + + + OpenGL numeric type. + An IEEE-754 double precision floating-point value, clamped to the range [0,1]. + + + + + A two dimension vector defined by two elements. + Vec2Ds in StgSharp are defaultly usaed as colum vector. + + + + + Reurns the value of ArcSin(x) + + The sine value of the angle + + + + + + Get the value of E ^ x; + + + + + + + + + + + Returns the value of ln(x). + + + + + calculate the value of x^y + + + + Returns the value of x^y + + + + returns a random float number between 0 and 1. + + + + + + + + + + + + Generates a random seed in int value. + + + + + The COLORREF value is used to specify an RGB color. + + When specifying an explicit [RGB](/windows/desktop/api/Wingdi/nf-wingdi-rgb) color, the **COLORREF** value has the following hexadecimal form: `0x00bbggrr` The low-order byte contains a value for the relative intensity of red; the second byte contains a value for green; and the third byte contains a value for blue. The high-order byte must be zero. The maximum value for a single byte is 0xFF. To create a **COLORREF** color value, use the [RGB](/windows/desktop/api/Wingdi/nf-wingdi-rgb) macro. To extract the individual values for the red, green, and blue components of a color value, use the [**GetRValue**](/windows/desktop/api/Wingdi/nf-wingdi-getrvalue), [GetGValue](/windows/desktop/api/Wingdi/nf-wingdi-getgvalue), and [GetBValue](/windows/desktop/api/Wingdi/nf-wingdi-getbvalue) macros, respectively. + Read more on docs.microsoft.com. + + + + + A pointer to a null-terminated, constant, ANSI character string. + + + + + A pointer to the first character in the string. The content should be considered readonly, as it was typed as constant in the SDK. + + + + + Gets the number of characters up to the first null character (exclusive). + + + + + Returns a with a copy of this character array, decoding as UTF-8. + + A , or if is . + + + + Returns a span of the characters in this string, up to the first null character (exclusive). + + + + + A pointer to a null-terminated, constant character string. + + + + + A pointer to the first character in the string. The content should be considered readonly, as it was typed as constant in the SDK. + + + + + Gets the number of characters up to the first null character (exclusive). + + + + + Returns a with a copy of this character array, up to the first null character (exclusive). + + A , or if is . + + + + Returns a span of the characters in this string, up to the first null character (exclusive). + + + + The RECT structure defines a rectangle by the coordinates of its upper-left and lower-right corners. + The RECT structure is identical to the RECTL structure. + + + Specifies the x-coordinate of the upper-left corner of the rectangle. + + + Specifies the y-coordinate of the upper-left corner of the rectangle. + + + Specifies the x-coordinate of the lower-right corner of the rectangle. + + + Specifies the y-coordinate of the lower-right corner of the rectangle. + + + Contains message information from a thread's message queue. + + Learn more about this API from docs.microsoft.com. + + + + + Type: HWND A handle to the window whose window procedure receives the message. This member is NULL when the message is a thread message. + Read more on docs.microsoft.com. + + + + + Type: UINT The message identifier. Applications can only use the low word; the high word is reserved by the system. + Read more on docs.microsoft.com. + + + + + Type: WPARAM Additional information about the message. The exact meaning depends on the value of the message member. + Read more on docs.microsoft.com. + + + + + Type: LPARAM Additional information about the message. The exact meaning depends on the value of the message member. + Read more on docs.microsoft.com. + + + + + Type: DWORD The time at which the message was posted. + Read more on docs.microsoft.com. + + + + + Type: POINT The cursor position, in screen coordinates, when the message was posted. + Read more on docs.microsoft.com. + + + + Contains the window class attributes that are registered by the RegisterClass function. (ANSI) + + > [!NOTE] > The winuser.h header defines WNDCLASS as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes). + Read more on docs.microsoft.com. + + + + + Type: UINT The class style(s). This member can be any combination of the Class Styles. + Read more on docs.microsoft.com. + + + + + Type: WNDPROC A pointer to the window procedure. You must use the CallWindowProc function to call the window procedure. For more information, see WindowProc. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window-class structure. The system initializes the bytes to zero. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window instance. The system initializes the bytes to zero. If an application uses WNDCLASS to register a dialog box created by using the CLASS directive in the resource file, it must set this member to DLGWINDOWEXTRA. + Read more on docs.microsoft.com. + + + + + Type: HINSTANCE A handle to the instance that contains the window procedure for the class. + Read more on docs.microsoft.com. + + + + + Type: HICON A handle to the class icon. This member must be a handle to an icon resource. If this member is NULL, the system provides a default icon. + Read more on docs.microsoft.com. + + + + + Type: HCURSOR A handle to the class cursor. This member must be a handle to a cursor resource. If this member is NULL, an application must explicitly set the cursor shape whenever the mouse moves into the application's window. + Read more on docs.microsoft.com. + + + + + Type: HBRUSH A handle to the class background brush. This member can be a handle to the physical brush to be used for painting the background, or it can be a color value. A color value must be one of the following standard system colors (the value 1 must be added to the chosen color). If a color value is given, you must convert it to one of the following HBRUSH types: + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR The resource name of the class menu, as the name appears in the resource file. If you use an integer to identify the menu, use the MAKEINTRESOURCE macro. If this member is NULL, windows belonging to this class have no default menu. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR A pointer to a null-terminated string or is an atom. If this parameter is an atom, it must be a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpszClassName; the high-order word must be zero. + If lpszClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names. The maximum length for lpszClassName is 256. If lpszClassName is greater than the maximum length, the RegisterClass function will fail. + Read more on docs.microsoft.com. + + + + Contains the window class attributes that are registered by the RegisterClass function. (Unicode) + + > [!NOTE] > The winuser.h header defines WNDCLASS as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes). + Read more on docs.microsoft.com. + + + + + Type: UINT The class style(s). This member can be any combination of the Class Styles. + Read more on docs.microsoft.com. + + + + + Type: WNDPROC A pointer to the window procedure. You must use the CallWindowProc function to call the window procedure. For more information, see WindowProc. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window-class structure. The system initializes the bytes to zero. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window instance. The system initializes the bytes to zero. If an application uses WNDCLASS to register a dialog box created by using the CLASS directive in the resource file, it must set this member to DLGWINDOWEXTRA. + Read more on docs.microsoft.com. + + + + + Type: HINSTANCE A handle to the instance that contains the window procedure for the class. + Read more on docs.microsoft.com. + + + + + Type: HICON A handle to the class icon. This member must be a handle to an icon resource. If this member is NULL, the system provides a default icon. + Read more on docs.microsoft.com. + + + + + Type: HCURSOR A handle to the class cursor. This member must be a handle to a cursor resource. If this member is NULL, an application must explicitly set the cursor shape whenever the mouse moves into the application's window. + Read more on docs.microsoft.com. + + + + + Type: HBRUSH A handle to the class background brush. This member can be a handle to the physical brush to be used for painting the background, or it can be a color value. A color value must be one of the following standard system colors (the value 1 must be added to the chosen color). If a color value is given, you must convert it to one of the following HBRUSH types: + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR The resource name of the class menu, as the name appears in the resource file. If you use an integer to identify the menu, use the MAKEINTRESOURCE macro. If this member is NULL, windows belonging to this class have no default menu. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR A pointer to a null-terminated string or is an atom. If this parameter is an atom, it must be a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpszClassName; the high-order word must be zero. + If lpszClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names. The maximum length for lpszClassName is 256. If lpszClassName is greater than the maximum length, the RegisterClass function will fail. + Read more on docs.microsoft.com. + + + + + Represents a Win32 handle that can be closed with . + + + + + Represents a Win32 handle that can be closed with . + + + + The GLYPHMETRICSFLOAT structure contains information about the placement and orientation of a glyph in a character cell. + The values of GLYPHMETRICSFLOAT are specified as notional units. + + + Specifies the width of the smallest rectangle (the glyph's black box) that completely encloses the glyph. + + + Specifies the height of the smallest rectangle (the glyph's black box) that completely encloses the glyph. + + + Specifies the x and y coordinates of the upper-left corner of the smallest rectangle that completely encloses the glyph. + + + Specifies the horizontal distance from the origin of the current character cell to the origin of the next character cell. + + + Specifies the vertical distance from the origin of the current character cell to the origin of the next character cell. + + + The LAYERPLANEDESCRIPTOR structure describes the pixel format of a drawing surface. + Please notice, as documented above, that certain layer plane properties are not supported in the current implementation. The implementation is the Microsoft GDI software implementation of OpenGL. Hardware manufacturers that enhance parts of OpenGL may support some layer plane properties not supported by the generic implementation. + + + Specifies the size of this data structure. Set this value to sizeof(LAYERPLANEDESCRIPTOR). + + + Specifies the version of this data structure. Set this value to 1. + + + + A set of bit flags that specify properties of the layer plane. The properties are generally not mutually exclusive; any combination of bit flags can be set, with the exceptions noted. The following bit flag constants are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Specifies the type of pixel data. The following types are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Specifies the number of color bitplanes in each color buffer. For RGBA pixel types, it is the size of the color buffer, excluding the alpha bitplanes. For color-index pixels, it is the size of the color-index buffer. + + + Specifies the number of red bitplanes in each RGBA color buffer. + + + Specifies the shift count for red bitplanes in each RGBA color buffer. + + + Specifies the number of green bitplanes in each RGBA color buffer. + + + Specifies the shift count for green bitplanes in each RGBA color buffer. + + + Specifies the number of blue bitplanes in each RGBA color buffer. + + + Specifies the shift count for blue bitplanes in each RGBA color buffer. + + + Specifies the number of alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the shift count for alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the total number of bitplanes in the accumulation buffer. + + + Specifies the number of red bitplanes in the accumulation buffer. + + + Specifies the number of green bitplanes in the accumulation buffer. + + + Specifies the number of blue bitplanes in the accumulation buffer. + + + Specifies the number of alpha bitplanes in the accumulation buffer. + + + Specifies the depth of the depth (z-axis) buffer. + + + Specifies the depth of the stencil buffer. + + + Specifies the number of auxiliary buffers. Auxiliary buffers are not supported. + + + + + + Not used. Must be zero. + + + When the LPD_TRANSPARENT flag is set, specifies the transparent color or index value. Typically the value is zero. + + + The PIXELFORMATDESCRIPTOR structure describes the pixel format of a drawing surface. + Please notice carefully, as documented above, that certain pixel format properties are not supported in the current generic implementation. The generic implementation is the Microsoft GDI software implementation of OpenGL. Hardware manufacturers may enhance parts of OpenGL, and may support some pixel format properties not supported by the generic implementation. + + + Specifies the size of this data structure. This value should be set to sizeof(PIXELFORMATDESCRIPTOR). + + + Specifies the version of this data structure. This value should be set to 1. + + + + A set of bit flags that specify properties of the pixel buffer. The properties are generally not mutually exclusive; you can set any combination of bit flags, with the exceptions noted. The following bit flag constants are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Specifies the type of pixel data. The following types are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Specifies the number of color bitplanes in each color buffer. For RGBA pixel types, it is the size of the color buffer, excluding the alpha bitplanes. For color-index pixels, it is the size of the color-index buffer. + + + Specifies the number of red bitplanes in each RGBA color buffer. + + + Specifies the shift count for red bitplanes in each RGBA color buffer. + + + Specifies the number of green bitplanes in each RGBA color buffer. + + + Specifies the shift count for green bitplanes in each RGBA color buffer. + + + Specifies the number of blue bitplanes in each RGBA color buffer. + + + Specifies the shift count for blue bitplanes in each RGBA color buffer. + + + Specifies the number of alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the shift count for alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the total number of bitplanes in the accumulation buffer. + + + Specifies the number of red bitplanes in the accumulation buffer. + + + Specifies the number of green bitplanes in the accumulation buffer. + + + Specifies the number of blue bitplanes in the accumulation buffer. + + + Specifies the number of alpha bitplanes in the accumulation buffer. + + + Specifies the depth of the depth (z-axis) buffer. + + + Specifies the depth of the stencil buffer. + + + Specifies the number of auxiliary buffers. Auxiliary buffers are not supported. + + + Specifies the number of overlay and underlay planes. Bits 0 through 3 specify up to 15 overlay planes and bits 4 through 7 specify up to 15 underlay planes. + + + Ignored. Earlier implementations of OpenGL used this member, but it is no longer used. + + + Specifies the transparent color or index of an underlay plane. When the pixel type is RGBA, dwVisibleMask is a transparent RGB color value. When the pixel type is color index, it is a transparent index value. + + + Ignored. Earlier implementations of OpenGL used this member, but it is no longer used. + + + The POINTFLOAT structure contains the x and y coordinates of a point. + + Learn more about this API from docs.microsoft.com. + + + + Specifies the horizontal (x) coordinate of a point. + + + Specifies the vertical (y) coordinate of a point. + + + + Contains extern methods from "GDI32.dll". + + + Contains extern methods from "KERNEL32.dll". + + + Contains extern methods from "OPENGL32.dll". + + + Contains extern methods from "USER32.dll". + + + + The DeleteObject function deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. After the object is deleted, the specified handle is no longer valid. + A handle to a logical pen, brush, font, bitmap, region, or palette. + + If the function succeeds, the return value is nonzero. If the specified handle is not valid or is currently selected into a DC, the return value is zero. + + + Do not delete a drawing object (pen or brush) while it is still selected into a DC. When a pattern brush is deleted, the bitmap associated with the brush is not deleted. The bitmap must be deleted independently. + Read more on docs.microsoft.com. + + + + + + + The ChoosePixelFormat function attempts to match an appropriate pixel format supported by a device context to a given pixel format specification. + Specifies the device context that the function examines to determine the best match for the pixel format descriptor pointed to by ppfd. + + Pointer to a PIXELFORMATDESCRIPTOR structure that specifies the requested pixel format. In this context, the members of the PIXELFORMATDESCRIPTOR structure that ppfd points to are used as follows: + This doc was truncated. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is a pixel format index (one-based) that is the closest match to the given pixel format descriptor. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + You must ensure that the pixel format matched by the ChoosePixelFormat function satisfies your requirements. For example, if you request a pixel format with a 24-bit RGB color buffer but the device context offers only 8-bit RGB color buffers, the function returns a pixel format with an 8-bit RGB color buffer. + + + The DescribePixelFormat function obtains information about the pixel format identified by iPixelFormat of the device associated with hdc. The function sets the members of the PIXELFORMATDESCRIPTOR structure pointed to by ppfd with that pixel format data. + Specifies the device context. + Index that specifies the pixel format. The pixel formats that a device context supports are identified by positive one-based integer indexes. + The size, in bytes, of the structure pointed to by ppfd. The DescribePixelFormat function stores no more than nBytes bytes of data to that structure. Set this value to sizeof(PIXELFORMATDESCRIPTOR). + Pointer to a PIXELFORMATDESCRIPTOR structure whose members the function sets with pixel format data. The function stores the number of bytes copied to the structure in the structure's nSize member. If, upon entry, ppfd is NULL, the function writes no data to the structure. This is useful when you only want to obtain the maximum pixel format index of a device context. + + If the function succeeds, the return value is the maximum pixel format index of the device context. In addition, the function sets the members of the PIXELFORMATDESCRIPTOR structure pointed to by ppfd according to the specified pixel format. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + Learn more about this API from docs.microsoft.com. + + + + The DeleteEnhMetaFile function deletes an enhanced-format metafile or an enhanced-format metafile handle. + A handle to an enhanced metafile. + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. + + If the hemf parameter identifies an enhanced metafile stored in memory, the DeleteEnhMetaFile function deletes the metafile. If hemf identifies a metafile stored on a disk, the function deletes the metafile handle but does not destroy the actual metafile. An application can retrieve the file by calling the GetEnhMetaFile function. + + + + + + The GetEnhMetaFilePixelFormat function retrieves pixel format information for an enhanced metafile. + Identifies the enhanced metafile. + Specifies the size, in bytes, of the buffer into which the pixel format information is copied. + Pointer to a PIXELFORMATDESCRIPTOR structure that contains the logical pixel format specification. The metafile uses this structure to record the logical pixel format specification. + + If the function succeeds and finds a pixel format, the return value is the size of the metafile's pixel format. If no pixel format is present, the return value is zero. If an error occurs and the function fails, the return value is GDI_ERROR. To get extended error information, call GetLastError. + + + When an enhanced metafile specifies a pixel format in its ENHMETAHEADER structure and the pixel format fits in the buffer, the pixel format information is copied into ppfd. When cbBuffer is too small to contain the pixel format of the metafile, the pixel format is not copied to the buffer. In either case, the function returns the size of the metafile's pixel format. For information on metafile recording and other operations, see Enhanced Metafile Operations. + Read more on docs.microsoft.com. + + + + The GetPixelFormat function obtains the index of the currently selected pixel format of the specified device context. + Specifies the device context of the currently selected pixel format index returned by the function. + + If the function succeeds, the return value is the currently selected pixel format index of the specified device context. This is a positive, one-based index value. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + Learn more about this API from docs.microsoft.com. + + + + + + + The SetPixelFormat function sets the pixel format of the specified device context to the format specified by the iPixelFormat index. + Specifies the device context whose pixel format the function attempts to set. + Index that identifies the pixel format to set. The various pixel formats supported by a device context are identified by one-based indexes. + Pointer to a PIXELFORMATDESCRIPTOR structure that contains the logical pixel format specification. The system's metafile component uses this structure to record the logical pixel format specification. The structure has no other effect upon the behavior of the SetPixelFormat function. + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + If hdc references a window, calling the SetPixelFormat function also changes the pixel format of the window. Setting the pixel format of a window more than once can lead to significant complications for the Window Manager and for multithread applications, so it is not allowed. An application can only set the pixel format of a window one time. Once a window's pixel format is set, it cannot be changed. You should select a pixel format in the device context before calling the wglCreateContext function. The wglCreateContext function creates a rendering context for drawing on the device in the selected pixel format of the device context. An OpenGL window has its own pixel format. Because of this, only device contexts retrieved for the client area of an OpenGL window are allowed to draw into the window. As a result, an OpenGL window should be created with the WS_CLIPCHILDREN and WS_CLIPSIBLINGS styles. Additionally, the window class attribute should not include the CS_PARENTDC style. + Read more on docs.microsoft.com. + + + + The SwapBuffers function exchanges the front and back buffers if the current pixel format for the window referenced by the specified device context includes a back buffer. + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + If the current pixel format for the window referenced by the device context does not include a back buffer, this call has no effect and the content of the back buffer is undefined when the function returns. With multithread applications, flush the drawing commands in any other threads drawing to the same window before calling SwapBuffers. + Read more on docs.microsoft.com. + + + + Closes an open object handle. + A valid handle to an open object. + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. If the application is running under a debugger, the function will throw an exception if it receives either a handle value that is not valid or a pseudo-handle value. This can happen if you close a handle twice, or if you call CloseHandle on a handle returned by the FindFirstFile function instead of calling the FindClose function. + + + The CloseHandle function closes handles to the following objects: + This doc was truncated. + Read more on docs.microsoft.com. + + + + Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. + + A handle to the loaded library module. The LoadLibrary, LoadLibraryEx, GetModuleHandle, or GetModuleHandleEx function returns this handle. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call the GetLastError function. + + + The system maintains a per-process reference count for each loaded module. A module that was loaded at process initialization due to load-time dynamic linking has a reference count of one. The reference count for a module is incremented each time the module is loaded by a call to LoadLibrary. The reference count is also incremented by a call to LoadLibraryEx unless the module is being loaded for the first time and is being loaded as a data or image file. The reference count is decremented each time the FreeLibrary or FreeLibraryAndExitThread function is called for the module. When a module's reference count reaches zero or the process terminates, the system unloads the module from the address space of the process. Before unloading a library module, the system enables the module to detach from the process by calling the module's DllMain function, if it has one, with the DLL_PROCESS_DETACH value. Doing so gives the library module an opportunity to clean up resources allocated on behalf of the current process. After the entry-point function returns, the library module is removed from the address space of the current process. It is not safe to call FreeLibrary from DllMain. For more information, see the Remarks section in DllMain. Calling FreeLibrary does not affect other processes that are using the same module. Use caution when calling FreeLibrary with a handle returned by GetModuleHandle. The GetModuleHandle function does not increment a module's reference count, so passing this handle to FreeLibrary can cause a module to be unloaded prematurely. A thread that must unload the DLL in which it is executing and then terminate itself should call FreeLibraryAndExitThread instead of calling FreeLibrary and ExitThread separately. Otherwise, a race condition can occur. For details, see the Remarks section of FreeLibraryAndExitThread. + Read more on docs.microsoft.com. + + + + + + + Retrieves a module handle for the specified module. The module must have been loaded by the calling process. (Unicode) + + The name of the loaded module (either a .dll or .exe file). If the file name extension is omitted, the default library extension .dll is appended. The file name string can include a trailing point character (.) to indicate that the module name has no extension. The string does not have to specify a path. When specifying a path, be sure to use backslashes (\\), not forward slashes (/). The name is compared (case independently) to the names of modules currently mapped into the address space of the calling process. + If this parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process (.exe file). The GetModuleHandle function does not retrieve handles for modules that were loaded using the LOAD_LIBRARY_AS_DATAFILE flag. For more information, see LoadLibraryEx. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is a handle to the specified module. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The returned handle is not global or inheritable. It cannot be duplicated or used by another process. If lpModuleName does not include a path and there is more than one loaded module with the same base name and extension, you cannot predict which module handle will be returned. To work around this problem, you could specify a path, use side-by-side assemblies, or use GetModuleHandleEx to specify a memory location rather than a DLL name. The GetModuleHandle function returns a handle to a mapped module without incrementing its reference count. However, if this handle is passed to the FreeLibrary function, the reference count of the mapped module will be decremented. Therefore, do not pass a handle returned by GetModuleHandle to the FreeLibrary function. Doing so can cause a DLL module to be unmapped prematurely. This function must be used carefully in a multithreaded application. There is no guarantee that the module handle remains valid between the time this function returns the handle and the time it is used. For example, suppose that a thread retrieves a module handle, but before it uses the handle, a second thread frees the module. If the system loads another module, it could reuse the module handle that was recently freed. Therefore, the first thread would have a handle to a different module than the one intended. + Read more on docs.microsoft.com. + + + + + + + Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL). + + A handle to the DLL module that contains the function or variable. The LoadLibrary, LoadLibraryEx, LoadPackagedLibrary, or GetModuleHandle function returns this handle. The GetProcAddress function does not retrieve addresses from modules that were loaded using the LOAD_LIBRARY_AS_DATAFILE flag. For more information, see LoadLibraryEx. + Read more on docs.microsoft.com. + + The function or variable name, or the function's ordinal value. If this parameter is an ordinal value, it must be in the low-order word; the high-order word must be zero. + + If the function succeeds, the return value is the address of the exported function or variable. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The spelling and case of a function name pointed to by lpProcName must be identical to that in the EXPORTS statement of the source DLL's module-definition (.def) file. The exported names of functions may differ from the names you use when calling these functions in your code. This difference is hidden by macros used in the SDK header files. For more information, see Conventions for Function Prototypes. The lpProcName parameter can identify the DLL function by specifying an ordinal value associated with the function in the EXPORTS statement. GetProcAddress verifies that the specified ordinal is in the range 1 through the highest ordinal value exported in the .def file. The function then uses the ordinal as an index to read the function's address from a function table. If the .def file does not number the functions consecutively from 1 to N (where N is the number of exported functions), an error can occur where GetProcAddress returns an invalid, non-NULL address, even though there is no function with the specified ordinal. If the function might not exist in the DLL module—for example, if the function is available only on Windows Vista but the application might be running on Windows XP—specify the function by name rather than by ordinal value and design your application to handle the case when the function is not available, as shown in the following code fragment. + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + Loads the specified module into the address space of the calling process. (LoadLibraryW) + + The name of the module. This can be either a library module (a .dll file) or an executable module (an .exe file). If the specified module is an executable module, static imports are not loaded; instead, the module is loaded as if by LoadLibraryEx with the `DONT_RESOLVE_DLL_REFERENCES` flag. The name specified is the file name of the module and is not related to the name stored in the library module itself, as specified by the LIBRARY keyword in the module-definition (.def) file. If the string specifies a full path, the function searches only that path for the module. If the string specifies a relative path or a module name without a path, the function uses a standard search strategy to find the module; for more information, see the Remarks. If the function cannot find the module, the function fails. When specifying a path, be sure to use backslashes (\\), not forward slashes (/). For more information about paths, see Naming a File or Directory. If the string specifies a module name without a path and the file name extension is omitted, the function appends the default library extension ".DLL" to the module name. To prevent the function from appending ".DLL" to the module name, include a trailing point character (.) in the module name string. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is a handle to the module. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + To enable or disable error messages displayed by the loader during DLL loads, use the SetErrorMode function. LoadLibrary can be used to load a library module into the address space of the process and return a handle that can be used in GetProcAddress to get the address of a DLL function. LoadLibrary can also be used to load other executable modules. For example, the function can specify an .exe file to get a handle that can be used in FindResource or LoadResource. However, do not use LoadLibrary to run an .exe file. Instead, use the CreateProcess function. If the specified module is a DLL that is not already loaded for the calling process, the system calls the DLL's DllMain function with the DLL_PROCESS_ATTACH value. If DllMain returns TRUE, LoadLibrary returns a handle to the module. If DllMain returns FALSE, the system unloads the DLL from the process address space and LoadLibrary returns NULL. It is not safe to call LoadLibrary from DllMain. For more information, see the Remarks section in DllMain. Module handles are not global or inheritable. A call to LoadLibrary by one process does not produce a handle that another process can use — for example, in calling GetProcAddress. The other process must make its own call to LoadLibrary for the module before calling GetProcAddress. If lpFileName does not include a path and there is more than one loaded module with the same base name and extension, the function returns a handle to the module that was loaded first. If no file name extension is specified in the lpFileName parameter, the default library extension .dll is appended. However, the file name string can include a trailing point character (.) to indicate that the module name has no extension. When no path is specified, the function searches for loaded modules whose base name matches the base name of the module to be loaded. If the name matches, the load succeeds. Otherwise, the function searches for the file. The first directory searched is the directory containing the image file used to create the calling process (for more information, see the CreateProcess function). Doing this allows private dynamic-link library (DLL) files associated with a process to be found without adding the process's installed directory to the PATH environment variable. If a relative path is specified, the entire relative path is appended to every token in the DLL search path list. To load a module from a relative path without searching any other path, use GetFullPathName to get a nonrelative path and call LoadLibrary with the nonrelative path. For more information on the DLL search order, see Dynamic-Link Library Search Order. The search path can be altered using the SetDllDirectory function. This solution is recommended instead of using SetCurrentDirectory or hard-coding the full path to the DLL. If a path is specified and there is a redirection file for the application, the function searches for the module in the application's directory. If the module exists in the application's directory, LoadLibrary ignores the specified path and loads the module from the application's directory. If the module does not exist in the application's directory, LoadLibrary loads the module from the specified directory. For more information, see Dynamic Link Library Redirection. If you call LoadLibrary with the name of an assembly without a path specification and the assembly is listed in the system compatible manifest, the call is automatically redirected to the side-by-side assembly. The system maintains a per-process reference count on all loaded modules. Calling LoadLibrary increments the reference count. Calling the FreeLibrary or FreeLibraryAndExitThread function decrements the reference count. The system unloads a module when its reference count reaches zero or when the process terminates (regardless of the reference count). Windows Server 2003 and Windows XP:  The Visual C++ compiler supports a syntax that enables you to declare thread-local variables: _declspec(thread). If you use this syntax in a DLL, you will not be able to load the DLL explicitly using LoadLibrary on versions of Windows prior to Windows Vista. If your DLL will be loaded explicitly, you must use the thread local storage functions instead of _declspec(thread). For an example, see Using Thread Local Storage in a Dynamic Link Library.

Security Remarks

Do not use the SearchPath function to retrieve a path to a DLL for a subsequent LoadLibrary call. The SearchPath function uses a different search order than LoadLibrary and it does not use safe process search mode unless this is explicitly enabled by calling SetSearchPathMode with BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE. Therefore, SearchPath is likely to first search the user’s current working directory for the specified DLL. If an attacker has copied a malicious version of a DLL into the current working directory, the path retrieved by SearchPath will point to the malicious DLL, which LoadLibrary will then load. Do not make assumptions about the operating system version based on a LoadLibrary call that searches for a DLL. If the application is running in an environment where the DLL is legitimately not present but a malicious version of the DLL is in the search path, the malicious version of the DLL may be loaded. Instead, use the recommended techniques described in Getting the System Version.
+ Read more on docs.microsoft.com. +
+
+ + + + + The wglGetProcAddress function returns the address of an OpenGL extension function for use with the current OpenGL rendering context. + + When the function succeeds, the return value is the address of the extension function. When no current rendering context exists or the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The OpenGL library supports multiple implementations of its functions. Extension functions supported in one rendering context are not necessarily available in a separate rendering context. Thus, for a given rendering context in an application, use the function addresses returned by the wglGetProcAddress function only. The spelling and the case of the extension function pointed to by lpszProc must be identical to that of a function supported and implemented by OpenGL. Because extension functions are not exported by OpenGL, you must use wglGetProcAddress to get the addresses of vendor-specific extension functions. The extension function addresses are unique for each pixel format. All rendering contexts of a given pixel format share the same extension function addresses. + Read more on docs.microsoft.com. + + + + The wglDeleteContext function deletes a specified OpenGL rendering context. + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + It is an error to delete an OpenGL rendering context that is the current context of another thread. However, if a rendering context is the calling thread's current context, the wglDeleteContext function changes the rendering context to being not current before deleting it. The wglDeleteContext function does not delete the device context associated with the OpenGL rendering context when you call the wglMakeCurrent function. After calling wglDeleteContext, you must call DeleteDC to delete the associated device context. + Read more on docs.microsoft.com. + + + + + + + The wglCreateContext function creates a new OpenGL rendering context, which is suitable for drawing on the device referenced by hdc. The rendering context has the same pixel format as the device context. + + If the function succeeds, the return value is a valid handle to an OpenGL rendering context. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + A rendering context is not the same as a device context. Set the pixel format of the device context before creating a rendering context. For more information on setting the device context's pixel format, see the SetPixelFormat function. To use OpenGL, you create a rendering context, select it as a thread's current rendering context, and then call OpenGL functions. When you are finished with the rendering context, you dispose of it by calling the wglDeleteContext function. The following code example shows wglCreateContext usage. + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + The wglCreateLayerContext function creates a new OpenGL rendering context for drawing to a specified layer plane on a device context. + + If the function succeeds, the return value is a handle to an OpenGL rendering context. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + A rendering context is a port through which all OpenGL commands pass. Every thread that makes OpenGL calls must have one current, active rendering context. A rendering context is not the same as a device context; a rendering context contains information specific to OpenGL, while a device context contains information specific to GDI. Before you create a rendering context, set the pixel format of the device context with the SetPixelFormat function. You can use a rendering context in a specified layer plane of a window with identical pixel formats only. With OpenGL applications that use multiple threads, you create a rendering context, select it as the current rendering context of a thread, and make OpenGL calls for the specified thread. When you are finished with the rendering context of the thread, call the wglDeleteContext function. + Read more on docs.microsoft.com. + + + + + + + The wglCopyContext function copies selected groups of rendering states from one OpenGL rendering context to another. + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + Using the wglCopyContext function, you can synchronize the rendering state of two rendering contexts. You can only copy the rendering state between two rendering contexts within the same process. The rendering contexts must be from the same OpenGL implementation. For example, you can always copy a rendering state between two rendering contexts with identical pixel format in the same process. You can copy the same state information available only with the glPushAttrib function. You cannot copy some state information, such as pixel pack/unpack state, render mode state, select state, and feedback state. When you call wglCopyContext, make sure that the destination rendering context, hglrcDst, is not current to any thread. + Read more on docs.microsoft.com. + + + + + + + The wglDescribeLayerPlane function obtains information about the layer planes of a given pixel format. + + If the function succeeds, the return value is TRUE. In addition, the wglDescribeLayerPlane function sets the members of the LAYERPLANEDESCRIPTOR structure pointed to by plpd according to the specified layer plane (iLayerPlane ) of the specified pixel format (iPixelFormat ). If the function fails, the return value is FALSE. + + The numbering of planes (iLayerPlane ) determines their order. Higher-numbered planes overlay lower-numbered planes. + + + + + + The wglGetCurrentContext function obtains a handle to the current OpenGL rendering context of the calling thread. + If the calling thread has a current OpenGL rendering context, wglGetCurrentContext returns a handle to that rendering context. Otherwise, the return value is NULL. + The current OpenGL rendering context of a thread is associated with a device context by means of the wglMakeCurrent function. You can use the wglGetCurrentDC function to obtain a handle to the device context associated with the current OpenGL rendering context. + + + The wglGetCurrentDC function obtains a handle to the device context that is associated with the current OpenGL rendering context of the calling thread. + If the calling thread has a current OpenGL rendering context, the function returns a handle to the device context associated with that rendering context by means of the wglMakeCurrent function. Otherwise, the return value is NULL. + You associate a device context with an OpenGL rendering context when it calls the wglMakeCurrent function. You can use the wglGetCurrentContext function to obtain a handle to the calling thread's current OpenGL rendering context. + + + + + + Retrieves the palette entries from a given color-index layer plane for a specified device context. + + Type: int If the function succeeds, the return value is the number of entries that were set in the palette in the specified layer plane of the window. If the function fails or when no pixel format is selected, the return value is zero. To get extended error information, call GetLastError. + + + Each color-index layer plane in a window has a palette with a size 2^n, where n is the number of bit planes in the layer plane. You cannot modify the transparent index of a palette. Use the wglRealizeLayerPalette function to realize the layer palette. Initially the layer palette contains only entries for white. + Read more on docs.microsoft.com. + + + + + + + The wglMakeCurrent function makes a specified OpenGL rendering context the calling thread's current rendering context. + When the wglMakeCurrent function succeeds, the return value is TRUE; otherwise the return value is FALSE. To get extended error information, call GetLastError. + + The hdc parameter must refer to a drawing surface supported by OpenGL. It need not be the same hdc that was passed to wglCreateContext when hglrc was created, but it must be on the same device and have the same pixel format. GDI transformation and clipping in hdc are not supported by the rendering context. The current rendering context uses the hdc device context until the rendering context is no longer current. Before switching to the new rendering context, OpenGL flushes any previous rendering context that was current to the calling thread. A thread can have one current rendering context. A process can have multiple rendering contexts by means of multithreading. A thread must set a current rendering context before calling any OpenGL functions. Otherwise, all OpenGL calls are ignored. A rendering context can be current to only one thread at a time. You cannot make a rendering context current to multiple threads. An application can perform multithread drawing by making different rendering contexts current to different threads, supplying each thread with its own rendering context and device context. If an error occurs, the wglMakeCurrent function makes the thread's current rendering context not current before returning. + Read more on docs.microsoft.com. + + + + The wglRealizeLayerPalette function maps palette entries from a given color-index layer plane into the physical palette or initializes the palette of an RGBA layer plane. + If the function succeeds, the return value is TRUE, even if bRealize is TRUE and the physical palette is not available. If the function fails or when no pixel format is selected, the return value is FALSE. To get extended error information, call GetLastError. + + The physical palette for a layer plane is a shared resource among windows with layer planes. When more than one window attempts to realize a palette for a given physical layer plane, only one palette at a time is realized. When you call the wglRealizeLayerPalette function, the layer palette of a foreground window is always realized first. When a window's layer palette is realized, its palette entries are always mapped one-to-one into the physical palette. Unlike GDI logical palettes, with wglRealizeLayerPalette there is no mapping of other windows' layer palettes to the current physical palette. Whenever a window becomes the foreground window, call wglRealizeLayerPalette to realize its layer palettes again, even if the pixel type of the layer plane is RGBA. Because wglRealizeLayerPalette doesn't realize the palette of the main plane, use GDI palette functions to realize the main plane palette. + Read more on docs.microsoft.com. + + + + + + + Sets the palette entries in a given color-index layer plane for a specified device context. + + Type: int If the function succeeds, the return value is the number of entries that were set in the palette in the specified layer plane of the window. If the function fails or no pixel format is selected, the return value is zero. To get extended error information, call GetLastError. + + + Each color-index plane in a window has a palette with a size 2^n, where n is the number of bit planes in the layer plane. You cannot modify the transparent index of a palette. Use the wglRealizeLayerPalette function to realize the layer palette. Initially the layer palette contains only entries for white. The wglSetLayerPaletteEntries function doesn't set the palette entries of the main plane palette. To update the main plane palette, use GDI palette functions. + Read more on docs.microsoft.com. + + + + + + + The wglShareLists function enables multiple OpenGL rendering contexts to share a single display-list space. + + When the function succeeds, the return value is TRUE. When the function fails, the return value is FALSE and the display lists are not shared. To get extended error information, call GetLastError. + + + When you create an OpenGL rendering context, it has its own display-list space. The wglShareLists function enables a rendering context to share the display-list space of another rendering context; any number of rendering contexts can share a single display-list space. Once a rendering context shares a display-list space, the rendering context always uses the display-list space until the rendering context is deleted. When the last rendering context of a shared display-list space is deleted, the shared display-list space is deleted. All the indexes and definitions of display lists in a shared display-list space are shared. You can only share display lists with rendering contexts within the same process. However, not all rendering contexts in a process can share display lists. Rendering contexts can share display lists only if they use the same implementation of OpenGL functions. All client rendering contexts of a given pixel format can always share display lists. All rendering contexts of a shared display list must use an identical pixel format. Otherwise the results depend on the implementation of OpenGL used.
Note  The wglShareLists function is only available with OpenGL version 1.01 or later. To determine the version number of the implementation of OpenGL, call glGetString.
 
+ Read more on docs.microsoft.com. +
+
+ + The wglSwapLayerBuffers function swaps the front and back buffers in the overlay, underlay, and main planes of the window referenced by a specified device context. + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + When a layer plane doesn't include a back buffer, calling the wglSwapLayerBuffers function has no effect on that layer plane. After you call wglSwapLayerBuffers, the state of the back buffer content is given in the corresponding LAYERPLANEDESCRIPTOR structure of the layer plane or in the PIXELFORMATDESCRIPTOR structure of the main plane. The wglSwapLayerBuffers function swaps the front and back buffers in the specified layer planes simultaneously. Some devices don't support swapping layer planes individually; they swap all layer planes as a group. When the PFD_SWAP_LAYER_BUFFERS flag of the PIXELFORMATDESCRIPTOR structure is set, it indicates that a device can swap individual layer planes and that you can call wglSwapLayerBuffers. With applications that use multiple threads, before calling wglSwapLayerBuffers, clear all drawing commands in all threads drawing to the same window. + Read more on docs.microsoft.com. + + + + The wglUseFontBitmaps function creates a set of bitmap display lists for use in the current OpenGL rendering context. (Unicode) + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + The wglUseFontBitmaps function defines count display lists in the current OpenGL rendering context. Each display list has an identifying number, starting at listBase. Each display list consists of a single call to glBitmap. The definition of bitmap listBase + i is taken from the glyph first + i of the font currently selected in the device context specified by hdc. If a glyph is not defined, then the function defines an empty display list for it. The wglUseFontBitmaps function creates bitmap text in the plane of the screen. It enables the labeling of objects in OpenGL. In the current version of Microsoft's implementation of OpenGL, you cannot make GDI calls to a device context that has a double-buffered pixel format. Therefore, you cannot use the GDI fonts and text functions with such device contexts. You can use the wglUseFontBitmaps function to circumvent this limitation and draw text in a double-buffered device context. The function determines the parameters of each call to glBitmap as follows. + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + The wglUseFontOutlines function creates a set of display lists, one for each glyph of the currently selected outline font of a device context, for use with the current rendering context. (Unicode) + + When the function succeeds, the return value is TRUE. When the function fails, the return value is FALSE and no display lists are generated. To get extended error information, call GetLastError. + + + The wglUseFontOutlines function defines the glyphs of an outline font with display lists in the current rendering context. The wglUseFontOutlines function works with TrueType fonts only; stroke and raster fonts are not supported. Each display list consists of either line segments or polygons, and has a unique identifying number starting with the listBase number. The wglUseFontOutlines function approximates glyph outlines by subdividing the quadratic B-spline curves of the outline into line segments, until the distance between the outline and the interpolated midpoint is within the value specified by deviation. This is the final format used when format is WGL_FONT_LINES. When you specify WGL_FONT_OUTLINES, the display lists created don't contain any normals; thus lighting doesn't work properly. To get the correct lighting of lines use WGL_FONT_POLYGONS and set glPolygonMode( GL_FRONT, GL_LINE ). When you specify format as WGL_FONT_POLYGONS the outlines are further tessellated into separate triangles, triangle fans, triangle strips, or quadrilateral strips to create the surface of each glyph. With WGL_FONT_POLYGONS, the created display lists call glFrontFace( GL_CW ) or glFrontFace( GL_CCW ); thus the current front-face value might be altered. For the best appearance of text with WGL_FONT_POLYGONS, cull the back faces as follows: + + This doc was truncated. + Read more on docs.microsoft.com. + + + + Destroys an icon and frees any memory the icon occupied. + + Type: HICON A handle to the icon to be destroyed. The icon must not be in use. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + It is only necessary to call DestroyIcon for icons and cursors created with the following functions: CreateIconFromResourceEx (if called without the LR_SHARED flag), CreateIconIndirect, and CopyIcon. Do not use this function to destroy a shared icon. A shared icon is valid as long as the module from which it was loaded remains in memory. The following functions obtain a shared icon. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Destroys a cursor and frees any memory the cursor occupied. Do not use this function to destroy a shared cursor. + + Type: HCURSOR A handle to the cursor to be destroyed. The cursor must not be in use. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + The DestroyCursor function destroys a nonshared cursor. Do not use this function to destroy a shared cursor. A shared cursor is valid as long as the module from which it was loaded remains in memory. The following functions obtain a shared cursor: + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + Calculates the required size of the window rectangle, based on the desired client-rectangle size. The window rectangle can then be passed to the CreateWindow function to create a window whose client area is the desired size. + + Type: LPRECT A pointer to a RECT structure that contains the coordinates of the top-left and bottom-right corners of the desired client area. When the function returns, the structure contains the coordinates of the top-left and bottom-right corners of the window to accommodate the desired client area. + Read more on docs.microsoft.com. + + + Type: DWORD The window style of the window whose required size is to be calculated. Note that you cannot specify the WS_OVERLAPPED style. + Read more on docs.microsoft.com. + + + Type: BOOL Indicates whether the window has a menu. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + A client rectangle is the smallest rectangle that completely encloses a client area. A window rectangle is the smallest rectangle that completely encloses the window, which includes the client area and the nonclient area. The AdjustWindowRect function does not add extra space when a menu bar wraps to two or more rows. The AdjustWindowRect function does not take the WS_VSCROLL or WS_HSCROLL styles into account. To account for the scroll bars, call the GetSystemMetrics function with SM_CXVSCROLL or SM_CYHSCROLL. + Read more on docs.microsoft.com. + + + + Destroys the specified menu and frees any memory that the menu occupies. + + Type: HMENU A handle to the menu to be destroyed. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + Before closing, an application must use the DestroyMenu function to destroy a menu not assigned to a window. A menu that is assigned to a window is automatically destroyed when the application closes. DestroyMenu is recursive, that is, it will destroy the menu and all its submenus. + Read more on docs.microsoft.com. + + + + + + + Creates an overlapped, pop-up, or child window with an extended window style; otherwise, this function is identical to the CreateWindow function. (Unicode) + + Type: DWORD The extended window style of the window being created. For a list of possible values, see Extended Window Styles. + Read more on docs.microsoft.com. + + + Type: LPCTSTR A null-terminated string or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpClassName; the high-order word must be zero. If lpClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, provided that the module that registers the class is also the module that creates the window. The class name can also be any of the predefined system class names. + Read more on docs.microsoft.com. + + + Type: LPCTSTR The window name. If the window style specifies a title bar, the window title pointed to by lpWindowName is displayed in the title bar. When using CreateWindow to create controls, such as buttons, check boxes, and static controls, use lpWindowName to specify the text of the control. When creating a static control with the SS_ICON style, use lpWindowName to specify the icon name or identifier. To specify an identifier, use the syntax "#num". + Read more on docs.microsoft.com. + + + Type: DWORD The style of the window being created. This parameter can be a combination of the window style values, plus the control styles indicated in the Remarks section. + Read more on docs.microsoft.com. + + + Type: int The initial horizontal position of the window. For an overlapped or pop-up window, the x parameter is the initial x-coordinate of the window's upper-left corner, in screen coordinates. For a child window, x is the x-coordinate of the upper-left corner of the window relative to the upper-left corner of the parent window's client area. If x is set to CW_USEDEFAULT, the system selects the default position for the window's upper-left corner and ignores the y parameter. CW_USEDEFAULT is valid only for overlapped windows; if it is specified for a pop-up or child window, the x and y parameters are set to zero. + Read more on docs.microsoft.com. + + + Type: int The initial vertical position of the window. For an overlapped or pop-up window, the y parameter is the initial y-coordinate of the window's upper-left corner, in screen coordinates. For a child window, y is the initial y-coordinate of the upper-left corner of the child window relative to the upper-left corner of the parent window's client area. For a list box y is the initial y-coordinate of the upper-left corner of the list box's client area relative to the upper-left corner of the parent window's client area. + If an overlapped window is created with the WS_VISIBLE style bit set and the x parameter is set to CW_USEDEFAULT, then the y parameter determines how the window is shown. If the y parameter is CW_USEDEFAULT, then the window manager calls ShowWindow with the SW_SHOW flag after the window has been created. If the y parameter is some other value, then the window manager calls ShowWindow with that value as the nCmdShow parameter. + Read more on docs.microsoft.com. + + + Type: int The width, in device units, of the window. For overlapped windows, nWidth is the window's width, in screen coordinates, or CW_USEDEFAULT. If nWidth is CW_USEDEFAULT, the system selects a default width and height for the window; the default width extends from the initial x-coordinates to the right edge of the screen; the default height extends from the initial y-coordinate to the top of the icon area. CW_USEDEFAULT is valid only for overlapped windows; if CW_USEDEFAULT is specified for a pop-up or child window, the nWidth and nHeight parameter are set to zero. + Read more on docs.microsoft.com. + + + Type: int The height, in device units, of the window. For overlapped windows, nHeight is the window's height, in screen coordinates. If the nWidth parameter is set to CW_USEDEFAULT, the system ignores nHeight. + Read more on docs.microsoft.com. + + + Type: HWND A handle to the parent or owner window of the window being created. To create a child window or an owned window, supply a valid window handle. This parameter is optional for pop-up windows. To create a message-only window, supply HWND_MESSAGE or a handle to an existing message-only window. + Read more on docs.microsoft.com. + + + Type: HMENU A handle to a menu, or specifies a child-window identifier, depending on the window style. For an overlapped or pop-up window, hMenu identifies the menu to be used with the window; it can be NULL if the class menu is to be used. For a child window, hMenu specifies the child-window identifier, an integer value used by a dialog box control to notify its parent about events. The application determines the child-window identifier; it must be unique for all child windows with the same parent window. + Read more on docs.microsoft.com. + + + Type: HINSTANCE A handle to the instance of the module to be associated with the window. + Read more on docs.microsoft.com. + + + Type: LPVOID Pointer to a value to be passed to the window through the CREATESTRUCT structure (lpCreateParams member) pointed to by the lParam param of the WM_CREATE message. This message is sent to the created window by this function before it returns. If an application calls CreateWindow to create a MDI client window, lpParam should point to a CLIENTCREATESTRUCT structure. If an MDI client window calls CreateWindow to create an MDI child window, lpParam should point to a MDICREATESTRUCT structure. lpParam may be NULL if no additional data is needed. + Read more on docs.microsoft.com. + + + Type: HWND If the function succeeds, the return value is a handle to the new window. If the function fails, the return value is NULL. To get extended error information, call GetLastError. This function typically fails for one of the following reasons: + This doc was truncated. + + + The CreateWindowEx function sends WM_NCCREATE, WM_NCCALCSIZE, and WM_CREATE messages to the window being created. If the created window is a child window, its default position is at the bottom of the Z-order. If the created window is a top-level window, its default position is at the top of the Z-order (but beneath all topmost windows unless the created window is itself topmost). For information on controlling whether the Taskbar displays a button for the created window, see Managing Taskbar Buttons. For information on removing a window, see the DestroyWindow function. The following predefined control classes can be specified in the lpClassName parameter. Note the corresponding control styles you can use in the dwStyle parameter. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Calls the default window procedure to provide default processing for any window messages that an application does not process. (Unicode) + + Type: HWND A handle to the window procedure that received the message. + Read more on docs.microsoft.com. + + + Type: UINT The message. + Read more on docs.microsoft.com. + + + Type: WPARAM Additional message information. The content of this parameter depends on the value of the Msg parameter. + Read more on docs.microsoft.com. + + + Type: LPARAM Additional message information. The content of this parameter depends on the value of the Msg parameter. + Read more on docs.microsoft.com. + + + Type: LRESULT The return value is the result of the message processing and depends on the message. + + + > [!NOTE] > The winuser.h header defines DefWindowProc as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes). + Read more on docs.microsoft.com. + + + + Destroys the specified window. + + Type: HWND A handle to the window to be destroyed. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + A thread cannot use DestroyWindow to destroy a window created by a different thread. If the window being destroyed is a child window that does not have the WS_EX_NOPARENTNOTIFY style, a WM_PARENTNOTIFY message is sent to the parent. + Read more on docs.microsoft.com. + + + + + + + Dispatches a message to a window procedure. It is typically used to dispatch a message retrieved by the GetMessage function. (DispatchMessageW) + + Type: const MSG* A pointer to a structure that contains the message. + Read more on docs.microsoft.com. + + + Type: LRESULT The return value specifies the value returned by the window procedure. Although its meaning depends on the message being dispatched, the return value generally is ignored. + + + The MSG structure must contain valid message values. If the lpmsg parameter points to a WM_TIMER message and the lParam parameter of the WM_TIMER message is not NULL, lParam points to a function that is called instead of the window procedure. Note that the application is responsible for retrieving and dispatching input messages to the dialog box. Most applications use the main message loop for this. However, to permit the user to move to and to select controls by using the keyboard, the application must call IsDialogMessage. For more information, see Dialog Box Keyboard Interface. + Read more on docs.microsoft.com. + + + + The GetDC function retrieves a handle to a device context (DC) for the client area of a specified window or for the entire screen. + A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen. + + If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is NULL. + + + The GetDC function retrieves a common, class, or private DC depending on the class style of the specified window. For class and private DCs, GetDC leaves the previously assigned attributes unchanged. However, for common DCs, GetDC assigns default attributes to the DC each time it is retrieved. For example, the default font is System, which is a bitmap font. Because of this, the handle to a common DC returned by GetDC does not tell you what font, color, or brush was used when the window was drawn. To determine the font, call GetTextFace. Note that the handle to the DC can only be used by a single thread at any one time. After painting with a common DC, the ReleaseDC function must be called to release the DC. Class and private DCs do not have to be released. ReleaseDC must be called from the same thread that called GetDC. The number of DCs is limited only by available memory. + Read more on docs.microsoft.com. + + + + + + + Loads the specified cursor resource from the executable (.EXE) file associated with an application instance. (Unicode) + + Type: HINSTANCE A handle to an instance of the module whose executable file contains the cursor to be loaded. + Read more on docs.microsoft.com. + + + Type: LPCTSTR The name of the cursor resource to be loaded. Alternatively, this parameter can consist of the resource identifier in the low-order word and zero in the high-order word. The MAKEINTRESOURCE macro can also be used to create this value. To use one of the predefined cursors, the application must set the hInstance parameter to NULL and the lpCursorName parameter to one the following values. + This doc was truncated. + Read more on docs.microsoft.com. + + + Type: HCURSOR If the function succeeds, the return value is the handle to the newly loaded cursor. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The LoadCursor function loads the cursor resource only if it has not been loaded; otherwise, it retrieves the handle to the existing resource. This function returns a valid cursor handle only if the lpCursorName parameter is a pointer to a cursor resource. If lpCursorName is a pointer to any type of resource other than a cursor (such as an icon), the return value is not NULL, even though it is not a valid cursor handle. The LoadCursor function searches the cursor resource most appropriate for the cursor for the current display device. The cursor resource can be a color or monochrome bitmap.

DPI Virtualization

This API does not participate in DPI virtualization. The output returned is not affected by the DPI of the calling thread.
+ Read more on docs.microsoft.com. +
+
+ + + + + Dispatches incoming nonqueued messages, checks the thread message queue for a posted message, and retrieves the message (if any exist). (Unicode) + + Type: LPMSG A pointer to an MSG structure that receives message information. + Read more on docs.microsoft.com. + + + Type: HWND A handle to the window whose messages are to be retrieved. The window must belong to the current thread. + If hWnd is NULL, PeekMessage retrieves messages for any window that belongs to the current thread, and any messages on the current thread's message queue whose hwnd value is NULL (see the MSG structure). Therefore if hWnd is NULL, both window messages and thread messages are processed. If hWnd is -1, PeekMessage retrieves only messages on the current thread's message queue whose hwnd value is NULL, that is, thread messages as posted by PostMessage (when the hWnd parameter is NULL) or PostThreadMessage. + Read more on docs.microsoft.com. + + + Type: UINT The value of the first message in the range of messages to be examined. Use WM_KEYFIRST (0x0100) to specify the first keyboard message or WM_MOUSEFIRST (0x0200) to specify the first mouse message. If wMsgFilterMin and wMsgFilterMax are both zero, PeekMessage returns all available messages (that is, no range filtering is performed). + Read more on docs.microsoft.com. + + + Type: UINT The value of the last message in the range of messages to be examined. Use WM_KEYLAST to specify the last keyboard message or WM_MOUSELAST to specify the last mouse message. If wMsgFilterMin and wMsgFilterMax are both zero, PeekMessage returns all available messages (that is, no range filtering is performed). + Read more on docs.microsoft.com. + + Type: UINT + + Type: BOOL If a message is available, the return value is nonzero. If no messages are available, the return value is zero. + + + PeekMessage retrieves messages associated with the window identified by the hWnd parameter or any of its children as specified by the IsChild function, and within the range of message values given by the wMsgFilterMin and wMsgFilterMax parameters. Note that an application can only use the low word in the wMsgFilterMin and wMsgFilterMax parameters; the high word is reserved for the system. Note that PeekMessage always retrieves WM_QUIT messages, no matter which values you specify for wMsgFilterMin and wMsgFilterMax. During this call, the system dispatches (DispatchMessage) pending, nonqueued messages, that is, messages sent to windows owned by the calling thread using the SendMessage, SendMessageCallback, SendMessageTimeout, or SendNotifyMessage function. Then the first queued message that matches the specified filter is retrieved. The system may also process internal events. If no filter is specified, messages are processed in the following order: + This doc was truncated. + Read more on docs.microsoft.com. + + + + Indicates to the system that a thread has made a request to terminate (quit). It is typically used in response to a WM_DESTROY message. + + Type: int The application exit code. This value is used as the wParam parameter of the WM_QUIT message. + Read more on docs.microsoft.com. + + + The PostQuitMessage function posts a WM_QUIT message to the thread's message queue and returns immediately; the function simply indicates to the system that the thread is requesting to quit at some time in the future. When the thread retrieves the WM_QUIT message from its message queue, it should exit its message loop and return control to the system. The exit value returned to the system must be the wParam parameter of the WM_QUIT message. + Read more on docs.microsoft.com. + + + + Registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function. (RegisterClassW) + + Type: const WNDCLASS* A pointer to a WNDCLASS structure. You must fill the structure with the appropriate class attributes before passing it to the function. + Read more on docs.microsoft.com. + + + Type: ATOM If the function succeeds, the return value is a class atom that uniquely identifies the class being registered. This atom can only be used by the CreateWindow, CreateWindowEx, GetClassInfo, GetClassInfoEx, FindWindow, FindWindowEx, and UnregisterClass functions and the IActiveIMMap::FilterClientWindows method. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + If you register the window class by using RegisterClassA, the application tells the system that the windows of the created class expect messages with text or character parameters to use the ANSI character set; if you register it by using RegisterClassW, the application requests that the system pass text parameters of messages as Unicode. The IsWindowUnicode function enables applications to query the nature of each window. For more information on ANSI and Unicode functions, see Conventions for Function Prototypes. All window classes that an application registers are unregistered when it terminates. No window classes registered by a DLL are unregistered when the DLL is unloaded. A DLL must explicitly unregister its classes when it is unloaded. + Read more on docs.microsoft.com. + + + + The ReleaseDC function releases a device context (DC), freeing it for use by other applications. The effect of the ReleaseDC function depends on the type of DC. It frees only common and window DCs. It has no effect on class or private DCs. + A handle to the window whose DC is to be released. + A handle to the DC to be released. + + The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. + + + The application must call the ReleaseDC function for each call to the GetWindowDC function and for each call to the GetDC function that retrieves a common DC. An application cannot use the ReleaseDC function to release a DC that was created by calling the CreateDC function; instead, it must use the DeleteDC function. ReleaseDC must be called from the same thread that called GetDC. + Read more on docs.microsoft.com. + + + + Sets the specified window's show state. + + Type: HWND A handle to the window. + Read more on docs.microsoft.com. + + Type: int + + Type: BOOL If the window was previously visible, the return value is nonzero. If the window was previously hidden, the return value is zero. + + + To perform certain special effects when showing or hiding a window, use AnimateWindow. The first time an application calls ShowWindow, it should use the WinMain function's nCmdShow parameter as its nCmdShow parameter. Subsequent calls to ShowWindow must use one of the values in the given list, instead of the one specified by the WinMain function's nCmdShow parameter. As noted in the discussion of the nCmdShow parameter, the nCmdShow value is ignored in the first call to ShowWindow if the program that launched the application specifies startup information in the structure. In this case, ShowWindow uses the information specified in the STARTUPINFO structure to show the window. On subsequent calls, the application must call ShowWindow with nCmdShow set to SW_SHOWDEFAULT to use the startup information provided by the program that launched the application. This behavior is designed for the following situations: + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + Translates virtual-key messages into character messages. The character messages are posted to the calling thread's message queue, to be read the next time the thread calls the GetMessage or PeekMessage function. + + Type: const MSG* A pointer to an MSG structure that contains message information retrieved from the calling thread's message queue by using the GetMessage or PeekMessage function. + Read more on docs.microsoft.com. + + + Type: BOOL If the message is translated (that is, a character message is posted to the thread's message queue), the return value is nonzero. If the message is WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, or WM_SYSKEYUP, the return value is nonzero, regardless of the translation. If the message is not translated (that is, a character message is not posted to the thread's message queue), the return value is zero. + + + The TranslateMessage function does not modify the message pointed to by the lpMsg parameter. + WM_KEYDOWN and WM_KEYUP combinations produce a WM_CHAR or WM_DEADCHAR message. WM_SYSKEYDOWN and WM_SYSKEYUP combinations produce a WM_SYSCHAR or WM_SYSDEADCHAR message. TranslateMessage produces WM_CHAR messages only for keys that are mapped to ASCII characters by the keyboard driver. If applications process virtual-key messages for some other purpose, they should not call TranslateMessage. For instance, an application should not call TranslateMessage if the TranslateAccelerator function returns a nonzero value. Note that the application is responsible for retrieving and dispatching input messages to the dialog box. Most applications use the main message loop for this. However, to permit the user to move to and to select controls by using the keyboard, the application must call IsDialogMessage. For more information, see Dialog Box Keyboard Interface. + Read more on docs.microsoft.com. + + + + The UpdateWindow function updates the client area of the specified window by sending a WM_PAINT message to the window if the window's update region is not empty. + Handle to the window to be updated. + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. + + + Learn more about this API from docs.microsoft.com. + + + + + Represents a Win32 handle that can be closed with . + + +
+
diff --git a/源代码/StgSharp/Environment/GlobalSetting.cs b/源代码/StgSharp/Environment/GlobalSetting.cs index 0aa64f70..6bc466e4 100644 --- a/源代码/StgSharp/Environment/GlobalSetting.cs +++ b/源代码/StgSharp/Environment/GlobalSetting.cs @@ -39,6 +39,7 @@ namespace StgSharp { public static unsafe partial class StgSharp { + private static bool _inited; /// diff --git a/源代码/StgSharp/Environment/Platform.cs b/源代码/StgSharp/Environment/Platform.cs index 15c5c1dd..c2923034 100644 --- a/源代码/StgSharp/Environment/Platform.cs +++ b/源代码/StgSharp/Environment/Platform.cs @@ -85,11 +85,6 @@ namespace StgSharp InternalIO.glfwInit(); } - public static void Terminate() - { - MainTimeProvider.Terminate(); - } - public static void Mark(bool needConsole) { markCount++; @@ -99,6 +94,11 @@ namespace StgSharp } } + public static void Terminate() + { + MainTimeProvider.Terminate(); + } + public static void Track( object target, string message, diff --git a/源代码/StgSharp/Environment/TimeProvider.cs b/源代码/StgSharp/Environment/TimeProvider.cs index f2211f86..c5155c0b 100644 --- a/源代码/StgSharp/Environment/TimeProvider.cs +++ b/源代码/StgSharp/Environment/TimeProvider.cs @@ -45,7 +45,7 @@ namespace StgSharp internal static StgSharpTime mainTimeProvider; - internal static StgSharpTime MainTimeProvider=>mainTimeProvider; + internal static StgSharpTime MainTimeProvider => mainTimeProvider; } @@ -92,6 +92,14 @@ namespace StgSharp timeProvideThread.Start(); } + public void Terminate() + { + lock (mainProvider) + { + mainProvider.Stop(); + } + } + protected override sealed void AddSubscriberUnsynced(TimeSpanProvider subscriber) { @@ -113,29 +121,28 @@ namespace StgSharp while (mainProvider.IsRunning) { totalMS = mainProvider.ElapsedTicks / (internalFrequncy / (1000L * 1000L)); - if (subscriberList.Count==0) + if (subscriberList.Count == 0) { continue; } CheckSubscriberSemaphore.Wait(); + List toRemoveList = new List(); foreach (TimeSpanProvider subscriber in subscriberList) { - if (subscriber.CheckTime(totalMS)) + if (!subscriber.CheckTime(totalMS)) { - + toRemoveList.Add(subscriber); }; } + if (toRemoveList.Count != 0) + { + foreach (TimeSpanProvider subscriber in toRemoveList) + { + subscriberList.Remove(subscriber); + } + } CheckSubscriberSemaphore.Release(); } - int a = 0; - } - - public void Terminate() - { - lock (mainProvider) - { - mainProvider.Stop(); - } } } diff --git a/源代码/StgSharp/Graphics/Form.cs b/源代码/StgSharp/Graphics/Form.cs index cb0e2d32..581ab18e 100644 --- a/源代码/StgSharp/Graphics/Form.cs +++ b/源代码/StgSharp/Graphics/Form.cs @@ -46,33 +46,6 @@ namespace StgSharp.Graphics /// public abstract unsafe partial class Form { - #region metadata - internal LinkedList allControl; - internal Vector4 backgroundColor; - internal IglFunc gl; - internal IntPtr graphicContextID; - internal int height; - internal IntPtr monitor; - internal string name; - internal Form sharedForm; - internal int width; - private GLFWwindow* windowID; - - #endregion metadata - - #region form time - - private short fpsCount; - internal TimeSpanProvider frameTimeProvider; - internal TimeSpanProvider fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); - - #endregion - - - #region form thread setting - private bool isSingleThread = true; - private List frameAsyncTaskList = new List(); - #endregion form thread setting protected Form() { @@ -127,7 +100,7 @@ namespace StgSharp.Graphics set => width = value; } - public unsafe IntPtr WindowID => (IntPtr)windowID; + public unsafe IntPtr WindowID => windowID; protected FrameBufferSizeHandler FrameBufferSizeCallback { @@ -138,7 +111,7 @@ namespace StgSharp.Graphics } } - internal unsafe GLFWwindow* id => windowID; + internal unsafe IntPtr id => windowID; internal bool IsSingleThread => isSingleThread; @@ -173,7 +146,7 @@ namespace StgSharp.Graphics byte[] tittleBytes = Encoding.UTF8.GetBytes(name); if (sharedForm == null) { - windowPtr = InternalIO.glfwCreateWindow(width, height, tittleBytes, monitor, (GLFWwindow*)IntPtr.Zero); + windowPtr = InternalIO.glfwCreateWindow(width, height, tittleBytes, monitor, IntPtr.Zero); } else { @@ -185,7 +158,7 @@ namespace StgSharp.Graphics } else { - windowID = (GLFWwindow*)windowPtr; + windowID = windowPtr; } graphicContextID = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(GLcontext))); @@ -271,6 +244,35 @@ namespace StgSharp.Graphics public void SetSizeLimit(int minWidth, int minHeight, int maxWidth, int maxHeight) { InternalIO.glfwSetWindowSizeLimits(this.windowID, minWidth, minHeight, maxWidth, maxHeight); } + #region metadata + internal LinkedList allControl; + internal Vector4 backgroundColor; + internal IglFunc gl; + internal IntPtr graphicContextID; + internal int height; + internal IntPtr monitor; + internal string name; + internal Form sharedForm; + internal int width; + private IntPtr windowID; + + #endregion metadata + + #region form time + + private short fpsCount; + internal TimeSpanProvider frameTimeProvider; + internal TimeSpanProvider fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); + + #endregion + + + #region form thread setting + private bool isSingleThread = true; + private List frameAsyncTaskList = new List(); + #endregion form thread setting + + #region form main /// @@ -297,33 +299,42 @@ namespace StgSharp.Graphics } else { - GLonUpdate update = new GLonUpdate((GLcontext*)graphicContextID); - FrameAsyncTask updateTask = new AsyncUpdateDataTask(this); - FrameAsyncTask renderTask = new AsyncRenderFrameTask(this); - frameAsyncTaskList.Add(renderTask); - frameAsyncTaskList.Add(updateTask); + GLonUpdate update = new GLonUpdate((GLcontext*)graphicContextID); //更换GL库至双线程模式 + FrameAsyncThread updateT = new AsyncUpdateDataTask(this); //建立两个异步线程 + FrameAsyncThread renderT = new AsyncRenderFrameTask(this); + + frameAsyncTaskList.Add(renderT); + frameAsyncTaskList.Add(updateT); gl = update; - update.ActivatedOperationBuffer = updateTask.opBuffer; - SemaphoreSlim frameBeginSemaphore = FrameAsyncTask.CombineAsync(renderTask, updateTask); - SemaphoreSlim renderCompleteSemaphor = renderTask.StartAsync(); - SemaphoreSlim updateCompleteSemaphor = updateTask.StartAsync(); + + update.ActivatedOperationBuffer = updateT.opBuffer; + SemaphoreSlim frameBeginSemaphore = FrameAsyncThread.CombineAsync(renderT, updateT); + SemaphoreSlim renderCompleteSemaphor = renderT.AsyncStart(); + SemaphoreSlim updateCompleteSemaphor = updateT.AsyncStart(); + while (!ShouldClose) { - frameBeginSemaphore.Release(2); - renderCompleteSemaphor.Wait(); + Console.WriteLine(1); + frameBeginSemaphore.Release(2); //启动下一个渲染循环 + Console.WriteLine(2); + renderCompleteSemaphor.Wait(); //等待两个线程完成 updateCompleteSemaphor.Wait(); - SwapBuffers(); + Console.WriteLine(3); + SwapBuffers(); //GLFW必要操作 PollEvents(); - FrameAsyncTask.ExchangeBuffer(updateTask, renderTask); - update.ActivatedOperationBuffer = updateTask.opBuffer; - frameTimeProvider.WaitNextSpan(); + Console.WriteLine(4); + FrameAsyncThread.ExchangeBuffer(updateT, renderT); //交换两个线程的缓冲区 + update.ActivatedOperationBuffer = updateT.opBuffer; + Console.WriteLine(5); + frameTimeProvider.WaitNextSpan(); //等待下一帧开始 + Console.WriteLine(6); } - //TODO 对逻辑线程和渲染线程进行同步,两种gl模式包需要改名字 } } } - + public int CurrentFrameCount +=> frameTimeProvider.CurrentSpan; [MethodImpl(MethodImplOptions.AggressiveInlining)] internal void InternalDeinit(params object[] args) { Deinit(args); } @@ -384,6 +395,7 @@ namespace StgSharp.Graphics -#endregion form main + #endregion form main + } } \ No newline at end of file diff --git a/源代码/StgSharp/Graphics/FrameAsyncTask.cs b/源代码/StgSharp/Graphics/FrameAsyncThread.cs similarity index 94% rename from 源代码/StgSharp/Graphics/FrameAsyncTask.cs rename to 源代码/StgSharp/Graphics/FrameAsyncThread.cs index 4103b4df..4405fbb2 100644 --- a/源代码/StgSharp/Graphics/FrameAsyncTask.cs +++ b/源代码/StgSharp/Graphics/FrameAsyncThread.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- -// file="FrameAsyncTask.cs" +// file="FrameAsyncThread.cs" // Project: StgSharp // AuthorGroup: Nitload Space // Copyright (c) Nitload Space. All rights reserved. @@ -88,7 +88,8 @@ namespace StgSharp.Graphics public void ParamEnqueue(M128 m) { paramQueue.Enqueue(m); - Console.WriteLine(paramQueue.Count + streamQueue.Count); + //Console.Write(paramQueue.Count + streamQueue.Count); + //Console.Write($":{m.ToString(16)}\n"); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -224,14 +225,14 @@ namespace StgSharp.Graphics { byte[] code = Encoding.UTF8.GetBytes(str); streamQueue.Enqueue(glArrayHandle.Alloc(code)); - Console.WriteLine(paramQueue.Count + streamQueue.Count); + //Console.WriteLine(paramQueue.Count + streamQueue.Count); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void ParamEnqueue(T[] array) where T : struct { streamQueue.Enqueue(glArrayHandle.Alloc(array)); - Console.WriteLine(paramQueue.Count + streamQueue.Count); + //Console.WriteLine(paramQueue.Count + streamQueue.Count); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -247,7 +248,9 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool TryDequeue(out M128 m) { + m = new(); bool ret = paramQueue.TryDequeue(out m); + //Console.WriteLine(m.ToString(16)); return ret; } @@ -494,66 +497,32 @@ namespace StgSharp.Graphics //TODO 目前还不能加载任何任务 //TODO 任务的启动逻辑需要重构 - public class FrameAsyncTask + public class FrameAsyncThread { + private Thread _task; + protected SemaphoreSlim _frameCompleteSemaphore = new SemaphoreSlim(0, 1); protected SemaphoreSlim _refreshSemaphore; - private Task _task; protected Action _taskTODO; protected Func _terminateSignature; internal FrameOperationBuffer opBuffer; + internal FrameAsyncThread(Action action, IglFunc gl) + { + _taskTODO = action; + opBuffer = new FrameOperationBuffer(gl); + } + public Action TaskTODO { get => _taskTODO; set => _taskTODO = value; } - internal FrameAsyncTask(Action action, IglFunc gl) + public virtual SemaphoreSlim AsyncStart() { - _taskTODO = action; - opBuffer = new FrameOperationBuffer(gl); - } - - public static SemaphoreSlim CombineAsync(params FrameAsyncTask[] taskList) - { - if (taskList.Length == 0) - { - return null; - } - SemaphoreSlim refresh = new SemaphoreSlim(taskList.Length); - foreach (FrameAsyncTask item in taskList) - { - item._refreshSemaphore = refresh; - } - return refresh; - } - - public static SemaphoreSlim CombineAsync(List taskList) - { - if (taskList.Count == 0) - { - return null; - } - SemaphoreSlim refresh = new SemaphoreSlim(taskList.Count); - foreach (FrameAsyncTask item in taskList) - { - item._refreshSemaphore = refresh; - } - return refresh; - } - - public static void ExchangeBuffer(FrameAsyncTask task0, FrameAsyncTask task1) - { - FrameOperationBuffer cache = task0.opBuffer; - task0.opBuffer = task1.opBuffer; - task1.opBuffer = cache; - } - - public virtual SemaphoreSlim StartAsync() - { - _task = new Task( + _task = new Thread( () => { while (true) @@ -567,35 +536,65 @@ namespace StgSharp.Graphics return _frameCompleteSemaphore; } + public static SemaphoreSlim CombineAsync(params FrameAsyncThread[] taskList) + { + if (taskList.Length == 0) + { + return null; + } + SemaphoreSlim refresh = new SemaphoreSlim(0, taskList.Length); + foreach (FrameAsyncThread item in taskList) + { + item._refreshSemaphore = refresh; + } + return refresh; + } + + public static SemaphoreSlim CombineAsync(List taskList) + { + if (taskList.Count == 0) + { + return null; + } + SemaphoreSlim refresh = new SemaphoreSlim(taskList.Count); + foreach (FrameAsyncThread item in taskList) + { + item._refreshSemaphore = refresh; + } + return refresh; + } + + public static void ExchangeBuffer(FrameAsyncThread task0, FrameAsyncThread task1) + { + FrameOperationBuffer cache = task0.opBuffer; + task0.opBuffer = task1.opBuffer; + task1.opBuffer = cache; + } + } - internal sealed class AsyncUpdateDataTask : FrameAsyncTask + internal sealed class AsyncUpdateDataTask : FrameAsyncThread { + public AsyncUpdateDataTask(Form f) : base(f.Main, f.GL) { } + } - internal sealed class AsyncRenderFrameTask : FrameAsyncTask + internal sealed class AsyncRenderFrameTask : FrameAsyncThread { public AsyncRenderFrameTask(Form f) : base(null, f.gl) { - TaskTODO = new ( - () => - { - while (true) - { - FrameOperation(); - } - }); + TaskTODO = FrameOperation; } private void FrameOperation() { - while (opBuffer.CallNext()){} + while (opBuffer.CallNext()) {} } } diff --git a/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs b/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs index 5184df94..78fe1c9c 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs @@ -43,7 +43,7 @@ namespace StgSharp.Graphics { protected glHandleSet _bufferHandle; - protected IglFunc GL; + protected Form binding; /// /// Get the only handle to one of the Object instance diff --git a/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs b/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs index 727941b2..40370f4e 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs @@ -46,29 +46,29 @@ namespace StgSharp.Graphics public unsafe class ElementBuffer : BufferObjectBase { - internal ElementBuffer(int n, IglFunc gl) + internal ElementBuffer(int n, Form binding) { - GL = gl; - _bufferHandle = GL.GenBuffers(n); + this.binding = binding; + _bufferHandle = binding.GL.GenBuffers(n); } public override sealed void Bind(int index) { - GL.BindBuffer(BufferType.ELEMENT_ARRAY_BUFFER, _bufferHandle[index]); + binding.GL.BindBuffer(BufferType.ELEMENT_ARRAY_BUFFER, _bufferHandle[index]); } public void SetValue(int index, T[] bufferArray, BufferUsage usage) where T : struct, IConvertible { - GL.BindBuffer(BufferType.ELEMENT_ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferData(BufferType.ELEMENT_ARRAY_BUFFER, bufferArray, usage); + binding.GL.BindBuffer(BufferType.ELEMENT_ARRAY_BUFFER, _bufferHandle[index]); + binding.GL.SetBufferData(BufferType.ELEMENT_ARRAY_BUFFER, bufferArray, usage); } protected override sealed void Dispose(bool disposing) { if (disposing) { - GL.DeleteBuffers(_bufferHandle); + binding.GL.DeleteBuffers(_bufferHandle); _bufferHandle.Release(); } } diff --git a/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs b/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs index b83d11db..db679f53 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs @@ -38,28 +38,28 @@ namespace StgSharp.Graphics public unsafe class VertexArray : BufferObjectBase { - internal VertexArray(int n, IglFunc gl) + internal VertexArray(int n, Form binding) { - GL = gl; - _bufferHandle = GL.GenVertexArrays(n); + this.binding = binding; + _bufferHandle = binding.GL.GenVertexArrays(n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override sealed void Bind(int index) { - GL.BindVertexArray(_bufferHandle[index]); + binding.GL.BindVertexArray(_bufferHandle[index]); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void BindNull() { - GL.BindVertexArray(glHandle.Zero); + binding.GL.BindVertexArray(glHandle.Zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetVertexAttribute(uint index, int vertexLength, TypeCode dataType, bool isNomalized, uint stride, int pointer) { - GL.SetVertexAttribute( + binding.GL.SetVertexAttribute( index, vertexLength, dataType, isNomalized, stride, pointer); @@ -69,7 +69,7 @@ namespace StgSharp.Graphics { if (disposing) { - GL.DeleteVertexArrays(_bufferHandle); + binding.GL.DeleteVertexArrays(_bufferHandle); _bufferHandle.Release(); } } diff --git a/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs b/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs index 9749e38a..6e6bbf0e 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs @@ -43,15 +43,15 @@ namespace StgSharp.Graphics public unsafe class VertexBuffer : BufferObjectBase { - internal VertexBuffer(int n, IglFunc glFunc) + internal VertexBuffer(int n, Form binding) { - GL = glFunc; - _bufferHandle = GL.GenBuffers(n); + this.binding = binding; + _bufferHandle = binding.GL.GenBuffers(n); } public override sealed void Bind(int index) { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); + binding.GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); } /// @@ -63,8 +63,8 @@ namespace StgSharp.Graphics /// How OpenGL use these data, defined by public void SetValue(int index, T bufferData, BufferUsage usage) where T : struct, IMat { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferData(BufferType.ARRAY_BUFFER, bufferData, usage); + binding.GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); + binding.GL.SetBufferData(BufferType.ARRAY_BUFFER, bufferData, usage); } /// @@ -76,8 +76,8 @@ namespace StgSharp.Graphics /// How OpenGL use these data, defined by public void SetValueArray(int index, T[] bufferArray, BufferUsage usage) where T : struct, IConvertible { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferData(BufferType.ARRAY_BUFFER, bufferArray, usage); + binding.GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); + binding.GL.SetBufferData(BufferType.ARRAY_BUFFER, bufferArray, usage); } /// @@ -86,20 +86,16 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Unbind() { - GL.BindBuffer(BufferType.ARRAY_BUFFER, glHandle.Zero); + binding.GL.BindBuffer(BufferType.ARRAY_BUFFER, glHandle.Zero); } - [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal void ChangeEnvironment(IglFunc gl) - { - GL = gl; - } + protected override sealed void Dispose(bool disposing) { if (disposing) { - GL.DeleteBuffers(_bufferHandle); + binding.GL.DeleteBuffers(_bufferHandle); _bufferHandle.Release(); } } diff --git a/源代码/StgSharp/Graphics/GL/Buffer/texture.cs b/源代码/StgSharp/Graphics/GL/Buffer/texture.cs index 5d9bb2e0..8ac0a98a 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/texture.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/texture.cs @@ -44,25 +44,25 @@ namespace StgSharp.Graphics { internal static bool[] unitActivated = new bool[16]; - private IglFunc GL; + private Form binding; internal glHandleSet _textureHandle; internal Image[] sourceList; - internal Texture(int n, IglFunc gl) + internal Texture(int n, Form binding) { sourceList = new Image[n]; - GL = gl; - _textureHandle = GL.GenTextures(n); + this.binding = binding; + _textureHandle = binding.GL.GenTextures(n); } public void Activate(TextureUnit unit) { - GL.ActiveTexture((uint)unit); + binding.GL.ActiveTexture((uint)unit); } public void Bind2D(int index) { - GL.BindTexture(GLconst.TEXTURE_2D, _textureHandle[index]); + binding.GL.BindTexture(GLconst.TEXTURE_2D, _textureHandle[index]); } /// @@ -92,7 +92,7 @@ namespace StgSharp.Graphics channel = 0; break; } - GL.TextureImage2d( + binding.GL.TextureImage2d( GLconst.TEXTURE_2D, 0, channel, (uint)sourceList[index].Width, (uint)sourceList[index].Height, channel, GLconst.UNSIGNED_BYTE, @@ -105,25 +105,21 @@ namespace StgSharp.Graphics } } - internal void ChangeEnvironment(IglFunc gl) - { - GL = gl; - } #region texture setting public void Set2dFilterProperty( Filter onMinify, Filter onMagnify) { - GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_MIN_FILTER, (int)onMinify); - GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_MAG_FILTER, (int)onMagnify); + binding.GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_MIN_FILTER, (int)onMinify); + binding.GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_MAG_FILTER, (int)onMagnify); } public void Set2dWrapProperty( Wrap onHorizontial, Wrap onVertical) { - GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_WRAP_S, (int)onHorizontial); - GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_WRAP_T, (int)onVertical); + binding.GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_WRAP_S, (int)onHorizontial); + binding.GL.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_WRAP_T, (int)onVertical); } #endregion texture setting diff --git a/源代码/StgSharp/Graphics/GL/GLonRender.cs b/源代码/StgSharp/Graphics/GL/GLonRender.cs index 7ea0e875..f473e748 100644 --- a/源代码/StgSharp/Graphics/GL/GLonRender.cs +++ b/源代码/StgSharp/Graphics/GL/GLonRender.cs @@ -159,7 +159,7 @@ namespace StgSharp.Graphics if (share == null) { windowPtr = InternalIO.glfwCreateWindow( - width, height, tittleBytes, monitor, (GLFWwindow*)IntPtr.Zero); + width, height, tittleBytes, monitor, IntPtr.Zero); } else { @@ -299,11 +299,12 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] unsafe void IglFunc.SetBufferData(BufferType bufferType, T bufferData, BufferUsage usage) { - int size = sizeof(T); + int size = Marshal.SizeOf(); + T* p = &bufferData; api->glBufferData( (uint)bufferType, (IntPtr)size, - (IntPtr)(&bufferData), + (IntPtr)p, (uint)usage); } diff --git a/源代码/StgSharp/Graphics/GL/GLonUpdate.cs b/源代码/StgSharp/Graphics/GL/GLonUpdate.cs index 27c6c1aa..08fa926b 100644 --- a/源代码/StgSharp/Graphics/GL/GLonUpdate.cs +++ b/源代码/StgSharp/Graphics/GL/GLonUpdate.cs @@ -185,7 +185,7 @@ namespace StgSharp.Graphics if (share == null) { windowPtr = InternalIO.glfwCreateWindow( - width, height, tittleBytes, monitor, (GLFWwindow*)IntPtr.Zero); + width, height, tittleBytes, monitor, IntPtr.Zero); } else { diff --git a/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs b/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs index e658725b..b17450fe 100644 --- a/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs +++ b/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs @@ -48,7 +48,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] protected ElementBuffer CreateElementBuffer(int count) { - return new ElementBuffer(count, this.gl); + return new ElementBuffer(count, this); } /// @@ -59,7 +59,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] protected Texture CreateTexture(int count) { - return new Texture(count, this.GL); + return new Texture(count, this); } /// @@ -70,7 +70,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] protected VertexArray CreateVertexArray(int count) { - return new VertexArray(count, gl); + return new VertexArray(count, this); } /// @@ -81,7 +81,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] protected VertexBuffer CreateVertexBuffer(int count) { - return new VertexBuffer(count, gl); + return new VertexBuffer(count, this); } } diff --git a/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs b/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs index 242cad2e..e524e5b8 100644 --- a/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs +++ b/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs @@ -53,7 +53,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] protected ShaderProgram CreateShaderProgram() { - return new ShaderProgram(GL); + return new ShaderProgram(this); } } @@ -105,16 +105,16 @@ namespace StgSharp.Graphics public class ShaderProgram { - private readonly IglFunc GL; + private readonly Form binding; internal readonly glHandle handle; /// /// Inti a shader with no program attached. /// - internal unsafe ShaderProgram(IglFunc gl) + internal unsafe ShaderProgram(Form binding) { - GL = gl; - handle = GL.CreateProgram(); + this.binding = binding; + handle = binding.GL.CreateProgram(); } /// @@ -126,7 +126,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe Uniform GetUniform(string name) where T : struct { - return new Uniform(this, name, GL); + return new Uniform(this, name, binding); } /// @@ -139,7 +139,7 @@ namespace StgSharp.Graphics where T : struct where U : struct { - return new Uniform(this, name, GL); + return new Uniform(this, name, binding); } /// @@ -153,7 +153,7 @@ namespace StgSharp.Graphics where U : struct where V : struct { - return new Uniform(this, name, GL); + return new Uniform(this, name, binding); } /// @@ -161,7 +161,7 @@ namespace StgSharp.Graphics /// public unsafe void Link() { - if (InternalIO.InternalLinkShaderProgram(GL.Context, handle.Value) == 0) + if (InternalIO.InternalLinkShaderProgram(binding.GL.Context, handle.Value) == 0) { IntPtr logPtr = InternalIO.InternalReadSSCLog(); try @@ -185,7 +185,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe void Use() { - GL.UseProgram(handle); + binding.GL.UseProgram(handle); } } diff --git a/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs b/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs index d1af2049..3234c6b3 100644 --- a/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs +++ b/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs @@ -42,7 +42,7 @@ namespace StgSharp.Graphics public class Uniform where T : struct { - private IglFunc GL; + private Form binding; internal glSHandle id; internal unsafe Uniform(glSHandle id) @@ -51,10 +51,10 @@ namespace StgSharp.Graphics } internal unsafe Uniform( - ShaderProgram program, string name, IglFunc gl) + ShaderProgram program, string name, Form binding) { - GL = gl; - id = GL.GetUniformLocation(program.handle, name); + this.binding = binding; + id = binding.GL.GetUniformLocation(program.handle, name); } } @@ -64,7 +64,7 @@ namespace StgSharp.Graphics where U : struct { - private IglFunc GL; + private Form binding; internal glSHandle id; internal unsafe Uniform(glSHandle id) @@ -73,10 +73,10 @@ namespace StgSharp.Graphics } internal unsafe Uniform( - ShaderProgram program, string name, IglFunc gl) + ShaderProgram program, string name, Form binding) { - GL = gl; - id = GL.GetUniformLocation(program.handle, name); + this.binding = binding; + id = binding.GL.GetUniformLocation(program.handle, name); } } @@ -87,7 +87,7 @@ namespace StgSharp.Graphics where V : struct { - private IglFunc GL; + private Form binding; internal glSHandle id; internal unsafe Uniform(glSHandle id) @@ -95,10 +95,10 @@ namespace StgSharp.Graphics this.id = id; } - public unsafe Uniform(ShaderProgram program, string name, IglFunc gl) + public unsafe Uniform(ShaderProgram program, string name, Form binding) { - GL = gl; - id = GL.GetUniformLocation(program.handle, name); + this.binding = binding; + id = binding.GL.GetUniformLocation(program.handle, name); } } @@ -110,7 +110,7 @@ namespace StgSharp.Graphics where W : struct { - private IglFunc GL; + private Form binding; internal glSHandle id; internal unsafe Uniform(glSHandle id) @@ -118,10 +118,10 @@ namespace StgSharp.Graphics this.id = id; } - internal unsafe Uniform(ShaderProgram program, string name, IglFunc gl) + internal unsafe Uniform(ShaderProgram program, string name, Form binding) { - GL = gl; - id = GL.GetUniformLocation(program.handle, name); + this.binding = binding; + id = binding.GL.GetUniformLocation(program.handle, name); } } @@ -281,8 +281,8 @@ namespace StgSharp.Graphics unsafe void IglFunc.SetValue(Uniform uniform, Vec4d vec) { - Vec4d m = vec; - frameOpBuffer.ParamEnqueue((IntPtr)uniform.id.valuePtr, (IntPtr)(&m)); + frameOpBuffer.ParamEnqueue((IntPtr)uniform.id.valuePtr); + frameOpBuffer.ParamEnqueue(vec); frameOpBuffer.MethodEnqueue(UniformVal1fvPtr); } diff --git a/源代码/StgSharp/Graphics/GL/framework.cs b/源代码/StgSharp/Graphics/GL/framework.cs index f3d751ea..89e10663 100644 --- a/源代码/StgSharp/Graphics/GL/framework.cs +++ b/源代码/StgSharp/Graphics/GL/framework.cs @@ -97,83 +97,83 @@ namespace StgSharp [DllImport(SSC_libname, EntryPoint = "glfwWindowHintString")] internal static extern unsafe void glfwWindowHintString(int hint, byte* value); - [DllImport(SSC_libname, EntryPoint = "glfwCreateWindow")] internal static extern unsafe IntPtr glfwCreateWindow(int width, int height, byte[] title, IntPtr monitor, GLFWwindow* share); + [DllImport(SSC_libname, EntryPoint = "glfwCreateWindow")] internal static extern unsafe IntPtr glfwCreateWindow(int width, int height, byte[] title, IntPtr monitor, IntPtr share); - [DllImport(SSC_libname, EntryPoint = "glfwDestroyWindow")] internal static extern unsafe void glfwDestroyWindow(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwDestroyWindow")] internal static extern unsafe void glfwDestroyWindow(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwWindowShouldClose")] internal static extern unsafe int glfwWindowShouldClose(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwWindowShouldClose")] internal static extern unsafe int glfwWindowShouldClose(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowShouldClose")] internal static extern unsafe void glfwSetWindowShouldClose(GLFWwindow* window, int value); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowShouldClose")] internal static extern unsafe void glfwSetWindowShouldClose(IntPtr window, int value); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowTitle")] internal static extern unsafe void glfwSetWindowTitle(GLFWwindow* window, byte* title); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowTitle")] internal static extern unsafe void glfwSetWindowTitle(IntPtr window, byte* title); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowIcon")] internal static extern unsafe void glfwSetWindowIcon(GLFWwindow* window, int count, GLFWimage* images); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowIcon")] internal static extern unsafe void glfwSetWindowIcon(IntPtr window, int count, GLFWimage* images); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowPos")] internal static extern unsafe void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowPos")] internal static extern unsafe void glfwGetWindowPos(IntPtr window, int* xpos, int* ypos); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowPos")] internal static extern unsafe void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowPos")] internal static extern unsafe void glfwSetWindowPos(IntPtr window, int xpos, int ypos); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowSize")] internal static extern unsafe void glfwGetWindowSize(GLFWwindow* window, int* width, int* height); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowSize")] internal static extern unsafe void glfwGetWindowSize(IntPtr window, int* width, int* height); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowSizeLimits")] internal static extern unsafe void glfwSetWindowSizeLimits(GLFWwindow* window, int minwidth, int minheight, int maxwidth, int maxheight); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowSizeLimits")] internal static extern unsafe void glfwSetWindowSizeLimits(IntPtr window, int minwidth, int minheight, int maxwidth, int maxheight); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowAspectRatio")] internal static extern unsafe void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowAspectRatio")] internal static extern unsafe void glfwSetWindowAspectRatio(IntPtr window, int numer, int denom); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowSize")] internal static extern unsafe void glfwSetWindowSize(GLFWwindow* window, int width, int height); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowSize")] internal static extern unsafe void glfwSetWindowSize(IntPtr window, int width, int height); - [DllImport(SSC_libname, EntryPoint = "glfwGetFramebufferSize")] internal static extern unsafe void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height); + [DllImport(SSC_libname, EntryPoint = "glfwGetFramebufferSize")] internal static extern unsafe void glfwGetFramebufferSize(IntPtr window, int* width, int* height); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowFrameSize")] internal static extern unsafe void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int* right, int* bottom); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowFrameSize")] internal static extern unsafe void glfwGetWindowFrameSize(IntPtr window, int* left, int* top, int* right, int* bottom); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowContentScale")] internal static extern unsafe void glfwGetWindowContentScale(GLFWwindow* window, float* xscale, float* yscale); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowContentScale")] internal static extern unsafe void glfwGetWindowContentScale(IntPtr window, float* xscale, float* yscale); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowOpacity")] internal static extern unsafe float glfwGetWindowOpacity(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowOpacity")] internal static extern unsafe float glfwGetWindowOpacity(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowOpacity")] internal static extern unsafe void glfwSetWindowOpacity(GLFWwindow* window, float opacity); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowOpacity")] internal static extern unsafe void glfwSetWindowOpacity(IntPtr window, float opacity); - [DllImport(SSC_libname, EntryPoint = "glfwIconifyWindow")] internal static extern unsafe void glfwIconifyWindow(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwIconifyWindow")] internal static extern unsafe void glfwIconifyWindow(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwRestoreWindow")] internal static extern unsafe void glfwRestoreWindow(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwRestoreWindow")] internal static extern unsafe void glfwRestoreWindow(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwMaximizeWindow")] internal static extern unsafe void glfwMaximizeWindow(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwMaximizeWindow")] internal static extern unsafe void glfwMaximizeWindow(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwShowWindow")] internal static extern unsafe void glfwShowWindow(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwShowWindow")] internal static extern unsafe void glfwShowWindow(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwHideWindow")] internal static extern unsafe void glfwHideWindow(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwHideWindow")] internal static extern unsafe void glfwHideWindow(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwFocusWindow")] internal static extern unsafe void glfwFocusWindow(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwFocusWindow")] internal static extern unsafe void glfwFocusWindow(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwRequestWindowAttention")] internal static extern unsafe void glfwRequestWindowAttention(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwRequestWindowAttention")] internal static extern unsafe void glfwRequestWindowAttention(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowMonitor")] internal static extern unsafe IntPtr glfwGetWindowMonitor(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowMonitor")] internal static extern unsafe IntPtr glfwGetWindowMonitor(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowMonitor")] internal static extern unsafe void glfwSetWindowMonitor(GLFWwindow* window, IntPtr monitor, int xpos, int ypos, int width, int height, int refreshRate); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowMonitor")] internal static extern unsafe void glfwSetWindowMonitor(IntPtr window, IntPtr monitor, int xpos, int ypos, int width, int height, int refreshRate); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowAttrib")] internal static extern unsafe int glfwGetWindowAttrib(GLFWwindow* window, int attrib); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowAttrib")] internal static extern unsafe int glfwGetWindowAttrib(IntPtr window, int attrib); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowAttrib")] internal static extern unsafe void glfwSetWindowAttrib(GLFWwindow* window, int attrib, int value); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowAttrib")] internal static extern unsafe void glfwSetWindowAttrib(IntPtr window, int attrib, int value); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowUserPointer")] internal static extern unsafe void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowUserPointer")] internal static extern unsafe void glfwSetWindowUserPointer(IntPtr window, void* pointer); - [DllImport(SSC_libname, EntryPoint = "glfwGetWindowUserPointer")] internal static extern unsafe void* glfwGetWindowUserPointer(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwGetWindowUserPointer")] internal static extern unsafe void* glfwGetWindowUserPointer(IntPtr window); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowPosCallback")] internal static extern unsafe GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindowposfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowPosCallback")] internal static extern unsafe GLFWwindowposfun glfwSetWindowPosCallback(IntPtr window, GLFWwindowposfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowSizeCallback")] internal static extern unsafe GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowSizeCallback")] internal static extern unsafe GLFWwindowsizefun glfwSetWindowSizeCallback(IntPtr window, GLFWwindowsizefun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowCloseCallback")] internal static extern unsafe GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowCloseCallback")] internal static extern unsafe GLFWwindowclosefun glfwSetWindowCloseCallback(IntPtr window, GLFWwindowclosefun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowRefreshCallback")] internal static extern unsafe GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowRefreshCallback")] internal static extern unsafe GLFWwindowrefreshfun glfwSetWindowRefreshCallback(IntPtr window, GLFWwindowrefreshfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowFocusCallback")] internal static extern unsafe GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowFocusCallback")] internal static extern unsafe GLFWwindowfocusfun glfwSetWindowFocusCallback(IntPtr window, GLFWwindowfocusfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowIconifyCallback")] internal static extern unsafe GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow* window, GLFWwindowiconifyfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowIconifyCallback")] internal static extern unsafe GLFWwindowiconifyfun glfwSetWindowIconifyCallback(IntPtr window, GLFWwindowiconifyfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowMaximizeCallback")] internal static extern unsafe GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow* window, GLFWwindowmaximizefun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowMaximizeCallback")] internal static extern unsafe GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(IntPtr window, GLFWwindowmaximizefun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetFramebufferSizeCallback")] internal static extern unsafe FramebuffersizeHandler glfwSetFramebufferSizeCallback(GLFWwindow* window, IntPtr callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetFramebufferSizeCallback")] internal static extern unsafe FramebuffersizeHandler glfwSetFramebufferSizeCallback(IntPtr window, IntPtr callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetWindowContentScaleCallback")] internal static extern unsafe GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow* window, GLFWwindowcontentscalefun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetWindowContentScaleCallback")] internal static extern unsafe GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(IntPtr window, GLFWwindowcontentscalefun callback); [DllImport(SSC_libname, EntryPoint = "glfwPollEvents")] internal static extern unsafe void glfwPollEvents(); @@ -183,9 +183,9 @@ namespace StgSharp [DllImport(SSC_libname, EntryPoint = "glfwPostEmptyEvent")] internal static extern unsafe void glfwPostEmptyEvent(); - [DllImport(SSC_libname, EntryPoint = "glfwGetInputMode")] internal static extern unsafe int glfwGetInputMode(GLFWwindow* window, int mode); + [DllImport(SSC_libname, EntryPoint = "glfwGetInputMode")] internal static extern unsafe int glfwGetInputMode(IntPtr window, int mode); - [DllImport(SSC_libname, EntryPoint = "glfwSetInputMode")] internal static extern unsafe void glfwSetInputMode(GLFWwindow* window, int mode, int value); + [DllImport(SSC_libname, EntryPoint = "glfwSetInputMode")] internal static extern unsafe void glfwSetInputMode(IntPtr window, int mode, int value); [DllImport(SSC_libname, EntryPoint = "glfwRawMouseMotionSupported")] internal static extern unsafe int glfwRawMouseMotionSupported(); @@ -193,13 +193,13 @@ namespace StgSharp [DllImport(SSC_libname, EntryPoint = "glfwGetKeyScancode")] internal static extern unsafe int glfwGetKeyScancode(int key); - [DllImport(SSC_libname, EntryPoint = "glfwGetKey")] internal static extern unsafe KeyStatus glfwGetKey(GLFWwindow* window, int key); + [DllImport(SSC_libname, EntryPoint = "glfwGetKey")] internal static extern unsafe KeyStatus glfwGetKey(IntPtr window, int key); - [DllImport(SSC_libname, EntryPoint = "glfwGetMouseButton")] internal static extern unsafe int glfwGetMouseButton(GLFWwindow* window, int button); + [DllImport(SSC_libname, EntryPoint = "glfwGetMouseButton")] internal static extern unsafe int glfwGetMouseButton(IntPtr window, int button); - [DllImport(SSC_libname, EntryPoint = "glfwGetCursorPos")] internal static extern unsafe void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos); + [DllImport(SSC_libname, EntryPoint = "glfwGetCursorPos")] internal static extern unsafe void glfwGetCursorPos(IntPtr window, double* xpos, double* ypos); - [DllImport(SSC_libname, EntryPoint = "glfwSetCursorPos")] internal static extern unsafe void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos); + [DllImport(SSC_libname, EntryPoint = "glfwSetCursorPos")] internal static extern unsafe void glfwSetCursorPos(IntPtr window, double xpos, double ypos); [DllImport(SSC_libname, EntryPoint = "glfwCreateCursor")] internal static extern unsafe GLFWcursor* glfwCreateCursor(GLFWimage* image, int xhot, int yhot); @@ -207,23 +207,23 @@ namespace StgSharp [DllImport(SSC_libname, EntryPoint = "glfwDestroyCursor")] internal static extern unsafe void glfwDestroyCursor(GLFWcursor* cursor); - [DllImport(SSC_libname, EntryPoint = "glfwSetCursor")] internal static extern unsafe void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor); + [DllImport(SSC_libname, EntryPoint = "glfwSetCursor")] internal static extern unsafe void glfwSetCursor(IntPtr window, GLFWcursor* cursor); - [DllImport(SSC_libname, EntryPoint = "glfwSetKeyCallback")] internal static extern unsafe GLFWkeyfun glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetKeyCallback")] internal static extern unsafe GLFWkeyfun glfwSetKeyCallback(IntPtr window, GLFWkeyfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetCharCallback")] internal static extern unsafe GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetCharCallback")] internal static extern unsafe GLFWcharfun glfwSetCharCallback(IntPtr window, GLFWcharfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetCharModsCallback")] internal static extern unsafe GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow* window, GLFWcharmodsfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetCharModsCallback")] internal static extern unsafe GLFWcharmodsfun glfwSetCharModsCallback(IntPtr window, GLFWcharmodsfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetMouseButtonCallback")] internal static extern unsafe GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetMouseButtonCallback")] internal static extern unsafe GLFWmousebuttonfun glfwSetMouseButtonCallback(IntPtr window, GLFWmousebuttonfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetCursorPosCallback")] internal static extern unsafe GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetCursorPosCallback")] internal static extern unsafe GLFWcursorposfun glfwSetCursorPosCallback(IntPtr window, GLFWcursorposfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetCursorEnterCallback")] internal static extern unsafe GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetCursorEnterCallback")] internal static extern unsafe GLFWcursorenterfun glfwSetCursorEnterCallback(IntPtr window, GLFWcursorenterfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetScrollCallback")] internal static extern unsafe GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetScrollCallback")] internal static extern unsafe GLFWscrollfun glfwSetScrollCallback(IntPtr window, GLFWscrollfun callback); - [DllImport(SSC_libname, EntryPoint = "glfwSetDropCallback")] internal static extern unsafe GLFWdropfun glfwSetDropCallback(GLFWwindow* window, GLFWdropfun callback); + [DllImport(SSC_libname, EntryPoint = "glfwSetDropCallback")] internal static extern unsafe GLFWdropfun glfwSetDropCallback(IntPtr window, GLFWdropfun callback); [DllImport(SSC_libname, EntryPoint = "glfwJoystickPresent")] internal static extern unsafe int glfwJoystickPresent(int jid); @@ -251,9 +251,9 @@ namespace StgSharp [DllImport(SSC_libname, EntryPoint = "glfwGetGamepadState")] internal static extern unsafe int glfwGetGamepadState(int jid, GLFWgamepadstate* state); - [DllImport(SSC_libname, EntryPoint = "glfwSetClipboardString")] internal static extern unsafe void glfwSetClipboardString(GLFWwindow* window, byte* str); + [DllImport(SSC_libname, EntryPoint = "glfwSetClipboardString")] internal static extern unsafe void glfwSetClipboardString(IntPtr window, byte* str); - [DllImport(SSC_libname, EntryPoint = "glfwGetClipboardString")] internal static extern unsafe byte* glfwGetClipboardString(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwGetClipboardString")] internal static extern unsafe byte* glfwGetClipboardString(IntPtr window); [DllImport(SSC_libname, EntryPoint = "glfwGetTime")] internal static extern unsafe double glfwGetTime(); @@ -263,11 +263,11 @@ namespace StgSharp [DllImport(SSC_libname, EntryPoint = "glfwGetTimerFrequency")] internal static extern unsafe ulong* glfwGetTimerFrequency(); - [DllImport(SSC_libname, EntryPoint = "glfwMakeContextCurrent")] internal static extern unsafe void glfwMakeContextCurrent(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwMakeContextCurrent")] internal static extern unsafe void glfwMakeContextCurrent(IntPtr window); [DllImport(SSC_libname, EntryPoint = "glfwGetCurrentContext")] internal static extern unsafe IntPtr glfwGetCurrentContext(); - [DllImport(SSC_libname, EntryPoint = "glfwSwapBuffers")] internal static extern unsafe void glfwSwapBuffers(GLFWwindow* window); + [DllImport(SSC_libname, EntryPoint = "glfwSwapBuffers")] internal static extern unsafe void glfwSwapBuffers(IntPtr window); [DllImport(SSC_libname, EntryPoint = "glfwSwapInterval")] internal static extern unsafe void glfwSwapInterval(int interval); diff --git a/源代码/StgSharp/Logic/TimeSourceProvider.cs b/源代码/StgSharp/Logic/TimeSourceProvider.cs index cdbee1ce..374b0973 100644 --- a/源代码/StgSharp/Logic/TimeSourceProvider.cs +++ b/源代码/StgSharp/Logic/TimeSourceProvider.cs @@ -43,6 +43,9 @@ namespace StgSharpDebug.Logic private SemaphoreSlim _addSubscriberSemaphore = new SemaphoreSlim(1, 1); + protected SemaphoreSlim CheckSubscriberSemaphore +=> _addSubscriberSemaphore; + public void AddSubscriber(TimeSpanProvider subscriber) { _addSubscriberSemaphore.Wait(); @@ -79,11 +82,6 @@ namespace StgSharpDebug.Logic public abstract void StartProvidingTime(); - protected SemaphoreSlim CheckSubscriberSemaphore - { - get => _addSubscriberSemaphore; - } - protected abstract void AddSubscriberUnsynced(TimeSpanProvider subscriber); protected abstract void RemoveSubscriberUnsynced(TimeSpanProvider subscriber); diff --git a/源代码/StgSharp/Logic/TimeSpanProvider.cs b/源代码/StgSharp/Logic/TimeSpanProvider.cs index cf178618..ea4f2ac7 100644 --- a/源代码/StgSharp/Logic/TimeSpanProvider.cs +++ b/源代码/StgSharp/Logic/TimeSpanProvider.cs @@ -38,19 +38,22 @@ namespace StgSharp { public delegate void TimeSpanRefeshCallback(); + /// /// A microsecond-accuracy timer. It will refresh every a certain time span. /// public class TimeSpanProvider { + private Action _frameUpdateMissCallback = null; + private readonly int _maxSpanCount; private TimeSpanRefeshCallback _refeshCallback; + private SemaphoreSlim _refreshSemaphore = new SemaphoreSlim(0, 1); private long _spanBegin; private readonly long _spanLength; private bool _subscribed; private Counter timeSpanCount = new Counter(-1, 1, 1); - private SemaphoreSlim _refreshSemaphore = new SemaphoreSlim(0,1); /// /// Create a new and define the length of time span. Length of a single time span is defined in microseconds. @@ -60,6 +63,7 @@ namespace StgSharp public TimeSpanProvider(long spanLength, TimeSourceProviderBase provider) { _spanLength = spanLength; + _maxSpanCount = int.MaxValue; provider.AddSubscriber(this); _subscribed = true; } @@ -72,7 +76,9 @@ namespace StgSharp /// public TimeSpanProvider(double spanLength, TimeSourceProviderBase provider) { - _spanLength = ((int)spanLength) * 1000L * 1000L; _spanBegin = -_spanLength; + _spanLength = (long)(spanLength * 1000L * 1000L); + _spanBegin = -_spanLength; + _maxSpanCount = int.MaxValue; provider.AddSubscriber(this); _subscribed = true; } @@ -86,18 +92,28 @@ namespace StgSharp { if (maxSpan <= 0) { - maxSpan = int.MaxValue; + maxSpan = int.MaxValue; } _spanLength = spanLength; _spanBegin = -_spanLength; provider.AddSubscriber(this); _subscribed = true; } + public int CurrentSpan + { + get => timeSpanCount.Value; + } /// /// Time source provider provided in internal framework. /// public static TimeSourceProviderBase DefaultProvider => StgSharpTime.OnlyInstance; + public Action FrameUpdateMissCallback + { + get => _frameUpdateMissCallback; + set => _frameUpdateMissCallback = value; + } + /// /// The method this will call every time a new time span started. /// @@ -107,7 +123,6 @@ namespace StgSharp set => _refeshCallback = value; } - public void SubcsribeToTimeSource(TimeSourceProviderBase serviceHandler) { if (_subscribed) @@ -118,6 +133,11 @@ namespace StgSharp serviceHandler.AddSubscriber(this); } + public void WaitNextSpan() + { + _refreshSemaphore.Wait(); + } + internal bool CheckTime(long microseconds) { if (microseconds - _spanBegin > _spanLength) @@ -128,7 +148,7 @@ namespace StgSharp { _refreshSemaphore.Release(); } - catch(SemaphoreFullException ex) + catch (SemaphoreFullException ex) { if (_frameUpdateMissCallback != null) { @@ -143,19 +163,6 @@ namespace StgSharp return true; } - private Action _frameUpdateMissCallback = null; - - public Action FrameUpdateMissCallback - { - get { return _frameUpdateMissCallback; } - set { _frameUpdateMissCallback = value;} - } - - public void WaitNextSpan() - { - _refreshSemaphore.Wait(); - } - public static implicit operator int(TimeSpanProvider provider) { return provider.timeSpanCount.Value; diff --git a/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.dll b/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.dll index 0da1d373..39ee19dd 100644 Binary files a/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.dll and b/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.dll differ diff --git a/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.xml b/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.xml index b3ba9d46..6b9c3a01 100644 --- a/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.xml +++ b/源代码/StgSharp/bin/x64/Debug/netstandard2.1/StgSharp.xml @@ -268,7 +268,7 @@ - + Inti a shader with no program attached. diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs index 755c632f..6db0559d 100644 --- a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs +++ b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs @@ -44,7 +44,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+0c50c6282e58714d20a68c1b2346c6dcec49af41")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfoInputs.cache b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfoInputs.cache index 46191716..2ccb3b18 100644 --- a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfoInputs.cache +++ b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.AssemblyInfoInputs.cache @@ -1 +1 @@ -2d5ea9ef2f157207bf6ee00ab84f624a9e25fd320dfc78958779a7efb72477d0 +a9c71d94f84382b1844591857b1e9ad3af27d0a646db63fd84315bdd8da51c77 diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache index ee6bcf37..803dfe6f 100644 --- a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache +++ b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -a06c60f5be94183de3d46acf621d479d68deba0e60d6792c10889c0210bf4540 +88b26f7107904754ed6637d3c4e9c3be1765bb7c3e311b32b6041c64e70bd4bc diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.dll b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.dll index 0da1d373..39ee19dd 100644 Binary files a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.dll and b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.dll differ diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.sourcelink.json b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.sourcelink.json index fc8c0336..deb99c90 100644 --- a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.sourcelink.json +++ b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.sourcelink.json @@ -1 +1 @@ -{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/0c50c6282e58714d20a68c1b2346c6dcec49af41/*"}} \ No newline at end of file +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/9a10ec201c1e78c441727446c2649fae962d9b7a/*"}} \ No newline at end of file diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.xml b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.xml index b3ba9d46..6b9c3a01 100644 --- a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.xml +++ b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/StgSharp.xml @@ -268,7 +268,7 @@ - + Inti a shader with no program attached. diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/ref/StgSharp.dll b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/ref/StgSharp.dll index 04f62427..b428c529 100644 Binary files a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/ref/StgSharp.dll and b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/ref/StgSharp.dll differ diff --git a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/refint/StgSharp.dll b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/refint/StgSharp.dll index 04f62427..b428c529 100644 Binary files a/源代码/StgSharp/obj/x64/Debug/netstandard2.1/refint/StgSharp.dll and b/源代码/StgSharp/obj/x64/Debug/netstandard2.1/refint/StgSharp.dll differ diff --git a/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs b/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs index dc45525a..c06d53cb 100644 --- a/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs +++ b/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a2241a5a5816a9438c63e3ca3c69313e6f2e8f56")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfoInputs.cache b/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfoInputs.cache index ac9f8fee..7992a0ab 100644 --- a/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfoInputs.cache +++ b/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfoInputs.cache @@ -1 +1 @@ -ba191eb9fce1fb0f8131b73fcfaca304b182373a9d3ce6f86252bb1130b3ec04 +10a5597183260351018995f463258da2d5589454468940a16d3a53d17785c9e0 diff --git a/源代码/StgSharpC.dll b/源代码/StgSharpC.dll index d4bcc832..59232b2f 100644 Binary files a/源代码/StgSharpC.dll and b/源代码/StgSharpC.dll differ diff --git a/源代码/StgSharpC.lib b/源代码/StgSharpC.lib index 7d006ae9..a67bcfdd 100644 Binary files a/源代码/StgSharpC.lib and b/源代码/StgSharpC.lib differ diff --git a/源代码/StgSharpC.pdb b/源代码/StgSharpC.pdb index 109948a8..514c6d45 100644 Binary files a/源代码/StgSharpC.pdb and b/源代码/StgSharpC.pdb differ diff --git a/源代码/StgSharpC/StgSharpC.vcxproj b/源代码/StgSharpC/StgSharpC.vcxproj index 32d01a42..8bc28daa 100644 --- a/源代码/StgSharpC/StgSharpC.vcxproj +++ b/源代码/StgSharpC/StgSharpC.vcxproj @@ -46,7 +46,7 @@ Unicode - Application + DynamicLibrary false v143 true @@ -73,6 +73,9 @@ $(SolutionDir) + + $(SolutionDir) + Level3 @@ -133,6 +136,8 @@ true Speed All + stdcpp20 + stdc17 Console diff --git a/源代码/StgSharpC/x64/Debug/StgSharpC.log b/源代码/StgSharpC/x64/Debug/StgSharpC.log index a5670872..d7b68197 100644 --- a/源代码/StgSharpC/x64/Debug/StgSharpC.log +++ b/源代码/StgSharpC/x64/Debug/StgSharpC.log @@ -1,4 +1 @@ - StgSharpC.c -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c(23,18): warning C4047: “=”:“char”与“char [27]”的间接级别不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c(67,5): warning C4047: “return”:“char *”与“char (*)[512]”的间接级别不同 - StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.dll + StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.dll diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.cod b/源代码/StgSharpC/x64/Release/StgSharpC.cod new file mode 100644 index 00000000..c75a3af9 --- /dev/null +++ b/源代码/StgSharpC/x64/Release/StgSharpC.cod @@ -0,0 +1,103 @@ +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0 + +include listing.inc + +INCLUDELIB OLDNAMES + +PUBLIC infolog +PUBLIC ??_C@_05JMLLFKBP@?$CFllu?6@ ; `string' +PUBLIC ??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ ; `string' +PUBLIC ??_C@_03OFAPEBGM@?$CFs?6@ ; `string' +EXTRN glfwGetProcAddress:PROC +EXTRN glfwWindowHint:PROC +EXTRN __imp___stdio_common_vfprintf:PROC +EXTRN __imp___acrt_iob_func:PROC +EXTRN __report_rangecheckfailure:PROC +infolog DB 0200H DUP (?) +_BSS ENDS +; COMDAT ??_C@_03OFAPEBGM@?$CFs?6@ +CONST SEGMENT +??_C@_03OFAPEBGM@?$CFs?6@ DB '%s', 0aH, 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ +CONST SEGMENT +??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ DB 'Failed to load Op' + DB 'enGL api:', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_05JMLLFKBP@?$CFllu?6@ +CONST SEGMENT +??_C@_05JMLLFKBP@?$CFllu?6@ DB '%llu', 0aH, 00H ; `string' +PUBLIC readLog +PUBLIC unloadImageData +PUBLIC loadImageData +PUBLIC linkShaderProgram +PUBLIC loadGlfuncDefault +PUBLIC initGL +PUBLIC printf +PUBLIC _vfprintf_l +PUBLIC __local_stdio_printf_options +; COMDAT pdata +pdata SEGMENT +$pdata$loadImageData DD imagerel $LN5@loadImageD + DD imagerel $LN5@loadImageD+54 + DD imagerel $unwind$loadImageData +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$linkShaderProgram DD imagerel $LN7@linkShader + DD imagerel $LN7@linkShader+116 + DD imagerel $unwind$linkShaderProgram +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$loadGlfuncDefault DD imagerel $LN19@loadGlfunc + DD imagerel $LN19@loadGlfunc+31 + DD imagerel $unwind$loadGlfuncDefault +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$initGL DD imagerel $LN4@initGL + DD imagerel $LN4@initGL+52 + DD imagerel $unwind$initGL +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$printf DD imagerel $LN6@printf + DD imagerel $LN6@printf+85 + DD imagerel $unwind$printf +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$_vfprintf_l DD imagerel $LN4@vfprintf_l + DD imagerel $LN4@vfprintf_l+68 + DD imagerel $unwind$_vfprintf_l +pdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$_vfprintf_l DQ 00009640f00060f01r ; 1.30596e-308 + DQ 0700b520f0008340fr ; 5.30195e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$printf DQ 07017521b00041b01r ; 9.05146e+231 + DD 030156016H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$initGL DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$loadGlfuncDefault DQ 00000420400010401r ; 3.58617e-310 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$linkShaderProgram DQ 0000a340a00041919r ; 1.41894e-308 + DD 07006520aH + DD imagerel __GSHandlerCheck + DD 028H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$loadImageData DQ 03002520600020601r ; 1.97773e-77 +END diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.dll.recipe b/源代码/StgSharpC/x64/Release/StgSharpC.dll.recipe new file mode 100644 index 00000000..19e5e946 --- /dev/null +++ b/源代码/StgSharpC/x64/Release/StgSharpC.dll.recipe @@ -0,0 +1,11 @@ + + + + + D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.dll + + + + + + \ No newline at end of file diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.iobj b/源代码/StgSharpC/x64/Release/StgSharpC.iobj new file mode 100644 index 00000000..2357ebc4 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.iobj differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.ipdb b/源代码/StgSharpC/x64/Release/StgSharpC.ipdb new file mode 100644 index 00000000..99e1bce0 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.ipdb differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.log b/源代码/StgSharpC/x64/Release/StgSharpC.log new file mode 100644 index 00000000..ea955296 --- /dev/null +++ b/源代码/StgSharpC/x64/Release/StgSharpC.log @@ -0,0 +1,41 @@ + dllmain.c + mat2.c + mat3.c + mat4.c +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(8,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(8,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(9,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(9,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(17,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(17,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(18,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(18,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(19,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(19,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(20,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(20,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(30,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(30,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(31,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(31,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(32,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(32,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(33,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(33,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(42,18): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(43,18): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(44,18): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(45,18): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c(53,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 + stb_image.c +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\stb_image.c(832,17): warning C4047: “=”:“stbi_uc”与“char [33]”的间接级别不同 + StgSharpC.c +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c(23,18): warning C4047: “=”:“char”与“char [27]”的间接级别不同 +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c(67,5): warning C4047: “return”:“char *”与“char (*)[512]”的间接级别不同 + 正在创建库 D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.lib 和对象 D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.exp + 正在生成代码 + 0 of 175 functions ( 0.0%) were compiled, the rest were copied from previous compilation. + 0 functions were new in current compilation + 0 functions had inline decision re-evaluated but remain unchanged + 已完成代码的生成 + StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.dll diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.obj b/源代码/StgSharpC/x64/Release/StgSharpC.obj new file mode 100644 index 00000000..ff33c977 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.obj differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.command.1.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.command.1.tlog new file mode 100644 index 00000000..2e44a06f Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.command.1.tlog differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.read.1.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.read.1.tlog new file mode 100644 index 00000000..3d3e91a3 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.read.1.tlog differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.write.1.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.write.1.tlog new file mode 100644 index 00000000..dc1ff6da Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/CL.write.1.tlog differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/Cl.items.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/Cl.items.tlog new file mode 100644 index 00000000..884d4708 --- /dev/null +++ b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/Cl.items.tlog @@ -0,0 +1,6 @@ +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\dllmain.obj +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\mat2.obj +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\mat3.obj +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\mat4.obj +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\stb_image.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\stb_image.obj +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\StgSharpC.obj diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/StgSharpC.lastbuildstate b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/StgSharpC.lastbuildstate new file mode 100644 index 00000000..9339bfaa --- /dev/null +++ b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/StgSharpC.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0: +Release|x64|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\| diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.command.1.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.command.1.tlog new file mode 100644 index 00000000..bbe7dc6e Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.command.1.tlog differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.read.1.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.read.1.tlog new file mode 100644 index 00000000..5e1b0a9a Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.read.1.tlog differ diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.secondary.1.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.secondary.1.tlog new file mode 100644 index 00000000..c9df490e --- /dev/null +++ b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.secondary.1.tlog @@ -0,0 +1,5 @@ +^D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\GLFW3.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\GLFW3DLL.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\GLFW3_MT.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\RELEASE\DLLMAIN.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\RELEASE\MAT2.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\RELEASE\MAT3.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\RELEASE\MAT4.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\RELEASE\STB_IMAGE.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\RELEASE\STGSHARPC.OBJ +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.lib +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.EXP +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\StgSharpC.IPDB +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Release\StgSharpC.iobj diff --git a/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.write.1.tlog b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.write.1.tlog new file mode 100644 index 00000000..391565b6 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/StgSharpC.tlog/link.write.1.tlog differ diff --git a/源代码/StgSharpC/x64/Release/dllmain.cod b/源代码/StgSharpC/x64/Release/dllmain.cod new file mode 100644 index 00000000..83d95d93 --- /dev/null +++ b/源代码/StgSharpC/x64/Release/dllmain.cod @@ -0,0 +1,207 @@ +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0 + +include listing.inc + +INCLUDELIB OLDNAMES + +EXTRN __security_check_cookie:PROC +COMM ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@9:QWORD ; `__local_stdio_scanf_options'::`2'::_OptionsStorage +COMM ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9:QWORD ; `__local_stdio_printf_options'::`2'::_OptionsStorage +_DATA ENDS +PUBLIC DllMain +PUBLIC __isa_available_default +PUBLIC __real@3f000000 +PUBLIC __real@3f800000 +PUBLIC __real@3fdd1745c0000000 +PUBLIC __real@3ff0000000000000 +PUBLIC __real@40400000 +PUBLIC __real@437f0000 +PUBLIC __real@477fff00 +PUBLIC __xmm@00000000000000040000000000000000 +PUBLIC __xmm@00000002000000000000000400000000 +PUBLIC __xmm@00000002000000020000000200000002 +PUBLIC __xmm@00000003000000030000000300000003 +PUBLIC __xmm@00000004000000040000000800000008 +PUBLIC __xmm@00000004000000080000000800000008 +PUBLIC __xmm@00000200000002000000020000000200 +PUBLIC __xmm@00080008000800080008000800080008 +PUBLIC __xmm@00ff00ff00ff00ff00ff00ff00ff00ff +PUBLIC __xmm@01010000010100000101000001010000 +PUBLIC __xmm@08a914e808a914e808a914e808a914e8 +PUBLIC __xmm@11c8e09e11c8e09e11c8e09e11c8e09e +PUBLIC __xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 +PUBLIC __xmm@12d0046b12d0046b12d0046b12d0046b +PUBLIC __xmm@166f166f166f166f166f166f166f166f +PUBLIC __xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a +PUBLIC __xmm@80000000800000008000000080000000 +PUBLIC __xmm@80808080808080808080808080808080 +PUBLIC __xmm@e09ee565e09ee565e09ee565e09ee565 +PUBLIC __xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 +PUBLIC __xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 +PUBLIC __xmm@f493f493f493f493f493f493f493f493 +PUBLIC __xmm@f9c31a9df9c31a9df9c31a9df9c31a9d +PUBLIC __xmm@fa7efa7efa7efa7efa7efa7efa7efa7e +EXTRN __GSHandlerCheck:PROC +EXTRN __chkstk:PROC +EXTRN memcpy:PROC +EXTRN memset:PROC +EXTRN pow:PROC +EXTRN strcmp:PROC +EXTRN __ImageBase:BYTE +EXTRN __isa_available:DWORD +EXTRN __security_cookie:QWORD +EXTRN _fltused:DWORD +EXTRN _tls_index:DWORD +; COMDAT __isa_available_default +_BSS SEGMENT +__isa_available_default DD 01H DUP (?) +_BSS ENDS +; COMDAT __xmm@fa7efa7efa7efa7efa7efa7efa7efa7e +CONST SEGMENT +__xmm@fa7efa7efa7efa7efa7efa7efa7efa7e DB '~', 0faH, '~', 0faH, '~', 0faH + DB '~', 0faH, '~', 0faH, '~', 0faH, '~', 0faH, '~', 0faH +CONST ENDS +; COMDAT __xmm@f9c31a9df9c31a9df9c31a9df9c31a9d +CONST SEGMENT +__xmm@f9c31a9df9c31a9df9c31a9df9c31a9d DB 09dH, 01aH, 0c3H, 0f9H, 09dH, 01aH + DB 0c3H, 0f9H, 09dH, 01aH, 0c3H, 0f9H, 09dH, 01aH, 0c3H, 0f9H +CONST ENDS +; COMDAT __xmm@f493f493f493f493f493f493f493f493 +CONST SEGMENT +__xmm@f493f493f493f493f493f493f493f493 DB 093H, 0f4H, 093H, 0f4H, 093H, 0f4H + DB 093H, 0f4H, 093H, 0f4H, 093H, 0f4H, 093H, 0f4H, 093H, 0f4H +CONST ENDS +; COMDAT __xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 +CONST SEGMENT +__xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 DB 0a9H, 08H, 01aH, 0ebH, 0a9H, 08H + DB 01aH, 0ebH, 0a9H, 08H, 01aH, 0ebH, 0a9H, 08H, 01aH, 0ebH +CONST ENDS +; COMDAT __xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 +CONST SEGMENT +__xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 DB 0d0H, 012H, 0cfH, 0e9H, 0d0H, 012H + DB 0cfH, 0e9H, 0d0H, 012H, 0cfH, 0e9H, 0d0H, 012H, 0cfH, 0e9H +CONST ENDS +; COMDAT __xmm@e09ee565e09ee565e09ee565e09ee565 +CONST SEGMENT +__xmm@e09ee565e09ee565e09ee565e09ee565 DB 'e', 0e5H, 09eH, 0e0H, 'e', 0e5H + DB 09eH, 0e0H, 'e', 0e5H, 09eH, 0e0H, 'e', 0e5H, 09eH, 0e0H +CONST ENDS +; COMDAT __xmm@80808080808080808080808080808080 +CONST SEGMENT +__xmm@80808080808080808080808080808080 DB 080H, 080H, 080H, 080H, 080H, 080H + DB 080H, 080H, 080H, 080H, 080H, 080H, 080H, 080H, 080H, 080H +CONST ENDS +; COMDAT __xmm@80000000800000008000000080000000 +CONST SEGMENT +__xmm@80000000800000008000000080000000 DB 00H, 00H, 00H, 080H, 00H, 00H, 00H + DB 080H, 00H, 00H, 00H, 080H, 00H, 00H, 00H, 080H +CONST ENDS +; COMDAT __xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a +CONST SEGMENT +__xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a DB 'Z', 01cH, 'Z', 01cH, 'Z', 01cH + DB 'Z', 01cH, 'Z', 01cH, 'Z', 01cH, 'Z', 01cH, 'Z', 01cH +CONST ENDS +; COMDAT __xmm@166f166f166f166f166f166f166f166f +CONST SEGMENT +__xmm@166f166f166f166f166f166f166f166f DB 'o', 016H, 'o', 016H, 'o', 016H + DB 'o', 016H, 'o', 016H, 'o', 016H, 'o', 016H, 'o', 016H +CONST ENDS +; COMDAT __xmm@12d0046b12d0046b12d0046b12d0046b +CONST SEGMENT +__xmm@12d0046b12d0046b12d0046b12d0046b DB 'k', 04H, 0d0H, 012H, 'k', 04H, 0d0H + DB 012H, 'k', 04H, 0d0H, 012H, 'k', 04H, 0d0H, 012H +CONST ENDS +; COMDAT __xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 +CONST SEGMENT +__xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 DB 0c3H, 0f9H, 0c8H, 011H, 0c3H, 0f9H + DB 0c8H, 011H, 0c3H, 0f9H, 0c8H, 011H, 0c3H, 0f9H, 0c8H, 011H +CONST ENDS +; COMDAT __xmm@11c8e09e11c8e09e11c8e09e11c8e09e +CONST SEGMENT +__xmm@11c8e09e11c8e09e11c8e09e11c8e09e DB 09eH, 0e0H, 0c8H, 011H, 09eH, 0e0H + DB 0c8H, 011H, 09eH, 0e0H, 0c8H, 011H, 09eH, 0e0H, 0c8H, 011H +CONST ENDS +; COMDAT __xmm@08a914e808a914e808a914e808a914e8 +CONST SEGMENT +__xmm@08a914e808a914e808a914e808a914e8 DB 0e8H, 014H, 0a9H, 08H, 0e8H, 014H + DB 0a9H, 08H, 0e8H, 014H, 0a9H, 08H, 0e8H, 014H, 0a9H, 08H +CONST ENDS +; COMDAT __xmm@01010000010100000101000001010000 +CONST SEGMENT +__xmm@01010000010100000101000001010000 DB 00H, 00H, 01H, 01H, 00H, 00H, 01H + DB 01H, 00H, 00H, 01H, 01H, 00H, 00H, 01H, 01H +CONST ENDS +; COMDAT __xmm@00ff00ff00ff00ff00ff00ff00ff00ff +CONST SEGMENT +__xmm@00ff00ff00ff00ff00ff00ff00ff00ff DB 0ffH, 00H, 0ffH, 00H, 0ffH, 00H + DB 0ffH, 00H, 0ffH, 00H, 0ffH, 00H, 0ffH, 00H, 0ffH, 00H +CONST ENDS +; COMDAT __xmm@00080008000800080008000800080008 +CONST SEGMENT +__xmm@00080008000800080008000800080008 DB 08H, 00H, 08H, 00H, 08H, 00H, 08H + DB 00H, 08H, 00H, 08H, 00H, 08H, 00H, 08H, 00H +CONST ENDS +; COMDAT __xmm@00000200000002000000020000000200 +CONST SEGMENT +__xmm@00000200000002000000020000000200 DB 00H, 02H, 00H, 00H, 00H, 02H, 00H + DB 00H, 00H, 02H, 00H, 00H, 00H, 02H, 00H, 00H +CONST ENDS +; COMDAT __xmm@00000004000000080000000800000008 +CONST SEGMENT +__xmm@00000004000000080000000800000008 DB 08H, 00H, 00H, 00H, 08H, 00H, 00H + DB 00H, 08H, 00H, 00H, 00H, 04H, 00H, 00H, 00H +CONST ENDS +; COMDAT __xmm@00000004000000040000000800000008 +CONST SEGMENT +__xmm@00000004000000040000000800000008 DB 08H, 00H, 00H, 00H, 08H, 00H, 00H + DB 00H, 04H, 00H, 00H, 00H, 04H, 00H, 00H, 00H +CONST ENDS +; COMDAT __xmm@00000003000000030000000300000003 +CONST SEGMENT +__xmm@00000003000000030000000300000003 DB 03H, 00H, 00H, 00H, 03H, 00H, 00H + DB 00H, 03H, 00H, 00H, 00H, 03H, 00H, 00H, 00H +CONST ENDS +; COMDAT __xmm@00000002000000020000000200000002 +CONST SEGMENT +__xmm@00000002000000020000000200000002 DB 02H, 00H, 00H, 00H, 02H, 00H, 00H + DB 00H, 02H, 00H, 00H, 00H, 02H, 00H, 00H, 00H +CONST ENDS +; COMDAT __xmm@00000002000000000000000400000000 +CONST SEGMENT +__xmm@00000002000000000000000400000000 DB 00H, 00H, 00H, 00H, 04H, 00H, 00H + DB 00H, 00H, 00H, 00H, 00H, 02H, 00H, 00H, 00H +CONST ENDS +; COMDAT __xmm@00000000000000040000000000000000 +CONST SEGMENT +__xmm@00000000000000040000000000000000 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H + DB 00H, 04H, 00H, 00H, 00H, 00H, 00H, 00H, 00H +CONST ENDS +; COMDAT __real@477fff00 +CONST SEGMENT +__real@477fff00 DD 0477fff00r ; 65535 +CONST ENDS +; COMDAT __real@437f0000 +CONST SEGMENT +__real@437f0000 DD 0437f0000r ; 255 +CONST ENDS +; COMDAT __real@40400000 +CONST SEGMENT +__real@40400000 DD 040400000r ; 3 +CONST ENDS +; COMDAT __real@3ff0000000000000 +CONST SEGMENT +__real@3ff0000000000000 DQ 03ff0000000000000r ; 1 +CONST ENDS +; COMDAT __real@3fdd1745c0000000 +CONST SEGMENT +__real@3fdd1745c0000000 DQ 03fdd1745c0000000r ; 0.454545 +CONST ENDS +; COMDAT __real@3f800000 +CONST SEGMENT +__real@3f800000 DD 03f800000r ; 1 +CONST ENDS +; COMDAT __real@3f000000 +CONST SEGMENT +__real@3f000000 DD 03f000000r ; 0.5 +CONST ENDS +END diff --git a/源代码/StgSharpC/x64/Release/dllmain.obj b/源代码/StgSharpC/x64/Release/dllmain.obj new file mode 100644 index 00000000..6841febf Binary files /dev/null and b/源代码/StgSharpC/x64/Release/dllmain.obj differ diff --git a/源代码/StgSharpC/x64/Release/mat2.cod b/源代码/StgSharpC/x64/Release/mat2.cod new file mode 100644 index 00000000..a288a4fa --- /dev/null +++ b/源代码/StgSharpC/x64/Release/mat2.cod @@ -0,0 +1,11 @@ +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0 + +include listing.inc + +INCLUDELIB OLDNAMES + +EXTRN __imp__aligned_free:PROC +PUBLIC deinit_mat2 +PUBLIC transpose2to4 +PUBLIC transpose2to3 +END diff --git a/源代码/StgSharpC/x64/Release/mat2.obj b/源代码/StgSharpC/x64/Release/mat2.obj new file mode 100644 index 00000000..dddbd1b3 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/mat2.obj differ diff --git a/源代码/StgSharpC/x64/Release/mat3.cod b/源代码/StgSharpC/x64/Release/mat3.cod new file mode 100644 index 00000000..1ec93128 --- /dev/null +++ b/源代码/StgSharpC/x64/Release/mat3.cod @@ -0,0 +1,21 @@ +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0 + +include listing.inc + +INCLUDELIB OLDNAMES + +PUBLIC det_mat3 +PUBLIC det_mat3_internal +PUBLIC transpose3to4 +PUBLIC transpose3to3 +PUBLIC transpose3to2 +; COMDAT pdata +pdata SEGMENT +$pdata$transpose3to3 DD imagerel $LN4@transpose3 + DD imagerel $LN4@transpose3+83 + DD imagerel $unwind$transpose3to3 +; COMDAT xdata +xdata SEGMENT +$unwind$transpose3to3 DQ 00000681000031001r ; 5.653e-310 + DD 02204H +END diff --git a/源代码/StgSharpC/x64/Release/mat3.obj b/源代码/StgSharpC/x64/Release/mat3.obj new file mode 100644 index 00000000..0466d79d Binary files /dev/null and b/源代码/StgSharpC/x64/Release/mat3.obj differ diff --git a/源代码/StgSharpC/x64/Release/mat4.cod b/源代码/StgSharpC/x64/Release/mat4.cod new file mode 100644 index 00000000..a891618c --- /dev/null +++ b/源代码/StgSharpC/x64/Release/mat4.cod @@ -0,0 +1,34 @@ +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0 + +include listing.inc + +INCLUDELIB OLDNAMES + +PUBLIC deinit_mat4 +PUBLIC det_mat4 +PUBLIC transpose4to3 +PUBLIC transpose4to4 +PUBLIC transpose4to2 +; COMDAT pdata +pdata SEGMENT +$pdata$det_mat4 DD imagerel $LN12@det_mat4 + DD imagerel $LN12@det_mat4+293 + DD imagerel $unwind$det_mat4 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$transpose4to3 DD imagerel $LN4@transpose4 + DD imagerel $LN4@transpose4+80 + DD imagerel $unwind$transpose4to3 +; COMDAT xdata +xdata SEGMENT +$unwind$transpose4to3 DQ 00000681400031401r ; 5.65385e-310 + DD 02204H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$det_mat4 DQ 00000a835000b3501r ; 9.13753e-310 + DQ 00002881b0001982cr ; 3.52071e-309 + DQ 00004680e00037816r ; 6.12794e-309 + DD 0a207H +END diff --git a/源代码/StgSharpC/x64/Release/mat4.obj b/源代码/StgSharpC/x64/Release/mat4.obj new file mode 100644 index 00000000..24498968 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/mat4.obj differ diff --git a/源代码/StgSharpC/x64/Release/stb_image.cod b/源代码/StgSharpC/x64/Release/stb_image.cod new file mode 100644 index 00000000..a43ff7db --- /dev/null +++ b/源代码/StgSharpC/x64/Release/stb_image.cod @@ -0,0 +1,4013 @@ +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0 + +include listing.inc + +INCLUDELIB OLDNAMES + +PUBLIC ??_C@_0BD@CBEDEJPH@unknown?5image?5type@ ; `string' +PUBLIC ??_C@_08NOGIMCHF@outofmem@ ; `string' +PUBLIC ??_C@_02JDPG@rb@ ; `string' +PUBLIC ??_C@_0M@JPDHFAGK@can?8t?5fopen@ ; `string' +PUBLIC ??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ ; `string' +PUBLIC ??_C@_0M@MHDBFHD@unsupported@ ; `string' +PUBLIC ??_C@_0O@DEFOLMLB@bad?5size?5list@ ; `string' +PUBLIC ??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ ; `string' +PUBLIC ??_C@_0BB@IIMLINA@bad?5huffman?5code@ ; `string' +PUBLIC ??_C@_09IFDKCGFO@bad?5delta@ ; `string' +PUBLIC ??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ ; `string' +PUBLIC ??_C@_0BA@KLNDOKJD@expected?5marker@ ; `string' +PUBLIC ??_C@_0M@LPHNODCG@bad?5DRI?5len@ ; `string' +PUBLIC ??_C@_0N@BOFJCHAP@bad?5DQT?5type@ ; `string' +PUBLIC ??_C@_0O@CNHKKDIM@bad?5DQT?5table@ ; `string' +PUBLIC ??_C@_0P@JLGKOCGN@bad?5DHT?5header@ ; `string' +PUBLIC ??_C@_0M@CICAFFCH@bad?5COM?5len@ ; `string' +PUBLIC ??_C@_0M@EENLKPDI@bad?5APP?5len@ ; `string' +PUBLIC ??_C@_0P@NNGPHMMK@unknown?5marker@ ; `string' +PUBLIC ??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ ; `string' +PUBLIC ??_C@_0M@GNEHAHOH@bad?5SOS?5len@ ; `string' +PUBLIC ??_C@_0M@NOCCBFAC@bad?5DC?5huff@ ; `string' +PUBLIC ??_C@_0M@JGMCBLGG@bad?5AC?5huff@ ; `string' +PUBLIC ??_C@_07EEJOMGGP@bad?5SOS@ ; `string' +PUBLIC ??_C@_0M@DOFMJEMP@bad?5SOF?5len@ ; `string' +PUBLIC ??_C@_0L@BCINMEBJ@only?58?9bit@ ; `string' +PUBLIC ??_C@_0BB@LNEGOMA@no?5header?5height@ ; `string' +PUBLIC ??_C@_07BIDACDEF@0?5width@ ; `string' +PUBLIC ??_C@_09OJDLMMBJ@too?5large@ ; `string' +PUBLIC ??_C@_0BE@DAPHADHL@bad?5component?5count@ ; `string' +PUBLIC ??_C@_05BLPKENEJ@bad?5H@ ; `string' +PUBLIC ??_C@_05MPLLHCJG@bad?5V@ ; `string' +PUBLIC ??_C@_06LJIHDFHI@bad?5TQ@ ; `string' +PUBLIC ??_C@_06CLMBLEP@no?5SOI@ ; `string' +PUBLIC ??_C@_06IFCEAHIA@no?5SOF@ ; `string' +PUBLIC ??_C@_0M@EPMOIECP@bad?5DNL?5len@ ; `string' +PUBLIC ??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ ; `string' +PUBLIC ??_C@_0N@KBPNPPBJ@bad?5req_comp@ ; `string' +PUBLIC ??_C@_09EOHLEIKL@bad?5sizes@ ; `string' +PUBLIC ??_C@_0BA@MDNKOBMC@bad?5codelengths@ ; `string' +PUBLIC ??_C@_0BE@IBFIPFO@output?5buffer?5limit@ ; `string' +PUBLIC ??_C@_08DIAPIMGJ@bad?5dist@ ; `string' +PUBLIC ??_C@_0N@IECDHMDI@zlib?5corrupt@ ; `string' +PUBLIC ??_C@_0BB@PIPBCKIA@read?5past?5buffer@ ; `string' +PUBLIC ??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ ; `string' +PUBLIC ??_C@_0P@DOGMHEBI@no?5preset?5dict@ ; `string' +PUBLIC ??_C@_0BA@MCNBDLPD@bad?5compression@ ; `string' +PUBLIC ??_C@_0M@DMDNBACF@bad?5png?5sig@ ; `string' +PUBLIC ??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ ; `string' +PUBLIC ??_C@_0P@FBBCPGMN@invalid?5filter@ ; `string' +PUBLIC ??_C@_0O@MKGNGALN@invalid?5width@ ; `string' +PUBLIC ??_C@_0O@KBHBNJOK@multiple?5IHDR@ ; `string' +PUBLIC ??_C@_0N@POJLKMKK@bad?5IHDR?5len@ ; `string' +PUBLIC ??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ ; `string' +PUBLIC ??_C@_09MBBNGCKB@bad?5ctype@ ; `string' +PUBLIC ??_C@_0BA@MDMBDDFG@bad?5comp?5method@ ; `string' +PUBLIC ??_C@_0BC@GHLIKKMD@bad?5filter?5method@ ; `string' +PUBLIC ??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ ; `string' +PUBLIC ??_C@_0O@FNFBHCOO@0?9pixel?5image@ ; `string' +PUBLIC ??_C@_0P@JEAFOMAF@first?5not?5IHDR@ ; `string' +PUBLIC ??_C@_0N@JCPAJAKB@invalid?5PLTE@ ; `string' +PUBLIC ??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ ; `string' +PUBLIC ??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ ; `string' +PUBLIC ??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ ; `string' +PUBLIC ??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ ; `string' +PUBLIC ??_C@_07CKIELOEH@no?5PLTE@ ; `string' +PUBLIC ??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ ; `string' +PUBLIC ??_C@_09MNNCNKEO@outofdata@ ; `string' +PUBLIC ??_C@_07MLPECBNA@no?5IDAT@ ; `string' +PUBLIC ??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ ; `string' +PUBLIC ??_C@_07IANEBNLB@not?5BMP@ ; `string' +PUBLIC ??_C@_07IEJCHBDI@bad?5BMP@ ; `string' +PUBLIC ??_C@_0M@KHBIBJBG@unknown?5BMP@ ; `string' +PUBLIC ??_C@_07IMHMNOIB@BMP?5RLE@ ; `string' +PUBLIC ??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ ; `string' +PUBLIC ??_C@_0L@PJHPAMCH@bad?5header@ ; `string' +PUBLIC ??_C@_0L@JDPIFELH@bad?5offset@ ; `string' +PUBLIC ??_C@_07MALOAKCI@invalid@ ; `string' +PUBLIC ??_C@_07JNJHIMGH@bad?5bpp@ ; `string' +PUBLIC ??_C@_09DAEBACAB@bad?5masks@ ; `string' +PUBLIC ??_C@_0L@DMAPJJO@bad?5format@ ; `string' +PUBLIC ??_C@_0M@ILLOCNCO@bad?5palette@ ; `string' +PUBLIC ??_C@_07ECNCNLIK@not?5PSD@ ; `string' +PUBLIC ??_C@_0O@CHBCDKKC@wrong?5version@ ; `string' +PUBLIC ??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ ; `string' +PUBLIC ??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ ; `string' +PUBLIC ??_C@_0BD@IOGGBMNK@wrong?5color?5format@ ; `string' +PUBLIC ??_C@_07DPPMCAKL@corrupt@ ; `string' +PUBLIC ??_C@_04KBFEPHFH@S?$IA?v4@ ; `string' +PUBLIC ??_C@_04ELNJHLFH@PICT@ ; `string' +PUBLIC ??_C@_08GGMBIFE@bad?5file@ ; `string' +PUBLIC ??_C@_07KMJLPAII@not?5GIF@ ; `string' +PUBLIC ??_C@_00CNPNBAHC@@ ; `string' +PUBLIC ??_C@_0O@MGDACKOJ@no?5clear?5code@ ; `string' +PUBLIC ??_C@_0P@GJNJCPDJ@too?5many?5codes@ ; `string' +PUBLIC ??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ ; `string' +PUBLIC ??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ ; `string' +PUBLIC ??_C@_0BE@NAMJKDNF@missing?5color?5table@ ; `string' +PUBLIC ??_C@_0N@DJABBOOH@unknown?5code@ ; `string' +PUBLIC ??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ ; `string' +PUBLIC ??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ ; `string' +PUBLIC ??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ ; `string' +PUBLIC ??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ ; `string' +PUBLIC ??_C@_07NCIOKENI@not?5HDR@ ; `string' +PUBLIC ??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ ; `string' +PUBLIC ??_C@_0BD@NKJFFLKL@unsupported?5format@ ; `string' +PUBLIC ??_C@_03HKAKGGJN@?9Y?5@ ; `string' +PUBLIC ??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ ; `string' +PUBLIC ??_C@_03FOKDFDHG@?$CLX?5@ ; `string' +PUBLIC ??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ ; `string' +PUBLIC ??_C@_07IDKIDMGJ@bad?5PNM@ ; `string' +PUBLIC ??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ ; `string' +PUBLIC ??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ ; `string' +EXTRN __imp_malloc:PROC +EXTRN __imp_fread:PROC +EXTRN __imp_feof:PROC +EXTRN __imp_ungetc:PROC +EXTRN __imp_free:PROC +EXTRN __imp_ldexp:PROC +EXTRN __imp_strtol:PROC +EXTRN __imp_fopen_s:PROC +EXTRN __imp_strncmp:PROC +EXTRN __imp_fgetc:PROC +EXTRN __imp_fseek:PROC +EXTRN __imp_realloc:PROC +EXTRN __imp_fclose:PROC +EXTRN __imp_ferror:PROC +EXTRN __imp_ftell:PROC +stbi__unpremultiply_on_load_global DD 01H DUP (?) +stbi__vertically_flip_on_load_global DD 01H DUP (?) +stbi__de_iphone_flag_global DD 01H DUP (?) +_BSS ENDS +stbi__jbias DD 00H + DD 0ffffffffH + DD 0fffffffdH + DD 0fffffff9H + DD 0fffffff1H + DD 0ffffffe1H + DD 0ffffffc1H + DD 0ffffff81H + DD 0ffffff01H + DD 0fffffe01H + DD 0fffffc01H + DD 0fffff801H + DD 0fffff001H + DD 0ffffe001H + DD 0ffffc001H + DD 0ffff8001H +stbi__zdefault_length DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 09H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 07H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H + DB 08H +stbi__jpeg_dezigzag DB 00H + DB 01H + DB 08H + DB 010H + DB 09H + DB 02H + DB 03H + DB 0aH + DB 011H + DB 018H + DB 020H + DB 019H + DB 012H + DB 0bH + DB 04H + DB 05H + DB 0cH + DB 013H + DB 01aH + DB 021H + DB 028H + DB 030H + DB 029H + DB 022H + DB 01bH + DB 014H + DB 0dH + DB 06H + DB 07H + DB 0eH + DB 015H + DB 01cH + DB 023H + DB 02aH + DB 031H + DB 038H + DB 039H + DB 032H + DB 02bH + DB 024H + DB 01dH + DB 016H + DB 0fH + DB 017H + DB 01eH + DB 025H + DB 02cH + DB 033H + DB 03aH + DB 03bH + DB 034H + DB 02dH + DB 026H + DB 01fH + DB 027H + DB 02eH + DB 035H + DB 03cH + DB 03dH + DB 036H + DB 02fH + DB 037H + DB 03eH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + DB 03fH + ORG $+1 +?rgb@?5??stbi__process_frame_header@@9@9 DB 052H ; `stbi__process_frame_header'::`6'::rgb + DB 047H + DB 042H + ORG $+13 +stbi__zlength_base DD 03H + DD 04H + DD 05H + DD 06H + DD 07H + DD 08H + DD 09H + DD 0aH + DD 0bH + DD 0dH + DD 0fH + DD 011H + DD 013H + DD 017H + DD 01bH + DD 01fH + DD 023H + DD 02bH + DD 033H + DD 03bH + DD 043H + DD 053H + DD 063H + DD 073H + DD 083H + DD 0a3H + DD 0c3H + DD 0e3H + DD 0102H + DD 00H + DD 00H + ORG $+4 +stbi__zdist_base DD 01H + DD 02H + DD 03H + DD 04H + DD 05H + DD 07H + DD 09H + DD 0dH + DD 011H + DD 019H + DD 021H + DD 031H + DD 041H + DD 061H + DD 081H + DD 0c1H + DD 0101H + DD 0181H + DD 0201H + DD 0301H + DD 0401H + DD 0601H + DD 0801H + DD 0c01H + DD 01001H + DD 01801H + DD 02001H + DD 03001H + DD 04001H + DD 06001H + DD 00H + DD 00H +stbi__bmask DD 00H + DD 01H + DD 03H + DD 07H + DD 0fH + DD 01fH + DD 03fH + DD 07fH + DD 0ffH + DD 01ffH + DD 03ffH + DD 07ffH + DD 0fffH + DD 01fffH + DD 03fffH + DD 07fffH + DD 0ffffH + ORG $+12 +stbi__zlength_extra DD 00H + DD 00H + DD 00H + DD 00H + DD 00H + DD 00H + DD 00H + DD 00H + DD 01H + DD 01H + DD 01H + DD 01H + DD 02H + DD 02H + DD 02H + DD 02H + DD 03H + DD 03H + DD 03H + DD 03H + DD 04H + DD 04H + DD 04H + DD 04H + DD 05H + DD 05H + DD 05H + DD 05H + DD 00H + DD 00H + DD 00H +?tag@?O@??stbi__process_marker@@9@9 DB 04aH ; `stbi__process_marker'::`14'::tag + DB 046H + DB 049H + DB 046H + DB 00H + ORG $+3 +first_row_filter DB 00H + DB 01H + DB 00H + DB 05H + DB 06H + ORG $+7 +?length_dezigzag@?1??stbi__compute_huffman_codes@@9@9 DB 010H ; `stbi__compute_huffman_codes'::`2'::length_dezigzag + DB 011H + DB 012H + DB 00H + DB 08H + DB 07H + DB 09H + DB 06H + DB 0aH + DB 05H + DB 0bH + DB 04H + DB 0cH + DB 03H + DB 0dH + DB 02H + DB 0eH + DB 01H + DB 0fH + ORG $+5 +stbi__depth_scale_table DB 00H + DB 0ffH + DB 055H + DB 00H + DB 011H + DB 00H + DB 00H + DB 00H + DB 01H + ORG $+7 +stbi__zdefault_distance DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H + DB 05H +?tag@?BA@??stbi__process_marker@@9@9 DB 041H ; `stbi__process_marker'::`16'::tag + DB 064H + DB 06fH + DB 062H + DB 065H + DB 00H + ORG $+2 +?shift_table@?1??stbi__shiftsigned@@9@9 DD 00H ; `stbi__shiftsigned'::`2'::shift_table + DD 00H + DD 00H + DD 01H + DD 00H + DD 02H + DD 04H + DD 06H + DD 00H + ORG $+4 +?mul_table@?1??stbi__shiftsigned@@9@9 DD 00H ; `stbi__shiftsigned'::`2'::mul_table + DD 0ffH + DD 055H + DD 049H + DD 011H + DD 021H + DD 041H + DD 081H + DD 01H +stbi__h2l_gamma_i DD 03ee8ba2er ; 0.454545 +stbi__zdist_extra DD 00H + DD 00H + DD 00H + DD 00H + DD 01H + DD 01H + DD 02H + DD 02H + DD 03H + DD 03H + DD 04H + DD 04H + DD 05H + DD 05H + DD 06H + DD 06H + DD 07H + DD 07H + DD 08H + DD 08H + DD 09H + DD 09H + DD 0aH + DD 0aH + DD 0bH + DD 0bH + DD 0cH + DD 0cH + DD 0dH + DD 0dH + ORG $+8 +stbi__h2l_scale_i DD 03f800000r ; 1 + ORG $+4 +?png_sig@?1??stbi__check_png_header@@9@9 DB 089H ; `stbi__check_png_header'::`2'::png_sig + DB 050H + DB 04eH + DB 047H + DB 0dH + DB 0aH + DB 01aH + DB 0aH +CONST ENDS +; COMDAT ??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ +CONST SEGMENT +??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ DB 'max value > 65535', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ +CONST SEGMENT +??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ DB 'integer parse overflow', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07IDKIDMGJ@bad?5PNM@ +CONST SEGMENT +??_C@_07IDKIDMGJ@bad?5PNM@ DB 'bad PNM', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ +CONST SEGMENT +??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ DB 'invalid decode' + DB 'd scanline length', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_03FOKDFDHG@?$CLX?5@ +CONST SEGMENT +??_C@_03FOKDFDHG@?$CLX?5@ DB '+X ', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ +CONST SEGMENT +??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ DB 'unsupported data layout' + DB 00H ; `string' +CONST ENDS +; COMDAT ??_C@_03HKAKGGJN@?9Y?5@ +CONST SEGMENT +??_C@_03HKAKGGJN@?9Y?5@ DB '-Y ', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BD@NKJFFLKL@unsupported?5format@ +CONST SEGMENT +??_C@_0BD@NKJFFLKL@unsupported?5format@ DB 'unsupported format', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ +CONST SEGMENT +??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ DB 'FORMAT=32-bit_rle_rgbe' + DB 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07NCIOKENI@not?5HDR@ +CONST SEGMENT +??_C@_07NCIOKENI@not?5HDR@ DB 'not HDR', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ +CONST SEGMENT +??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ DB '#?RGBE', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ +CONST SEGMENT +??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ DB '#?RADIANCE', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ +CONST SEGMENT +??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ DB '#?RGBE', 0aH, 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ +CONST SEGMENT +??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ DB '#?RADIANCE', 0aH, 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@DJABBOOH@unknown?5code@ +CONST SEGMENT +??_C@_0N@DJABBOOH@unknown?5code@ DB 'unknown code', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BE@NAMJKDNF@missing?5color?5table@ +CONST SEGMENT +??_C@_0BE@NAMJKDNF@missing?5color?5table@ DB 'missing color table', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ +CONST SEGMENT +??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ DB 'bad Image Descriptor', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ +CONST SEGMENT +??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ DB 'illegal code in raster', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0P@GJNJCPDJ@too?5many?5codes@ +CONST SEGMENT +??_C@_0P@GJNJCPDJ@too?5many?5codes@ DB 'too many codes', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0O@MGDACKOJ@no?5clear?5code@ +CONST SEGMENT +??_C@_0O@MGDACKOJ@no?5clear?5code@ DB 'no clear code', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_00CNPNBAHC@@ +CONST SEGMENT +??_C@_00CNPNBAHC@@ DB 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07KMJLPAII@not?5GIF@ +CONST SEGMENT +??_C@_07KMJLPAII@not?5GIF@ DB 'not GIF', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_08GGMBIFE@bad?5file@ +CONST SEGMENT +??_C@_08GGMBIFE@bad?5file@ DB 'bad file', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_04ELNJHLFH@PICT@ +CONST SEGMENT +??_C@_04ELNJHLFH@PICT@ DB 'PICT', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_04KBFEPHFH@S?$IA?v4@ +CONST SEGMENT +??_C@_04KBFEPHFH@S?$IA?v4@ DB 'S', 080H, 0f6H, '4', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07DPPMCAKL@corrupt@ +CONST SEGMENT +??_C@_07DPPMCAKL@corrupt@ DB 'corrupt', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BD@IOGGBMNK@wrong?5color?5format@ +CONST SEGMENT +??_C@_0BD@IOGGBMNK@wrong?5color?5format@ DB 'wrong color format', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ +CONST SEGMENT +??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ DB 'unsupported bit depth', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ +CONST SEGMENT +??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ DB 'wrong channel count', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0O@CHBCDKKC@wrong?5version@ +CONST SEGMENT +??_C@_0O@CHBCDKKC@wrong?5version@ DB 'wrong version', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07ECNCNLIK@not?5PSD@ +CONST SEGMENT +??_C@_07ECNCNLIK@not?5PSD@ DB 'not PSD', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@ILLOCNCO@bad?5palette@ +CONST SEGMENT +??_C@_0M@ILLOCNCO@bad?5palette@ DB 'bad palette', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0L@DMAPJJO@bad?5format@ +CONST SEGMENT +??_C@_0L@DMAPJJO@bad?5format@ DB 'bad format', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_09DAEBACAB@bad?5masks@ +CONST SEGMENT +??_C@_09DAEBACAB@bad?5masks@ DB 'bad masks', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07JNJHIMGH@bad?5bpp@ +CONST SEGMENT +??_C@_07JNJHIMGH@bad?5bpp@ DB 'bad bpp', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07MALOAKCI@invalid@ +CONST SEGMENT +??_C@_07MALOAKCI@invalid@ DB 'invalid', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0L@JDPIFELH@bad?5offset@ +CONST SEGMENT +??_C@_0L@JDPIFELH@bad?5offset@ DB 'bad offset', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0L@PJHPAMCH@bad?5header@ +CONST SEGMENT +??_C@_0L@PJHPAMCH@bad?5header@ DB 'bad header', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ +CONST SEGMENT +??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ DB 'BMP JPEG/PNG', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07IMHMNOIB@BMP?5RLE@ +CONST SEGMENT +??_C@_07IMHMNOIB@BMP?5RLE@ DB 'BMP RLE', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@KHBIBJBG@unknown?5BMP@ +CONST SEGMENT +??_C@_0M@KHBIBJBG@unknown?5BMP@ DB 'unknown BMP', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07IEJCHBDI@bad?5BMP@ +CONST SEGMENT +??_C@_07IEJCHBDI@bad?5BMP@ DB 'bad BMP', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07IANEBNLB@not?5BMP@ +CONST SEGMENT +??_C@_07IANEBNLB@not?5BMP@ DB 'not BMP', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ +CONST SEGMENT +??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ DB 'bad bits_per_channel', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07MLPECBNA@no?5IDAT@ +CONST SEGMENT +??_C@_07MLPECBNA@no?5IDAT@ DB 'no IDAT', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_09MNNCNKEO@outofdata@ +CONST SEGMENT +??_C@_09MNNCNKEO@outofdata@ DB 'outofdata', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ +CONST SEGMENT +??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ DB 'IDAT size limit', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07CKIELOEH@no?5PLTE@ +CONST SEGMENT +??_C@_07CKIELOEH@no?5PLTE@ DB 'no PLTE', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ +CONST SEGMENT +??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ DB 'tRNS with alpha', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ +CONST SEGMENT +??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ DB 'bad tRNS len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ +CONST SEGMENT +??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ DB 'tRNS before PLTE', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ +CONST SEGMENT +??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ DB 'tRNS after IDAT', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@JCPAJAKB@invalid?5PLTE@ +CONST SEGMENT +??_C@_0N@JCPAJAKB@invalid?5PLTE@ DB 'invalid PLTE', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0P@JEAFOMAF@first?5not?5IHDR@ +CONST SEGMENT +??_C@_0P@JEAFOMAF@first?5not?5IHDR@ DB 'first not IHDR', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0O@FNFBHCOO@0?9pixel?5image@ +CONST SEGMENT +??_C@_0O@FNFBHCOO@0?9pixel?5image@ DB '0-pixel image', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ +CONST SEGMENT +??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ DB 'bad interlace method', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BC@GHLIKKMD@bad?5filter?5method@ +CONST SEGMENT +??_C@_0BC@GHLIKKMD@bad?5filter?5method@ DB 'bad filter method', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@MDMBDDFG@bad?5comp?5method@ +CONST SEGMENT +??_C@_0BA@MDMBDDFG@bad?5comp?5method@ DB 'bad comp method', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_09MBBNGCKB@bad?5ctype@ +CONST SEGMENT +??_C@_09MBBNGCKB@bad?5ctype@ DB 'bad ctype', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ +CONST SEGMENT +??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ DB '1/2/4/8/16-bit only', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@POJLKMKK@bad?5IHDR?5len@ +CONST SEGMENT +??_C@_0N@POJLKMKK@bad?5IHDR?5len@ DB 'bad IHDR len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0O@KBHBNJOK@multiple?5IHDR@ +CONST SEGMENT +??_C@_0O@KBHBNJOK@multiple?5IHDR@ DB 'multiple IHDR', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0O@MKGNGALN@invalid?5width@ +CONST SEGMENT +??_C@_0O@MKGNGALN@invalid?5width@ DB 'invalid width', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0P@FBBCPGMN@invalid?5filter@ +CONST SEGMENT +??_C@_0P@FBBCPGMN@invalid?5filter@ DB 'invalid filter', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ +CONST SEGMENT +??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ DB 'not enough pixels', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@DMDNBACF@bad?5png?5sig@ +CONST SEGMENT +??_C@_0M@DMDNBACF@bad?5png?5sig@ DB 'bad png sig', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@MCNBDLPD@bad?5compression@ +CONST SEGMENT +??_C@_0BA@MCNBDLPD@bad?5compression@ DB 'bad compression', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0P@DOGMHEBI@no?5preset?5dict@ +CONST SEGMENT +??_C@_0P@DOGMHEBI@no?5preset?5dict@ DB 'no preset dict', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ +CONST SEGMENT +??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ DB 'bad zlib header', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BB@PIPBCKIA@read?5past?5buffer@ +CONST SEGMENT +??_C@_0BB@PIPBCKIA@read?5past?5buffer@ DB 'read past buffer', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@IECDHMDI@zlib?5corrupt@ +CONST SEGMENT +??_C@_0N@IECDHMDI@zlib?5corrupt@ DB 'zlib corrupt', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_08DIAPIMGJ@bad?5dist@ +CONST SEGMENT +??_C@_08DIAPIMGJ@bad?5dist@ DB 'bad dist', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BE@IBFIPFO@output?5buffer?5limit@ +CONST SEGMENT +??_C@_0BE@IBFIPFO@output?5buffer?5limit@ DB 'output buffer limit', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@MDNKOBMC@bad?5codelengths@ +CONST SEGMENT +??_C@_0BA@MDNKOBMC@bad?5codelengths@ DB 'bad codelengths', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_09EOHLEIKL@bad?5sizes@ +CONST SEGMENT +??_C@_09EOHLEIKL@bad?5sizes@ DB 'bad sizes', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@KBPNPPBJ@bad?5req_comp@ +CONST SEGMENT +??_C@_0N@KBPNPPBJ@bad?5req_comp@ DB 'bad req_comp', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ +CONST SEGMENT +??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ DB 'bad DNL height', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@EPMOIECP@bad?5DNL?5len@ +CONST SEGMENT +??_C@_0M@EPMOIECP@bad?5DNL?5len@ DB 'bad DNL len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_06IFCEAHIA@no?5SOF@ +CONST SEGMENT +??_C@_06IFCEAHIA@no?5SOF@ DB 'no SOF', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_06CLMBLEP@no?5SOI@ +CONST SEGMENT +??_C@_06CLMBLEP@no?5SOI@ DB 'no SOI', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_06LJIHDFHI@bad?5TQ@ +CONST SEGMENT +??_C@_06LJIHDFHI@bad?5TQ@ DB 'bad TQ', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_05MPLLHCJG@bad?5V@ +CONST SEGMENT +??_C@_05MPLLHCJG@bad?5V@ DB 'bad V', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_05BLPKENEJ@bad?5H@ +CONST SEGMENT +??_C@_05BLPKENEJ@bad?5H@ DB 'bad H', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BE@DAPHADHL@bad?5component?5count@ +CONST SEGMENT +??_C@_0BE@DAPHADHL@bad?5component?5count@ DB 'bad component count', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_09OJDLMMBJ@too?5large@ +CONST SEGMENT +??_C@_09OJDLMMBJ@too?5large@ DB 'too large', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07BIDACDEF@0?5width@ +CONST SEGMENT +??_C@_07BIDACDEF@0?5width@ DB '0 width', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BB@LNEGOMA@no?5header?5height@ +CONST SEGMENT +??_C@_0BB@LNEGOMA@no?5header?5height@ DB 'no header height', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0L@BCINMEBJ@only?58?9bit@ +CONST SEGMENT +??_C@_0L@BCINMEBJ@only?58?9bit@ DB 'only 8-bit', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@DOFMJEMP@bad?5SOF?5len@ +CONST SEGMENT +??_C@_0M@DOFMJEMP@bad?5SOF?5len@ DB 'bad SOF len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_07EEJOMGGP@bad?5SOS@ +CONST SEGMENT +??_C@_07EEJOMGGP@bad?5SOS@ DB 'bad SOS', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@JGMCBLGG@bad?5AC?5huff@ +CONST SEGMENT +??_C@_0M@JGMCBLGG@bad?5AC?5huff@ DB 'bad AC huff', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@NOCCBFAC@bad?5DC?5huff@ +CONST SEGMENT +??_C@_0M@NOCCBFAC@bad?5DC?5huff@ DB 'bad DC huff', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@GNEHAHOH@bad?5SOS?5len@ +CONST SEGMENT +??_C@_0M@GNEHAHOH@bad?5SOS?5len@ DB 'bad SOS len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ +CONST SEGMENT +??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ DB 'bad SOS component coun' + DB 't', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0P@NNGPHMMK@unknown?5marker@ +CONST SEGMENT +??_C@_0P@NNGPHMMK@unknown?5marker@ DB 'unknown marker', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@EENLKPDI@bad?5APP?5len@ +CONST SEGMENT +??_C@_0M@EENLKPDI@bad?5APP?5len@ DB 'bad APP len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@CICAFFCH@bad?5COM?5len@ +CONST SEGMENT +??_C@_0M@CICAFFCH@bad?5COM?5len@ DB 'bad COM len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0P@JLGKOCGN@bad?5DHT?5header@ +CONST SEGMENT +??_C@_0P@JLGKOCGN@bad?5DHT?5header@ DB 'bad DHT header', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0O@CNHKKDIM@bad?5DQT?5table@ +CONST SEGMENT +??_C@_0O@CNHKKDIM@bad?5DQT?5table@ DB 'bad DQT table', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0N@BOFJCHAP@bad?5DQT?5type@ +CONST SEGMENT +??_C@_0N@BOFJCHAP@bad?5DQT?5type@ DB 'bad DQT type', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@LPHNODCG@bad?5DRI?5len@ +CONST SEGMENT +??_C@_0M@LPHNODCG@bad?5DRI?5len@ DB 'bad DRI len', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BA@KLNDOKJD@expected?5marker@ +CONST SEGMENT +??_C@_0BA@KLNDOKJD@expected?5marker@ DB 'expected marker', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ +CONST SEGMENT +??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ DB 'can''t merge dc and ac' + DB 00H ; `string' +CONST ENDS +; COMDAT ??_C@_09IFDKCGFO@bad?5delta@ +CONST SEGMENT +??_C@_09IFDKCGFO@bad?5delta@ DB 'bad delta', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BB@IIMLINA@bad?5huffman?5code@ +CONST SEGMENT +??_C@_0BB@IIMLINA@bad?5huffman?5code@ DB 'bad huffman code', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ +CONST SEGMENT +??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ DB 'bad code lengths', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0O@DEFOLMLB@bad?5size?5list@ +CONST SEGMENT +??_C@_0O@DEFOLMLB@bad?5size?5list@ DB 'bad size list', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@MHDBFHD@unsupported@ +CONST SEGMENT +??_C@_0M@MHDBFHD@unsupported@ DB 'unsupported', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ +CONST SEGMENT +??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ DB 'can''t fop' + DB 'en, Unable to open file', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0M@JPDHFAGK@can?8t?5fopen@ +CONST SEGMENT +??_C@_0M@JPDHFAGK@can?8t?5fopen@ DB 'can''t fopen', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_02JDPG@rb@ +CONST SEGMENT +??_C@_02JDPG@rb@ DB 'rb', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_08NOGIMCHF@outofmem@ +CONST SEGMENT +??_C@_08NOGIMCHF@outofmem@ DB 'outofmem', 00H ; `string' +CONST ENDS +; COMDAT ??_C@_0BD@CBEDEJPH@unknown?5image?5type@ +CONST SEGMENT +??_C@_0BD@CBEDEJPH@unknown?5image?5type@ DB 'unknown image type', 00H ; `string' +CONST ENDS +PUBLIC stbi_zlib_decode_malloc_guesssize_headerflag +PUBLIC stbi_load_from_file +PUBLIC stbi_load +stbi__vertically_flip_on_load_local DD 01H DUP (?) + ALIGN 8 + +stbi__g_failure_reason DQ 01H DUP (?) +stbi__unpremultiply_on_load_set DD 01H DUP (?) +stbi__de_iphone_flag_local DD 01H DUP (?) +stbi__de_iphone_flag_set DD 01H DUP (?) +stbi__unpremultiply_on_load_local DD 01H DUP (?) +stbi__vertically_flip_on_load_set DD 01H DUP (?) +_TLS ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pnm_info DD imagerel stbi__pnm_info + DD imagerel stbi__pnm_info+596 + DD imagerel $unwind$stbi__pnm_info +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pnm_getinteger DD imagerel stbi__pnm_getinteger + DD imagerel stbi__pnm_getinteger+314 + DD imagerel $unwind$stbi__pnm_getinteger +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pnm_skip_whitespace DD imagerel stbi__pnm_skip_whitespace + DD imagerel stbi__pnm_skip_whitespace+485 + DD imagerel $unwind$stbi__pnm_skip_whitespace +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pnm_load DD imagerel stbi__pnm_load + DD imagerel stbi__pnm_load+640 + DD imagerel $unwind$stbi__pnm_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pnm_test DD imagerel stbi__pnm_test + DD imagerel stbi__pnm_test+225 + DD imagerel $unwind$stbi__pnm_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__hdr_load DD imagerel stbi__hdr_load + DD imagerel stbi__hdr_load+2206 + DD imagerel $unwind$stbi__hdr_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__hdr_convert DD imagerel stbi__hdr_convert + DD imagerel stbi__hdr_convert+302 + DD imagerel $unwind$stbi__hdr_convert +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__hdr_gettoken DD imagerel stbi__hdr_gettoken + DD imagerel stbi__hdr_gettoken+409 + DD imagerel $unwind$stbi__hdr_gettoken +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__hdr_test DD imagerel stbi__hdr_test + DD imagerel stbi__hdr_test+283 + DD imagerel $unwind$stbi__hdr_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__hdr_test_core DD imagerel stbi__hdr_test_core + DD imagerel stbi__hdr_test_core+186 + DD imagerel $unwind$stbi__hdr_test_core +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__gif_load DD imagerel stbi__gif_load + DD imagerel stbi__gif_load+240 + DD imagerel $unwind$stbi__gif_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__gif_load_next DD imagerel stbi__gif_load_next + DD imagerel stbi__gif_load_next+1803 + DD imagerel $unwind$stbi__gif_load_next +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__process_gif_raster DD imagerel stbi__process_gif_raster + DD imagerel stbi__process_gif_raster+78 + DD imagerel $unwind$stbi__process_gif_raster +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__process_gif_raster DD imagerel stbi__process_gif_raster+78 + DD imagerel stbi__process_gif_raster+392 + DD imagerel $chain$5$stbi__process_gif_raster +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$7$stbi__process_gif_raster DD imagerel stbi__process_gif_raster+392 + DD imagerel stbi__process_gif_raster+1156 + DD imagerel $chain$7$stbi__process_gif_raster +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__out_gif_code DD imagerel stbi__out_gif_code + DD imagerel stbi__out_gif_code+279 + DD imagerel $unwind$stbi__out_gif_code +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__gif_header DD imagerel stbi__gif_header + DD imagerel stbi__gif_header+396 + DD imagerel $unwind$stbi__gif_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__gif_header DD imagerel stbi__gif_header+396 + DD imagerel stbi__gif_header+747 + DD imagerel $chain$0$stbi__gif_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__gif_header DD imagerel stbi__gif_header+747 + DD imagerel stbi__gif_header+769 + DD imagerel $chain$1$stbi__gif_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__gif_header DD imagerel stbi__gif_header+769 + DD imagerel stbi__gif_header+783 + DD imagerel $chain$2$stbi__gif_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__gif_header DD imagerel stbi__gif_header+783 + DD imagerel stbi__gif_header+862 + DD imagerel $chain$3$stbi__gif_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__gif_parse_colortable DD imagerel stbi__gif_parse_colortable + DD imagerel stbi__gif_parse_colortable+31 + DD imagerel $unwind$stbi__gif_parse_colortable +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__gif_parse_colortable DD imagerel stbi__gif_parse_colortable+31 + DD imagerel stbi__gif_parse_colortable+334 + DD imagerel $chain$0$stbi__gif_parse_colortable +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__gif_parse_colortable DD imagerel stbi__gif_parse_colortable+334 + DD imagerel stbi__gif_parse_colortable+335 + DD imagerel $chain$1$stbi__gif_parse_colortable +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__gif_test DD imagerel stbi__gif_test + DD imagerel stbi__gif_test+48 + DD imagerel $unwind$stbi__gif_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__gif_test_raw DD imagerel stbi__gif_test_raw + DD imagerel stbi__gif_test_raw+367 + DD imagerel $unwind$stbi__gif_test_raw +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pic_test DD imagerel stbi__pic_test + DD imagerel stbi__pic_test+48 + DD imagerel $unwind$stbi__pic_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__pic_test DD imagerel stbi__pic_test+48 + DD imagerel stbi__pic_test+229 + DD imagerel $chain$2$stbi__pic_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__pic_test DD imagerel stbi__pic_test+229 + DD imagerel stbi__pic_test+271 + DD imagerel $chain$3$stbi__pic_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pic_load DD imagerel stbi__pic_load + DD imagerel stbi__pic_load+353 + DD imagerel $unwind$stbi__pic_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__pic_load DD imagerel stbi__pic_load+353 + DD imagerel stbi__pic_load+584 + DD imagerel $chain$1$stbi__pic_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__pic_load DD imagerel stbi__pic_load+584 + DD imagerel stbi__pic_load+611 + DD imagerel $chain$2$stbi__pic_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pic_load_core DD imagerel stbi__pic_load_core + DD imagerel stbi__pic_load_core+1488 + DD imagerel $unwind$stbi__pic_load_core +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__readval DD imagerel stbi__readval + DD imagerel stbi__readval+269 + DD imagerel $unwind$stbi__readval +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pic_test_core DD imagerel stbi__pic_test_core + DD imagerel stbi__pic_test_core+233 + DD imagerel $unwind$stbi__pic_test_core +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__pic_is4 DD imagerel stbi__pic_is4 + DD imagerel stbi__pic_is4+154 + DD imagerel $unwind$stbi__pic_is4 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__psd_load DD imagerel stbi__psd_load + DD imagerel stbi__psd_load+157 + DD imagerel $unwind$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__psd_load DD imagerel stbi__psd_load+157 + DD imagerel stbi__psd_load+924 + DD imagerel $chain$2$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__psd_load DD imagerel stbi__psd_load+924 + DD imagerel stbi__psd_load+1015 + DD imagerel $chain$4$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__psd_load DD imagerel stbi__psd_load+1015 + DD imagerel stbi__psd_load+1265 + DD imagerel $chain$5$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__psd_load DD imagerel stbi__psd_load+1265 + DD imagerel stbi__psd_load+1278 + DD imagerel $chain$6$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$7$stbi__psd_load DD imagerel stbi__psd_load+1278 + DD imagerel stbi__psd_load+1300 + DD imagerel $chain$7$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$9$stbi__psd_load DD imagerel stbi__psd_load+1300 + DD imagerel stbi__psd_load+3196 + DD imagerel $chain$9$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$10$stbi__psd_load DD imagerel stbi__psd_load+3196 + DD imagerel stbi__psd_load+3238 + DD imagerel $chain$10$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$11$stbi__psd_load DD imagerel stbi__psd_load+3238 + DD imagerel stbi__psd_load+3287 + DD imagerel $chain$11$stbi__psd_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__psd_decode_rle DD imagerel stbi__psd_decode_rle + DD imagerel stbi__psd_decode_rle+418 + DD imagerel $unwind$stbi__psd_decode_rle +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__psd_test DD imagerel stbi__psd_test + DD imagerel stbi__psd_test+84 + DD imagerel $unwind$stbi__psd_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__tga_load DD imagerel stbi__tga_load + DD imagerel stbi__tga_load+2677 + DD imagerel $unwind$stbi__tga_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__tga_read_rgb16 DD imagerel stbi__tga_read_rgb16 + DD imagerel stbi__tga_read_rgb16+130 + DD imagerel $unwind$stbi__tga_read_rgb16 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__tga_test DD imagerel stbi__tga_test + DD imagerel stbi__tga_test+156 + DD imagerel $unwind$stbi__tga_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__tga_test DD imagerel stbi__tga_test+156 + DD imagerel stbi__tga_test+643 + DD imagerel $chain$2$stbi__tga_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__tga_test DD imagerel stbi__tga_test+643 + DD imagerel stbi__tga_test+693 + DD imagerel $chain$3$stbi__tga_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__bmp_load DD imagerel stbi__bmp_load + DD imagerel stbi__bmp_load+4870 + DD imagerel $unwind$stbi__bmp_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__bmp_parse_header DD imagerel stbi__bmp_parse_header + DD imagerel stbi__bmp_parse_header+130 + DD imagerel $unwind$stbi__bmp_parse_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__bmp_parse_header DD imagerel stbi__bmp_parse_header+130 + DD imagerel stbi__bmp_parse_header+447 + DD imagerel $chain$1$stbi__bmp_parse_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__bmp_parse_header DD imagerel stbi__bmp_parse_header+447 + DD imagerel stbi__bmp_parse_header+557 + DD imagerel $chain$2$stbi__bmp_parse_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__bmp_parse_header DD imagerel stbi__bmp_parse_header+557 + DD imagerel stbi__bmp_parse_header+575 + DD imagerel $chain$3$stbi__bmp_parse_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__bmp_parse_header DD imagerel stbi__bmp_parse_header+575 + DD imagerel stbi__bmp_parse_header+1376 + DD imagerel $chain$5$stbi__bmp_parse_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__bmp_parse_header DD imagerel stbi__bmp_parse_header+1376 + DD imagerel stbi__bmp_parse_header+1421 + DD imagerel $chain$6$stbi__bmp_parse_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__bmp_test DD imagerel stbi__bmp_test + DD imagerel stbi__bmp_test+275 + DD imagerel $unwind$stbi__bmp_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__bmp_test_raw DD imagerel stbi__bmp_test_raw + DD imagerel stbi__bmp_test_raw+256 + DD imagerel $unwind$stbi__bmp_test_raw +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__png_test DD imagerel stbi__png_test + DD imagerel stbi__png_test+48 + DD imagerel $unwind$stbi__png_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__png_load DD imagerel stbi__png_load + DD imagerel stbi__png_load+385 + DD imagerel $unwind$stbi__png_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__do_png DD imagerel stbi__do_png + DD imagerel stbi__do_png+353 + DD imagerel $unwind$stbi__do_png +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__parse_png_file DD imagerel stbi__parse_png_file + DD imagerel stbi__parse_png_file+3874 + DD imagerel $unwind$stbi__parse_png_file +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__de_iphone DD imagerel stbi__de_iphone + DD imagerel stbi__de_iphone+134 + DD imagerel $unwind$stbi__de_iphone +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__de_iphone DD imagerel stbi__de_iphone+134 + DD imagerel stbi__de_iphone+256 + DD imagerel $chain$0$stbi__de_iphone +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__de_iphone DD imagerel stbi__de_iphone+256 + DD imagerel stbi__de_iphone+283 + DD imagerel $chain$1$stbi__de_iphone +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__expand_png_palette DD imagerel stbi__expand_png_palette + DD imagerel stbi__expand_png_palette+307 + DD imagerel $unwind$stbi__expand_png_palette +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__create_png_image DD imagerel stbi__create_png_image + DD imagerel stbi__create_png_image+139 + DD imagerel $unwind$stbi__create_png_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__create_png_image DD imagerel stbi__create_png_image+139 + DD imagerel stbi__create_png_image+247 + DD imagerel $chain$0$stbi__create_png_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__create_png_image DD imagerel stbi__create_png_image+247 + DD imagerel stbi__create_png_image+1003 + DD imagerel $chain$2$stbi__create_png_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__create_png_image DD imagerel stbi__create_png_image+1003 + DD imagerel stbi__create_png_image+1026 + DD imagerel $chain$3$stbi__create_png_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__create_png_image DD imagerel stbi__create_png_image+1026 + DD imagerel stbi__create_png_image+1041 + DD imagerel $chain$5$stbi__create_png_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__create_png_image DD imagerel stbi__create_png_image+1041 + DD imagerel stbi__create_png_image+1080 + DD imagerel $chain$6$stbi__create_png_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__create_png_image_raw DD imagerel stbi__create_png_image_raw + DD imagerel stbi__create_png_image_raw+248 + DD imagerel $unwind$stbi__create_png_image_raw +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__create_png_image_raw DD imagerel stbi__create_png_image_raw+248 + DD imagerel stbi__create_png_image_raw+437 + DD imagerel $chain$0$stbi__create_png_image_raw +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__create_png_image_raw DD imagerel stbi__create_png_image_raw+437 + DD imagerel stbi__create_png_image_raw+455 + DD imagerel $chain$1$stbi__create_png_image_raw +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__create_png_image_raw DD imagerel stbi__create_png_image_raw+455 + DD imagerel stbi__create_png_image_raw+4675 + DD imagerel $chain$2$stbi__create_png_image_raw +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__create_png_image_raw DD imagerel stbi__create_png_image_raw+4675 + DD imagerel stbi__create_png_image_raw+4808 + DD imagerel $chain$3$stbi__create_png_image_raw +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__paeth DD imagerel stbi__paeth + DD imagerel stbi__paeth+86 + DD imagerel $unwind$stbi__paeth +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__check_png_header DD imagerel stbi__check_png_header + DD imagerel stbi__check_png_header+189 + DD imagerel $unwind$stbi__check_png_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__get_chunk_header DD imagerel stbi__get_chunk_header + DD imagerel stbi__get_chunk_header+84 + DD imagerel $unwind$stbi__get_chunk_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi_zlib_decode_malloc_guesssize_headerflag DD imagerel $LN16@stbi_zlib_ + DD imagerel $LN16@stbi_zlib_+185 + DD imagerel $unwind$stbi_zlib_decode_malloc_guesssize_headerflag +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__parse_zlib DD imagerel stbi__parse_zlib + DD imagerel stbi__parse_zlib+656 + DD imagerel $unwind$stbi__parse_zlib +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__parse_uncompressed_block DD imagerel stbi__parse_uncompressed_block + DD imagerel stbi__parse_uncompressed_block+485 + DD imagerel $unwind$stbi__parse_uncompressed_block +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__compute_huffman_codes DD imagerel stbi__compute_huffman_codes + DD imagerel stbi__compute_huffman_codes+37 + DD imagerel $unwind$stbi__compute_huffman_codes +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__compute_huffman_codes DD imagerel stbi__compute_huffman_codes+37 + DD imagerel stbi__compute_huffman_codes+310 + DD imagerel $chain$0$stbi__compute_huffman_codes +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__compute_huffman_codes DD imagerel stbi__compute_huffman_codes+310 + DD imagerel stbi__compute_huffman_codes+773 + DD imagerel $chain$2$stbi__compute_huffman_codes +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__compute_huffman_codes DD imagerel stbi__compute_huffman_codes+773 + DD imagerel stbi__compute_huffman_codes+1637 + DD imagerel $chain$3$stbi__compute_huffman_codes +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__parse_huffman_block DD imagerel stbi__parse_huffman_block + DD imagerel stbi__parse_huffman_block+1067 + DD imagerel $unwind$stbi__parse_huffman_block +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__zexpand DD imagerel stbi__zexpand + DD imagerel stbi__zexpand+164 + DD imagerel $unwind$stbi__zexpand +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__zexpand DD imagerel stbi__zexpand+164 + DD imagerel stbi__zexpand+242 + DD imagerel $chain$0$stbi__zexpand +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__zexpand DD imagerel stbi__zexpand+242 + DD imagerel stbi__zexpand+284 + DD imagerel $chain$2$stbi__zexpand +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__zhuffman_decode DD imagerel stbi__zhuffman_decode + DD imagerel stbi__zhuffman_decode+45 + DD imagerel $unwind$stbi__zhuffman_decode +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__zhuffman_decode DD imagerel stbi__zhuffman_decode+45 + DD imagerel stbi__zhuffman_decode+141 + DD imagerel $chain$0$stbi__zhuffman_decode +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__zhuffman_decode DD imagerel stbi__zhuffman_decode+141 + DD imagerel stbi__zhuffman_decode+205 + DD imagerel $chain$1$stbi__zhuffman_decode +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__zreceive DD imagerel stbi__zreceive + DD imagerel stbi__zreceive+28 + DD imagerel $unwind$stbi__zreceive +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__zreceive DD imagerel stbi__zreceive+28 + DD imagerel stbi__zreceive+129 + DD imagerel $chain$0$stbi__zreceive +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__zreceive DD imagerel stbi__zreceive+129 + DD imagerel stbi__zreceive+162 + DD imagerel $chain$1$stbi__zreceive +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__zbuild_huffman DD imagerel stbi__zbuild_huffman + DD imagerel stbi__zbuild_huffman+177 + DD imagerel $unwind$stbi__zbuild_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__zbuild_huffman DD imagerel stbi__zbuild_huffman+177 + DD imagerel stbi__zbuild_huffman+563 + DD imagerel $chain$0$stbi__zbuild_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__zbuild_huffman DD imagerel stbi__zbuild_huffman+563 + DD imagerel stbi__zbuild_huffman+594 + DD imagerel $chain$1$stbi__zbuild_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__zbuild_huffman DD imagerel stbi__zbuild_huffman+594 + DD imagerel stbi__zbuild_huffman+633 + DD imagerel $chain$2$stbi__zbuild_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__zbuild_huffman DD imagerel stbi__zbuild_huffman+633 + DD imagerel stbi__zbuild_huffman+672 + DD imagerel $chain$3$stbi__zbuild_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_test DD imagerel stbi__jpeg_test + DD imagerel stbi__jpeg_test+274 + DD imagerel $unwind$stbi__jpeg_test +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_load DD imagerel stbi__jpeg_load + DD imagerel stbi__jpeg_load+285 + DD imagerel $unwind$stbi__jpeg_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$load_jpeg_image DD imagerel load_jpeg_image + DD imagerel load_jpeg_image+124 + DD imagerel $unwind$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$load_jpeg_image DD imagerel load_jpeg_image+124 + DD imagerel load_jpeg_image+252 + DD imagerel $chain$0$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$load_jpeg_image DD imagerel load_jpeg_image+252 + DD imagerel load_jpeg_image+453 + DD imagerel $chain$4$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$load_jpeg_image DD imagerel load_jpeg_image+453 + DD imagerel load_jpeg_image+481 + DD imagerel $chain$5$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$load_jpeg_image DD imagerel load_jpeg_image+481 + DD imagerel load_jpeg_image+2115 + DD imagerel $chain$6$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$7$load_jpeg_image DD imagerel load_jpeg_image+2115 + DD imagerel load_jpeg_image+2123 + DD imagerel $chain$7$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$8$load_jpeg_image DD imagerel load_jpeg_image+2123 + DD imagerel load_jpeg_image+2152 + DD imagerel $chain$8$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$9$load_jpeg_image DD imagerel load_jpeg_image+2152 + DD imagerel load_jpeg_image+2208 + DD imagerel $chain$9$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$10$load_jpeg_image DD imagerel load_jpeg_image+2208 + DD imagerel load_jpeg_image+2247 + DD imagerel $chain$10$load_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__setup_jpeg DD imagerel stbi__setup_jpeg + DD imagerel stbi__setup_jpeg+114 + DD imagerel $unwind$stbi__setup_jpeg +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd + DD imagerel stbi__YCbCr_to_RGB_simd+59 + DD imagerel $unwind$stbi__YCbCr_to_RGB_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd+59 + DD imagerel stbi__YCbCr_to_RGB_simd+140 + DD imagerel $chain$4$stbi__YCbCr_to_RGB_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd+140 + DD imagerel stbi__YCbCr_to_RGB_simd+339 + DD imagerel $chain$5$stbi__YCbCr_to_RGB_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd+339 + DD imagerel stbi__YCbCr_to_RGB_simd+367 + DD imagerel $chain$6$stbi__YCbCr_to_RGB_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$7$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd+367 + DD imagerel stbi__YCbCr_to_RGB_simd+382 + DD imagerel $chain$7$stbi__YCbCr_to_RGB_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$9$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd+382 + DD imagerel stbi__YCbCr_to_RGB_simd+630 + DD imagerel $chain$9$stbi__YCbCr_to_RGB_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$10$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd+630 + DD imagerel stbi__YCbCr_to_RGB_simd+647 + DD imagerel $chain$10$stbi__YCbCr_to_RGB_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__YCbCr_to_RGB_row DD imagerel stbi__YCbCr_to_RGB_row + DD imagerel stbi__YCbCr_to_RGB_row+36 + DD imagerel $unwind$stbi__YCbCr_to_RGB_row +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__YCbCr_to_RGB_row DD imagerel stbi__YCbCr_to_RGB_row+36 + DD imagerel stbi__YCbCr_to_RGB_row+278 + DD imagerel $chain$1$stbi__YCbCr_to_RGB_row +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__YCbCr_to_RGB_row DD imagerel stbi__YCbCr_to_RGB_row+278 + DD imagerel stbi__YCbCr_to_RGB_row+292 + DD imagerel $chain$2$stbi__YCbCr_to_RGB_row +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__resample_row_hv_2_simd DD imagerel stbi__resample_row_hv_2_simd + DD imagerel stbi__resample_row_hv_2_simd+89 + DD imagerel $unwind$stbi__resample_row_hv_2_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__resample_row_hv_2_simd DD imagerel stbi__resample_row_hv_2_simd+89 + DD imagerel stbi__resample_row_hv_2_simd+335 + DD imagerel $chain$3$stbi__resample_row_hv_2_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__resample_row_hv_2_simd DD imagerel stbi__resample_row_hv_2_simd+335 + DD imagerel stbi__resample_row_hv_2_simd+507 + DD imagerel $chain$4$stbi__resample_row_hv_2_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__resample_row_hv_2 DD imagerel stbi__resample_row_hv_2 + DD imagerel stbi__resample_row_hv_2+192 + DD imagerel $unwind$stbi__resample_row_hv_2 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__resample_row_h_2 DD imagerel stbi__resample_row_h_2 + DD imagerel stbi__resample_row_h_2+226 + DD imagerel $unwind$stbi__resample_row_h_2 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__resample_row_v_2 DD imagerel stbi__resample_row_v_2 + DD imagerel stbi__resample_row_v_2+88 + DD imagerel $unwind$stbi__resample_row_v_2 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__resample_row_v_2 DD imagerel stbi__resample_row_v_2+88 + DD imagerel stbi__resample_row_v_2+447 + DD imagerel $chain$2$stbi__resample_row_v_2 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__resample_row_v_2 DD imagerel stbi__resample_row_v_2+447 + DD imagerel stbi__resample_row_v_2+523 + DD imagerel $chain$3$stbi__resample_row_v_2 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__decode_jpeg_image DD imagerel stbi__decode_jpeg_image + DD imagerel stbi__decode_jpeg_image+667 + DD imagerel $unwind$stbi__decode_jpeg_image +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__skip_jpeg_junk_at_end DD imagerel stbi__skip_jpeg_junk_at_end + DD imagerel stbi__skip_jpeg_junk_at_end+292 + DD imagerel $unwind$stbi__skip_jpeg_junk_at_end +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__decode_jpeg_header DD imagerel stbi__decode_jpeg_header + DD imagerel stbi__decode_jpeg_header+896 + DD imagerel $unwind$stbi__decode_jpeg_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__process_frame_header DD imagerel stbi__process_frame_header + DD imagerel stbi__process_frame_header+437 + DD imagerel $unwind$stbi__process_frame_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__process_frame_header DD imagerel stbi__process_frame_header+437 + DD imagerel stbi__process_frame_header+546 + DD imagerel $chain$0$stbi__process_frame_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__process_frame_header DD imagerel stbi__process_frame_header+546 + DD imagerel stbi__process_frame_header+1632 + DD imagerel $chain$4$stbi__process_frame_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__process_frame_header DD imagerel stbi__process_frame_header+1632 + DD imagerel stbi__process_frame_header+1951 + DD imagerel $chain$6$stbi__process_frame_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$7$stbi__process_frame_header DD imagerel stbi__process_frame_header+1951 + DD imagerel stbi__process_frame_header+2047 + DD imagerel $chain$7$stbi__process_frame_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__free_jpeg_components DD imagerel stbi__free_jpeg_components + DD imagerel stbi__free_jpeg_components+13 + DD imagerel $unwind$stbi__free_jpeg_components +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__free_jpeg_components DD imagerel stbi__free_jpeg_components+13 + DD imagerel stbi__free_jpeg_components+127 + DD imagerel $chain$2$stbi__free_jpeg_components +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__free_jpeg_components DD imagerel stbi__free_jpeg_components+127 + DD imagerel stbi__free_jpeg_components+135 + DD imagerel $chain$3$stbi__free_jpeg_components +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__process_scan_header DD imagerel stbi__process_scan_header + DD imagerel stbi__process_scan_header+197 + DD imagerel $unwind$stbi__process_scan_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__process_scan_header DD imagerel stbi__process_scan_header+197 + DD imagerel stbi__process_scan_header+866 + DD imagerel $chain$1$stbi__process_scan_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__process_scan_header DD imagerel stbi__process_scan_header+866 + DD imagerel stbi__process_scan_header+961 + DD imagerel $chain$3$stbi__process_scan_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__process_scan_header DD imagerel stbi__process_scan_header+961 + DD imagerel stbi__process_scan_header+1014 + DD imagerel $chain$4$stbi__process_scan_header +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__process_marker DD imagerel stbi__process_marker + DD imagerel stbi__process_marker+2780 + DD imagerel $unwind$stbi__process_marker +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_finish DD imagerel stbi__jpeg_finish + DD imagerel stbi__jpeg_finish+28 + DD imagerel $unwind$stbi__jpeg_finish +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__jpeg_finish DD imagerel stbi__jpeg_finish+28 + DD imagerel stbi__jpeg_finish+45 + DD imagerel $chain$0$stbi__jpeg_finish +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__jpeg_finish DD imagerel stbi__jpeg_finish+45 + DD imagerel stbi__jpeg_finish+456 + DD imagerel $chain$6$stbi__jpeg_finish +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$7$stbi__jpeg_finish DD imagerel stbi__jpeg_finish+456 + DD imagerel stbi__jpeg_finish+461 + DD imagerel $chain$7$stbi__jpeg_finish +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$8$stbi__jpeg_finish DD imagerel stbi__jpeg_finish+461 + DD imagerel stbi__jpeg_finish+468 + DD imagerel $chain$8$stbi__jpeg_finish +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__parse_entropy_coded_data DD imagerel stbi__parse_entropy_coded_data + DD imagerel stbi__parse_entropy_coded_data+2061 + DD imagerel $unwind$stbi__parse_entropy_coded_data +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__get_marker DD imagerel stbi__get_marker + DD imagerel stbi__get_marker+33 + DD imagerel $unwind$stbi__get_marker +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__get_marker DD imagerel stbi__get_marker+33 + DD imagerel stbi__get_marker+168 + DD imagerel $chain$0$stbi__get_marker +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__get_marker DD imagerel stbi__get_marker+168 + DD imagerel stbi__get_marker+184 + DD imagerel $chain$2$stbi__get_marker +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__get_marker DD imagerel stbi__get_marker+184 + DD imagerel stbi__get_marker+197 + DD imagerel $chain$4$stbi__get_marker +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__idct_simd DD imagerel stbi__idct_simd + DD imagerel stbi__idct_simd+2084 + DD imagerel $unwind$stbi__idct_simd +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__idct_block DD imagerel stbi__idct_block + DD imagerel stbi__idct_block+1555 + DD imagerel $unwind$stbi__idct_block +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_decode_block_prog_ac DD imagerel stbi__jpeg_decode_block_prog_ac + DD imagerel stbi__jpeg_decode_block_prog_ac+1795 + DD imagerel $unwind$stbi__jpeg_decode_block_prog_ac +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_decode_block_prog_dc DD imagerel stbi__jpeg_decode_block_prog_dc + DD imagerel stbi__jpeg_decode_block_prog_dc+891 + DD imagerel $unwind$stbi__jpeg_decode_block_prog_dc +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_decode_block DD imagerel stbi__jpeg_decode_block + DD imagerel stbi__jpeg_decode_block+617 + DD imagerel $unwind$stbi__jpeg_decode_block +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__jpeg_decode_block DD imagerel stbi__jpeg_decode_block+617 + DD imagerel stbi__jpeg_decode_block+790 + DD imagerel $chain$0$stbi__jpeg_decode_block +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__jpeg_decode_block DD imagerel stbi__jpeg_decode_block+790 + DD imagerel stbi__jpeg_decode_block+1389 + DD imagerel $chain$4$stbi__jpeg_decode_block +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__jpeg_decode_block DD imagerel stbi__jpeg_decode_block+1389 + DD imagerel stbi__jpeg_decode_block+1438 + DD imagerel $chain$6$stbi__jpeg_decode_block +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_get_bit DD imagerel stbi__jpeg_get_bit + DD imagerel stbi__jpeg_get_bit+77 + DD imagerel $unwind$stbi__jpeg_get_bit +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_get_bits DD imagerel stbi__jpeg_get_bits + DD imagerel stbi__jpeg_get_bits+109 + DD imagerel $unwind$stbi__jpeg_get_bits +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__extend_receive DD imagerel stbi__extend_receive + DD imagerel stbi__extend_receive+149 + DD imagerel $unwind$stbi__extend_receive +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__jpeg_huff_decode DD imagerel stbi__jpeg_huff_decode + DD imagerel stbi__jpeg_huff_decode+278 + DD imagerel $unwind$stbi__jpeg_huff_decode +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__grow_buffer_unsafe DD imagerel stbi__grow_buffer_unsafe + DD imagerel stbi__grow_buffer_unsafe+381 + DD imagerel $unwind$stbi__grow_buffer_unsafe +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__build_fast_ac DD imagerel stbi__build_fast_ac + DD imagerel stbi__build_fast_ac+218 + DD imagerel $unwind$stbi__build_fast_ac +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__build_huffman DD imagerel stbi__build_huffman + DD imagerel stbi__build_huffman+96 + DD imagerel $unwind$stbi__build_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__build_huffman DD imagerel stbi__build_huffman+96 + DD imagerel stbi__build_huffman+302 + DD imagerel $chain$1$stbi__build_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__build_huffman DD imagerel stbi__build_huffman+302 + DD imagerel stbi__build_huffman+389 + DD imagerel $chain$2$stbi__build_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__build_huffman DD imagerel stbi__build_huffman+389 + DD imagerel stbi__build_huffman+413 + DD imagerel $chain$3$stbi__build_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__build_huffman DD imagerel stbi__build_huffman+413 + DD imagerel stbi__build_huffman+459 + DD imagerel $chain$4$stbi__build_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__build_huffman DD imagerel stbi__build_huffman+459 + DD imagerel stbi__build_huffman+498 + DD imagerel $chain$5$stbi__build_huffman +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__hdr_to_ldr DD imagerel stbi__hdr_to_ldr + DD imagerel stbi__hdr_to_ldr+164 + DD imagerel $unwind$stbi__hdr_to_ldr +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$7$stbi__hdr_to_ldr DD imagerel stbi__hdr_to_ldr+164 + DD imagerel stbi__hdr_to_ldr+504 + DD imagerel $chain$7$stbi__hdr_to_ldr +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$8$stbi__hdr_to_ldr DD imagerel stbi__hdr_to_ldr+504 + DD imagerel stbi__hdr_to_ldr+586 + DD imagerel $chain$8$stbi__hdr_to_ldr +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__convert_format16 DD imagerel stbi__convert_format16 + DD imagerel stbi__convert_format16+49 + DD imagerel $unwind$stbi__convert_format16 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__convert_format16 DD imagerel stbi__convert_format16+49 + DD imagerel stbi__convert_format16+130 + DD imagerel $chain$0$stbi__convert_format16 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__convert_format16 DD imagerel stbi__convert_format16+130 + DD imagerel stbi__convert_format16+728 + DD imagerel $chain$2$stbi__convert_format16 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$3$stbi__convert_format16 DD imagerel stbi__convert_format16+728 + DD imagerel stbi__convert_format16+747 + DD imagerel $chain$3$stbi__convert_format16 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__convert_format16 DD imagerel stbi__convert_format16+747 + DD imagerel stbi__convert_format16+1248 + DD imagerel $chain$5$stbi__convert_format16 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__convert_format DD imagerel stbi__convert_format + DD imagerel stbi__convert_format+49 + DD imagerel $unwind$stbi__convert_format +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$2$stbi__convert_format DD imagerel stbi__convert_format+49 + DD imagerel stbi__convert_format+1046 + DD imagerel $chain$2$stbi__convert_format +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$4$stbi__convert_format DD imagerel stbi__convert_format+1046 + DD imagerel stbi__convert_format+1103 + DD imagerel $chain$4$stbi__convert_format +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__convert_format DD imagerel stbi__convert_format+1103 + DD imagerel stbi__convert_format+1168 + DD imagerel $chain$5$stbi__convert_format +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__convert_format DD imagerel stbi__convert_format+1168 + DD imagerel stbi__convert_format+1272 + DD imagerel $chain$6$stbi__convert_format +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__get32le DD imagerel stbi__get32le + DD imagerel stbi__get32le+44 + DD imagerel $unwind$stbi__get32le +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__get16le DD imagerel stbi__get16le + DD imagerel stbi__get16le+177 + DD imagerel $unwind$stbi__get16le +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__get32be DD imagerel stbi__get32be + DD imagerel stbi__get32be+44 + DD imagerel $unwind$stbi__get32be +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__get16be DD imagerel stbi__get16be + DD imagerel stbi__get16be+177 + DD imagerel $unwind$stbi__get16be +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__getn DD imagerel stbi__getn + DD imagerel stbi__getn+197 + DD imagerel $unwind$stbi__getn +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__at_eof DD imagerel stbi__at_eof + DD imagerel stbi__at_eof+75 + DD imagerel $unwind$stbi__at_eof +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__get8 DD imagerel stbi__get8 + DD imagerel stbi__get8+62 + DD imagerel $unwind$stbi__get8 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$0$stbi__get8 DD imagerel stbi__get8+62 + DD imagerel stbi__get8+155 + DD imagerel $chain$0$stbi__get8 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$1$stbi__get8 DD imagerel stbi__get8+155 + DD imagerel stbi__get8+163 + DD imagerel $chain$1$stbi__get8 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__refill_buffer DD imagerel stbi__refill_buffer + DD imagerel stbi__refill_buffer+116 + DD imagerel $unwind$stbi__refill_buffer +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi_load_from_file DD imagerel $LN9@stbi_load_ + DD imagerel $LN9@stbi_load_+157 + DD imagerel $unwind$stbi_load_from_file +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi_load DD imagerel $LN13@stbi_load + DD imagerel $LN13@stbi_load+187 + DD imagerel $unwind$stbi_load +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__fopen DD imagerel stbi__fopen + DD imagerel stbi__fopen+87 + DD imagerel $unwind$stbi__fopen +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__load_and_postprocess_8bit DD imagerel stbi__load_and_postprocess_8bit + DD imagerel stbi__load_and_postprocess_8bit+215 + DD imagerel $unwind$stbi__load_and_postprocess_8bit +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__vertical_flip DD imagerel stbi__vertical_flip + DD imagerel stbi__vertical_flip+58 + DD imagerel $unwind$stbi__vertical_flip +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$5$stbi__vertical_flip DD imagerel stbi__vertical_flip+58 + DD imagerel stbi__vertical_flip+257 + DD imagerel $chain$5$stbi__vertical_flip +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$6$stbi__vertical_flip DD imagerel stbi__vertical_flip+257 + DD imagerel stbi__vertical_flip+285 + DD imagerel $chain$6$stbi__vertical_flip +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__convert_16_to_8 DD imagerel stbi__convert_16_to_8 + DD imagerel stbi__convert_16_to_8+449 + DD imagerel $unwind$stbi__convert_16_to_8 +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__load_main DD imagerel stbi__load_main + DD imagerel stbi__load_main+2002 + DD imagerel $unwind$stbi__load_main +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__stdio_eof DD imagerel stbi__stdio_eof + DD imagerel stbi__stdio_eof+49 + DD imagerel $unwind$stbi__stdio_eof +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__stdio_skip DD imagerel stbi__stdio_skip + DD imagerel stbi__stdio_skip+58 + DD imagerel $unwind$stbi__stdio_skip +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__start_callbacks DD imagerel stbi__start_callbacks + DD imagerel stbi__start_callbacks+200 + DD imagerel $unwind$stbi__start_callbacks +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__sse2_available DD imagerel stbi__sse2_available + DD imagerel stbi__sse2_available+29 + DD imagerel $unwind$stbi__sse2_available +pdata ENDS +; COMDAT pdata +pdata SEGMENT +$pdata$stbi__cpuid3 DD imagerel stbi__cpuid3 + DD imagerel stbi__cpuid3+23 + DD imagerel $unwind$stbi__cpuid3 +?invalid_chunk@?BP@??stbi__parse_png_file@@9@9 DB 'XXXX PNG chunk not kno' + DB 'wn', 00H ; `stbi__parse_png_file'::`31'::invalid_chunk + ORG $+7 +stbi__stdio_callbacks DQ FLAT:stbi__stdio_read + DQ FLAT:stbi__stdio_skip + DQ FLAT:stbi__stdio_eof +_DATA ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__cpuid3 DQ 03002120600020601r ; 1.95074e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__sse2_available DQ 03002120600020601r ; 1.95074e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__start_callbacks DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__stdio_skip DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__stdio_eof DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__load_main DQ 000150114000a2619r ; 2.921e-308 + DQ 0c007d009e00bf00dr ; -2.97658 + DQ 03002500360047005r ; 1.97688e-77 + DD imagerel __GSHandlerCheck + DD 098H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__convert_16_to_8 DQ 00008641400081401r ; 1.1669e-308 + DQ 00006341400075414r ; 8.62693e-309 + DD 070103214H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__vertical_flip DD 021H + DD imagerel stbi__vertical_flip + DD imagerel stbi__vertical_flip+58 + DD imagerel $unwind$stbi__vertical_flip +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__vertical_flip DQ 00107e423000c2321r ; 1.08871e-303 + DQ 0010974140108d418r ; 1.1599e-303 + DQ 0010b540c010a6410r ; 1.24534e-303 + DD 010c3404H + DD imagerel stbi__vertical_flip + DD imagerel stbi__vertical_flip+58 + DD imagerel $unwind$stbi__vertical_flip +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__vertical_flip DQ 0010d010e00042019r ; 1.3217e-303 + DD 0c005f007H + DD imagerel __GSHandlerCheck + DD 0820H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__load_and_postprocess_8bit DQ 0f008b20c00061b19r ; -4.79253e+231 + DQ 0300260037004e006r ; 1.98363e-77 + DD imagerel __GSHandlerCheck + DD 050H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__fopen DQ 00000620400011319r ; 5.32451e-310 + DD imagerel __GSHandlerCheck + DD 028H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi_load DQ 0e007720b00061a19r ; -3.92941e+154 + DQ 03002500360047005r ; 1.97688e-77 + DD imagerel __GSHandlerCheck + DD 038H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi_load_from_file DQ 00024010e00072019r ; 5.56383e-308 + DQ 0500360047005e007r ; 2.80435e+77 + DD 03002H + DD imagerel __GSHandlerCheck + DD 0110H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__refill_buffer DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__get8 DD 021H + DD imagerel stbi__get8 + DD imagerel stbi__get8+62 + DD imagerel $unwind$stbi__get8 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__get8 DQ 00006740500020521r ; 8.97428e-309 + DD imagerel stbi__get8 + DD imagerel stbi__get8+62 + DD imagerel $unwind$stbi__get8 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__get8 DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__at_eof DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__getn DQ 0000b741e000c1e01r ; 1.59282e-308 + DQ 00009541e000a641er ; 1.2973e-308 + DQ 0f01a321e0008341er ; -1.01674e+232 + DD 0c016e018H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__get16be DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__get32be DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__get16le DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__get32le DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__convert_format DD 021H + DD imagerel stbi__convert_format + DD imagerel stbi__convert_format+49 + DD imagerel $unwind$stbi__convert_format +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__convert_format DQ 0000cf40000020021r ; 1.80135e-308 + DD imagerel stbi__convert_format + DD imagerel stbi__convert_format+49 + DD imagerel $unwind$stbi__convert_format +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__convert_format DQ 0000cf40000060021r ; 1.80135e-308 + DQ 0000a7400000be400r ; 1.45369e-308 + DD imagerel stbi__convert_format + DD imagerel stbi__convert_format+49 + DD imagerel $unwind$stbi__convert_format +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__convert_format DQ 0000be47700067721r ; 1.65385e-308 + DQ 0000cf405000a7470r ; 1.80136e-308 + DD imagerel stbi__convert_format + DD imagerel stbi__convert_format+49 + DD imagerel $unwind$stbi__convert_format +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__convert_format DQ 0d008320c00060c01r ; -3.50206e+77 + DQ 0300250036004c006r ; 1.97688e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__convert_format16 DQ 0000af40000060021r ; 1.52322e-308 + DQ 0000834000009e400r ; 1.14078e-308 + DD imagerel stbi__convert_format16 + DD imagerel stbi__convert_format16+49 + DD imagerel $unwind$stbi__convert_format16 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__convert_format16 DD 021H + DD imagerel stbi__convert_format16+49 + DD imagerel stbi__convert_format16+130 + DD imagerel $chain$0$stbi__convert_format16 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__convert_format16 DQ 0000af40c00040c21r ; 1.52324e-308 + DD 083405H + DD imagerel stbi__convert_format16+49 + DD imagerel stbi__convert_format16+130 + DD imagerel $chain$0$stbi__convert_format16 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__convert_format16 DQ 00009e40500020521r ; 1.37547e-308 + DD imagerel stbi__convert_format16 + DD imagerel stbi__convert_format16+49 + DD imagerel $unwind$stbi__convert_format16 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__convert_format16 DQ 0000b540d00060d01r ; 1.5754e-308 + DQ 060067007c009320dr ; 3.76049e+154 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$8$stbi__hdr_to_ldr DD 021H + DD imagerel stbi__hdr_to_ldr + DD imagerel stbi__hdr_to_ldr+164 + DD imagerel $unwind$stbi__hdr_to_ldr +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$7$stbi__hdr_to_ldr DQ 00004885800105821r ; 6.30335e-309 + DQ 00006683b00057848r ; 8.91024e-309 + DQ 0000fe42b000ef433r ; 2.20995e-308 + DQ 00016c4180017d423r ; 3.166e-308 + DD 0155408H + DD imagerel stbi__hdr_to_ldr + DD imagerel stbi__hdr_to_ldr+164 + DD imagerel $unwind$stbi__hdr_to_ldr +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__hdr_to_ldr DQ 07008f20f00040f01r ; 4.84105e+231 + DD 030066007H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__build_huffman DQ 0000ae40000040021r ; 1.51453e-308 + DD 097400H + DD imagerel stbi__build_huffman + DD imagerel stbi__build_huffman+96 + DD imagerel $unwind$stbi__build_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__build_huffman DD 021H + DD imagerel stbi__build_huffman + DD imagerel stbi__build_huffman+96 + DD imagerel $unwind$stbi__build_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__build_huffman DD 021H + DD imagerel stbi__build_huffman+96 + DD imagerel stbi__build_huffman+302 + DD imagerel $chain$1$stbi__build_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__build_huffman DQ 00008540500020521r ; 1.15818e-308 + DD imagerel stbi__build_huffman+96 + DD imagerel stbi__build_huffman+302 + DD imagerel $chain$1$stbi__build_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__build_huffman DQ 0000ae41000041021r ; 1.51456e-308 + DD 097405H + DD imagerel stbi__build_huffman + DD imagerel stbi__build_huffman+96 + DD imagerel $unwind$stbi__build_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__build_huffman DQ 0f005320900040901r ; -4.11329e+231 + DD 030026003H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__build_fast_ac DQ 00003741500071501r ; 4.80261e-309 + DQ 0000454060002340dr ; 6.01913e-309 + DD 06006H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__grow_buffer_unsafe DQ 00006641200061201r ; 8.88764e-309 + DQ 07006320a0007340ar ; 4.30736e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_huff_decode DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__extend_receive DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_get_bits DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_get_bit DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__jpeg_decode_block DQ 0000cd40000060021r ; 1.78397e-308 + DQ 0000a6400000bc400r ; 1.44499e-308 + DD imagerel stbi__jpeg_decode_block + DD imagerel stbi__jpeg_decode_block+617 + DD imagerel $unwind$stbi__jpeg_decode_block +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__jpeg_decode_block DQ 0000a641b00061b21r ; 1.44505e-308 + DQ 0000bc400000cd405r ; 1.63621e-308 + DD imagerel stbi__jpeg_decode_block + DD imagerel stbi__jpeg_decode_block+617 + DD imagerel $unwind$stbi__jpeg_decode_block +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__jpeg_decode_block DQ 0000bc40500020521r ; 1.63622e-308 + DD imagerel stbi__jpeg_decode_block + DD imagerel stbi__jpeg_decode_block+617 + DD imagerel $unwind$stbi__jpeg_decode_block +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_decode_block DQ 0f008320c00060c01r ; -4.69549e+231 + DQ 0300250037004e006r ; 1.97688e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_decode_block_prog_dc DQ 00009f474000a7401r ; 1.3844e-308 + DQ 0000a340d0008546fr ; 1.41895e-308 + DQ 060067007e009320dr ; 3.76049e+154 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_decode_block_prog_ac DQ 00004e479000c7901r ; 6.80382e-309 + DQ 0000c546f0005d474r ; 1.71467e-308 + DQ 0700dc00ff0115215r ; 5.77347e+231 + DD 0300b600cH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__idct_block DQ 000303417000b2919r ; 9.01348e-308 + DQ 0e00ef01000260117r ; -5.18509e+154 + DQ 060077008c00ad00cr ; 3.92809e+154 + DD 05006H + DD imagerel __GSHandlerCheck + DD 0120H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__idct_simd DQ 00008f88f00168f01r ; 1.24756e-308 + DQ 0000ad87f0009e887r ; 1.50828e-308 + DQ 0000cb872000bc877r ; 1.769e-308 + DQ 0000e9868000da86dr ; 2.02973e-308 + DQ 00010782e000f8839r ; 2.29036e-308 + DQ 00025010a00116829r ; 5.84195e-308 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__get_marker DQ 00006340000020021r ; 8.62651e-309 + DD imagerel stbi__get_marker + DD imagerel stbi__get_marker+33 + DD imagerel $unwind$stbi__get_marker +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__get_marker DQ 00006340000020021r ; 8.62651e-309 + DD imagerel stbi__get_marker + DD imagerel stbi__get_marker+33 + DD imagerel $unwind$stbi__get_marker +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__get_marker DQ 00006340500020521r ; 8.62661e-309 + DD imagerel stbi__get_marker + DD imagerel stbi__get_marker+33 + DD imagerel $unwind$stbi__get_marker +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__get_marker DQ 07002320600020601r ; 3.53109e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__parse_entropy_coded_data DQ 00025641f000d3119r ; 5.9496e-308 + DQ 00023341f0024541fr ; 5.34118e-308 + DQ 0e016f018001c011fr ; -7.68866e+154 + DQ 000007010c012d014r ; 6.08774e-310 + DD imagerel __GSHandlerCheck + DD 0d0H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$8$stbi__jpeg_finish DD 021H + DD imagerel stbi__jpeg_finish + DD imagerel stbi__jpeg_finish+28 + DD imagerel $unwind$stbi__jpeg_finish +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$7$stbi__jpeg_finish DD 021H + DD imagerel stbi__jpeg_finish+28 + DD imagerel stbi__jpeg_finish+45 + DD imagerel $chain$0$stbi__jpeg_finish +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__jpeg_finish DQ 00004f41f000c1f21r ; 6.88883e-309 + DQ 0000774170006c41br ; 1.03653e-308 + DQ 0000b540f000c6413r ; 1.5754e-308 + DD 0a3404H + DD imagerel stbi__jpeg_finish+28 + DD imagerel stbi__jpeg_finish+45 + DD imagerel $chain$0$stbi__jpeg_finish +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__jpeg_finish DQ 00005d40400020421r ; 8.10509e-309 + DD imagerel stbi__jpeg_finish + DD imagerel stbi__jpeg_finish+28 + DD imagerel $unwind$stbi__jpeg_finish +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_finish DQ 0e005720900020901r ; -3.59421e+154 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__process_marker DQ 00019641f000c2e19r ; 3.53107e-308 + DQ 00017341f0018541fr ; 3.22686e-308 + DQ 0d014e016f018f21fr ; -6.043e+77 + DD 07010c012H + DD imagerel __GSHandlerCheck + DD 070H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__process_scan_header DD 021H + DD imagerel stbi__process_scan_header + DD imagerel stbi__process_scan_header+197 + DD imagerel $unwind$stbi__process_scan_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__process_scan_header DQ 00007e40000040021r ; 1.09733e-308 + DD 065400H + DD imagerel stbi__process_scan_header + DD imagerel stbi__process_scan_header+197 + DD imagerel $unwind$stbi__process_scan_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__process_scan_header DQ 00007e40c00040c21r ; 1.09735e-308 + DD 065405H + DD imagerel stbi__process_scan_header + DD imagerel stbi__process_scan_header+197 + DD imagerel $unwind$stbi__process_scan_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__process_scan_header DQ 00009640f00060f01r ; 1.30596e-308 + DQ 0700b320f0008340fr ; 5.2777e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__free_jpeg_components DD 021H + DD imagerel stbi__free_jpeg_components + DD imagerel stbi__free_jpeg_components+13 + DD imagerel $unwind$stbi__free_jpeg_components +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__free_jpeg_components DQ 00008741800061821r ; 1.1756e-308 + DQ 00006340500075411r ; 8.62661e-309 + DD imagerel stbi__free_jpeg_components + DD imagerel stbi__free_jpeg_components+13 + DD imagerel $unwind$stbi__free_jpeg_components +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__free_jpeg_components DQ 06002320600020601r ; 3.04951e+154 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$7$stbi__process_frame_header DD 021H + DD imagerel stbi__process_frame_header + DD imagerel stbi__process_frame_header+437 + DD imagerel $unwind$stbi__process_frame_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__process_frame_header DQ 0000de40000060021r ; 1.93173e-308 + DQ 0000ac400000cd400r ; 1.49714e-308 + DD imagerel stbi__process_frame_header + DD imagerel stbi__process_frame_header+437 + DD imagerel $unwind$stbi__process_frame_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__process_frame_header DQ 0000de41800061821r ; 1.93178e-308 + DQ 0000ac400000cd405r ; 1.49714e-308 + DD imagerel stbi__process_frame_header + DD imagerel stbi__process_frame_header+437 + DD imagerel $unwind$stbi__process_frame_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__process_frame_header DQ 0000ac40500020521r ; 1.49716e-308 + DD imagerel stbi__process_frame_header + DD imagerel stbi__process_frame_header+437 + DD imagerel $unwind$stbi__process_frame_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__process_frame_header DQ 0f00a320e00060e01r ; -5.08363e+231 + DQ 03005500660077008r ; 2.30074e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__decode_jpeg_header DQ 00008641400081401r ; 1.1669e-308 + DQ 00006341400075414r ; 8.62693e-309 + DD 070103214H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__skip_jpeg_junk_at_end DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__decode_jpeg_image DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__resample_row_v_2 DD 021H + DD imagerel stbi__resample_row_v_2 + DD imagerel stbi__resample_row_v_2+88 + DD imagerel $unwind$stbi__resample_row_v_2 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__resample_row_v_2 DQ 00004740f00060f21r ; 6.19315e-309 + DQ 0000254050003640ar ; 3.23776e-309 + DD imagerel stbi__resample_row_v_2 + DD imagerel stbi__resample_row_v_2+88 + DD imagerel $unwind$stbi__resample_row_v_2 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__resample_row_v_2 DQ 00000300200010201r ; 2.60793e-310 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__resample_row_h_2 DQ 00000744000074001r ; 6.31506e-310 + DQ 00002342c00036434r ; 3.06476e-309 + DD 0204H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__resample_row_hv_2 DQ 00002743e00053e01r ; 3.41281e-309 + DQ 00000600600033406r ; 5.21629e-310 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__resample_row_hv_2_simd DD 021H + DD imagerel stbi__resample_row_hv_2_simd + DD imagerel stbi__resample_row_hv_2_simd+89 + DD imagerel $unwind$stbi__resample_row_hv_2_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__resample_row_hv_2_simd DQ 00006f41c00061c21r ; 9.6701e-309 + DQ 0000454050005e40cr ; 6.0191e-309 + DD imagerel stbi__resample_row_hv_2_simd + DD imagerel stbi__resample_row_hv_2_simd+89 + DD imagerel $unwind$stbi__resample_row_hv_2_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__resample_row_hv_2_simd DQ 00003343900043901r ; 4.4557e-309 + DD 060027003H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__YCbCr_to_RGB_row DD 021H + DD imagerel stbi__YCbCr_to_RGB_row + DD imagerel stbi__YCbCr_to_RGB_row+36 + DD imagerel $unwind$stbi__YCbCr_to_RGB_row +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__YCbCr_to_RGB_row DQ 00004f41900041921r ; 6.8887e-309 + DD 036405H + DD imagerel stbi__YCbCr_to_RGB_row + DD imagerel stbi__YCbCr_to_RGB_row+36 + DD imagerel $unwind$stbi__YCbCr_to_RGB_row +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__YCbCr_to_RGB_row DQ 00006540d00060d01r ; 8.80062e-309 + DQ 0700be00d0005340dr ; 5.40959e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$10$stbi__YCbCr_to_RGB_simd DD 021H + DD imagerel stbi__YCbCr_to_RGB_simd+367 + DD imagerel stbi__YCbCr_to_RGB_simd+382 + DD imagerel $chain$7$stbi__YCbCr_to_RGB_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$9$stbi__YCbCr_to_RGB_simd DQ 00011e41700041721r ; 2.48805e-308 + DD 0103408H + DD imagerel stbi__YCbCr_to_RGB_simd+367 + DD imagerel stbi__YCbCr_to_RGB_simd+382 + DD imagerel $chain$7$stbi__YCbCr_to_RGB_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$7$stbi__YCbCr_to_RGB_simd DD 021H + DD imagerel stbi__YCbCr_to_RGB_simd + DD imagerel stbi__YCbCr_to_RGB_simd+59 + DD imagerel $unwind$stbi__YCbCr_to_RGB_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__YCbCr_to_RGB_simd DD 021H + DD imagerel stbi__YCbCr_to_RGB_simd+59 + DD imagerel stbi__YCbCr_to_RGB_simd+140 + DD imagerel $chain$4$stbi__YCbCr_to_RGB_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__YCbCr_to_RGB_simd DQ 00005680500020521r ; 7.51842e-309 + DD imagerel stbi__YCbCr_to_RGB_simd+59 + DD imagerel stbi__YCbCr_to_RGB_simd+140 + DD imagerel $chain$4$stbi__YCbCr_to_RGB_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__YCbCr_to_RGB_simd DQ 00000b83f000a3f21r ; 1.00088e-309 + DQ 0000298220001a831r ; 3.60777e-309 + DQ 00004780500038813r ; 6.21467e-309 + DD imagerel stbi__YCbCr_to_RGB_simd + DD imagerel stbi__YCbCr_to_RGB_simd+59 + DD imagerel $unwind$stbi__YCbCr_to_RGB_simd +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__YCbCr_to_RGB_simd DQ 00012540d00060d01r ; 2.54887e-308 + DQ 060067007f009b20dr ; 3.76049e+154 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__setup_jpeg DQ 03002120600020601r ; 1.95074e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$10$load_jpeg_image DD 021H + DD imagerel load_jpeg_image + DD imagerel load_jpeg_image+124 + DD imagerel $unwind$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$9$load_jpeg_image DQ 0002fe400000a0021r ; 8.86987e-308 + DQ 0003174000030c400r ; 9.70862e-308 + DQ 00033340000325400r ; 1.06821e-307 + DD imagerel load_jpeg_image + DD imagerel load_jpeg_image+124 + DD imagerel $unwind$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$8$load_jpeg_image DD 021H + DD imagerel load_jpeg_image + DD imagerel load_jpeg_image+124 + DD imagerel $unwind$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$7$load_jpeg_image DD 021H + DD imagerel load_jpeg_image+124 + DD imagerel load_jpeg_image+252 + DD imagerel $chain$0$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$load_jpeg_image DQ 0002fe40000080021r ; 8.86987e-308 + DQ 00032540000317400r ; 1.01954e-307 + DD 0333400H + DD imagerel load_jpeg_image+124 + DD imagerel load_jpeg_image+252 + DD imagerel $chain$0$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$load_jpeg_image DD 021H + DD imagerel load_jpeg_image+124 + DD imagerel load_jpeg_image+252 + DD imagerel $chain$0$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$load_jpeg_image DQ 0002fe42600082621r ; 8.87004e-308 + DQ 0003254130031741er ; 1.01955e-307 + DD 0333408H + DD imagerel load_jpeg_image+124 + DD imagerel load_jpeg_image+252 + DD imagerel $chain$0$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$load_jpeg_image DQ 00030c40800020821r ; 9.32626e-308 + DD imagerel load_jpeg_image + DD imagerel load_jpeg_image+124 + DD imagerel $unwind$load_jpeg_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$load_jpeg_image DQ 00034010d00051f19r ; 1.11277e-307 + DQ 000006002d004f006r ; 5.21561e-310 + DD imagerel __GSHandlerCheck + DD 0160H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_load DQ 0000d741a000a1a01r ; 1.87094e-308 + DQ 0000b541a000c641ar ; 1.57542e-308 + DQ 0e016721a000a341ar ; -7.52369e+154 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__jpeg_test DQ 00008345900065901r ; 1.14097e-308 + DQ 07006520a0009640ar ; 4.33162e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__zbuild_huffman DD 021H + DD imagerel stbi__zbuild_huffman + DD imagerel stbi__zbuild_huffman+177 + DD imagerel $unwind$stbi__zbuild_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__zbuild_huffman DQ 00020640000020021r ; 4.55879e-308 + DD imagerel stbi__zbuild_huffman + DD imagerel stbi__zbuild_huffman+177 + DD imagerel $unwind$stbi__zbuild_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__zbuild_huffman DD 021H + DD imagerel stbi__zbuild_huffman + DD imagerel stbi__zbuild_huffman+177 + DD imagerel $unwind$stbi__zbuild_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__zbuild_huffman DQ 00020640800020821r ; 4.55883e-308 + DD imagerel stbi__zbuild_huffman + DD imagerel stbi__zbuild_huffman+177 + DD imagerel $unwind$stbi__zbuild_huffman +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__zbuild_huffman DQ 00018011100072319r ; 3.33819e-308 + DQ 050057006e008f00ar ; 3.10288e+77 + DD 03004H + DD imagerel __GSHandlerCheck + DD 0b0H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__zreceive DD 021H + DD imagerel stbi__zreceive + DD imagerel stbi__zreceive+28 + DD imagerel $unwind$stbi__zreceive +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__zreceive DQ 00002340500020521r ; 3.06393e-309 + DD imagerel stbi__zreceive + DD imagerel stbi__zreceive+28 + DD imagerel $unwind$stbi__zreceive +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__zreceive DQ 00000700200010201r ; 6.08461e-310 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__zhuffman_decode DD 021H + DD imagerel stbi__zhuffman_decode + DD imagerel stbi__zhuffman_decode+45 + DD imagerel $unwind$stbi__zhuffman_decode +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__zhuffman_decode DQ 00006340500020521r ; 8.62661e-309 + DD imagerel stbi__zhuffman_decode + DD imagerel stbi__zhuffman_decode+45 + DD imagerel $unwind$stbi__zhuffman_decode +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__zhuffman_decode DQ 07002320600020601r ; 3.53109e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__zexpand DQ 00006640000020021r ; 8.88726e-309 + DD imagerel stbi__zexpand + DD imagerel stbi__zexpand+164 + DD imagerel $unwind$stbi__zexpand +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__zexpand DQ 00006640500020521r ; 8.88736e-309 + DD imagerel stbi__zexpand + DD imagerel stbi__zexpand+164 + DD imagerel $unwind$stbi__zexpand +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__zexpand DQ 00007340a00040a01r ; 1.00174e-308 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__parse_huffman_block DQ 00008e42b000c2b01r ; 1.23648e-308 + DQ 0000a5418000b6418r ; 1.43635e-308 + DQ 0f014321800093418r ; -7.83854e+231 + DD 07010c012H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__compute_huffman_codes DQ 0014c740000040021r ; 2.07455e-302 + DD 014b6400H + DD imagerel stbi__compute_huffman_codes + DD imagerel stbi__compute_huffman_codes+37 + DD imagerel $unwind$stbi__compute_huffman_codes +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__compute_huffman_codes DQ 0014b649b00049b21r ; 1.99726e-302 + DD 014c7408H + DD imagerel stbi__compute_huffman_codes+37 + DD imagerel stbi__compute_huffman_codes+310 + DD imagerel $chain$0$stbi__compute_huffman_codes +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__compute_huffman_codes DQ 0014de40800020821r ; 2.17937e-302 + DD imagerel stbi__compute_huffman_codes + DD imagerel stbi__compute_huffman_codes+37 + DD imagerel $unwind$stbi__compute_huffman_codes +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__compute_huffman_codes DQ 00144011000072219r ; 1.45853e-302 + DQ 05003c005d007f009r ; 2.85863e+77 + DD 03002H + DD imagerel __GSHandlerCheck + DD 0a10H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__parse_uncompressed_block DQ 00007340a00040a01r ; 1.00174e-308 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__parse_zlib DQ 00008741500081501r ; 1.1756e-308 + DQ 00006341500076415r ; 8.62695e-309 + DD 0e0113215H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi_zlib_decode_malloc_guesssize_headerflag DQ 00207011200062419r ; 6.87007e-299 + DQ 03002500360047005r ; 1.97688e-77 + DD imagerel __GSHandlerCheck + DD 01020H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__get_chunk_header DQ 00007640f00060f01r ; 1.02782e-308 + DQ 0700b320f0006340fr ; 5.2777e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__check_png_header DQ 00007640f00060f01r ; 1.02782e-308 + DQ 0700b320f0006340fr ; 5.2777e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__paeth DQ 00001340500020501r ; 1.67326e-309 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__create_png_image_raw DD 021H + DD imagerel stbi__create_png_image_raw + DD imagerel stbi__create_png_image_raw+248 + DD imagerel $unwind$stbi__create_png_image_raw +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__create_png_image_raw DQ 0001fd40000020021r ; 4.42625e-308 + DD imagerel stbi__create_png_image_raw + DD imagerel stbi__create_png_image_raw+248 + DD imagerel $unwind$stbi__create_png_image_raw +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__create_png_image_raw DD 021H + DD imagerel stbi__create_png_image_raw + DD imagerel stbi__create_png_image_raw+248 + DD imagerel $unwind$stbi__create_png_image_raw +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__create_png_image_raw DQ 0001fd40800020821r ; 4.42626e-308 + DD imagerel stbi__create_png_image_raw + DD imagerel stbi__create_png_image_raw+248 + DD imagerel $unwind$stbi__create_png_image_raw +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__create_png_image_raw DQ 00016011600091601r ; 3.06007e-308 + DQ 07009c00be00df00fr ; 4.9972e+231 + DQ 00000300650076008r ; 2.60885e-310 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__create_png_image DQ 00023640000020021r ; 5.3932e-308 + DD imagerel stbi__create_png_image + DD imagerel stbi__create_png_image+139 + DD imagerel $unwind$stbi__create_png_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__create_png_image DQ 00021f40000060021r ; 4.99338e-308 + DQ 0002364000022d400r ; 5.3932e-308 + DD imagerel stbi__create_png_image + DD imagerel stbi__create_png_image+139 + DD imagerel $unwind$stbi__create_png_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__create_png_image DD 021H + DD imagerel stbi__create_png_image+139 + DD imagerel stbi__create_png_image+247 + DD imagerel $chain$0$stbi__create_png_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__create_png_image DQ 00021f41300041321r ; 4.99346e-308 + DD 022d408H + DD imagerel stbi__create_png_image+139 + DD imagerel stbi__create_png_image+247 + DD imagerel $chain$0$stbi__create_png_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__create_png_image DQ 00023640800020821r ; 5.39323e-308 + DD imagerel stbi__create_png_image + DD imagerel stbi__create_png_image+139 + DD imagerel $unwind$stbi__create_png_image +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__create_png_image DQ 00024012200072201r ; 5.56392e-308 + DQ 050167017c019e01br ; 6.49532e+77 + DD 03015H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__expand_png_palette DQ 0000a6418000a1801r ; 1.44505e-308 + DQ 00008341800095418r ; 1.14084e-308 + DQ 07010e012f0143218r ; 6.5498e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__de_iphone DD 021H + DD imagerel stbi__de_iphone + DD imagerel stbi__de_iphone+134 + DD imagerel $unwind$stbi__de_iphone +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__de_iphone DQ 00000340400020421r ; 2.82565e-310 + DD imagerel stbi__de_iphone + DD imagerel stbi__de_iphone+134 + DD imagerel $unwind$stbi__de_iphone +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__de_iphone DQ 00000020400010401r ; 1.09495e-311 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__parse_png_file DQ 0029b742d000d3e19r ; 4.19785e-296 + DQ 00299342d029a642dr ; 3.85381e-296 + DQ 0e016f0180292012dr ; -7.68866e+154 + DQ 000005010c012d014r ; 4.3494e-310 + DD imagerel __GSHandlerCheck + DD 01480H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__do_png DQ 0000d741e000c1e01r ; 1.87095e-308 + DQ 0000b541e000c641er ; 1.57543e-308 + DQ 0f01a521e000a341er ; -1.02159e+232 + DD 0c016e018H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__png_load DQ 0f009c20d00071c19r ; -4.99872e+231 + DQ 0500360047005e007r ; 2.80435e+77 + DD 03002H + DD imagerel __GSHandlerCheck + DD 058H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__png_test DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__bmp_test_raw DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__bmp_test DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__bmp_parse_header DD 021H + DD imagerel stbi__bmp_parse_header + DD imagerel stbi__bmp_parse_header+130 + DD imagerel $unwind$stbi__bmp_parse_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__bmp_parse_header DQ 0000af40000060021r ; 1.52322e-308 + DQ 0000854000009e400r ; 1.15817e-308 + DD imagerel stbi__bmp_parse_header + DD imagerel stbi__bmp_parse_header+130 + DD imagerel $unwind$stbi__bmp_parse_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__bmp_parse_header DD 021H + DD imagerel stbi__bmp_parse_header+130 + DD imagerel stbi__bmp_parse_header+447 + DD imagerel $chain$1$stbi__bmp_parse_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__bmp_parse_header DQ 00009e40500020521r ; 1.37547e-308 + DD imagerel stbi__bmp_parse_header+130 + DD imagerel stbi__bmp_parse_header+447 + DD imagerel $chain$1$stbi__bmp_parse_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__bmp_parse_header DQ 0000af40d00040d21r ; 1.52325e-308 + DD 085405H + DD imagerel stbi__bmp_parse_header + DD imagerel stbi__bmp_parse_header+130 + DD imagerel $unwind$stbi__bmp_parse_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__bmp_parse_header DQ 07004320800040801r ; 3.91922e+231 + DD 030026003H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__bmp_load DQ 000a43426000b2601r ; 1.43855e-305 + DQ 0e01df01f009c0126r ; -1.00351e+155 + DQ 060167017c019d01br ; 7.52106e+154 + DD 05015H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__tga_test DD 021H + DD imagerel stbi__tga_test + DD imagerel stbi__tga_test+156 + DD imagerel $unwind$stbi__tga_test +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__tga_test DQ 0000af40500020521r ; 1.52323e-308 + DD imagerel stbi__tga_test + DD imagerel stbi__tga_test+156 + DD imagerel $unwind$stbi__tga_test +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__tga_test DQ 00009645100085101r ; 1.3061e-308 + DQ 0e00532090008544cr ; -3.55231e+154 + DD 030027003H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__tga_read_rgb16 DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__tga_load DQ 000130114000a2619r ; 2.64286e-308 + DQ 0c007d009e00bf00dr ; -2.97658 + DQ 03002500360047005r ; 1.97688e-77 + DD imagerel __GSHandlerCheck + DD 088H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__psd_test DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__psd_decode_rle DQ 0000b741e000c1e01r ; 1.59282e-308 + DQ 00009541e000a641er ; 1.2973e-308 + DQ 0f01a321e0008341er ; -1.01674e+232 + DD 0c016e018H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$11$stbi__psd_load DQ 0000e640000020021r ; 2.00126e-308 + DD imagerel stbi__psd_load + DD imagerel stbi__psd_load+157 + DD imagerel $unwind$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$10$stbi__psd_load DQ 0000af40000060021r ; 1.52322e-308 + DQ 0000e6400000be400r ; 2.00126e-308 + DD imagerel stbi__psd_load + DD imagerel stbi__psd_load+157 + DD imagerel $unwind$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$9$stbi__psd_load DQ 0000af400000c0021r ; 1.52322e-308 + DQ 0000cd400000be400r ; 1.78397e-308 + DQ 0000e6400000dc400r ; 2.00126e-308 + DD 0125400H + DD imagerel stbi__psd_load + DD imagerel stbi__psd_load+157 + DD imagerel $unwind$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$7$stbi__psd_load DD 021H + DD imagerel stbi__psd_load+157 + DD imagerel stbi__psd_load+924 + DD imagerel $chain$2$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$6$stbi__psd_load DD 021H + DD imagerel stbi__psd_load+924 + DD imagerel stbi__psd_load+1015 + DD imagerel $chain$4$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__psd_load DQ 0000cd40500020521r ; 1.78398e-308 + DD imagerel stbi__psd_load+924 + DD imagerel stbi__psd_load+1015 + DD imagerel $chain$4$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$4$stbi__psd_load DQ 0000dc41400041421r ; 1.91439e-308 + DD 0125408H + DD imagerel stbi__psd_load+157 + DD imagerel stbi__psd_load+924 + DD imagerel $chain$2$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__psd_load DQ 0000af46500066521r ; 1.52343e-308 + DQ 0000e6405000be45dr ; 2.00127e-308 + DD imagerel stbi__psd_load + DD imagerel stbi__psd_load+157 + DD imagerel $unwind$stbi__psd_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__psd_load DQ 07011e21500031501r ; 6.94097e+231 + DD 03010H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pic_is4 DQ 00007640f00060f01r ; 1.02782e-308 + DQ 0700b320f0006340fr ; 5.2777e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pic_test_core DQ 00008641400081401r ; 1.1669e-308 + DQ 00006341400075414r ; 8.62693e-309 + DD 070103214H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__readval DQ 00009741a000a1a01r ; 1.31467e-308 + DQ 00007541a0008641ar ; 1.01916e-308 + DQ 0e016321a0006341ar ; -7.4399e+154 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pic_load_core DQ 000106452000d5219r ; 2.27957e-308 + DQ 0001a343200115441r ; 3.6441e-308 + DQ 0e00af00c00120113r ; -4.51469e+154 + DQ 000007004c006d008r ; 6.08519e-310 + DD imagerel __GSHandlerCheck + DD 078H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__pic_load DD 021H + DD imagerel stbi__pic_load + DD imagerel stbi__pic_load+353 + DD imagerel $unwind$stbi__pic_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__pic_load DQ 0000be40d00040d21r ; 1.65362e-308 + DD 0c5405H + DD imagerel stbi__pic_load + DD imagerel stbi__pic_load+353 + DD imagerel $unwind$stbi__pic_load +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pic_load DQ 0f00ac20e00071d19r ; -5.19279e+231 + DQ 060037004c006d008r ; 3.25769e+154 + DD 03002H + DD imagerel __GSHandlerCheck + DD 040H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__pic_test DD 021H + DD imagerel stbi__pic_test + DD imagerel stbi__pic_test+48 + DD imagerel $unwind$stbi__pic_test +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__pic_test DQ 00008641400061421r ; 1.1669e-308 + DQ 000097405000ac40fr ; 1.31463e-308 + DD imagerel stbi__pic_test + DD imagerel stbi__pic_test+48 + DD imagerel $unwind$stbi__pic_test +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pic_test DQ 0000b340e00060e01r ; 1.55802e-308 + DQ 05006e008f00a320er ; 3.31095e+77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__gif_test_raw DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__gif_test DQ 03002320600020601r ; 1.96423e-77 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__gif_parse_colortable DD 021H + DD imagerel stbi__gif_parse_colortable + DD imagerel stbi__gif_parse_colortable+31 + DD imagerel $unwind$stbi__gif_parse_colortable +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__gif_parse_colortable DQ 00008740500020521r ; 1.17556e-308 + DD imagerel stbi__gif_parse_colortable + DD imagerel stbi__gif_parse_colortable+31 + DD imagerel $unwind$stbi__gif_parse_colortable +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__gif_parse_colortable DQ 0000a541c00081c01r ; 1.43636e-308 + DQ 0f018321c0009341cr ; -9.39108e+231 + DD 06014e016H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$3$stbi__gif_header DD 021H + DD imagerel stbi__gif_header + DD imagerel stbi__gif_header+396 + DD imagerel $unwind$stbi__gif_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$2$stbi__gif_header DQ 00006e40000020021r ; 9.58259e-309 + DD imagerel stbi__gif_header + DD imagerel stbi__gif_header+396 + DD imagerel $unwind$stbi__gif_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$1$stbi__gif_header DD 021H + DD imagerel stbi__gif_header + DD imagerel stbi__gif_header+396 + DD imagerel $unwind$stbi__gif_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$0$stbi__gif_header DQ 00006e40500020521r ; 9.5827e-309 + DD imagerel stbi__gif_header + DD imagerel stbi__gif_header+396 + DD imagerel $unwind$stbi__gif_header +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__gif_header DQ 00009741500081501r ; 1.31466e-308 + DQ 00007341500086415r ; 1.00176e-308 + DD 0f0113215H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__out_gif_code DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$7$stbi__process_gif_raster DQ 00006f400000c0021r ; 9.66951e-309 + DQ 00008c4000007e400r ; 1.21901e-308 + DQ 0000a640000097400r ; 1.44499e-308 + DD 0f5400H + DD imagerel stbi__process_gif_raster + DD imagerel stbi__process_gif_raster+78 + DD imagerel $unwind$stbi__process_gif_raster +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$chain$5$stbi__process_gif_raster DQ 00006f444000c4421r ; 9.67095e-309 + DQ 00008c4310007e438r ; 1.21911e-308 + DQ 0000a641600097425r ; 1.44504e-308 + DD 0f5405H + DD imagerel stbi__process_gif_raster + DD imagerel stbi__process_gif_raster+78 + DD imagerel $unwind$stbi__process_gif_raster +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__process_gif_raster DQ 0d004a20800030801r ; -2.98641e+77 + DD 03002H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__gif_load_next DQ 0000c6421000c2101r ; 1.7232e-308 + DQ 0000a3421000b5421r ; 1.41899e-308 + DQ 0d019e01bf01d3221r ; -7.49042e+77 + DD 07015c017H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__gif_load DQ 01117011600082819r ; 2.42768e-226 + DQ 060047005e007f009r ; 3.42529e+154 + DD 030025003H + DD imagerel __GSHandlerCheck + DD 088a0H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__hdr_test_core DQ 00007640f00060f01r ; 1.02782e-308 + DQ 0700b320f0006340fr ; 5.2777e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__hdr_test DQ 00008741500081501r ; 1.1756e-308 + DQ 00006341500076415r ; 8.62695e-309 + DD 0e0113215H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__hdr_gettoken DQ 0000a6418000a1801r ; 1.44505e-308 + DQ 00008341800095418r ; 1.14084e-308 + DQ 07010e012f0143218r ; 6.5498e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__hdr_convert DQ 00007640f00060f01r ; 1.02782e-308 + DQ 0700b320f0006340fr ; 5.2777e+231 +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__hdr_load DQ 0008f011c000a2d19r ; 5.51895e-306 + DQ 0c007d009e00bf00dr ; -2.97658 + DQ 05002300360047005r ; 2.63247e+77 + DD imagerel __GSHandlerCheck + DD 0460H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pnm_test DQ 00006340a00040a01r ; 8.62672e-309 + DD 07006320aH +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pnm_load DQ 0000d741e000c1e01r ; 1.87095e-308 + DQ 0000b541e000c641er ; 1.57543e-308 + DQ 0f01a521e000a341er ; -1.02159e+232 + DD 0c016e018H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pnm_skip_whitespace DQ 0000b741e000c1e01r ; 1.59282e-308 + DQ 00009541e000a641er ; 1.2973e-308 + DQ 0f01a321e0008341er ; -1.01674e+232 + DD 0c016e018H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pnm_getinteger DQ 0000b741e000c1e01r ; 1.59282e-308 + DQ 00009541e000a641er ; 1.2973e-308 + DQ 0f01a321e0008341er ; -1.01674e+232 + DD 0c016e018H +xdata ENDS +; COMDAT xdata +xdata SEGMENT +$unwind$stbi__pnm_info DQ 0f009620d00071c19r ; -4.92595e+231 + DQ 0500360047005e007r ; 2.80435e+77 + DD 03002H + DD imagerel __GSHandlerCheck + DD 028H +END diff --git a/源代码/StgSharpC/x64/Release/stb_image.obj b/源代码/StgSharpC/x64/Release/stb_image.obj new file mode 100644 index 00000000..465112a5 Binary files /dev/null and b/源代码/StgSharpC/x64/Release/stb_image.obj differ diff --git a/源代码/StgSharpC/x64/Release/vc143.pdb b/源代码/StgSharpC/x64/Release/vc143.pdb new file mode 100644 index 00000000..638cb87f Binary files /dev/null and b/源代码/StgSharpC/x64/Release/vc143.pdb differ diff --git a/源代码/StgSharpDebug/Environment/GlobalSetting.cs b/源代码/StgSharpDebug/Environment/GlobalSetting.cs index 0aa64f70..6bc466e4 100644 --- a/源代码/StgSharpDebug/Environment/GlobalSetting.cs +++ b/源代码/StgSharpDebug/Environment/GlobalSetting.cs @@ -39,6 +39,7 @@ namespace StgSharp { public static unsafe partial class StgSharp { + private static bool _inited; /// diff --git a/源代码/StgSharpDebug/Environment/Platform.cs b/源代码/StgSharpDebug/Environment/Platform.cs index 15c5c1dd..c2923034 100644 --- a/源代码/StgSharpDebug/Environment/Platform.cs +++ b/源代码/StgSharpDebug/Environment/Platform.cs @@ -85,11 +85,6 @@ namespace StgSharp InternalIO.glfwInit(); } - public static void Terminate() - { - MainTimeProvider.Terminate(); - } - public static void Mark(bool needConsole) { markCount++; @@ -99,6 +94,11 @@ namespace StgSharp } } + public static void Terminate() + { + MainTimeProvider.Terminate(); + } + public static void Track( object target, string message, diff --git a/源代码/StgSharpDebug/Environment/TimeProvider.cs b/源代码/StgSharpDebug/Environment/TimeProvider.cs index f2211f86..c5155c0b 100644 --- a/源代码/StgSharpDebug/Environment/TimeProvider.cs +++ b/源代码/StgSharpDebug/Environment/TimeProvider.cs @@ -45,7 +45,7 @@ namespace StgSharp internal static StgSharpTime mainTimeProvider; - internal static StgSharpTime MainTimeProvider=>mainTimeProvider; + internal static StgSharpTime MainTimeProvider => mainTimeProvider; } @@ -92,6 +92,14 @@ namespace StgSharp timeProvideThread.Start(); } + public void Terminate() + { + lock (mainProvider) + { + mainProvider.Stop(); + } + } + protected override sealed void AddSubscriberUnsynced(TimeSpanProvider subscriber) { @@ -113,29 +121,28 @@ namespace StgSharp while (mainProvider.IsRunning) { totalMS = mainProvider.ElapsedTicks / (internalFrequncy / (1000L * 1000L)); - if (subscriberList.Count==0) + if (subscriberList.Count == 0) { continue; } CheckSubscriberSemaphore.Wait(); + List toRemoveList = new List(); foreach (TimeSpanProvider subscriber in subscriberList) { - if (subscriber.CheckTime(totalMS)) + if (!subscriber.CheckTime(totalMS)) { - + toRemoveList.Add(subscriber); }; } + if (toRemoveList.Count != 0) + { + foreach (TimeSpanProvider subscriber in toRemoveList) + { + subscriberList.Remove(subscriber); + } + } CheckSubscriberSemaphore.Release(); } - int a = 0; - } - - public void Terminate() - { - lock (mainProvider) - { - mainProvider.Stop(); - } } } diff --git a/源代码/StgSharpDebug/Program.cs b/源代码/StgSharpDebug/Program.cs index 9cebc131..a633fbd0 100644 --- a/源代码/StgSharpDebug/Program.cs +++ b/源代码/StgSharpDebug/Program.cs @@ -20,10 +20,10 @@ namespace StgSharp public static unsafe void ProcessInput(IntPtr windowPtr) { - if (InternalIO.glfwGetKey((GLFWwindow*)windowPtr, (int)Operation.Key.ESCAPE) + if (InternalIO.glfwGetKey(windowPtr, (int)Operation.Key.ESCAPE) == KeyStatus.PRESS) { - InternalIO.glfwSetWindowShouldClose((GLFWwindow*)windowPtr, 1); + InternalIO.glfwSetWindowShouldClose(windowPtr, 1); } } @@ -145,7 +145,7 @@ namespace StgSharp vao.Bind(0); shader.Use(); - + /**/ texture.Activate(TextureUnit.Unit0); texture.Bind2D(0); @@ -153,7 +153,7 @@ namespace StgSharp texture.Bind2D(1); /**/ - float time = (float)InternalIO.glfwGetTime(); + float time = CurrentFrameCount / 60.0f; gl.SetValue(color, 0.5f + MathF.Cos(time), diff --git a/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfo.cs b/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfo.cs index e37293ab..6ad72a53 100644 --- a/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfo.cs +++ b/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a2241a5a5816a9438c63e3ca3c69313e6f2e8f56")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfoInputs.cache b/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfoInputs.cache index b73d0d4f..45c3b19f 100644 --- a/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfoInputs.cache +++ b/源代码/StgSharpDebug/obj/Release/net6.0/StgSharpDebug.AssemblyInfoInputs.cache @@ -1 +1 @@ -bea7289cf9c9ffc94f6418fdb0687293420e5fbe9c96f4e035fac3a46f56ed6b +03d6b4d840ec0b238f29c4456a8608246768ed904e84175ffb9ca3815b52e9c9 diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs index 2401ed3e..e85330b5 100644 --- a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs +++ b/源代码/StgSharpDebug/obj/x64/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+0c50c6282e58714d20a68c1b2346c6dcec49af41")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.AssemblyInfoInputs.cache b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.AssemblyInfoInputs.cache index 8c41bdcb..b08bad73 100644 --- a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.AssemblyInfoInputs.cache +++ b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.AssemblyInfoInputs.cache @@ -1 +1 @@ -7d50eb808513f7c1246e38438c68619b8038ea6f40d8f0195814ea5f153c8520 +0e554fc8e7adfa2b8d4bd3e0c6b64ce14e2a883d91c39cefb4b46855a3377468 diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.csproj.CoreCompileInputs.cache b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.csproj.CoreCompileInputs.cache index 10516fd3..c23e54cc 100644 --- a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.csproj.CoreCompileInputs.cache +++ b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -89534d11606e9fa10416379029e46e1abd565a616f84922a93aa832564d2e51e +575ff880dd336b341cc36500cd23ede305b168666cb797489c1cb322b8eb07cb diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.dll b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.dll index ae573d62..e024c210 100644 Binary files a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.dll and b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.dll differ diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.pdb b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.pdb index 4bf92019..b17873f3 100644 Binary files a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.pdb and b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.pdb differ diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.sourcelink.json b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.sourcelink.json index fc8c0336..deb99c90 100644 --- a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.sourcelink.json +++ b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.sourcelink.json @@ -1 +1 @@ -{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/0c50c6282e58714d20a68c1b2346c6dcec49af41/*"}} \ No newline at end of file +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/9a10ec201c1e78c441727446c2649fae962d9b7a/*"}} \ No newline at end of file diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.xml b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.xml index a71aa0d0..23d4be87 100644 --- a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.xml +++ b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/StgSharpDebug.xml @@ -268,7 +268,7 @@ - + Inti a shader with no program attached. diff --git a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/apphost.exe b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/apphost.exe index 2a95760d..7ad1cad7 100644 Binary files a/源代码/StgSharpDebug/obj/x64/Debug/net6.0/apphost.exe and b/源代码/StgSharpDebug/obj/x64/Debug/net6.0/apphost.exe differ diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/源代码/StgSharpDebug/obj/x64/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 00000000..ed926950 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.AssemblyInfo.cs b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.AssemblyInfo.cs new file mode 100644 index 00000000..6ad72a53 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] +[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")] +[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// 由 MSBuild WriteCodeFragment 类生成。 + diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.AssemblyInfoInputs.cache b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.AssemblyInfoInputs.cache new file mode 100644 index 00000000..45c3b19f --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +03d6b4d840ec0b238f29c4456a8608246768ed904e84175ffb9ca3815b52e9c9 diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.GeneratedMSBuildEditorConfig.editorconfig b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 00000000..1e50f4ef --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,15 @@ +is_global = true +build_property.CsWin32InputMetadataPaths = C:\Users\Nitlo\.nuget\packages\microsoft.windows.sdk.win32metadata\55.0.45-preview\Windows.Win32.winmd|C:\Users\Nitlo\.nuget\packages\microsoft.windows.wdk.win32metadata\0.9.9-experimental\Windows.Wdk.winmd +build_property.CsWin32InputDocPaths = C:\Users\Nitlo\.nuget\packages\microsoft.windows.sdk.win32docs\0.1.42-alpha\apidocs.msgpack +build_property.TargetFramework = net6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = StgSharpDebug +build_property.ProjectDir = D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.GlobalUsings.g.cs b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.GlobalUsings.g.cs new file mode 100644 index 00000000..8578f3d0 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.assets.cache b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.assets.cache new file mode 100644 index 00000000..79886f78 Binary files /dev/null and b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.assets.cache differ diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.BuildWithSkipAnalyzers b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.BuildWithSkipAnalyzers new file mode 100644 index 00000000..e69de29b diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.CoreCompileInputs.cache b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.CoreCompileInputs.cache new file mode 100644 index 00000000..986221f8 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +3b11648f2e758de6884e4c5640c84f18d202df7e37d471ca7d1af4683b0300bb diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.FileListAbsolute.txt b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.FileListAbsolute.txt new file mode 100644 index 00000000..3d92ea53 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.csproj.FileListAbsolute.txt @@ -0,0 +1,19 @@ +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\StgSharpDebug.exe +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\Shader\awesomeface.png +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\Shader\fragment.frag +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\Shader\Image1.png +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\Shader\vertex.vert +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\StgSharpDebug.deps.json +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\StgSharpDebug.runtimeconfig.json +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\StgSharpDebug.dll +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\StgSharpDebug.pdb +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Output\x64\Release\net6.0\StgSharpDebug.xml +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.GeneratedMSBuildEditorConfig.editorconfig +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.AssemblyInfoInputs.cache +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.AssemblyInfo.cs +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.csproj.CoreCompileInputs.cache +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.sourcelink.json +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.dll +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.xml +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.pdb +D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\obj\x64\Release\net6.0\StgSharpDebug.genruntimeconfig.cache diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.dll b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.dll new file mode 100644 index 00000000..0d32a729 Binary files /dev/null and b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.dll differ diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.genruntimeconfig.cache b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.genruntimeconfig.cache new file mode 100644 index 00000000..907eda00 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.genruntimeconfig.cache @@ -0,0 +1 @@ +70e3b52c02ccf008061ca1b26ec2d03626c3db48147a1cc842d0a8079aafe3a7 diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.pdb b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.pdb new file mode 100644 index 00000000..b7fc25dd Binary files /dev/null and b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.pdb differ diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.sourcelink.json b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.sourcelink.json new file mode 100644 index 00000000..deb99c90 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.sourcelink.json @@ -0,0 +1 @@ +{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/9a10ec201c1e78c441727446c2649fae962d9b7a/*"}} \ No newline at end of file diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.xml b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.xml new file mode 100644 index 00000000..a71aa0d0 --- /dev/null +++ b/源代码/StgSharpDebug/obj/x64/Release/net6.0/StgSharpDebug.xml @@ -0,0 +1,2069 @@ + + + + StgSharpDebug + + + + + Get the status of a certain key on the keyboard. + + + + + + + + Function handler to load an opengl function by serching its name. + + the name of the Opengl function + An intptr value representing the pointer to the function + + + + + + + + + OpenGL package binded to current form context. + A OpenGL context is only binded to current form. + + + + + Height of this form, represent in + + + + + Representing + + + + + Width of this form, represent in + + + + + Width of this form, represent in + + + + + Necessary operation to init this form. + + + + + + Behaviour of current form when in a frame cycle. + + + + + + Init an OpenGl context if current form has not been binded to any context. and set the context binded to + current form as current OpenGL context. + + + Something goes wrong and StgSharp fails in creating a new OpenGL context. + + + + + Set all necessary metadata to current form instance + + + + + Resize the current form + + + A (width,height) representing the new size of current form + + + + + Resize the current form + + New width of the window + New height of the window + + + + Set the size limit of current form + + + Minimun size of current form. In form of a of (width,height) + + + Maximum size of current form. In form of a of (width,height) + + + + + Set the size limit of current form + + Minimum width of current form + Minimum height of current form + Maximum width of curent form + Maximum height of current form + + + + Init this form and render it on screen, and respond with operation + + + + + Get OpenGL library of this form's context. + + A package contains all opengl APIs + + + + Define how current form render in one frame. + + + Please define this befor calling any OpenGL api and other graphic methods. + + + + + Create a set of . + + Amount of EBO to be created. + + + + + Create a sets of + + Amount of textures to be crated. + + + + + Create a set of . + + Amount of VAO to be crated. + + + + + Create aset of . + + Amount of Object to be created. + + + + + Create an instance of program + + New instance of instance. + + + + Interface of all kinds OpenGL buffer onjects + + + + + Get the only handle to one of the Object instance + + + + + + + Bind a buffer instance to OpenGL + + Index of handle of the object in this instance to be bind + + + + + + + A collecion of handle to Element Buffer Object in OpenGL. + Each value indexed from instance of this class this + is the only handle to one Element Buffer Object. + + + + + + + + + + + + Set data to current vertex buffer object + + Type of bufferData + Index to find certain VBO in this instance + Data to write in + How OpenGL use these data, defined by + + + + Set data to current vertex buffer object + + Type of bufferData + Index to find certain VBO in this instance + A array of data to write in + How OpenGL use these data, defined by + + + + + + + + + Load all aupportable OpenGL APIs and bind them to given context. + + The used as current OpenGL context + A delegate to get address of OprnGL api + + + + Get the function pointer of given OpenGL api name + + Name of the OpenGL api + The funtion pointer of the api in form of + + + + A handle to an OpenGL object, + must be indexed from a . + Direct call will cause + + + + + A handle to an OpenGL object. + + + + + temporarily release the handle of GLhandle sets. + Please call method before indexing. + + + + + Realse all resource in this handle. + This will release all resource in this . + This will be not usable. + + + + + + + + + + + + Inti a shader with no program attached. + + + + + Get a uniform form current shader, + the value type of the uniform should be provided. + + Name of the Uniform in shader code + + + + + Get a uniform form current shader, + the value type of the uniform should be provided. + + Name of the Uniform in shader code + + + + + Get a uniform form current shader, + the value type of the uniform should be provided. + + Name of the Uniform in shader code + + + + + Link the shader to current context. + + + + + Let the current context use this shader. + + + + + Same function as OpenGL api glActiveTexture + + type of texture to activate + + + + Operation after alignment by calling . + No calling of this method is acceptable, but it will bring the risk + of that relevant code will not run if it is interrupted by frame overtime. + Please call this method immediately after calling , + too early or sonner may cause . + + The form used as frame update benchmark. + Operation after frame update alignment. + The action binded to a wrong alignment. + + + + Align a sets of code to frame update of a . + Usually, a call of is required. + This method is used as sigle thread method. If more than one + alignment is requested, a will throw. + + The form used as frame update benchmark. + More than one alingment attached to one form timer + + + + Same fucntion as OpenGL api glAttachShader. + Only the first in handle + will be attached to the first in handle. + The rest shader and program will be ignored. + + Shader program to be attachec + A shader part to attach + + + + Bind the indexed buffer object to certain type of buffer + + + + + + + Same function as OpenGL api, glBindTexture. + + Type of texture to bind + Sign of texture + + + + Same function as OpenGL api, glBindVertexArray + + + + + + Clear buffers to preset values + + + + + + Call apiClearColor in OpenGL + specifies the red, green, blue, and alpha values used by apiClear to clear the color buffers. + Values specified by apiClearColor are clamped to the range [0,1] + + Specify the red values used when the color buffers are cleared. + Specify the red values used when the color buffers are cleared. + Specify the red values used when the color buffers are cleared. + Specify the red values used when the color buffers are cleared. + + + + Same function as OpenGL api, glCreateProgram + + A handle representing a single shader program + + + + Same function as OpenGL api, glCreateProgram. + Used for creating multiple shader program. + + A handle representing all shader programs + + + + Creates a form and its associated + + Required width + Required width + Tittle of the window + + + + + + + Same function as OpenGL api, glDeleteBuffer. This method can delete one buffer in one call + + a handle representing the buffer to be deleted + + + + Same function as OpenGL api, glDeleteBuffer. This method can delete a sets of buffers in one call. + + Array of buffers to be deleted + + + + Same function as OpenGL api, glDeleteVertexArrays + + Handle of vertex objects. + + + + + + + + + + + + + Same fucntion as the OpenGL api glGenBuffers + + + + + + + Same fucnction as OpenGL api glGenTextures. + + amount of textures to generate + + + + Same fucntion as OpenGL api, glGenVertexArray + + Amount of vao to be generated + + + + Same fucntion as OpenGL api, glGetUniformLocation + + Shader program to find the uniform + Name of the uniform + + + + + Make the OpenGL context of a certain as the activated OpenGL context. + + + + + + Set data value to a float , + all types of parameters are float. + + The target + A packing four parameters of the uniform + + + + Set data value to a float , + all types of parameters are float. + + The target + The value to be set + + + + Set data value to a int , + all types of parameters are int. + + The target + The value to be set + + + + Set data value to a float , + all types of parameters are . + + The target + A value of the uniform + + + + Set data value to a float , + all types of parameters are float. + + The target + The first value to be set + The second value to be set + + + + Set data value to a float , + all types of parameters are float. + + The target + The first value to be set + The second value to be set + The third value to be set + + + + Set data value to a float , + all types of parameters are float. + + The target + The first value to be set + The second value to be set + The third value to be set + The forth value to be set + + + + Set how a shader parameter read data from a VBO. + + Serial number of the parameter + Amount of data each elements contains + Type of data read by shader + + Pixels stride of each sets of data + + + + + Same function as OpenGL api glTexImage2d + + texture target to load image in + level of mipmap, 0 if default + OpenGL's internal color channel format + width of image + height of image + color channels of this image + how this image express each pixel + data array of pixels + + + + Same fucntion as OpenGL api glTexParameteri + + texture target to set parameters + name of parameter + value of parameter + + + + Same fucntion as OpenGL api glUseShader. + + Sign of program to be used + + + + Same function as the OpenGL api, glViewPort + + + + + + + + + A sensor used for cheking out if a bullet hit a player or something else + + + + + A 2D vector presenting the position of an enemy entity, position can also be visited by X, Y + + + + + X position of an enenmy entity + + + + + Y position of an enemy entity + + + + + Init an instance of OpenGL program, + This method should be called before any other StgSharp api. + + + + + Version of current StgSharp platform. + Main version represent in hundred's digit, + and sub version represent in ten's digit. + + + + + Write a log message to log file, and mark the level of this message. + + A string contains information of how current evironment runs. + The severity of current message. + + + + Part of a circle. All points on a arc has the same distance to their center. + + + + + A collection of all point on the same plain and has the same distance to a point + + + + + The origin of this coordinate. + + + + + The horizontial axis of the coordinate. + Point to the right direction. + + + + + The vertical axis of the coordinate. + Point to the top direction. + + + + + 当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常 + + + + + Caculate the movement of a point. + + The game tick represent time passed by + A 3d vector representing movement + + + + Move begin side of a line. + It is recommended to override this function rather than + loading an with same function. + + Time passed since current line was created. + + + + Move end side of a line. + It is recommended to override this function rather than + loading an with same function. + + Time passed since current line was created. + + + + + Move the third vertix. this is a useless method for Parallelograms. + + Current time tick + + Geometry overdefined + + + + Move the third vertix. This method is useless for Parallelograms. + + Current time tick + + Geometry overdefined + + + + 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。 + + + + + Tick time this geometry eas crested + + + + + Get all sides of this . + + A array contains all straight s of current geometry item. + + + + Get a flat cincide with current geometry. + + + + + + Update the coordinate of the point. If this is a moving point, + (Points on sides or surface if other geometry items) + please do not define any motion here, codes will be ignored by program + + Time passes since the program begin, counted by frames + + + + 计算中心点相对于参考原点的位移 + + 当前游戏刻 + + + + + A square + + + + + A linear data structure with dynamic length. + It contains a of , + each is twice longer than the former one. + + + + + + Init a with a certain amount of elements prepared. + + Amount of elements to be prepared. + + + + Create a new instance of , + and fill the begining ones of elemtns as given instance. + + Amount of beginning elements to be filled + + + + + Length of this + + + + + A pair of value + + + + + A value. + The lower byte is , + and higher byte is . + + + + + The first value. + + + + + The second value. + + + + + A microsecond-accuracy timer. It will refresh every a certain time span. + + + + + Create a new and define the length of time span. Length of a single time span is defined in microseconds. + + + + + + + Create a new and define the length of time span. + Length of a single time span is defined in seconds. + + + + + + + Create a new and define the length of time span. Length of a single time span is defined in microseconds. + + + + + + + Time source provider provided in internal framework. + + + + + The method this will call every time a new time span started. + + + + + OpenGL numeric type. + An IEEE-754 floating-point value, clamped to the range [0,1]. + + + + + OpenGL numeric type. + An IEEE-754 double precision floating-point value, clamped to the range [0,1]. + + + + + A two dimension vector defined by two elements. + Vec2Ds in StgSharp are defaultly usaed as colum vector. + + + + + Reurns the value of ArcSin(x) + + The sine value of the angle + + + + + + Get the value of E ^ x; + + + + + + + + + + + Returns the value of ln(x). + + + + + calculate the value of x^y + + + + Returns the value of x^y + + + + returns a random float number between 0 and 1. + + + + + + + + + + + + Generates a random seed in int value. + + + + + The COLORREF value is used to specify an RGB color. + + When specifying an explicit [RGB](/windows/desktop/api/Wingdi/nf-wingdi-rgb) color, the **COLORREF** value has the following hexadecimal form: `0x00bbggrr` The low-order byte contains a value for the relative intensity of red; the second byte contains a value for green; and the third byte contains a value for blue. The high-order byte must be zero. The maximum value for a single byte is 0xFF. To create a **COLORREF** color value, use the [RGB](/windows/desktop/api/Wingdi/nf-wingdi-rgb) macro. To extract the individual values for the red, green, and blue components of a color value, use the [**GetRValue**](/windows/desktop/api/Wingdi/nf-wingdi-getrvalue), [GetGValue](/windows/desktop/api/Wingdi/nf-wingdi-getgvalue), and [GetBValue](/windows/desktop/api/Wingdi/nf-wingdi-getbvalue) macros, respectively. + Read more on docs.microsoft.com. + + + + + A pointer to a null-terminated, constant, ANSI character string. + + + + + A pointer to the first character in the string. The content should be considered readonly, as it was typed as constant in the SDK. + + + + + Gets the number of characters up to the first null character (exclusive). + + + + + Returns a with a copy of this character array, decoding as UTF-8. + + A , or if is . + + + + Returns a span of the characters in this string, up to the first null character (exclusive). + + + + + A pointer to a null-terminated, constant character string. + + + + + A pointer to the first character in the string. The content should be considered readonly, as it was typed as constant in the SDK. + + + + + Gets the number of characters up to the first null character (exclusive). + + + + + Returns a with a copy of this character array, up to the first null character (exclusive). + + A , or if is . + + + + Returns a span of the characters in this string, up to the first null character (exclusive). + + + + The RECT structure defines a rectangle by the coordinates of its upper-left and lower-right corners. + The RECT structure is identical to the RECTL structure. + + + Specifies the x-coordinate of the upper-left corner of the rectangle. + + + Specifies the y-coordinate of the upper-left corner of the rectangle. + + + Specifies the x-coordinate of the lower-right corner of the rectangle. + + + Specifies the y-coordinate of the lower-right corner of the rectangle. + + + Contains message information from a thread's message queue. + + Learn more about this API from docs.microsoft.com. + + + + + Type: HWND A handle to the window whose window procedure receives the message. This member is NULL when the message is a thread message. + Read more on docs.microsoft.com. + + + + + Type: UINT The message identifier. Applications can only use the low word; the high word is reserved by the system. + Read more on docs.microsoft.com. + + + + + Type: WPARAM Additional information about the message. The exact meaning depends on the value of the message member. + Read more on docs.microsoft.com. + + + + + Type: LPARAM Additional information about the message. The exact meaning depends on the value of the message member. + Read more on docs.microsoft.com. + + + + + Type: DWORD The time at which the message was posted. + Read more on docs.microsoft.com. + + + + + Type: POINT The cursor position, in screen coordinates, when the message was posted. + Read more on docs.microsoft.com. + + + + Contains the window class attributes that are registered by the RegisterClass function. (ANSI) + + > [!NOTE] > The winuser.h header defines WNDCLASS as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes). + Read more on docs.microsoft.com. + + + + + Type: UINT The class style(s). This member can be any combination of the Class Styles. + Read more on docs.microsoft.com. + + + + + Type: WNDPROC A pointer to the window procedure. You must use the CallWindowProc function to call the window procedure. For more information, see WindowProc. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window-class structure. The system initializes the bytes to zero. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window instance. The system initializes the bytes to zero. If an application uses WNDCLASS to register a dialog box created by using the CLASS directive in the resource file, it must set this member to DLGWINDOWEXTRA. + Read more on docs.microsoft.com. + + + + + Type: HINSTANCE A handle to the instance that contains the window procedure for the class. + Read more on docs.microsoft.com. + + + + + Type: HICON A handle to the class icon. This member must be a handle to an icon resource. If this member is NULL, the system provides a default icon. + Read more on docs.microsoft.com. + + + + + Type: HCURSOR A handle to the class cursor. This member must be a handle to a cursor resource. If this member is NULL, an application must explicitly set the cursor shape whenever the mouse moves into the application's window. + Read more on docs.microsoft.com. + + + + + Type: HBRUSH A handle to the class background brush. This member can be a handle to the physical brush to be used for painting the background, or it can be a color value. A color value must be one of the following standard system colors (the value 1 must be added to the chosen color). If a color value is given, you must convert it to one of the following HBRUSH types: + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR The resource name of the class menu, as the name appears in the resource file. If you use an integer to identify the menu, use the MAKEINTRESOURCE macro. If this member is NULL, windows belonging to this class have no default menu. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR A pointer to a null-terminated string or is an atom. If this parameter is an atom, it must be a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpszClassName; the high-order word must be zero. + If lpszClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names. The maximum length for lpszClassName is 256. If lpszClassName is greater than the maximum length, the RegisterClass function will fail. + Read more on docs.microsoft.com. + + + + Contains the window class attributes that are registered by the RegisterClass function. (Unicode) + + > [!NOTE] > The winuser.h header defines WNDCLASS as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes). + Read more on docs.microsoft.com. + + + + + Type: UINT The class style(s). This member can be any combination of the Class Styles. + Read more on docs.microsoft.com. + + + + + Type: WNDPROC A pointer to the window procedure. You must use the CallWindowProc function to call the window procedure. For more information, see WindowProc. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window-class structure. The system initializes the bytes to zero. + Read more on docs.microsoft.com. + + + + + Type: int The number of extra bytes to allocate following the window instance. The system initializes the bytes to zero. If an application uses WNDCLASS to register a dialog box created by using the CLASS directive in the resource file, it must set this member to DLGWINDOWEXTRA. + Read more on docs.microsoft.com. + + + + + Type: HINSTANCE A handle to the instance that contains the window procedure for the class. + Read more on docs.microsoft.com. + + + + + Type: HICON A handle to the class icon. This member must be a handle to an icon resource. If this member is NULL, the system provides a default icon. + Read more on docs.microsoft.com. + + + + + Type: HCURSOR A handle to the class cursor. This member must be a handle to a cursor resource. If this member is NULL, an application must explicitly set the cursor shape whenever the mouse moves into the application's window. + Read more on docs.microsoft.com. + + + + + Type: HBRUSH A handle to the class background brush. This member can be a handle to the physical brush to be used for painting the background, or it can be a color value. A color value must be one of the following standard system colors (the value 1 must be added to the chosen color). If a color value is given, you must convert it to one of the following HBRUSH types: + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR The resource name of the class menu, as the name appears in the resource file. If you use an integer to identify the menu, use the MAKEINTRESOURCE macro. If this member is NULL, windows belonging to this class have no default menu. + Read more on docs.microsoft.com. + + + + + Type: LPCTSTR A pointer to a null-terminated string or is an atom. If this parameter is an atom, it must be a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpszClassName; the high-order word must be zero. + If lpszClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names. The maximum length for lpszClassName is 256. If lpszClassName is greater than the maximum length, the RegisterClass function will fail. + Read more on docs.microsoft.com. + + + + + Represents a Win32 handle that can be closed with . + + + + + Represents a Win32 handle that can be closed with . + + + + The GLYPHMETRICSFLOAT structure contains information about the placement and orientation of a glyph in a character cell. + The values of GLYPHMETRICSFLOAT are specified as notional units. + + + Specifies the width of the smallest rectangle (the glyph's black box) that completely encloses the glyph. + + + Specifies the height of the smallest rectangle (the glyph's black box) that completely encloses the glyph. + + + Specifies the x and y coordinates of the upper-left corner of the smallest rectangle that completely encloses the glyph. + + + Specifies the horizontal distance from the origin of the current character cell to the origin of the next character cell. + + + Specifies the vertical distance from the origin of the current character cell to the origin of the next character cell. + + + The LAYERPLANEDESCRIPTOR structure describes the pixel format of a drawing surface. + Please notice, as documented above, that certain layer plane properties are not supported in the current implementation. The implementation is the Microsoft GDI software implementation of OpenGL. Hardware manufacturers that enhance parts of OpenGL may support some layer plane properties not supported by the generic implementation. + + + Specifies the size of this data structure. Set this value to sizeof(LAYERPLANEDESCRIPTOR). + + + Specifies the version of this data structure. Set this value to 1. + + + + A set of bit flags that specify properties of the layer plane. The properties are generally not mutually exclusive; any combination of bit flags can be set, with the exceptions noted. The following bit flag constants are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Specifies the type of pixel data. The following types are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Specifies the number of color bitplanes in each color buffer. For RGBA pixel types, it is the size of the color buffer, excluding the alpha bitplanes. For color-index pixels, it is the size of the color-index buffer. + + + Specifies the number of red bitplanes in each RGBA color buffer. + + + Specifies the shift count for red bitplanes in each RGBA color buffer. + + + Specifies the number of green bitplanes in each RGBA color buffer. + + + Specifies the shift count for green bitplanes in each RGBA color buffer. + + + Specifies the number of blue bitplanes in each RGBA color buffer. + + + Specifies the shift count for blue bitplanes in each RGBA color buffer. + + + Specifies the number of alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the shift count for alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the total number of bitplanes in the accumulation buffer. + + + Specifies the number of red bitplanes in the accumulation buffer. + + + Specifies the number of green bitplanes in the accumulation buffer. + + + Specifies the number of blue bitplanes in the accumulation buffer. + + + Specifies the number of alpha bitplanes in the accumulation buffer. + + + Specifies the depth of the depth (z-axis) buffer. + + + Specifies the depth of the stencil buffer. + + + Specifies the number of auxiliary buffers. Auxiliary buffers are not supported. + + + + + + Not used. Must be zero. + + + When the LPD_TRANSPARENT flag is set, specifies the transparent color or index value. Typically the value is zero. + + + The PIXELFORMATDESCRIPTOR structure describes the pixel format of a drawing surface. + Please notice carefully, as documented above, that certain pixel format properties are not supported in the current generic implementation. The generic implementation is the Microsoft GDI software implementation of OpenGL. Hardware manufacturers may enhance parts of OpenGL, and may support some pixel format properties not supported by the generic implementation. + + + Specifies the size of this data structure. This value should be set to sizeof(PIXELFORMATDESCRIPTOR). + + + Specifies the version of this data structure. This value should be set to 1. + + + + A set of bit flags that specify properties of the pixel buffer. The properties are generally not mutually exclusive; you can set any combination of bit flags, with the exceptions noted. The following bit flag constants are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + + Specifies the type of pixel data. The following types are defined. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Specifies the number of color bitplanes in each color buffer. For RGBA pixel types, it is the size of the color buffer, excluding the alpha bitplanes. For color-index pixels, it is the size of the color-index buffer. + + + Specifies the number of red bitplanes in each RGBA color buffer. + + + Specifies the shift count for red bitplanes in each RGBA color buffer. + + + Specifies the number of green bitplanes in each RGBA color buffer. + + + Specifies the shift count for green bitplanes in each RGBA color buffer. + + + Specifies the number of blue bitplanes in each RGBA color buffer. + + + Specifies the shift count for blue bitplanes in each RGBA color buffer. + + + Specifies the number of alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the shift count for alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported. + + + Specifies the total number of bitplanes in the accumulation buffer. + + + Specifies the number of red bitplanes in the accumulation buffer. + + + Specifies the number of green bitplanes in the accumulation buffer. + + + Specifies the number of blue bitplanes in the accumulation buffer. + + + Specifies the number of alpha bitplanes in the accumulation buffer. + + + Specifies the depth of the depth (z-axis) buffer. + + + Specifies the depth of the stencil buffer. + + + Specifies the number of auxiliary buffers. Auxiliary buffers are not supported. + + + Specifies the number of overlay and underlay planes. Bits 0 through 3 specify up to 15 overlay planes and bits 4 through 7 specify up to 15 underlay planes. + + + Ignored. Earlier implementations of OpenGL used this member, but it is no longer used. + + + Specifies the transparent color or index of an underlay plane. When the pixel type is RGBA, dwVisibleMask is a transparent RGB color value. When the pixel type is color index, it is a transparent index value. + + + Ignored. Earlier implementations of OpenGL used this member, but it is no longer used. + + + The POINTFLOAT structure contains the x and y coordinates of a point. + + Learn more about this API from docs.microsoft.com. + + + + Specifies the horizontal (x) coordinate of a point. + + + Specifies the vertical (y) coordinate of a point. + + + + Contains extern methods from "GDI32.dll". + + + Contains extern methods from "KERNEL32.dll". + + + Contains extern methods from "OPENGL32.dll". + + + Contains extern methods from "USER32.dll". + + + + The DeleteObject function deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. After the object is deleted, the specified handle is no longer valid. + A handle to a logical pen, brush, font, bitmap, region, or palette. + + If the function succeeds, the return value is nonzero. If the specified handle is not valid or is currently selected into a DC, the return value is zero. + + + Do not delete a drawing object (pen or brush) while it is still selected into a DC. When a pattern brush is deleted, the bitmap associated with the brush is not deleted. The bitmap must be deleted independently. + Read more on docs.microsoft.com. + + + + + + + The ChoosePixelFormat function attempts to match an appropriate pixel format supported by a device context to a given pixel format specification. + Specifies the device context that the function examines to determine the best match for the pixel format descriptor pointed to by ppfd. + + Pointer to a PIXELFORMATDESCRIPTOR structure that specifies the requested pixel format. In this context, the members of the PIXELFORMATDESCRIPTOR structure that ppfd points to are used as follows: + This doc was truncated. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is a pixel format index (one-based) that is the closest match to the given pixel format descriptor. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + You must ensure that the pixel format matched by the ChoosePixelFormat function satisfies your requirements. For example, if you request a pixel format with a 24-bit RGB color buffer but the device context offers only 8-bit RGB color buffers, the function returns a pixel format with an 8-bit RGB color buffer. + + + The DescribePixelFormat function obtains information about the pixel format identified by iPixelFormat of the device associated with hdc. The function sets the members of the PIXELFORMATDESCRIPTOR structure pointed to by ppfd with that pixel format data. + Specifies the device context. + Index that specifies the pixel format. The pixel formats that a device context supports are identified by positive one-based integer indexes. + The size, in bytes, of the structure pointed to by ppfd. The DescribePixelFormat function stores no more than nBytes bytes of data to that structure. Set this value to sizeof(PIXELFORMATDESCRIPTOR). + Pointer to a PIXELFORMATDESCRIPTOR structure whose members the function sets with pixel format data. The function stores the number of bytes copied to the structure in the structure's nSize member. If, upon entry, ppfd is NULL, the function writes no data to the structure. This is useful when you only want to obtain the maximum pixel format index of a device context. + + If the function succeeds, the return value is the maximum pixel format index of the device context. In addition, the function sets the members of the PIXELFORMATDESCRIPTOR structure pointed to by ppfd according to the specified pixel format. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + Learn more about this API from docs.microsoft.com. + + + + The DeleteEnhMetaFile function deletes an enhanced-format metafile or an enhanced-format metafile handle. + A handle to an enhanced metafile. + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. + + If the hemf parameter identifies an enhanced metafile stored in memory, the DeleteEnhMetaFile function deletes the metafile. If hemf identifies a metafile stored on a disk, the function deletes the metafile handle but does not destroy the actual metafile. An application can retrieve the file by calling the GetEnhMetaFile function. + + + + + + The GetEnhMetaFilePixelFormat function retrieves pixel format information for an enhanced metafile. + Identifies the enhanced metafile. + Specifies the size, in bytes, of the buffer into which the pixel format information is copied. + Pointer to a PIXELFORMATDESCRIPTOR structure that contains the logical pixel format specification. The metafile uses this structure to record the logical pixel format specification. + + If the function succeeds and finds a pixel format, the return value is the size of the metafile's pixel format. If no pixel format is present, the return value is zero. If an error occurs and the function fails, the return value is GDI_ERROR. To get extended error information, call GetLastError. + + + When an enhanced metafile specifies a pixel format in its ENHMETAHEADER structure and the pixel format fits in the buffer, the pixel format information is copied into ppfd. When cbBuffer is too small to contain the pixel format of the metafile, the pixel format is not copied to the buffer. In either case, the function returns the size of the metafile's pixel format. For information on metafile recording and other operations, see Enhanced Metafile Operations. + Read more on docs.microsoft.com. + + + + The GetPixelFormat function obtains the index of the currently selected pixel format of the specified device context. + Specifies the device context of the currently selected pixel format index returned by the function. + + If the function succeeds, the return value is the currently selected pixel format index of the specified device context. This is a positive, one-based index value. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + Learn more about this API from docs.microsoft.com. + + + + + + + The SetPixelFormat function sets the pixel format of the specified device context to the format specified by the iPixelFormat index. + Specifies the device context whose pixel format the function attempts to set. + Index that identifies the pixel format to set. The various pixel formats supported by a device context are identified by one-based indexes. + Pointer to a PIXELFORMATDESCRIPTOR structure that contains the logical pixel format specification. The system's metafile component uses this structure to record the logical pixel format specification. The structure has no other effect upon the behavior of the SetPixelFormat function. + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + If hdc references a window, calling the SetPixelFormat function also changes the pixel format of the window. Setting the pixel format of a window more than once can lead to significant complications for the Window Manager and for multithread applications, so it is not allowed. An application can only set the pixel format of a window one time. Once a window's pixel format is set, it cannot be changed. You should select a pixel format in the device context before calling the wglCreateContext function. The wglCreateContext function creates a rendering context for drawing on the device in the selected pixel format of the device context. An OpenGL window has its own pixel format. Because of this, only device contexts retrieved for the client area of an OpenGL window are allowed to draw into the window. As a result, an OpenGL window should be created with the WS_CLIPCHILDREN and WS_CLIPSIBLINGS styles. Additionally, the window class attribute should not include the CS_PARENTDC style. + Read more on docs.microsoft.com. + + + + The SwapBuffers function exchanges the front and back buffers if the current pixel format for the window referenced by the specified device context includes a back buffer. + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + If the current pixel format for the window referenced by the device context does not include a back buffer, this call has no effect and the content of the back buffer is undefined when the function returns. With multithread applications, flush the drawing commands in any other threads drawing to the same window before calling SwapBuffers. + Read more on docs.microsoft.com. + + + + Closes an open object handle. + A valid handle to an open object. + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. If the application is running under a debugger, the function will throw an exception if it receives either a handle value that is not valid or a pseudo-handle value. This can happen if you close a handle twice, or if you call CloseHandle on a handle returned by the FindFirstFile function instead of calling the FindClose function. + + + The CloseHandle function closes handles to the following objects: + This doc was truncated. + Read more on docs.microsoft.com. + + + + Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. + + A handle to the loaded library module. The LoadLibrary, LoadLibraryEx, GetModuleHandle, or GetModuleHandleEx function returns this handle. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call the GetLastError function. + + + The system maintains a per-process reference count for each loaded module. A module that was loaded at process initialization due to load-time dynamic linking has a reference count of one. The reference count for a module is incremented each time the module is loaded by a call to LoadLibrary. The reference count is also incremented by a call to LoadLibraryEx unless the module is being loaded for the first time and is being loaded as a data or image file. The reference count is decremented each time the FreeLibrary or FreeLibraryAndExitThread function is called for the module. When a module's reference count reaches zero or the process terminates, the system unloads the module from the address space of the process. Before unloading a library module, the system enables the module to detach from the process by calling the module's DllMain function, if it has one, with the DLL_PROCESS_DETACH value. Doing so gives the library module an opportunity to clean up resources allocated on behalf of the current process. After the entry-point function returns, the library module is removed from the address space of the current process. It is not safe to call FreeLibrary from DllMain. For more information, see the Remarks section in DllMain. Calling FreeLibrary does not affect other processes that are using the same module. Use caution when calling FreeLibrary with a handle returned by GetModuleHandle. The GetModuleHandle function does not increment a module's reference count, so passing this handle to FreeLibrary can cause a module to be unloaded prematurely. A thread that must unload the DLL in which it is executing and then terminate itself should call FreeLibraryAndExitThread instead of calling FreeLibrary and ExitThread separately. Otherwise, a race condition can occur. For details, see the Remarks section of FreeLibraryAndExitThread. + Read more on docs.microsoft.com. + + + + + + + Retrieves a module handle for the specified module. The module must have been loaded by the calling process. (Unicode) + + The name of the loaded module (either a .dll or .exe file). If the file name extension is omitted, the default library extension .dll is appended. The file name string can include a trailing point character (.) to indicate that the module name has no extension. The string does not have to specify a path. When specifying a path, be sure to use backslashes (\\), not forward slashes (/). The name is compared (case independently) to the names of modules currently mapped into the address space of the calling process. + If this parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process (.exe file). The GetModuleHandle function does not retrieve handles for modules that were loaded using the LOAD_LIBRARY_AS_DATAFILE flag. For more information, see LoadLibraryEx. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is a handle to the specified module. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The returned handle is not global or inheritable. It cannot be duplicated or used by another process. If lpModuleName does not include a path and there is more than one loaded module with the same base name and extension, you cannot predict which module handle will be returned. To work around this problem, you could specify a path, use side-by-side assemblies, or use GetModuleHandleEx to specify a memory location rather than a DLL name. The GetModuleHandle function returns a handle to a mapped module without incrementing its reference count. However, if this handle is passed to the FreeLibrary function, the reference count of the mapped module will be decremented. Therefore, do not pass a handle returned by GetModuleHandle to the FreeLibrary function. Doing so can cause a DLL module to be unmapped prematurely. This function must be used carefully in a multithreaded application. There is no guarantee that the module handle remains valid between the time this function returns the handle and the time it is used. For example, suppose that a thread retrieves a module handle, but before it uses the handle, a second thread frees the module. If the system loads another module, it could reuse the module handle that was recently freed. Therefore, the first thread would have a handle to a different module than the one intended. + Read more on docs.microsoft.com. + + + + + + + Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL). + + A handle to the DLL module that contains the function or variable. The LoadLibrary, LoadLibraryEx, LoadPackagedLibrary, or GetModuleHandle function returns this handle. The GetProcAddress function does not retrieve addresses from modules that were loaded using the LOAD_LIBRARY_AS_DATAFILE flag. For more information, see LoadLibraryEx. + Read more on docs.microsoft.com. + + The function or variable name, or the function's ordinal value. If this parameter is an ordinal value, it must be in the low-order word; the high-order word must be zero. + + If the function succeeds, the return value is the address of the exported function or variable. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The spelling and case of a function name pointed to by lpProcName must be identical to that in the EXPORTS statement of the source DLL's module-definition (.def) file. The exported names of functions may differ from the names you use when calling these functions in your code. This difference is hidden by macros used in the SDK header files. For more information, see Conventions for Function Prototypes. The lpProcName parameter can identify the DLL function by specifying an ordinal value associated with the function in the EXPORTS statement. GetProcAddress verifies that the specified ordinal is in the range 1 through the highest ordinal value exported in the .def file. The function then uses the ordinal as an index to read the function's address from a function table. If the .def file does not number the functions consecutively from 1 to N (where N is the number of exported functions), an error can occur where GetProcAddress returns an invalid, non-NULL address, even though there is no function with the specified ordinal. If the function might not exist in the DLL module—for example, if the function is available only on Windows Vista but the application might be running on Windows XP—specify the function by name rather than by ordinal value and design your application to handle the case when the function is not available, as shown in the following code fragment. + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + Loads the specified module into the address space of the calling process. (LoadLibraryW) + + The name of the module. This can be either a library module (a .dll file) or an executable module (an .exe file). If the specified module is an executable module, static imports are not loaded; instead, the module is loaded as if by LoadLibraryEx with the `DONT_RESOLVE_DLL_REFERENCES` flag. The name specified is the file name of the module and is not related to the name stored in the library module itself, as specified by the LIBRARY keyword in the module-definition (.def) file. If the string specifies a full path, the function searches only that path for the module. If the string specifies a relative path or a module name without a path, the function uses a standard search strategy to find the module; for more information, see the Remarks. If the function cannot find the module, the function fails. When specifying a path, be sure to use backslashes (\\), not forward slashes (/). For more information about paths, see Naming a File or Directory. If the string specifies a module name without a path and the file name extension is omitted, the function appends the default library extension ".DLL" to the module name. To prevent the function from appending ".DLL" to the module name, include a trailing point character (.) in the module name string. + Read more on docs.microsoft.com. + + + If the function succeeds, the return value is a handle to the module. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + To enable or disable error messages displayed by the loader during DLL loads, use the SetErrorMode function. LoadLibrary can be used to load a library module into the address space of the process and return a handle that can be used in GetProcAddress to get the address of a DLL function. LoadLibrary can also be used to load other executable modules. For example, the function can specify an .exe file to get a handle that can be used in FindResource or LoadResource. However, do not use LoadLibrary to run an .exe file. Instead, use the CreateProcess function. If the specified module is a DLL that is not already loaded for the calling process, the system calls the DLL's DllMain function with the DLL_PROCESS_ATTACH value. If DllMain returns TRUE, LoadLibrary returns a handle to the module. If DllMain returns FALSE, the system unloads the DLL from the process address space and LoadLibrary returns NULL. It is not safe to call LoadLibrary from DllMain. For more information, see the Remarks section in DllMain. Module handles are not global or inheritable. A call to LoadLibrary by one process does not produce a handle that another process can use — for example, in calling GetProcAddress. The other process must make its own call to LoadLibrary for the module before calling GetProcAddress. If lpFileName does not include a path and there is more than one loaded module with the same base name and extension, the function returns a handle to the module that was loaded first. If no file name extension is specified in the lpFileName parameter, the default library extension .dll is appended. However, the file name string can include a trailing point character (.) to indicate that the module name has no extension. When no path is specified, the function searches for loaded modules whose base name matches the base name of the module to be loaded. If the name matches, the load succeeds. Otherwise, the function searches for the file. The first directory searched is the directory containing the image file used to create the calling process (for more information, see the CreateProcess function). Doing this allows private dynamic-link library (DLL) files associated with a process to be found without adding the process's installed directory to the PATH environment variable. If a relative path is specified, the entire relative path is appended to every token in the DLL search path list. To load a module from a relative path without searching any other path, use GetFullPathName to get a nonrelative path and call LoadLibrary with the nonrelative path. For more information on the DLL search order, see Dynamic-Link Library Search Order. The search path can be altered using the SetDllDirectory function. This solution is recommended instead of using SetCurrentDirectory or hard-coding the full path to the DLL. If a path is specified and there is a redirection file for the application, the function searches for the module in the application's directory. If the module exists in the application's directory, LoadLibrary ignores the specified path and loads the module from the application's directory. If the module does not exist in the application's directory, LoadLibrary loads the module from the specified directory. For more information, see Dynamic Link Library Redirection. If you call LoadLibrary with the name of an assembly without a path specification and the assembly is listed in the system compatible manifest, the call is automatically redirected to the side-by-side assembly. The system maintains a per-process reference count on all loaded modules. Calling LoadLibrary increments the reference count. Calling the FreeLibrary or FreeLibraryAndExitThread function decrements the reference count. The system unloads a module when its reference count reaches zero or when the process terminates (regardless of the reference count). Windows Server 2003 and Windows XP:  The Visual C++ compiler supports a syntax that enables you to declare thread-local variables: _declspec(thread). If you use this syntax in a DLL, you will not be able to load the DLL explicitly using LoadLibrary on versions of Windows prior to Windows Vista. If your DLL will be loaded explicitly, you must use the thread local storage functions instead of _declspec(thread). For an example, see Using Thread Local Storage in a Dynamic Link Library.

Security Remarks

Do not use the SearchPath function to retrieve a path to a DLL for a subsequent LoadLibrary call. The SearchPath function uses a different search order than LoadLibrary and it does not use safe process search mode unless this is explicitly enabled by calling SetSearchPathMode with BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE. Therefore, SearchPath is likely to first search the user’s current working directory for the specified DLL. If an attacker has copied a malicious version of a DLL into the current working directory, the path retrieved by SearchPath will point to the malicious DLL, which LoadLibrary will then load. Do not make assumptions about the operating system version based on a LoadLibrary call that searches for a DLL. If the application is running in an environment where the DLL is legitimately not present but a malicious version of the DLL is in the search path, the malicious version of the DLL may be loaded. Instead, use the recommended techniques described in Getting the System Version.
+ Read more on docs.microsoft.com. +
+
+ + + + + The wglGetProcAddress function returns the address of an OpenGL extension function for use with the current OpenGL rendering context. + + When the function succeeds, the return value is the address of the extension function. When no current rendering context exists or the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The OpenGL library supports multiple implementations of its functions. Extension functions supported in one rendering context are not necessarily available in a separate rendering context. Thus, for a given rendering context in an application, use the function addresses returned by the wglGetProcAddress function only. The spelling and the case of the extension function pointed to by lpszProc must be identical to that of a function supported and implemented by OpenGL. Because extension functions are not exported by OpenGL, you must use wglGetProcAddress to get the addresses of vendor-specific extension functions. The extension function addresses are unique for each pixel format. All rendering contexts of a given pixel format share the same extension function addresses. + Read more on docs.microsoft.com. + + + + The wglDeleteContext function deletes a specified OpenGL rendering context. + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + It is an error to delete an OpenGL rendering context that is the current context of another thread. However, if a rendering context is the calling thread's current context, the wglDeleteContext function changes the rendering context to being not current before deleting it. The wglDeleteContext function does not delete the device context associated with the OpenGL rendering context when you call the wglMakeCurrent function. After calling wglDeleteContext, you must call DeleteDC to delete the associated device context. + Read more on docs.microsoft.com. + + + + + + + The wglCreateContext function creates a new OpenGL rendering context, which is suitable for drawing on the device referenced by hdc. The rendering context has the same pixel format as the device context. + + If the function succeeds, the return value is a valid handle to an OpenGL rendering context. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + A rendering context is not the same as a device context. Set the pixel format of the device context before creating a rendering context. For more information on setting the device context's pixel format, see the SetPixelFormat function. To use OpenGL, you create a rendering context, select it as a thread's current rendering context, and then call OpenGL functions. When you are finished with the rendering context, you dispose of it by calling the wglDeleteContext function. The following code example shows wglCreateContext usage. + + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + The wglCreateLayerContext function creates a new OpenGL rendering context for drawing to a specified layer plane on a device context. + + If the function succeeds, the return value is a handle to an OpenGL rendering context. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + A rendering context is a port through which all OpenGL commands pass. Every thread that makes OpenGL calls must have one current, active rendering context. A rendering context is not the same as a device context; a rendering context contains information specific to OpenGL, while a device context contains information specific to GDI. Before you create a rendering context, set the pixel format of the device context with the SetPixelFormat function. You can use a rendering context in a specified layer plane of a window with identical pixel formats only. With OpenGL applications that use multiple threads, you create a rendering context, select it as the current rendering context of a thread, and make OpenGL calls for the specified thread. When you are finished with the rendering context of the thread, call the wglDeleteContext function. + Read more on docs.microsoft.com. + + + + + + + The wglCopyContext function copies selected groups of rendering states from one OpenGL rendering context to another. + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + Using the wglCopyContext function, you can synchronize the rendering state of two rendering contexts. You can only copy the rendering state between two rendering contexts within the same process. The rendering contexts must be from the same OpenGL implementation. For example, you can always copy a rendering state between two rendering contexts with identical pixel format in the same process. You can copy the same state information available only with the glPushAttrib function. You cannot copy some state information, such as pixel pack/unpack state, render mode state, select state, and feedback state. When you call wglCopyContext, make sure that the destination rendering context, hglrcDst, is not current to any thread. + Read more on docs.microsoft.com. + + + + + + + The wglDescribeLayerPlane function obtains information about the layer planes of a given pixel format. + + If the function succeeds, the return value is TRUE. In addition, the wglDescribeLayerPlane function sets the members of the LAYERPLANEDESCRIPTOR structure pointed to by plpd according to the specified layer plane (iLayerPlane ) of the specified pixel format (iPixelFormat ). If the function fails, the return value is FALSE. + + The numbering of planes (iLayerPlane ) determines their order. Higher-numbered planes overlay lower-numbered planes. + + + + + + The wglGetCurrentContext function obtains a handle to the current OpenGL rendering context of the calling thread. + If the calling thread has a current OpenGL rendering context, wglGetCurrentContext returns a handle to that rendering context. Otherwise, the return value is NULL. + The current OpenGL rendering context of a thread is associated with a device context by means of the wglMakeCurrent function. You can use the wglGetCurrentDC function to obtain a handle to the device context associated with the current OpenGL rendering context. + + + The wglGetCurrentDC function obtains a handle to the device context that is associated with the current OpenGL rendering context of the calling thread. + If the calling thread has a current OpenGL rendering context, the function returns a handle to the device context associated with that rendering context by means of the wglMakeCurrent function. Otherwise, the return value is NULL. + You associate a device context with an OpenGL rendering context when it calls the wglMakeCurrent function. You can use the wglGetCurrentContext function to obtain a handle to the calling thread's current OpenGL rendering context. + + + + + + Retrieves the palette entries from a given color-index layer plane for a specified device context. + + Type: int If the function succeeds, the return value is the number of entries that were set in the palette in the specified layer plane of the window. If the function fails or when no pixel format is selected, the return value is zero. To get extended error information, call GetLastError. + + + Each color-index layer plane in a window has a palette with a size 2^n, where n is the number of bit planes in the layer plane. You cannot modify the transparent index of a palette. Use the wglRealizeLayerPalette function to realize the layer palette. Initially the layer palette contains only entries for white. + Read more on docs.microsoft.com. + + + + + + + The wglMakeCurrent function makes a specified OpenGL rendering context the calling thread's current rendering context. + When the wglMakeCurrent function succeeds, the return value is TRUE; otherwise the return value is FALSE. To get extended error information, call GetLastError. + + The hdc parameter must refer to a drawing surface supported by OpenGL. It need not be the same hdc that was passed to wglCreateContext when hglrc was created, but it must be on the same device and have the same pixel format. GDI transformation and clipping in hdc are not supported by the rendering context. The current rendering context uses the hdc device context until the rendering context is no longer current. Before switching to the new rendering context, OpenGL flushes any previous rendering context that was current to the calling thread. A thread can have one current rendering context. A process can have multiple rendering contexts by means of multithreading. A thread must set a current rendering context before calling any OpenGL functions. Otherwise, all OpenGL calls are ignored. A rendering context can be current to only one thread at a time. You cannot make a rendering context current to multiple threads. An application can perform multithread drawing by making different rendering contexts current to different threads, supplying each thread with its own rendering context and device context. If an error occurs, the wglMakeCurrent function makes the thread's current rendering context not current before returning. + Read more on docs.microsoft.com. + + + + The wglRealizeLayerPalette function maps palette entries from a given color-index layer plane into the physical palette or initializes the palette of an RGBA layer plane. + If the function succeeds, the return value is TRUE, even if bRealize is TRUE and the physical palette is not available. If the function fails or when no pixel format is selected, the return value is FALSE. To get extended error information, call GetLastError. + + The physical palette for a layer plane is a shared resource among windows with layer planes. When more than one window attempts to realize a palette for a given physical layer plane, only one palette at a time is realized. When you call the wglRealizeLayerPalette function, the layer palette of a foreground window is always realized first. When a window's layer palette is realized, its palette entries are always mapped one-to-one into the physical palette. Unlike GDI logical palettes, with wglRealizeLayerPalette there is no mapping of other windows' layer palettes to the current physical palette. Whenever a window becomes the foreground window, call wglRealizeLayerPalette to realize its layer palettes again, even if the pixel type of the layer plane is RGBA. Because wglRealizeLayerPalette doesn't realize the palette of the main plane, use GDI palette functions to realize the main plane palette. + Read more on docs.microsoft.com. + + + + + + + Sets the palette entries in a given color-index layer plane for a specified device context. + + Type: int If the function succeeds, the return value is the number of entries that were set in the palette in the specified layer plane of the window. If the function fails or no pixel format is selected, the return value is zero. To get extended error information, call GetLastError. + + + Each color-index plane in a window has a palette with a size 2^n, where n is the number of bit planes in the layer plane. You cannot modify the transparent index of a palette. Use the wglRealizeLayerPalette function to realize the layer palette. Initially the layer palette contains only entries for white. The wglSetLayerPaletteEntries function doesn't set the palette entries of the main plane palette. To update the main plane palette, use GDI palette functions. + Read more on docs.microsoft.com. + + + + + + + The wglShareLists function enables multiple OpenGL rendering contexts to share a single display-list space. + + When the function succeeds, the return value is TRUE. When the function fails, the return value is FALSE and the display lists are not shared. To get extended error information, call GetLastError. + + + When you create an OpenGL rendering context, it has its own display-list space. The wglShareLists function enables a rendering context to share the display-list space of another rendering context; any number of rendering contexts can share a single display-list space. Once a rendering context shares a display-list space, the rendering context always uses the display-list space until the rendering context is deleted. When the last rendering context of a shared display-list space is deleted, the shared display-list space is deleted. All the indexes and definitions of display lists in a shared display-list space are shared. You can only share display lists with rendering contexts within the same process. However, not all rendering contexts in a process can share display lists. Rendering contexts can share display lists only if they use the same implementation of OpenGL functions. All client rendering contexts of a given pixel format can always share display lists. All rendering contexts of a shared display list must use an identical pixel format. Otherwise the results depend on the implementation of OpenGL used.
Note  The wglShareLists function is only available with OpenGL version 1.01 or later. To determine the version number of the implementation of OpenGL, call glGetString.
 
+ Read more on docs.microsoft.com. +
+
+ + The wglSwapLayerBuffers function swaps the front and back buffers in the overlay, underlay, and main planes of the window referenced by a specified device context. + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + When a layer plane doesn't include a back buffer, calling the wglSwapLayerBuffers function has no effect on that layer plane. After you call wglSwapLayerBuffers, the state of the back buffer content is given in the corresponding LAYERPLANEDESCRIPTOR structure of the layer plane or in the PIXELFORMATDESCRIPTOR structure of the main plane. The wglSwapLayerBuffers function swaps the front and back buffers in the specified layer planes simultaneously. Some devices don't support swapping layer planes individually; they swap all layer planes as a group. When the PFD_SWAP_LAYER_BUFFERS flag of the PIXELFORMATDESCRIPTOR structure is set, it indicates that a device can swap individual layer planes and that you can call wglSwapLayerBuffers. With applications that use multiple threads, before calling wglSwapLayerBuffers, clear all drawing commands in all threads drawing to the same window. + Read more on docs.microsoft.com. + + + + The wglUseFontBitmaps function creates a set of bitmap display lists for use in the current OpenGL rendering context. (Unicode) + + If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. + + + The wglUseFontBitmaps function defines count display lists in the current OpenGL rendering context. Each display list has an identifying number, starting at listBase. Each display list consists of a single call to glBitmap. The definition of bitmap listBase + i is taken from the glyph first + i of the font currently selected in the device context specified by hdc. If a glyph is not defined, then the function defines an empty display list for it. The wglUseFontBitmaps function creates bitmap text in the plane of the screen. It enables the labeling of objects in OpenGL. In the current version of Microsoft's implementation of OpenGL, you cannot make GDI calls to a device context that has a double-buffered pixel format. Therefore, you cannot use the GDI fonts and text functions with such device contexts. You can use the wglUseFontBitmaps function to circumvent this limitation and draw text in a double-buffered device context. The function determines the parameters of each call to glBitmap as follows. + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + The wglUseFontOutlines function creates a set of display lists, one for each glyph of the currently selected outline font of a device context, for use with the current rendering context. (Unicode) + + When the function succeeds, the return value is TRUE. When the function fails, the return value is FALSE and no display lists are generated. To get extended error information, call GetLastError. + + + The wglUseFontOutlines function defines the glyphs of an outline font with display lists in the current rendering context. The wglUseFontOutlines function works with TrueType fonts only; stroke and raster fonts are not supported. Each display list consists of either line segments or polygons, and has a unique identifying number starting with the listBase number. The wglUseFontOutlines function approximates glyph outlines by subdividing the quadratic B-spline curves of the outline into line segments, until the distance between the outline and the interpolated midpoint is within the value specified by deviation. This is the final format used when format is WGL_FONT_LINES. When you specify WGL_FONT_OUTLINES, the display lists created don't contain any normals; thus lighting doesn't work properly. To get the correct lighting of lines use WGL_FONT_POLYGONS and set glPolygonMode( GL_FRONT, GL_LINE ). When you specify format as WGL_FONT_POLYGONS the outlines are further tessellated into separate triangles, triangle fans, triangle strips, or quadrilateral strips to create the surface of each glyph. With WGL_FONT_POLYGONS, the created display lists call glFrontFace( GL_CW ) or glFrontFace( GL_CCW ); thus the current front-face value might be altered. For the best appearance of text with WGL_FONT_POLYGONS, cull the back faces as follows: + + This doc was truncated. + Read more on docs.microsoft.com. + + + + Destroys an icon and frees any memory the icon occupied. + + Type: HICON A handle to the icon to be destroyed. The icon must not be in use. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + It is only necessary to call DestroyIcon for icons and cursors created with the following functions: CreateIconFromResourceEx (if called without the LR_SHARED flag), CreateIconIndirect, and CopyIcon. Do not use this function to destroy a shared icon. A shared icon is valid as long as the module from which it was loaded remains in memory. The following functions obtain a shared icon. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Destroys a cursor and frees any memory the cursor occupied. Do not use this function to destroy a shared cursor. + + Type: HCURSOR A handle to the cursor to be destroyed. The cursor must not be in use. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + The DestroyCursor function destroys a nonshared cursor. Do not use this function to destroy a shared cursor. A shared cursor is valid as long as the module from which it was loaded remains in memory. The following functions obtain a shared cursor: + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + Calculates the required size of the window rectangle, based on the desired client-rectangle size. The window rectangle can then be passed to the CreateWindow function to create a window whose client area is the desired size. + + Type: LPRECT A pointer to a RECT structure that contains the coordinates of the top-left and bottom-right corners of the desired client area. When the function returns, the structure contains the coordinates of the top-left and bottom-right corners of the window to accommodate the desired client area. + Read more on docs.microsoft.com. + + + Type: DWORD The window style of the window whose required size is to be calculated. Note that you cannot specify the WS_OVERLAPPED style. + Read more on docs.microsoft.com. + + + Type: BOOL Indicates whether the window has a menu. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + A client rectangle is the smallest rectangle that completely encloses a client area. A window rectangle is the smallest rectangle that completely encloses the window, which includes the client area and the nonclient area. The AdjustWindowRect function does not add extra space when a menu bar wraps to two or more rows. The AdjustWindowRect function does not take the WS_VSCROLL or WS_HSCROLL styles into account. To account for the scroll bars, call the GetSystemMetrics function with SM_CXVSCROLL or SM_CYHSCROLL. + Read more on docs.microsoft.com. + + + + Destroys the specified menu and frees any memory that the menu occupies. + + Type: HMENU A handle to the menu to be destroyed. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + Before closing, an application must use the DestroyMenu function to destroy a menu not assigned to a window. A menu that is assigned to a window is automatically destroyed when the application closes. DestroyMenu is recursive, that is, it will destroy the menu and all its submenus. + Read more on docs.microsoft.com. + + + + + + + Creates an overlapped, pop-up, or child window with an extended window style; otherwise, this function is identical to the CreateWindow function. (Unicode) + + Type: DWORD The extended window style of the window being created. For a list of possible values, see Extended Window Styles. + Read more on docs.microsoft.com. + + + Type: LPCTSTR A null-terminated string or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpClassName; the high-order word must be zero. If lpClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, provided that the module that registers the class is also the module that creates the window. The class name can also be any of the predefined system class names. + Read more on docs.microsoft.com. + + + Type: LPCTSTR The window name. If the window style specifies a title bar, the window title pointed to by lpWindowName is displayed in the title bar. When using CreateWindow to create controls, such as buttons, check boxes, and static controls, use lpWindowName to specify the text of the control. When creating a static control with the SS_ICON style, use lpWindowName to specify the icon name or identifier. To specify an identifier, use the syntax "#num". + Read more on docs.microsoft.com. + + + Type: DWORD The style of the window being created. This parameter can be a combination of the window style values, plus the control styles indicated in the Remarks section. + Read more on docs.microsoft.com. + + + Type: int The initial horizontal position of the window. For an overlapped or pop-up window, the x parameter is the initial x-coordinate of the window's upper-left corner, in screen coordinates. For a child window, x is the x-coordinate of the upper-left corner of the window relative to the upper-left corner of the parent window's client area. If x is set to CW_USEDEFAULT, the system selects the default position for the window's upper-left corner and ignores the y parameter. CW_USEDEFAULT is valid only for overlapped windows; if it is specified for a pop-up or child window, the x and y parameters are set to zero. + Read more on docs.microsoft.com. + + + Type: int The initial vertical position of the window. For an overlapped or pop-up window, the y parameter is the initial y-coordinate of the window's upper-left corner, in screen coordinates. For a child window, y is the initial y-coordinate of the upper-left corner of the child window relative to the upper-left corner of the parent window's client area. For a list box y is the initial y-coordinate of the upper-left corner of the list box's client area relative to the upper-left corner of the parent window's client area. + If an overlapped window is created with the WS_VISIBLE style bit set and the x parameter is set to CW_USEDEFAULT, then the y parameter determines how the window is shown. If the y parameter is CW_USEDEFAULT, then the window manager calls ShowWindow with the SW_SHOW flag after the window has been created. If the y parameter is some other value, then the window manager calls ShowWindow with that value as the nCmdShow parameter. + Read more on docs.microsoft.com. + + + Type: int The width, in device units, of the window. For overlapped windows, nWidth is the window's width, in screen coordinates, or CW_USEDEFAULT. If nWidth is CW_USEDEFAULT, the system selects a default width and height for the window; the default width extends from the initial x-coordinates to the right edge of the screen; the default height extends from the initial y-coordinate to the top of the icon area. CW_USEDEFAULT is valid only for overlapped windows; if CW_USEDEFAULT is specified for a pop-up or child window, the nWidth and nHeight parameter are set to zero. + Read more on docs.microsoft.com. + + + Type: int The height, in device units, of the window. For overlapped windows, nHeight is the window's height, in screen coordinates. If the nWidth parameter is set to CW_USEDEFAULT, the system ignores nHeight. + Read more on docs.microsoft.com. + + + Type: HWND A handle to the parent or owner window of the window being created. To create a child window or an owned window, supply a valid window handle. This parameter is optional for pop-up windows. To create a message-only window, supply HWND_MESSAGE or a handle to an existing message-only window. + Read more on docs.microsoft.com. + + + Type: HMENU A handle to a menu, or specifies a child-window identifier, depending on the window style. For an overlapped or pop-up window, hMenu identifies the menu to be used with the window; it can be NULL if the class menu is to be used. For a child window, hMenu specifies the child-window identifier, an integer value used by a dialog box control to notify its parent about events. The application determines the child-window identifier; it must be unique for all child windows with the same parent window. + Read more on docs.microsoft.com. + + + Type: HINSTANCE A handle to the instance of the module to be associated with the window. + Read more on docs.microsoft.com. + + + Type: LPVOID Pointer to a value to be passed to the window through the CREATESTRUCT structure (lpCreateParams member) pointed to by the lParam param of the WM_CREATE message. This message is sent to the created window by this function before it returns. If an application calls CreateWindow to create a MDI client window, lpParam should point to a CLIENTCREATESTRUCT structure. If an MDI client window calls CreateWindow to create an MDI child window, lpParam should point to a MDICREATESTRUCT structure. lpParam may be NULL if no additional data is needed. + Read more on docs.microsoft.com. + + + Type: HWND If the function succeeds, the return value is a handle to the new window. If the function fails, the return value is NULL. To get extended error information, call GetLastError. This function typically fails for one of the following reasons: + This doc was truncated. + + + The CreateWindowEx function sends WM_NCCREATE, WM_NCCALCSIZE, and WM_CREATE messages to the window being created. If the created window is a child window, its default position is at the bottom of the Z-order. If the created window is a top-level window, its default position is at the top of the Z-order (but beneath all topmost windows unless the created window is itself topmost). For information on controlling whether the Taskbar displays a button for the created window, see Managing Taskbar Buttons. For information on removing a window, see the DestroyWindow function. The following predefined control classes can be specified in the lpClassName parameter. Note the corresponding control styles you can use in the dwStyle parameter. + This doc was truncated. + Read more on docs.microsoft.com. + + + + Calls the default window procedure to provide default processing for any window messages that an application does not process. (Unicode) + + Type: HWND A handle to the window procedure that received the message. + Read more on docs.microsoft.com. + + + Type: UINT The message. + Read more on docs.microsoft.com. + + + Type: WPARAM Additional message information. The content of this parameter depends on the value of the Msg parameter. + Read more on docs.microsoft.com. + + + Type: LPARAM Additional message information. The content of this parameter depends on the value of the Msg parameter. + Read more on docs.microsoft.com. + + + Type: LRESULT The return value is the result of the message processing and depends on the message. + + + > [!NOTE] > The winuser.h header defines DefWindowProc as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes). + Read more on docs.microsoft.com. + + + + Destroys the specified window. + + Type: HWND A handle to the window to be destroyed. + Read more on docs.microsoft.com. + + + Type: BOOL If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + A thread cannot use DestroyWindow to destroy a window created by a different thread. If the window being destroyed is a child window that does not have the WS_EX_NOPARENTNOTIFY style, a WM_PARENTNOTIFY message is sent to the parent. + Read more on docs.microsoft.com. + + + + + + + Dispatches a message to a window procedure. It is typically used to dispatch a message retrieved by the GetMessage function. (DispatchMessageW) + + Type: const MSG* A pointer to a structure that contains the message. + Read more on docs.microsoft.com. + + + Type: LRESULT The return value specifies the value returned by the window procedure. Although its meaning depends on the message being dispatched, the return value generally is ignored. + + + The MSG structure must contain valid message values. If the lpmsg parameter points to a WM_TIMER message and the lParam parameter of the WM_TIMER message is not NULL, lParam points to a function that is called instead of the window procedure. Note that the application is responsible for retrieving and dispatching input messages to the dialog box. Most applications use the main message loop for this. However, to permit the user to move to and to select controls by using the keyboard, the application must call IsDialogMessage. For more information, see Dialog Box Keyboard Interface. + Read more on docs.microsoft.com. + + + + The GetDC function retrieves a handle to a device context (DC) for the client area of a specified window or for the entire screen. + A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen. + + If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is NULL. + + + The GetDC function retrieves a common, class, or private DC depending on the class style of the specified window. For class and private DCs, GetDC leaves the previously assigned attributes unchanged. However, for common DCs, GetDC assigns default attributes to the DC each time it is retrieved. For example, the default font is System, which is a bitmap font. Because of this, the handle to a common DC returned by GetDC does not tell you what font, color, or brush was used when the window was drawn. To determine the font, call GetTextFace. Note that the handle to the DC can only be used by a single thread at any one time. After painting with a common DC, the ReleaseDC function must be called to release the DC. Class and private DCs do not have to be released. ReleaseDC must be called from the same thread that called GetDC. The number of DCs is limited only by available memory. + Read more on docs.microsoft.com. + + + + + + + Loads the specified cursor resource from the executable (.EXE) file associated with an application instance. (Unicode) + + Type: HINSTANCE A handle to an instance of the module whose executable file contains the cursor to be loaded. + Read more on docs.microsoft.com. + + + Type: LPCTSTR The name of the cursor resource to be loaded. Alternatively, this parameter can consist of the resource identifier in the low-order word and zero in the high-order word. The MAKEINTRESOURCE macro can also be used to create this value. To use one of the predefined cursors, the application must set the hInstance parameter to NULL and the lpCursorName parameter to one the following values. + This doc was truncated. + Read more on docs.microsoft.com. + + + Type: HCURSOR If the function succeeds, the return value is the handle to the newly loaded cursor. If the function fails, the return value is NULL. To get extended error information, call GetLastError. + + + The LoadCursor function loads the cursor resource only if it has not been loaded; otherwise, it retrieves the handle to the existing resource. This function returns a valid cursor handle only if the lpCursorName parameter is a pointer to a cursor resource. If lpCursorName is a pointer to any type of resource other than a cursor (such as an icon), the return value is not NULL, even though it is not a valid cursor handle. The LoadCursor function searches the cursor resource most appropriate for the cursor for the current display device. The cursor resource can be a color or monochrome bitmap.

DPI Virtualization

This API does not participate in DPI virtualization. The output returned is not affected by the DPI of the calling thread.
+ Read more on docs.microsoft.com. +
+
+ + + + + Dispatches incoming nonqueued messages, checks the thread message queue for a posted message, and retrieves the message (if any exist). (Unicode) + + Type: LPMSG A pointer to an MSG structure that receives message information. + Read more on docs.microsoft.com. + + + Type: HWND A handle to the window whose messages are to be retrieved. The window must belong to the current thread. + If hWnd is NULL, PeekMessage retrieves messages for any window that belongs to the current thread, and any messages on the current thread's message queue whose hwnd value is NULL (see the MSG structure). Therefore if hWnd is NULL, both window messages and thread messages are processed. If hWnd is -1, PeekMessage retrieves only messages on the current thread's message queue whose hwnd value is NULL, that is, thread messages as posted by PostMessage (when the hWnd parameter is NULL) or PostThreadMessage. + Read more on docs.microsoft.com. + + + Type: UINT The value of the first message in the range of messages to be examined. Use WM_KEYFIRST (0x0100) to specify the first keyboard message or WM_MOUSEFIRST (0x0200) to specify the first mouse message. If wMsgFilterMin and wMsgFilterMax are both zero, PeekMessage returns all available messages (that is, no range filtering is performed). + Read more on docs.microsoft.com. + + + Type: UINT The value of the last message in the range of messages to be examined. Use WM_KEYLAST to specify the last keyboard message or WM_MOUSELAST to specify the last mouse message. If wMsgFilterMin and wMsgFilterMax are both zero, PeekMessage returns all available messages (that is, no range filtering is performed). + Read more on docs.microsoft.com. + + Type: UINT + + Type: BOOL If a message is available, the return value is nonzero. If no messages are available, the return value is zero. + + + PeekMessage retrieves messages associated with the window identified by the hWnd parameter or any of its children as specified by the IsChild function, and within the range of message values given by the wMsgFilterMin and wMsgFilterMax parameters. Note that an application can only use the low word in the wMsgFilterMin and wMsgFilterMax parameters; the high word is reserved for the system. Note that PeekMessage always retrieves WM_QUIT messages, no matter which values you specify for wMsgFilterMin and wMsgFilterMax. During this call, the system dispatches (DispatchMessage) pending, nonqueued messages, that is, messages sent to windows owned by the calling thread using the SendMessage, SendMessageCallback, SendMessageTimeout, or SendNotifyMessage function. Then the first queued message that matches the specified filter is retrieved. The system may also process internal events. If no filter is specified, messages are processed in the following order: + This doc was truncated. + Read more on docs.microsoft.com. + + + + Indicates to the system that a thread has made a request to terminate (quit). It is typically used in response to a WM_DESTROY message. + + Type: int The application exit code. This value is used as the wParam parameter of the WM_QUIT message. + Read more on docs.microsoft.com. + + + The PostQuitMessage function posts a WM_QUIT message to the thread's message queue and returns immediately; the function simply indicates to the system that the thread is requesting to quit at some time in the future. When the thread retrieves the WM_QUIT message from its message queue, it should exit its message loop and return control to the system. The exit value returned to the system must be the wParam parameter of the WM_QUIT message. + Read more on docs.microsoft.com. + + + + Registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function. (RegisterClassW) + + Type: const WNDCLASS* A pointer to a WNDCLASS structure. You must fill the structure with the appropriate class attributes before passing it to the function. + Read more on docs.microsoft.com. + + + Type: ATOM If the function succeeds, the return value is a class atom that uniquely identifies the class being registered. This atom can only be used by the CreateWindow, CreateWindowEx, GetClassInfo, GetClassInfoEx, FindWindow, FindWindowEx, and UnregisterClass functions and the IActiveIMMap::FilterClientWindows method. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + If you register the window class by using RegisterClassA, the application tells the system that the windows of the created class expect messages with text or character parameters to use the ANSI character set; if you register it by using RegisterClassW, the application requests that the system pass text parameters of messages as Unicode. The IsWindowUnicode function enables applications to query the nature of each window. For more information on ANSI and Unicode functions, see Conventions for Function Prototypes. All window classes that an application registers are unregistered when it terminates. No window classes registered by a DLL are unregistered when the DLL is unloaded. A DLL must explicitly unregister its classes when it is unloaded. + Read more on docs.microsoft.com. + + + + The ReleaseDC function releases a device context (DC), freeing it for use by other applications. The effect of the ReleaseDC function depends on the type of DC. It frees only common and window DCs. It has no effect on class or private DCs. + A handle to the window whose DC is to be released. + A handle to the DC to be released. + + The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. + + + The application must call the ReleaseDC function for each call to the GetWindowDC function and for each call to the GetDC function that retrieves a common DC. An application cannot use the ReleaseDC function to release a DC that was created by calling the CreateDC function; instead, it must use the DeleteDC function. ReleaseDC must be called from the same thread that called GetDC. + Read more on docs.microsoft.com. + + + + Sets the specified window's show state. + + Type: HWND A handle to the window. + Read more on docs.microsoft.com. + + Type: int + + Type: BOOL If the window was previously visible, the return value is nonzero. If the window was previously hidden, the return value is zero. + + + To perform certain special effects when showing or hiding a window, use AnimateWindow. The first time an application calls ShowWindow, it should use the WinMain function's nCmdShow parameter as its nCmdShow parameter. Subsequent calls to ShowWindow must use one of the values in the given list, instead of the one specified by the WinMain function's nCmdShow parameter. As noted in the discussion of the nCmdShow parameter, the nCmdShow value is ignored in the first call to ShowWindow if the program that launched the application specifies startup information in the structure. In this case, ShowWindow uses the information specified in the STARTUPINFO structure to show the window. On subsequent calls, the application must call ShowWindow with nCmdShow set to SW_SHOWDEFAULT to use the startup information provided by the program that launched the application. This behavior is designed for the following situations: + This doc was truncated. + Read more on docs.microsoft.com. + + + + + + + Translates virtual-key messages into character messages. The character messages are posted to the calling thread's message queue, to be read the next time the thread calls the GetMessage or PeekMessage function. + + Type: const MSG* A pointer to an MSG structure that contains message information retrieved from the calling thread's message queue by using the GetMessage or PeekMessage function. + Read more on docs.microsoft.com. + + + Type: BOOL If the message is translated (that is, a character message is posted to the thread's message queue), the return value is nonzero. If the message is WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, or WM_SYSKEYUP, the return value is nonzero, regardless of the translation. If the message is not translated (that is, a character message is not posted to the thread's message queue), the return value is zero. + + + The TranslateMessage function does not modify the message pointed to by the lpMsg parameter. + WM_KEYDOWN and WM_KEYUP combinations produce a WM_CHAR or WM_DEADCHAR message. WM_SYSKEYDOWN and WM_SYSKEYUP combinations produce a WM_SYSCHAR or WM_SYSDEADCHAR message. TranslateMessage produces WM_CHAR messages only for keys that are mapped to ASCII characters by the keyboard driver. If applications process virtual-key messages for some other purpose, they should not call TranslateMessage. For instance, an application should not call TranslateMessage if the TranslateAccelerator function returns a nonzero value. Note that the application is responsible for retrieving and dispatching input messages to the dialog box. Most applications use the main message loop for this. However, to permit the user to move to and to select controls by using the keyboard, the application must call IsDialogMessage. For more information, see Dialog Box Keyboard Interface. + Read more on docs.microsoft.com. + + + + The UpdateWindow function updates the client area of the specified window by sending a WM_PAINT message to the window if the window's update region is not empty. + Handle to the window to be updated. + + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. + + + Learn more about this API from docs.microsoft.com. + + + + + Represents a Win32 handle that can be closed with . + + +
+
diff --git a/源代码/StgSharpDebug/obj/x64/Release/net6.0/apphost.exe b/源代码/StgSharpDebug/obj/x64/Release/net6.0/apphost.exe new file mode 100644 index 00000000..7ad1cad7 Binary files /dev/null and b/源代码/StgSharpDebug/obj/x64/Release/net6.0/apphost.exe differ diff --git a/源代码/StgSharpDevelop.sln b/源代码/StgSharpDevelop.sln index 1553b3b7..9facb359 100644 --- a/源代码/StgSharpDevelop.sln +++ b/源代码/StgSharpDevelop.sln @@ -20,6 +20,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SSClib", "SSClib", "{9F023D EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgsharpEnvDebug", "StgsharpEnvDebug\StgsharpEnvDebug.csproj", "{000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}" + ProjectSection(ProjectDependencies) = postProject + {20CBFF26-6746-402E-992C-7B643E9423EB} = {20CBFF26-6746-402E-992C-7B643E9423EB} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BenchMark", "BenchMark\BenchMark.csproj", "{63382F83-D04E-45B6-BDE6-443273F6D010}" EndProject @@ -69,7 +72,6 @@ Global {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|Any CPU.ActiveCfg = Release|Any CPU {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|Any CPU.Build.0 = Release|Any CPU {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|x64.ActiveCfg = Release|x64 - {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|x64.Build.0 = Release|x64 {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|x86.ActiveCfg = Release|Any CPU {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|x86.Build.0 = Release|Any CPU {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Toollist|Any CPU.ActiveCfg = Toollist|Any CPU @@ -94,8 +96,8 @@ Global {610B992B-BB34-49C3-9993-676C595FC12E}.RealDebug|x86.Build.0 = RealDebug|Any CPU {610B992B-BB34-49C3-9993-676C595FC12E}.Release|Any CPU.ActiveCfg = Release|Any CPU {610B992B-BB34-49C3-9993-676C595FC12E}.Release|Any CPU.Build.0 = Release|Any CPU - {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x64.ActiveCfg = Release|Any CPU - {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x64.Build.0 = Release|Any CPU + {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x64.ActiveCfg = Release|x64 + {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x64.Build.0 = Release|x64 {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x86.ActiveCfg = Release|Any CPU {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x86.Build.0 = Release|Any CPU {610B992B-BB34-49C3-9993-676C595FC12E}.Toollist|Any CPU.ActiveCfg = Toollist|Any CPU @@ -120,7 +122,6 @@ Global {000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}.Release|Any CPU.ActiveCfg = Release|Any CPU {000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}.Release|Any CPU.Build.0 = Release|Any CPU {000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}.Release|x64.ActiveCfg = Release|Any CPU - {000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}.Release|x64.Build.0 = Release|Any CPU {000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}.Release|x86.ActiveCfg = Release|Any CPU {000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}.Release|x86.Build.0 = Release|Any CPU {000EFD45-7F4D-47DB-8F3C-CD26612F0EAB}.Toollist|Any CPU.ActiveCfg = Toollist|Any CPU @@ -155,7 +156,6 @@ Global {20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|Any CPU.ActiveCfg = Debug|x64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|Any CPU.Build.0 = Debug|x64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|x64.ActiveCfg = Debug|x64 - {20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|x64.Build.0 = Debug|x64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|x86.ActiveCfg = Debug|Win32 {20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|x86.Build.0 = Debug|Win32 {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|Any CPU.ActiveCfg = Debug|x64 diff --git a/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfo.cs b/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfo.cs index aa13a201..32efafd9 100644 --- a/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfo.cs +++ b/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgsharpEnvDebug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0c50c6282e58714d20a68c1b2346c6dcec49af41")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("StgsharpEnvDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgsharpEnvDebug")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache b/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache index 19408a01..5ebc1e7c 100644 --- a/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache +++ b/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache @@ -1 +1 @@ -11db6760a69171ede0767fbd4cdd0f5c73fec99a5c6d2c7a760bada5c7ae656f +c8799b82cec8eb0ebcbc2a8605c2c32e02baf35ea16ed81987eb688338278343 diff --git a/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache b/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache index 5f281c25..31b0d55f 100644 Binary files a/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache and b/源代码/StgsharpEnvDebug/obj/Debug/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache differ diff --git a/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfo.cs b/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfo.cs index 0931ee91..5778b1c9 100644 --- a/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfo.cs +++ b/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgsharpEnvDebug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a2241a5a5816a9438c63e3ca3c69313e6f2e8f56")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a10ec201c1e78c441727446c2649fae962d9b7a")] [assembly: System.Reflection.AssemblyProductAttribute("StgsharpEnvDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgsharpEnvDebug")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache b/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache index 751129c0..9fc1beae 100644 --- a/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache +++ b/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.AssemblyInfoInputs.cache @@ -1 +1 @@ -0f3d4cacbfa869e6a1815a9a25bc5a0f841f1bd0a7600d96a2ebbbdbafc635e5 +4fc0349ba444277f9a08e4e0cfb6a3d490f153c6aba7f8f72dc8a8082d1988f6 diff --git a/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache b/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache index 7d9b47c6..bd2a86c7 100644 Binary files a/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache and b/源代码/StgsharpEnvDebug/obj/Release/net6.0/StgsharpEnvDebug.csproj.AssemblyReference.cache differ