daily update on 20240325 by nitload youmu

This commit is contained in:
YoumuLiu
2024-03-25 09:26:53 +08:00
parent 9a10ec201c
commit 02be081eee
142 changed files with 11277 additions and 572 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
@@ -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")]
@@ -1 +1 @@
60748d6834d1deac3b68f29467e8af995e7f1690974ec71ee229ce37c30422b0
331bbf3c35654da88180d558f3b88a7e74b2a43f71fb31cc5618b93548451025
@@ -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")]
@@ -1 +1 @@
4f8004b34f843774009ae065c059edcfd2d77ae961c2b6e932ff111274937cc5
a3df72991b91678a050f99577f80b9dd92b0c90b5690edffb7f70fbc967c5a97
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -268,7 +268,7 @@
<param name="target"></param>
<param name="index"></param>
</member>
<member name="M:StgSharp.Graphics.ShaderProgram.#ctor(StgSharp.Graphics.IglFunc)">
<member name="M:StgSharp.Graphics.ShaderProgram.#ctor(StgSharp.Graphics.Form)">
<summary>
Inti a shader with no program attached.
</summary>
@@ -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.
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

@@ -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) /**/;
}
@@ -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;
}
Binary file not shown.
@@ -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"
}
}
}
@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}
File diff suppressed because one or more lines are too long
@@ -39,6 +39,7 @@ namespace StgSharp
{
public static unsafe partial class StgSharp
{
private static bool _inited;
/// <summary>
+5 -5
View File
@@ -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,
+20 -13
View File
@@ -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<TimeSpanProvider> toRemoveList = new List<TimeSpanProvider>();
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();
}
}
}
+61 -49
View File
@@ -46,33 +46,6 @@ namespace StgSharp.Graphics
/// </summary>
public abstract unsafe partial class Form
{
#region metadata
internal LinkedList<Control> 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<FrameAsyncTask> frameAsyncTaskList = new List<FrameAsyncTask>();
#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<Control> 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<FrameAsyncThread> frameAsyncTaskList = new List<FrameAsyncThread>();
#endregion form thread setting
#region form main
/// <summary>
@@ -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
}
}
@@ -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<byte>(code));
Console.WriteLine(paramQueue.Count + streamQueue.Count);
//Console.WriteLine(paramQueue.Count + streamQueue.Count);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ParamEnqueue<T>(T[] array) where T : struct
{
streamQueue.Enqueue(glArrayHandle.Alloc<T>(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<bool> _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<FrameAsyncTask> 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<FrameAsyncThread> 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()) {}
}
}
@@ -43,7 +43,7 @@ namespace StgSharp.Graphics
{
protected glHandleSet _bufferHandle;
protected IglFunc GL;
protected Form binding;
/// <summary>
/// Get the only handle to one of the Object instance
+7 -7
View File
@@ -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<T>(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();
}
}
+7 -7
View File
@@ -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();
}
}
+11 -15
View File
@@ -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]);
}
/// <summary>
@@ -63,8 +63,8 @@ namespace StgSharp.Graphics
/// <param name="usage">How OpenGL use these data, defined by <see cref="BufferUsage"/></param>
public void SetValue<T>(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);
}
/// <summary>
@@ -76,8 +76,8 @@ namespace StgSharp.Graphics
/// <param name="usage">How OpenGL use these data, defined by <see cref="BufferUsage"/></param>
public void SetValueArray<T>(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);
}
/// <summary>
@@ -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();
}
}
@@ -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]);
}
/// <summary>
@@ -92,7 +92,7 @@ namespace StgSharp.Graphics
channel = 0;
break;
}
GL.TextureImage2d<byte>(
binding.GL.TextureImage2d<byte>(
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
+4 -3
View File
@@ -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<T>(BufferType bufferType, T bufferData, BufferUsage usage)
{
int size = sizeof(T);
int size = Marshal.SizeOf<T>();
T* p = &bufferData;
api->glBufferData(
(uint)bufferType,
(IntPtr)size,
(IntPtr)(&bufferData),
(IntPtr)p,
(uint)usage);
}
+1 -1
View File
@@ -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
{
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
/// <summary>
@@ -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);
}
}
@@ -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;
/// <summary>
/// Inti a shader with no program attached.
/// </summary>
internal unsafe ShaderProgram(IglFunc gl)
internal unsafe ShaderProgram(Form binding)
{
GL = gl;
handle = GL.CreateProgram();
this.binding = binding;
handle = binding.GL.CreateProgram();
}
/// <summary>
@@ -126,7 +126,7 @@ namespace StgSharp.Graphics
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public unsafe Uniform<T> GetUniform<T>(string name) where T : struct
{
return new Uniform<T>(this, name, GL);
return new Uniform<T>(this, name, binding);
}
/// <summary>
@@ -139,7 +139,7 @@ namespace StgSharp.Graphics
where T : struct
where U : struct
{
return new Uniform<T, U>(this, name, GL);
return new Uniform<T, U>(this, name, binding);
}
/// <summary>
@@ -153,7 +153,7 @@ namespace StgSharp.Graphics
where U : struct
where V : struct
{
return new Uniform<T, U, V>(this, name, GL);
return new Uniform<T, U, V>(this, name, binding);
}
/// <summary>
@@ -161,7 +161,7 @@ namespace StgSharp.Graphics
/// </summary>
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);
}
}
@@ -42,7 +42,7 @@ namespace StgSharp.Graphics
public class Uniform<T> 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<Vec4d> 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);
}
+58 -58
View File
@@ -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);
@@ -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);
+24 -17
View File
@@ -38,19 +38,22 @@ namespace StgSharp
{
public delegate void TimeSpanRefeshCallback();
/// <summary>
/// A microsecond-accuracy timer. It will refresh every a certain time span.
/// </summary>
public class TimeSpanProvider
{
private Action<SemaphoreFullException> _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<int> timeSpanCount = new Counter<int>(-1, 1, 1);
private SemaphoreSlim _refreshSemaphore = new SemaphoreSlim(0,1);
/// <summary>
/// Create a new <see cref="TimeSpanProvider"/> 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
/// <parma name="provider"></parma>
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;
}
@@ -93,11 +99,21 @@ namespace StgSharp
_subscribed = true;
}
public int CurrentSpan
{
get => timeSpanCount.Value;
}
/// <summary>
/// Time source provider provided in <see cref="StgSharp"/> internal framework.
/// </summary>
public static TimeSourceProviderBase DefaultProvider => StgSharpTime.OnlyInstance;
public Action<SemaphoreFullException> FrameUpdateMissCallback
{
get => _frameUpdateMissCallback;
set => _frameUpdateMissCallback = value;
}
/// <summary>
/// The method this <see cref="TimeSpanProvider"/> will call every time a new time span started.
/// </summary>
@@ -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<SemaphoreFullException> _frameUpdateMissCallback = null;
public Action<SemaphoreFullException> FrameUpdateMissCallback
{
get { return _frameUpdateMissCallback; }
set { _frameUpdateMissCallback = value;}
}
public void WaitNextSpan()
{
_refreshSemaphore.Wait();
}
public static implicit operator int(TimeSpanProvider provider)
{
return provider.timeSpanCount.Value;
@@ -268,7 +268,7 @@
<param name="target"></param>
<param name="index"></param>
</member>
<member name="M:StgSharp.Graphics.ShaderProgram.#ctor(StgSharp.Graphics.IglFunc)">
<member name="M:StgSharp.Graphics.ShaderProgram.#ctor(StgSharp.Graphics.Form)">
<summary>
Inti a shader with no program attached.
</summary>
@@ -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")]
@@ -1 +1 @@
2d5ea9ef2f157207bf6ee00ab84f624a9e25fd320dfc78958779a7efb72477d0
a9c71d94f84382b1844591857b1e9ad3af27d0a646db63fd84315bdd8da51c77
@@ -1 +1 @@
a06c60f5be94183de3d46acf621d479d68deba0e60d6792c10889c0210bf4540
88b26f7107904754ed6637d3c4e9c3be1765bb7c3e311b32b6041c64e70bd4bc
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/0c50c6282e58714d20a68c1b2346c6dcec49af41/*"}}
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/9a10ec201c1e78c441727446c2649fae962d9b7a/*"}}
@@ -268,7 +268,7 @@
<param name="target"></param>
<param name="index"></param>
</member>
<member name="M:StgSharp.Graphics.ShaderProgram.#ctor(StgSharp.Graphics.IglFunc)">
<member name="M:StgSharp.Graphics.ShaderProgram.#ctor(StgSharp.Graphics.Form)">
<summary>
Inti a shader with no program attached.
</summary>
@@ -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")]
@@ -1 +1 @@
ba191eb9fce1fb0f8131b73fcfaca304b182373a9d3ce6f86252bb1130b3ec04
10a5597183260351018995f463258da2d5589454468940a16d3a53d17785c9e0
Binary file not shown.
Binary file not shown.
Binary file not shown.
+6 -1
View File
@@ -46,7 +46,7 @@
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
@@ -73,6 +73,9 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
@@ -133,6 +136,8 @@
<ConformanceMode>true</ConformanceMode>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AssemblerOutput>All</AssemblerOutput>
<LanguageStandard>stdcpp20</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
+1 -4
View File
@@ -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
@@ -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
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.dll</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>
Binary file not shown.
Binary file not shown.
@@ -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
Binary file not shown.
@@ -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
@@ -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\源代码\|
@@ -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
+207
View File
@@ -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
Binary file not shown.
+11
View File
@@ -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
Binary file not shown.
+21
View File
@@ -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

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