daily update on 20240413 by nitload youmu, camera complete

This commit is contained in:
YoumuLiu
2024-04-13 04:04:14 +08:00
parent f0f80f72f1
commit 7c755fe1e2
99 changed files with 1351 additions and 1119 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.
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.
+291 -30
View File
@@ -2,9 +2,9 @@
Info @ 2024-04-10T17:31:18.5750842+08:00
Info @ 2024-04-13T02:52:48.7521438+08:00
Program start
Info @ 2024-04-10T17:31:18.6873832+08:00
Info @ 2024-04-13T02:52:48.8697616+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -25,15 +25,15 @@ 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-04-10T17:31:18.6971576+08:00
Info @ 2024-04-13T02:52:48.8788256+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T17:34:29.5675686+08:00
Info @ 2024-04-13T02:52:59.2185185+08:00
Program start
Info @ 2024-04-10T17:34:31.0505972+08:00
Info @ 2024-04-13T02:52:59.3330778+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -54,15 +54,15 @@ 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-04-10T17:34:31.0747380+08:00
Info @ 2024-04-13T02:52:59.3425036+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T17:35:49.1709482+08:00
Info @ 2024-04-13T02:54:08.7419490+08:00
Program start
Info @ 2024-04-10T17:35:49.7879359+08:00
Info @ 2024-04-13T02:54:08.8526510+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -83,15 +83,15 @@ 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-04-10T17:35:49.8002369+08:00
Info @ 2024-04-13T02:54:08.8635945+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T17:55:03.8553506+08:00
Info @ 2024-04-13T02:55:07.9130422+08:00
Program start
Info @ 2024-04-10T17:55:03.9730411+08:00
Info @ 2024-04-13T02:55:08.0192427+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -112,15 +112,15 @@ 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-04-10T17:55:03.9819986+08:00
Info @ 2024-04-13T02:55:08.0278843+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T20:32:49.0545894+08:00
Info @ 2024-04-13T02:55:53.1402835+08:00
Program start
Info @ 2024-04-10T20:32:49.2783385+08:00
Info @ 2024-04-13T02:55:53.2452824+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -141,15 +141,15 @@ 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-04-10T20:32:49.2895609+08:00
Info @ 2024-04-13T02:55:53.2553702+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T20:33:08.6687250+08:00
Info @ 2024-04-13T02:56:12.6623320+08:00
Program start
Info @ 2024-04-10T20:33:08.7880384+08:00
Info @ 2024-04-13T02:56:13.2334858+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -170,15 +170,15 @@ 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-04-10T20:33:08.7966554+08:00
Info @ 2024-04-13T02:56:13.2467090+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T20:35:12.8904986+08:00
Info @ 2024-04-13T02:56:39.7380286+08:00
Program start
Info @ 2024-04-10T20:35:13.0053044+08:00
Info @ 2024-04-13T02:56:40.3303218+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -199,15 +199,15 @@ 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-04-10T20:35:13.0157656+08:00
Info @ 2024-04-13T02:56:40.3413755+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T20:35:50.4187466+08:00
Info @ 2024-04-13T02:58:49.7721882+08:00
Program start
Info @ 2024-04-10T20:35:50.5406890+08:00
Info @ 2024-04-13T02:58:50.3308199+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -228,15 +228,15 @@ 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-04-10T20:35:50.5494842+08:00
Info @ 2024-04-13T02:58:50.3449039+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T20:36:11.1335696+08:00
Info @ 2024-04-13T03:00:24.9239677+08:00
Program start
Info @ 2024-04-10T20:36:11.2421395+08:00
Info @ 2024-04-13T03:00:25.5254989+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -257,15 +257,15 @@ 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-04-10T20:36:11.2510348+08:00
Info @ 2024-04-13T03:00:25.5361593+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-10T20:37:28.5656935+08:00
Info @ 2024-04-13T03:01:32.8809509+08:00
Program start
Info @ 2024-04-10T20:37:28.6826337+08:00
Info @ 2024-04-13T03:01:33.5108932+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -286,5 +286,266 @@ 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-04-10T20:37:28.6917855+08:00
Info @ 2024-04-13T03:01:33.5239470+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:02:19.8654976+08:00
Program start
Info @ 2024-04-13T03:02:20.4252932+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-04-13T03:02:20.4361538+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:04:22.5428745+08:00
Program start
Info @ 2024-04-13T03:04:22.6439014+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-04-13T03:04:22.6525133+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:04:44.5704728+08:00
Program start
Info @ 2024-04-13T03:04:44.6748419+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-04-13T03:04:44.6833998+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:07:59.3402835+08:00
Program start
Info @ 2024-04-13T03:07:59.4471354+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-04-13T03:07:59.4562065+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:09:09.4964707+08:00
Program start
Info @ 2024-04-13T03:09:09.6158168+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-04-13T03:09:09.6250462+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:12:22.0284867+08:00
Program start
Info @ 2024-04-13T03:12:22.1393133+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-04-13T03:12:22.1482595+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:13:14.6103713+08:00
Program start
Info @ 2024-04-13T03:13:14.7181688+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-04-13T03:13:14.7273602+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:13:58.4941103+08:00
Program start
Info @ 2024-04-13T03:13:58.6021716+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-04-13T03:13:58.6110611+08:00
No supported OpenGL extensions are found.
Info @ 2024-04-13T03:15:17.8566685+08:00
Program start
Info @ 2024-04-13T03:15:17.9644144+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-04-13T03:15:17.9738674+08:00
No supported OpenGL extensions are found.
@@ -22,7 +22,7 @@ void main()
);
TexColor = color;
TexCoord = aTextCoord;
vec4 temp = (vec4(aPos.xyz,1.0) + vec4(color.yz-vec2(0.5,0.5),0.0,0.0)) * rotation;
vec4 temp = vec4(aPos.xyz,1.0);
gl_Position = /**/ camera * /**/ temp;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -217,11 +217,26 @@
</member>
<member name="T:StgSharp.Graphics.ElementBuffer">
<summary>
A collecion of handle to Element Buffer Object in OpenGL.
A collection of handle to Element Buffer Object in OpenGL.
Each <see langword="uint"/> value indexed from instance of this class this
is the only handle to one Element Buffer Object.
</summary>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
<see langword="FrameBufferTarget.All"/> will be set as default target.
</summary>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(StgSharp.Graphics.FrameBufferTarget,System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
Target of this frame buffer should be set manually.
</summary>
<param name="target">The frame buffer target of the binding operation.</param>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.Texture.LoadTexture(System.Int32,System.String,StgSharp.Graphics.ImageLoader)">
<summary>
</summary>
@@ -285,6 +300,14 @@
This <see langword="glHandle"/> will be not usable.
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.BindFrameBuffer(StgSharp.Graphics.FrameBufferTarget,StgSharp.Graphics.glHandle)">
<summary>
Bind a frame buffer to a frame buffer target
Same function as <see href="https://docs.gl/gl3/glBindFramebuffer">glBindFramebuffer</see>.
</summary>
<param name="target"> The frame buffer target of the binding operation.</param>
<param name="handle"> The handle of the frame buffer object to bind.</param>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.SetAllUniforms">
<summary>
@@ -641,7 +664,7 @@
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Double,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
@@ -649,14 +672,14 @@
Length of a single time span is defined in seconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Int64,System.Int32,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="P:StgSharp.TimeSpanProvider.DefaultProvider">
<summary>
@@ -11,38 +11,46 @@ namespace StgSharp.Math
{
internal const float DegToRad = 180 / Scaler.Pi;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Degree ToDegree(float value)
{
return new Degree(value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Sin(Radius r)
{
return MathF.Sin(r._radius);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Tan(Radius r)
{
return MathF.Tan(r._radius);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Cos(Radius r)
{
return MathF.Cos(r._radius);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Sin(Degree r)
{
return MathF.Sin(r._degree);
return MathF.Sin(r._degree/DegToRad);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Tan(Degree r)
{
return MathF.Tan(r._degree);
return MathF.Tan(r._degree / DegToRad);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Cos(Degree r)
{
return MathF.Cos(r._degree);
return MathF.Cos(r._degree / DegToRad);
}
}
@@ -56,9 +64,9 @@ namespace StgSharp.Math
_degree = dgree;
}
public Radius ToRadius()
public static implicit operator Radius(Degree d)
{
return new Radius(_degree / GeometryScaler.DegToRad);
return new Radius(d._degree / GeometryScaler.DegToRad);
}
}
@@ -79,9 +87,9 @@ namespace StgSharp.Math
[Obsolete("Unsafe, you may forget this is radius.",true)]
public Radius() { }
public Degree ToDegree()
public static implicit operator Degree(Radius r)
{
return new Degree(_radius * 180 / Scaler.Pi);
return new Degree(r._radius * 180 / Scaler.Pi);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
+2
View File
@@ -80,6 +80,8 @@ namespace StgSharp.Graphics
api->glBindFramebuffer((uint)target,handle.Value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindVertexArray(glHandle handle)
{
+5 -4
View File
@@ -59,7 +59,7 @@ namespace StgSharp
/// Create a new <see cref="TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
/// </summary>
/// <param name="spanLength"></param>
/// <parma name="provider"></parma>
/// <param name="provider"></param>
public TimeSpanProvider(long spanLength, TimeSourceProviderBase provider)
{
_spanLength = spanLength;
@@ -74,7 +74,7 @@ namespace StgSharp
/// Length of a single time span is defined in seconds.
/// </summary>
/// <param name="spanLength"></param>
/// <parma name="provider"></parma>
/// <param name="provider"></param>
public TimeSpanProvider(double spanLength, TimeSourceProviderBase provider)
{
_spanLength = (long)(spanLength * 1000L * 1000L);
@@ -89,7 +89,7 @@ namespace StgSharp
/// Create a new <see cref="TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
/// </summary>
/// <param name="spanLength"></param>
/// <parma name="provider"></parma>
/// <param name="provider"></param>
public TimeSpanProvider(long spanLength, int maxSpan, TimeSourceProviderBase provider)
{
if (maxSpan <= 0)
@@ -103,6 +103,7 @@ namespace StgSharp
public int CurrentSpan
=> timeSpanCount.Value;
/// <summary>
/// Time source provider provided in <see cref="StgSharp"/> internal framework.
/// </summary>
@@ -123,7 +124,7 @@ namespace StgSharp
set => _refeshCallback = value;
}
public void SubcsribeToTimeSource(TimeSourceProviderBase serviceHandler)
public void SubscribeToTimeSource(TimeSourceProviderBase serviceHandler)
{
if (_subscribed)
{
+66 -19
View File
@@ -76,7 +76,7 @@ namespace StgSharp.Graphic
return _lookAt;
}
Matrix44 move = Matrix44.Unit;
move.Colum3.vec -= cameraCoord.vec;
move.colum3.vec -= cameraCoord.vec;
_lookAt = cameraAtt.Transpose * move;
_isLookAtAvailable = true;
return _lookAt;
@@ -112,13 +112,13 @@ namespace StgSharp.Graphic
width = Scaler.Abs(GeometryScaler.Tan(fovRadius / 2) * near *2),
height = width * size.Y / size.X;
_projection.Colum0.X = 2 * near / width;
_projection.Colum1.Y = 2 * near / height;
_projection.Colum2.X = 2 * offsetX / width;
_projection.Colum2.Y = 2 * offsetY / height;
_projection.Colum2.Z = (far + near) / (near - far);
_projection.Colum2.W = -1;
_projection.Colum3.Z = 2 * near * far / (near - far);
_projection.colum0.X = 2 * near / width;
_projection.colum1.Y = 2 * near / height;
_projection.colum2.X = 2 * offsetX / width;
_projection.colum2.Y = 2 * offsetY / height;
_projection.colum2.Z = (far + near) / (near - far);
_projection.colum2.W = -1;
_projection.colum3.Z = 2 * near * far / (near - far);
}
@@ -135,24 +135,71 @@ namespace StgSharp.Graphic
public void Pitch(Radius r)
{
_isLookAtAvailable = false;
Matrix32 partialCoord = new Matrix32(
cameraAtt.Colum1.vec,
cameraAtt.Colum2.vec
cameraAtt.colum1.vec,
cameraAtt.colum2.vec
);
float angle = -r._radius;
Console.WriteLine(angle);
Matrix22 rotation = new Matrix22(
GeometryScaler.Cos(r), -GeometryScaler.Sin(r),
GeometryScaler.Sin(r), -GeometryScaler.Cos(r)
Scaler.Cos(angle), -Scaler.Sin(angle),
Scaler.Sin(angle), Scaler.Cos( angle)
);
partialCoord *= rotation;
cameraAtt.Colum1.vec = partialCoord.colum0.vec;
cameraAtt.Colum2.vec = partialCoord.colum1.vec;
cameraAtt.colum1.vec = partialCoord.colum0.vec;
cameraAtt.colum2.vec = partialCoord.colum1.vec;
cameraAtt.isTransposed = false;
}
public void Row(Radius r)
{
_isLookAtAvailable = false;
Matrix32 partialCoord = new Matrix32(
cameraAtt.colum0.vec,
cameraAtt.colum1.vec
);
float angle = -r._radius;
Console.WriteLine(angle);
Matrix22 rotation = new Matrix22(
Scaler.Cos(angle), -Scaler.Sin(angle),
Scaler.Sin(angle), Scaler.Cos(angle)
);
partialCoord *= rotation;
cameraAtt.colum0.vec = partialCoord.colum0.vec;
cameraAtt.colum1.vec = partialCoord.colum1.vec;
cameraAtt.isTransposed = false;
}
public void Yaw(Radius r)
{
_isLookAtAvailable = false;
Matrix32 partialCoord = new Matrix32(
cameraAtt.colum0.vec,
cameraAtt.colum2.vec
);
float angle = -r._radius;
Console.WriteLine(angle);
Matrix22 rotation = new Matrix22(
Scaler.Cos(angle), -Scaler.Sin(angle),
Scaler.Sin(angle), Scaler.Cos(angle)
);
partialCoord *= rotation;
cameraAtt.colum0.vec = partialCoord.colum0.vec;
cameraAtt.colum2.vec = partialCoord.colum1.vec;
cameraAtt.isTransposed = false;
}
public void SetViewDirection(vec3d position, vec3d target, vec3d up)
{
vec3d direction = position - target;
if (position == cameraCoord && this.up == up && cameraAtt.Colum2.vec == direction.vec)
if (position == cameraCoord && this.up == up && cameraAtt.colum2.vec == direction.vec)
{
//no difference with precious value
return;
@@ -176,10 +223,10 @@ namespace StgSharp.Graphic
vec3d right = Linear.Normalize(Linear.Cross(up,direction));
cameraAtt.Colum0.vec = right.vec;
cameraAtt.Colum1.vec = up.vec;
cameraAtt.Colum2.vec = direction.vec;
cameraAtt.colum0.vec = right.vec;
cameraAtt.colum1.vec = up.vec;
cameraAtt.colum2.vec = direction.vec;
cameraAtt.isTransposed = false;
}
public void DisplayGLtypeDefinition()
+1 -1
View File
@@ -36,7 +36,7 @@ using System.Runtime.InteropServices;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit, Size = ((3 + 2) * 4 * sizeof(float)) + sizeof(bool), Pack = 16)]
public struct Matrix23
public struct Matrix23:IMat
{
[FieldOffset(5 * 4 * sizeof(float))] internal bool isTransposed;
+1 -1
View File
@@ -36,7 +36,7 @@ using System.Runtime.InteropServices;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit, Size = ((4 + 2) * 4 * sizeof(float)) + sizeof(bool), Pack = 16)]
public struct Matrix24
public struct Matrix24:IMat
{
[FieldOffset(6 * 4 * sizeof(float))] internal bool isTransposed;
+3 -3
View File
@@ -36,7 +36,7 @@ using System.Runtime.InteropServices;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit, Size = (5 * 4 * sizeof(float)) + sizeof(bool), Pack = 16)]
public struct Matrix32
public struct Matrix32:IMat
{
[FieldOffset(0)] internal vec3d colum0;
@@ -62,13 +62,13 @@ namespace StgSharp.Math
float a20, float a21
)
{
mat.colum0 = new Vector4(a00, a10, a20, 0);
mat.colum0 = new Vector4(a01, a11, a21, 0);
#if NET5_0_OR_GREATER
Unsafe.SkipInit(out colum0);
Unsafe.SkipInit(out colum1);
Unsafe.SkipInit(out transpose);
#endif
mat.colum0 = new Vector4(a00, a10, a20, 0);
mat.colum1 = new Vector4(a01, a11, a21, 0);
}
public unsafe float this[int rowNum, int columNum]
+1 -1
View File
@@ -36,7 +36,7 @@ using System.Runtime.InteropServices;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit, Size = (6 * 4 * sizeof(float)) + sizeof(bool), Pack = 16)]
public struct Matrix33
public struct Matrix33:IMat
{
[FieldOffset(6 * 4 * sizeof(float))] internal bool isTransposed;
+1 -1
View File
@@ -38,7 +38,7 @@ namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit, Size = (7 * 4 * sizeof(float)) + sizeof(bool), Pack = 16)]
public struct Matrix34
public struct Matrix34:IMat
{
[FieldOffset(7 * 4 * sizeof(float))] internal bool isTransposed;
+1 -1
View File
@@ -39,7 +39,7 @@ namespace StgSharp.Math
[StructLayout(LayoutKind.Explicit, Size = ((16 + 8) * sizeof(float)) + sizeof(bool), Pack = 16)]
public struct Matrix42
public struct Matrix42:IMat
{
[FieldOffset((16 + 8) * sizeof(float))] internal bool isTransposed;
+1 -1
View File
@@ -37,7 +37,7 @@ using System.Runtime.InteropServices;
namespace StgSharp.Math
{
[StructLayout(LayoutKind.Explicit, Size = (7 * 4 * sizeof(float)) + sizeof(bool), Pack = 16)]
public struct Matrix43 : IEquatable<Matrix43>
public struct Matrix43 : IEquatable<Matrix43>,IMat
{
[FieldOffset(7 * 4 * sizeof(float))]
+5 -5
View File
@@ -49,10 +49,10 @@ namespace StgSharp.Math
[FieldOffset(0)] internal Mat4 mat;
[FieldOffset(16 * sizeof(float))] internal Mat4 transpose;
[FieldOffset(0 * sizeof(float))] public vec4d Colum0;
[FieldOffset(4 * sizeof(float))] public vec4d Colum1;
[FieldOffset(8 * sizeof(float))] public vec4d Colum2;
[FieldOffset(12 * sizeof(float))] public vec4d Colum3;
[FieldOffset(0 * sizeof(float))] internal vec4d colum0;
[FieldOffset(4 * sizeof(float))] internal vec4d colum1;
[FieldOffset(8 * sizeof(float))] internal vec4d colum2;
[FieldOffset(12 * sizeof(float))] internal vec4d colum3;
internal Matrix44(Mat4 mat)
{
@@ -223,7 +223,7 @@ namespace StgSharp.Math
{
if (!isTransposed)
{
fixed (Mat4* source = &this.mat, target = &this.transpose)
fixed (Mat4* source = &mat, target = &transpose)
{
InternalIO.Transpose4to4_internal(source, target);
}
+2 -3
View File
@@ -71,12 +71,12 @@ namespace StgSharp
#region transpose
[DllImport(InternalIO.SSC_libname, EntryPoint = "transmpose2to4",
[DllImport(InternalIO.SSC_libname, EntryPoint = "transpose2to4",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe void Transpose2to4_internal(Mat2* source, Mat4* target);
[DllImport(InternalIO.SSC_libname, EntryPoint = "transmpose2to3",
[DllImport(InternalIO.SSC_libname, EntryPoint = "transpose2to3",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe void Transpose2to3_internal(Mat2* source, Mat3* target);
@@ -97,7 +97,6 @@ namespace StgSharp.Math
[FieldOffset(4 * sizeof(float))] internal Vector4 colum1;
[FieldOffset(0 * sizeof(float))] internal float m00;
[FieldOffset(4 * sizeof(float))] internal float m01;
[FieldOffset(1 * sizeof(float))] internal float m10;
[FieldOffset(5 * sizeof(float))] internal float m11;
+3 -3
View File
@@ -51,15 +51,15 @@ namespace StgSharp
#region transpose
[DllImport(InternalIO.SSC_libname, EntryPoint = "transpose3to4",
[DllImport(SSC_libname, EntryPoint = "transpose3to4",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose3to4_internal(Mat3* source, Mat4* target);
[DllImport("StgsharpGra[hic", EntryPoint = "transpose3to4",
[DllImport(SSC_libname, EntryPoint = "transpose3to3",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose3to3_internal(Mat3* source, Mat3* target);
[DllImport("StgsharpGra[hic", EntryPoint = "transpose3to2",
[DllImport(SSC_libname, EntryPoint = "transpose3to2",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose3to2_internal(Mat3* source, Mat2* target);
+5 -5
View File
@@ -44,7 +44,7 @@ namespace StgSharp
#region deinit_mat4
[DllImport(InternalIO.SSC_libname, EntryPoint = "deinit_mat4",
[DllImport(SSC_libname, EntryPoint = "deinit_mat4",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern void deinit_mat4(Mat4* mat);
@@ -53,7 +53,7 @@ namespace StgSharp
#region det
[DllImport(InternalIO.SSC_libname, EntryPoint = "det_mat4",
[DllImport(SSC_libname, EntryPoint = "det_mat4",
CallingConvention = CallingConvention.Cdecl)]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static extern unsafe float det_mat4(Mat4* matPtr, Mat4* transpose);
@@ -63,15 +63,15 @@ namespace StgSharp
#region transpose
[DllImport(InternalIO.SSC_libname, EntryPoint = "transpose4to4",
[DllImport(SSC_libname, EntryPoint = "transpose4to4",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose4to4_internal(Mat4* source, Mat4* target);
[DllImport(InternalIO.SSC_libname, EntryPoint = "transpose4to3",
[DllImport(SSC_libname, EntryPoint = "transpose4to3",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose4to3_internal(Mat4* source, Mat3* target);
[DllImport(InternalIO.SSC_libname, EntryPoint = "transpose4to2",
[DllImport(SSC_libname, EntryPoint = "transpose4to2",
CallingConvention = CallingConvention.Cdecl)]
internal static extern unsafe void Transpose4to2_internal(Mat4* source, Mat2* target);
+7 -1
View File
@@ -28,13 +28,17 @@
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Runtime.CompilerServices;
namespace StgSharp.Math
{
public static partial class Scaler
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Cos(float x)
{
/*
float refer = x / 360.0f;
refer -= (int)refer;
@@ -47,6 +51,8 @@ namespace StgSharp.Math
return ((-sinData[a]) * ((0.1570796327f * refer) - (6.459640975e-4f * refer * refer2)))
+ (cosData[a] * ((1 - (0.0123370055f * refer2)) + (2.536695709e-5f * refer2 * refer2)));
*/
return MathF.Cos(x);
}
}
+6
View File
@@ -28,7 +28,9 @@
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Net.NetworkInformation;
using System.Runtime.CompilerServices;
namespace StgSharp.Math
{
@@ -65,8 +67,10 @@ namespace StgSharp.Math
};
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe float Sin(float x)
{
/*
float refer = x / 360.0f;
refer -= (int)refer;
@@ -79,6 +83,8 @@ namespace StgSharp.Math
return (sinData[a] * ((1 - (0.0123370055f * refer2)) + (2.536695709e-5f * refer2 * refer2)))
+ (cosData[a] * ((0.1570796327f * refer) - (6.459640975e-4f * refer * refer2)));
*/
return MathF.Sin(x);
}
}
@@ -217,11 +217,26 @@
</member>
<member name="T:StgSharp.Graphics.ElementBuffer">
<summary>
A collecion of handle to Element Buffer Object in OpenGL.
A collection of handle to Element Buffer Object in OpenGL.
Each <see langword="uint"/> value indexed from instance of this class this
is the only handle to one Element Buffer Object.
</summary>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
<see langword="FrameBufferTarget.All"/> will be set as default target.
</summary>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(StgSharp.Graphics.FrameBufferTarget,System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
Target of this frame buffer should be set manually.
</summary>
<param name="target">The frame buffer target of the binding operation.</param>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.Texture.LoadTexture(System.Int32,System.String,StgSharp.Graphics.ImageLoader)">
<summary>
</summary>
@@ -285,6 +300,14 @@
This <see langword="glHandle"/> will be not usable.
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.BindFrameBuffer(StgSharp.Graphics.FrameBufferTarget,StgSharp.Graphics.glHandle)">
<summary>
Bind a frame buffer to a frame buffer target
Same function as <see href="https://docs.gl/gl3/glBindFramebuffer">glBindFramebuffer</see>.
</summary>
<param name="target"> The frame buffer target of the binding operation.</param>
<param name="handle"> The handle of the frame buffer object to bind.</param>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.SetAllUniforms">
<summary>
@@ -641,7 +664,7 @@
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Double,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
@@ -649,14 +672,14 @@
Length of a single time span is defined in seconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Int64,System.Int32,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="P:StgSharp.TimeSpanProvider.DefaultProvider">
<summary>
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e1e416bb41a7e16ddec5e7c16d64c72d6aa380e1")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f0f80f72f14d191bade9e1e542454d72f0d304a6")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
2ada11ce10f85a06de358a4bce8f696ee557358f3cc0800e7c9895081adaf694
30c7eaeacc2c3f8ad15e774016a7d358194480d922ee1ddc0179461a26d1d3f4
@@ -1 +1 @@
22685e6e651dc0dffa71da397e1fde84f3b8a45e5faf79b0982e58cbaad38609
250072786423ed5ed10358dc20260df511bfddc1ecacb043b419685cfa56cebe
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/e1e416bb41a7e16ddec5e7c16d64c72d6aa380e1/*"}}
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/f0f80f72f14d191bade9e1e542454d72f0d304a6/*"}}
@@ -217,11 +217,26 @@
</member>
<member name="T:StgSharp.Graphics.ElementBuffer">
<summary>
A collecion of handle to Element Buffer Object in OpenGL.
A collection of handle to Element Buffer Object in OpenGL.
Each <see langword="uint"/> value indexed from instance of this class this
is the only handle to one Element Buffer Object.
</summary>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
<see langword="FrameBufferTarget.All"/> will be set as default target.
</summary>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(StgSharp.Graphics.FrameBufferTarget,System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
Target of this frame buffer should be set manually.
</summary>
<param name="target">The frame buffer target of the binding operation.</param>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.Texture.LoadTexture(System.Int32,System.String,StgSharp.Graphics.ImageLoader)">
<summary>
</summary>
@@ -285,6 +300,14 @@
This <see langword="glHandle"/> will be not usable.
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.BindFrameBuffer(StgSharp.Graphics.FrameBufferTarget,StgSharp.Graphics.glHandle)">
<summary>
Bind a frame buffer to a frame buffer target
Same function as <see href="https://docs.gl/gl3/glBindFramebuffer">glBindFramebuffer</see>.
</summary>
<param name="target"> The frame buffer target of the binding operation.</param>
<param name="handle"> The handle of the frame buffer object to bind.</param>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.SetAllUniforms">
<summary>
@@ -641,7 +664,7 @@
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Double,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
@@ -649,14 +672,14 @@
Length of a single time span is defined in seconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Int64,System.Int32,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="P:StgSharp.TimeSpanProvider.DefaultProvider">
<summary>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -1
View File
@@ -44,12 +44,13 @@
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<WholeProgramOptimization>PGOptimize</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+4 -4
View File
@@ -3,8 +3,8 @@
SSCAPI _inline void __cdecl transpose2to3(matrix2map* source, matrix3map* target)
{
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
@@ -13,8 +13,8 @@ SSCAPI _inline void __cdecl transpose2to3(matrix2map* source, matrix3map* target
SSCAPI _inline void __cdecl transpose2to4(matrix2map* source, matrix4map* target)
{
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
+10 -10
View File
@@ -4,8 +4,8 @@
SSCAPI __inline void _cdecl transpose3to2(matrix3map* source, matrix2map* target)
{
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
@@ -13,10 +13,10 @@ SSCAPI __inline void _cdecl transpose3to2(matrix3map* source, matrix2map* target
SSCAPI __inline void _cdecl transpose3to3(matrix3map* source, matrix3map* target)
{
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
@@ -25,10 +25,10 @@ SSCAPI __inline void _cdecl transpose3to3(matrix3map* source, matrix3map* target
SSCAPI __inline void _cdecl transpose3to4(matrix3map* source, matrix4map* target)
{
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
+1 -1
View File
@@ -30,6 +30,6 @@
#define SSCDECL __cdecl
#define zeroVec (__m128){0,0,0,0}
#define zeroVec _mm_setzero_ps()
#endif //
@@ -1,40 +1 @@
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.bsc
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vc143.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vc143.idb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\dllmain.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat2.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat3.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat4.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stb_image.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stb_image.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stb_image.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat4.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat4.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat3.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat3.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat2.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat2.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\dllmain.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\dllmain.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vector.sbr
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vector.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vector.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.dll
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.lib
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.exp
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.ilk
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\bscmake.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\bscmake.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\bscmake.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.items.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.secondary.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.write.1.tlog
Binary file not shown.
+9 -48
View File
@@ -1,49 +1,10 @@
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
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared\minwindef.h(130,1): warning C4005: “APIENTRY”: 宏重定义
(编译源文件“StgSharpC.c”)
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\glfw3.h(123,1):
参见“APIENTRY”的前一个定义
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um\wingdi.h(36,1): warning C4005: “WINGDIAPI”: 宏重定义
(编译源文件“StgSharpC.c”)
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\glfw3.h(133,1):
参见“WINGDIAPI”的前一个定义
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]”的间接级别不同
vector.c
正在生成代码...
正在创建库 D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.lib 和对象 D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.exp
LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
mat2.c
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(6,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(6,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(7,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(7,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(16,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(16,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(17,32): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c(17,57): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.dll
Binary file not shown.
Binary file not shown.
+148 -284
View File
@@ -143,20 +143,16 @@ EXTRN __imp__aligned_free:PROC
EXTRN _RTC_InitBase:PROC
EXTRN _RTC_Shutdown:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$transpose2to3 DD imagerel $LN3
DD imagerel $LN3+461
DD imagerel $LN3+270
DD imagerel $unwind$transpose2to3
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transpose2to4 DD imagerel $LN3
DD imagerel $LN3+537
DD imagerel $LN3+304
DD imagerel $unwind$transpose2to4
pdata ENDS
; COMDAT pdata
@@ -180,33 +176,19 @@ $unwind$deinit_mat2 DD 025051301H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 022H
DW 0200H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose2to4 DD 025052919H
$unwind$transpose2to4 DD 025051801H
DD 01132318H
DD 0700c0041H
DD 0700c0029H
DD 0500bH
DD imagerel __GSHandlerCheck
DD 01f8H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 022H
DW 01b4H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose2to3 DD 025052919H
$unwind$transpose2to3 DD 025051801H
DD 01132318H
DD 0700c003bH
DD 0700c0029H
DD 0500bH
DD imagerel __GSHandlerCheck
DD 01c8H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
@@ -257,13 +239,8 @@ _TEXT ENDS
_TEXT SEGMENT
t0$ = 16
t1$ = 64
$S4$ = 112
$S5$ = 160
$S6$ = 208
$S7$ = 256
__$ArrayPad$ = 472
source$ = 512
target$ = 520
source$ = 320
target$ = 328
transpose2to4 PROC ; COMDAT
; 15 : {
@@ -273,169 +250,109 @@ $LN3:
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 08 02
00 00 sub rsp, 520 ; 00000208H
0000c 48 81 ec 48 01
00 00 sub rsp, 328 ; 00000148H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c5 xor rax, rbp
00022 48 89 85 d8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00029 48 8d 0d 00 00
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 16 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
; 16 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
00035 b8 08 00 00 00 mov eax, 8
0003a 48 6b c0 00 imul rax, rax, 0
0003e 48 8b 8d 00 02
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
0002d 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
00045 48 03 c8 add rcx, rax
00048 48 8b c1 mov rax, rcx
0004b b9 04 00 00 00 mov ecx, 4
00050 48 6b c9 01 imul rcx, rcx, 1
00054 48 03 c1 add rax, rcx
00057 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0005a b8 08 00 00 00 mov eax, 8
0005f 48 6b c0 00 imul rax, rax, 0
00063 48 8b 8d 00 02
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
0006a 48 03 c8 add rcx, rax
0006d 48 8b c1 mov rax, rcx
00070 b9 04 00 00 00 mov ecx, 4
00075 48 6b c9 00 imul rcx, rcx, 0
00079 48 03 c1 add rax, rcx
0007c 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0007f 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00083 0f 28 c1 movaps xmm0, xmm1
00086 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 17 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
; 17 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
0008a b8 08 00 00 00 mov eax, 8
0008f 48 6b c0 00 imul rax, rax, 0
00093 48 8b 8d 00 02
00061 b8 10 00 00 00 mov eax, 16
00066 48 6b c0 01 imul rax, rax, 1
0006a 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
0009a 48 03 c8 add rcx, rax
0009d 48 8b c1 mov rax, rcx
000a0 b9 04 00 00 00 mov ecx, 4
000a5 48 6b c9 01 imul rcx, rcx, 1
000a9 48 03 c1 add rax, rcx
000ac 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000af b8 08 00 00 00 mov eax, 8
000b4 48 6b c0 00 imul rax, rax, 0
000b8 48 8b 8d 00 02
00071 48 03 c8 add rcx, rax
00074 48 8b c1 mov rax, rcx
00077 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0007a b8 10 00 00 00 mov eax, 16
0007f 48 6b c0 00 imul rax, rax, 0
00083 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
000bf 48 03 c8 add rcx, rax
000c2 48 8b c1 mov rax, rcx
000c5 b9 04 00 00 00 mov ecx, 4
000ca 48 6b c9 00 imul rcx, rcx, 0
000ce 48 03 c1 add rax, rcx
000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d4 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000d8 0f 28 c1 movaps xmm0, xmm1
000db 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
0008a 48 03 c8 add rcx, rax
0008d 48 8b c1 mov rax, rcx
00090 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00093 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00097 0f 28 c1 movaps xmm0, xmm1
0009a 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
; 18 :
; 19 : target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
000df 0f 57 c0 xorps xmm0, xmm0
000e2 f3 0f 11 45 70 movss DWORD PTR $S4$[rbp], xmm0
000e7 0f 57 c0 xorps xmm0, xmm0
000ea f3 0f 11 45 74 movss DWORD PTR $S4$[rbp+4], xmm0
000ef 0f 57 c0 xorps xmm0, xmm0
000f2 f3 0f 11 45 78 movss DWORD PTR $S4$[rbp+8], xmm0
000f7 0f 57 c0 xorps xmm0, xmm0
000fa f3 0f 11 45 7c movss DWORD PTR $S4$[rbp+12], xmm0
000ff 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
00103 0f c6 45 70 88 shufps xmm0, XMMWORD PTR $S4$[rbp], 136 ; 00000088H
00108 b8 10 00 00 00 mov eax, 16
0010d 48 6b c0 00 imul rax, rax, 0
00111 48 8b 8d 08 02
0009e 0f 57 c0 xorps xmm0, xmm0
000a1 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
000a5 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
000a9 0f 28 c1 movaps xmm0, xmm1
000ac b8 10 00 00 00 mov eax, 16
000b1 48 6b c0 00 imul rax, rax, 0
000b5 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
00118 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
000bc 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 20 : target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
0011c 0f 57 c0 xorps xmm0, xmm0
0011f f3 0f 11 85 a0
00 00 00 movss DWORD PTR $S5$[rbp], xmm0
00127 0f 57 c0 xorps xmm0, xmm0
0012a f3 0f 11 85 a4
00 00 00 movss DWORD PTR $S5$[rbp+4], xmm0
00132 0f 57 c0 xorps xmm0, xmm0
00135 f3 0f 11 85 a8
00 00 00 movss DWORD PTR $S5$[rbp+8], xmm0
0013d 0f 57 c0 xorps xmm0, xmm0
00140 f3 0f 11 85 ac
00 00 00 movss DWORD PTR $S5$[rbp+12], xmm0
00148 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0014c 0f c6 85 a0 00
00 00 dd shufps xmm0, XMMWORD PTR $S5$[rbp], 221 ; 000000ddH
00154 b8 10 00 00 00 mov eax, 16
00159 48 6b c0 01 imul rax, rax, 1
0015d 48 8b 8d 08 02
000c0 0f 57 c0 xorps xmm0, xmm0
000c3 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
000c7 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH
000cb 0f 28 c1 movaps xmm0, xmm1
000ce b8 10 00 00 00 mov eax, 16
000d3 48 6b c0 01 imul rax, rax, 1
000d7 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
00164 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
000de 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 21 : target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
00168 0f 57 c0 xorps xmm0, xmm0
0016b f3 0f 11 85 d0
00 00 00 movss DWORD PTR $S6$[rbp], xmm0
00173 0f 57 c0 xorps xmm0, xmm0
00176 f3 0f 11 85 d4
00 00 00 movss DWORD PTR $S6$[rbp+4], xmm0
0017e 0f 57 c0 xorps xmm0, xmm0
00181 f3 0f 11 85 d8
00 00 00 movss DWORD PTR $S6$[rbp+8], xmm0
00189 0f 57 c0 xorps xmm0, xmm0
0018c f3 0f 11 85 dc
00 00 00 movss DWORD PTR $S6$[rbp+12], xmm0
00194 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00198 0f c6 85 d0 00
00 00 88 shufps xmm0, XMMWORD PTR $S6$[rbp], 136 ; 00000088H
001a0 b8 10 00 00 00 mov eax, 16
001a5 48 6b c0 02 imul rax, rax, 2
001a9 48 8b 8d 08 02
000e2 0f 57 c0 xorps xmm0, xmm0
000e5 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp]
000e9 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
000ed 0f 28 c1 movaps xmm0, xmm1
000f0 b8 10 00 00 00 mov eax, 16
000f5 48 6b c0 02 imul rax, rax, 2
000f9 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
001b0 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00100 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 22 : target->colum[3] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
001b4 0f 57 c0 xorps xmm0, xmm0
001b7 f3 0f 11 85 00
01 00 00 movss DWORD PTR $S7$[rbp], xmm0
001bf 0f 57 c0 xorps xmm0, xmm0
001c2 f3 0f 11 85 04
01 00 00 movss DWORD PTR $S7$[rbp+4], xmm0
001ca 0f 57 c0 xorps xmm0, xmm0
001cd f3 0f 11 85 08
01 00 00 movss DWORD PTR $S7$[rbp+8], xmm0
001d5 0f 57 c0 xorps xmm0, xmm0
001d8 f3 0f 11 85 0c
01 00 00 movss DWORD PTR $S7$[rbp+12], xmm0
001e0 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
001e4 0f c6 85 00 01
00 00 dd shufps xmm0, XMMWORD PTR $S7$[rbp], 221 ; 000000ddH
001ec b8 10 00 00 00 mov eax, 16
001f1 48 6b c0 03 imul rax, rax, 3
001f5 48 8b 8d 08 02
00104 0f 57 c0 xorps xmm0, xmm0
00107 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp]
0010b 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH
0010f 0f 28 c1 movaps xmm0, xmm1
00112 b8 10 00 00 00 mov eax, 16
00117 48 6b c0 03 imul rax, rax, 3
0011b 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
001fc 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00122 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 23 : }
00200 48 8b 8d d8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00207 48 33 cd xor rcx, rbp
0020a e8 00 00 00 00 call __security_check_cookie
0020f 48 8d a5 e8 01
00 00 lea rsp, QWORD PTR [rbp+488]
00216 5f pop rdi
00217 5d pop rbp
00218 c3 ret 0
00126 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
0012d 5f pop rdi
0012e 5d pop rbp
0012f c3 ret 0
transpose2to4 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
@@ -444,12 +361,8 @@ _TEXT ENDS
_TEXT SEGMENT
t0$ = 16
t1$ = 64
$S1$ = 112
$S2$ = 160
$S3$ = 208
__$ArrayPad$ = 424
source$ = 464
target$ = 472
source$ = 320
target$ = 328
transpose2to3 PROC ; COMDAT
; 5 : {
@@ -459,146 +372,97 @@ $LN3:
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec d8 01
00 00 sub rsp, 472 ; 000001d8H
0000c 48 81 ec 48 01
00 00 sub rsp, 328 ; 00000148H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c5 xor rax, rbp
00022 48 89 85 a8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00029 48 8d 0d 00 00
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 6 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
; 6 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
00035 b8 08 00 00 00 mov eax, 8
0003a 48 6b c0 00 imul rax, rax, 0
0003e 48 8b 8d d0 01
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
0002d 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
00045 48 03 c8 add rcx, rax
00048 48 8b c1 mov rax, rcx
0004b b9 04 00 00 00 mov ecx, 4
00050 48 6b c9 01 imul rcx, rcx, 1
00054 48 03 c1 add rax, rcx
00057 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0005a b8 08 00 00 00 mov eax, 8
0005f 48 6b c0 00 imul rax, rax, 0
00063 48 8b 8d d0 01
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
0006a 48 03 c8 add rcx, rax
0006d 48 8b c1 mov rax, rcx
00070 b9 04 00 00 00 mov ecx, 4
00075 48 6b c9 00 imul rcx, rcx, 0
00079 48 03 c1 add rax, rcx
0007c 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0007f 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00083 0f 28 c1 movaps xmm0, xmm1
00086 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 7 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
; 7 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
0008a b8 08 00 00 00 mov eax, 8
0008f 48 6b c0 00 imul rax, rax, 0
00093 48 8b 8d d0 01
00061 b8 10 00 00 00 mov eax, 16
00066 48 6b c0 01 imul rax, rax, 1
0006a 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
0009a 48 03 c8 add rcx, rax
0009d 48 8b c1 mov rax, rcx
000a0 b9 04 00 00 00 mov ecx, 4
000a5 48 6b c9 01 imul rcx, rcx, 1
000a9 48 03 c1 add rax, rcx
000ac 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000af b8 08 00 00 00 mov eax, 8
000b4 48 6b c0 00 imul rax, rax, 0
000b8 48 8b 8d d0 01
00071 48 03 c8 add rcx, rax
00074 48 8b c1 mov rax, rcx
00077 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0007a b8 10 00 00 00 mov eax, 16
0007f 48 6b c0 00 imul rax, rax, 0
00083 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
000bf 48 03 c8 add rcx, rax
000c2 48 8b c1 mov rax, rcx
000c5 b9 04 00 00 00 mov ecx, 4
000ca 48 6b c9 00 imul rcx, rcx, 0
000ce 48 03 c1 add rax, rcx
000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d4 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000d8 0f 28 c1 movaps xmm0, xmm1
000db 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
0008a 48 03 c8 add rcx, rax
0008d 48 8b c1 mov rax, rcx
00090 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00093 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00097 0f 28 c1 movaps xmm0, xmm1
0009a 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
; 8 :
; 9 : target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
000df 0f 57 c0 xorps xmm0, xmm0
000e2 f3 0f 11 45 70 movss DWORD PTR $S1$[rbp], xmm0
000e7 0f 57 c0 xorps xmm0, xmm0
000ea f3 0f 11 45 74 movss DWORD PTR $S1$[rbp+4], xmm0
000ef 0f 57 c0 xorps xmm0, xmm0
000f2 f3 0f 11 45 78 movss DWORD PTR $S1$[rbp+8], xmm0
000f7 0f 57 c0 xorps xmm0, xmm0
000fa f3 0f 11 45 7c movss DWORD PTR $S1$[rbp+12], xmm0
000ff 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
00103 0f c6 45 70 88 shufps xmm0, XMMWORD PTR $S1$[rbp], 136 ; 00000088H
00108 b8 10 00 00 00 mov eax, 16
0010d 48 6b c0 00 imul rax, rax, 0
00111 48 8b 8d d8 01
0009e 0f 57 c0 xorps xmm0, xmm0
000a1 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
000a5 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
000a9 0f 28 c1 movaps xmm0, xmm1
000ac b8 10 00 00 00 mov eax, 16
000b1 48 6b c0 00 imul rax, rax, 0
000b5 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
00118 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
000bc 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 10 : target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
0011c 0f 57 c0 xorps xmm0, xmm0
0011f f3 0f 11 85 a0
00 00 00 movss DWORD PTR $S2$[rbp], xmm0
00127 0f 57 c0 xorps xmm0, xmm0
0012a f3 0f 11 85 a4
00 00 00 movss DWORD PTR $S2$[rbp+4], xmm0
00132 0f 57 c0 xorps xmm0, xmm0
00135 f3 0f 11 85 a8
00 00 00 movss DWORD PTR $S2$[rbp+8], xmm0
0013d 0f 57 c0 xorps xmm0, xmm0
00140 f3 0f 11 85 ac
00 00 00 movss DWORD PTR $S2$[rbp+12], xmm0
00148 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0014c 0f c6 85 a0 00
00 00 dd shufps xmm0, XMMWORD PTR $S2$[rbp], 221 ; 000000ddH
00154 b8 10 00 00 00 mov eax, 16
00159 48 6b c0 01 imul rax, rax, 1
0015d 48 8b 8d d8 01
000c0 0f 57 c0 xorps xmm0, xmm0
000c3 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
000c7 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH
000cb 0f 28 c1 movaps xmm0, xmm1
000ce b8 10 00 00 00 mov eax, 16
000d3 48 6b c0 01 imul rax, rax, 1
000d7 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
00164 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
000de 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 11 : target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
00168 0f 57 c0 xorps xmm0, xmm0
0016b f3 0f 11 85 d0
00 00 00 movss DWORD PTR $S3$[rbp], xmm0
00173 0f 57 c0 xorps xmm0, xmm0
00176 f3 0f 11 85 d4
00 00 00 movss DWORD PTR $S3$[rbp+4], xmm0
0017e 0f 57 c0 xorps xmm0, xmm0
00181 f3 0f 11 85 d8
00 00 00 movss DWORD PTR $S3$[rbp+8], xmm0
00189 0f 57 c0 xorps xmm0, xmm0
0018c f3 0f 11 85 dc
00 00 00 movss DWORD PTR $S3$[rbp+12], xmm0
00194 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00198 0f c6 85 d0 00
00 00 88 shufps xmm0, XMMWORD PTR $S3$[rbp], 136 ; 00000088H
001a0 b8 10 00 00 00 mov eax, 16
001a5 48 6b c0 02 imul rax, rax, 2
001a9 48 8b 8d d8 01
000e2 0f 57 c0 xorps xmm0, xmm0
000e5 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp]
000e9 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
000ed 0f 28 c1 movaps xmm0, xmm1
000f0 b8 10 00 00 00 mov eax, 16
000f5 48 6b c0 02 imul rax, rax, 2
000f9 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
001b0 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00100 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 12 : }
001b4 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
001bb 48 33 cd xor rcx, rbp
001be e8 00 00 00 00 call __security_check_cookie
001c3 48 8d a5 b8 01
00 00 lea rsp, QWORD PTR [rbp+440]
001ca 5f pop rdi
001cb 5d pop rbp
001cc c3 ret 0
00104 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
0010b 5f pop rdi
0010c 5d pop rbp
0010d c3 ret 0
transpose2to3 ENDP
_TEXT ENDS
END
Binary file not shown.
Binary file not shown.
+233 -372
View File
@@ -145,26 +145,23 @@ EXTRN _RTC_CheckStackVars:PROC
EXTRN _RTC_InitBase:PROC
EXTRN _RTC_Shutdown:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$transpose3to2 DD imagerel $LN3
DD imagerel $LN3+296
DD imagerel $LN3+204
DD imagerel $unwind$transpose3to2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transpose3to3 DD imagerel $LN3
DD imagerel $LN3+521
DD imagerel $LN3+339
DD imagerel $unwind$transpose3to3
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transpose3to4 DD imagerel $LN3
DD imagerel $LN3+553
DD imagerel $LN3+371
DD imagerel $unwind$transpose3to4
pdata ENDS
; COMDAT pdata
@@ -216,47 +213,26 @@ $unwind$det_mat3 DD 035051301H
DD 070070031H
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 022H
DW 0210H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose3to4 DD 025052919H
$unwind$transpose3to4 DD 025051801H
DD 01132318H
DD 0700c0041H
DD 0700c0035H
DD 0500bH
DD imagerel __GSHandlerCheck
DD 01f8H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 022H
DW 01f0H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose3to3 DD 025052919H
$unwind$transpose3to3 DD 025051801H
DD 01132318H
DD 0700c0041H
DD 0700c0035H
DD 0500bH
DD imagerel __GSHandlerCheck
DD 01f8H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 022H
DW 010fH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose3to2 DD 025052919H
$unwind$transpose3to2 DD 025051801H
DD 01132318H
DD 0700c002fH
DD 0700c0029H
DD 0500bH
DD imagerel __GSHandlerCheck
DD 0168H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
@@ -514,12 +490,9 @@ _TEXT SEGMENT
t0$ = 16
t1$ = 64
t2$ = 112
$S4$ = 160
t3$ = 208
$S5$ = 256
__$ArrayPad$ = 472
source$ = 512
target$ = 520
t3$ = 160
source$ = 416
target$ = 424
transpose3to4 PROC ; COMDAT
; 27 : {
@@ -529,175 +502,132 @@ $LN3:
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 08 02
00 00 sub rsp, 520 ; 00000208H
0000c 48 81 ec a8 01
00 00 sub rsp, 424 ; 000001a8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c5 xor rax, rbp
00022 48 89 85 d8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00029 48 8d 0d 00 00
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__5527727A_mat3@c
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 28 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
; 28 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
00035 b8 0c 00 00 00 mov eax, 12
0003a 48 6b c0 00 imul rax, rax, 0
0003e 48 8b 8d 00 02
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
0002d 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00045 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0004a b9 04 00 00 00 mov ecx, 4
0004f 48 6b c9 01 imul rcx, rcx, 1
00053 48 03 c1 add rax, rcx
00056 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00059 b8 0c 00 00 00 mov eax, 12
0005e 48 6b c0 00 imul rax, rax, 0
00062 48 8b 8d 00 02
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00069 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0006e b9 04 00 00 00 mov ecx, 4
00073 48 6b c9 00 imul rcx, rcx, 0
00077 48 03 c1 add rax, rcx
0007a 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0007d 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00081 0f 28 c1 movaps xmm0, xmm1
00084 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 29 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
; 29 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
00088 b8 0c 00 00 00 mov eax, 12
0008d 48 6b c0 00 imul rax, rax, 0
00091 48 8b 8d 00 02
00061 b8 10 00 00 00 mov eax, 16
00066 48 6b c0 01 imul rax, rax, 1
0006a 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00098 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0009d b9 04 00 00 00 mov ecx, 4
000a2 48 6b c9 01 imul rcx, rcx, 1
000a6 48 03 c1 add rax, rcx
000a9 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000ac b8 0c 00 00 00 mov eax, 12
000b1 48 6b c0 00 imul rax, rax, 0
000b5 48 8b 8d 00 02
00071 48 03 c8 add rcx, rax
00074 48 8b c1 mov rax, rcx
00077 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0007a b8 10 00 00 00 mov eax, 16
0007f 48 6b c0 00 imul rax, rax, 0
00083 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000bc 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
000c1 b9 04 00 00 00 mov ecx, 4
000c6 48 6b c9 00 imul rcx, rcx, 0
000ca 48 03 c1 add rax, rcx
000cd 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d0 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000d4 0f 28 c1 movaps xmm0, xmm1
000d7 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
0008a 48 03 c8 add rcx, rax
0008d 48 8b c1 mov rax, rcx
00090 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00093 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00097 0f 28 c1 movaps xmm0, xmm1
0009a 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
; 30 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
; 30 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
000db 0f 57 c0 xorps xmm0, xmm0
000de f3 0f 11 85 a0
00 00 00 movss DWORD PTR $S4$[rbp], xmm0
000e6 0f 57 c0 xorps xmm0, xmm0
000e9 f3 0f 11 85 a4
00 00 00 movss DWORD PTR $S4$[rbp+4], xmm0
000f1 0f 57 c0 xorps xmm0, xmm0
000f4 f3 0f 11 85 a8
00 00 00 movss DWORD PTR $S4$[rbp+8], xmm0
000fc 0f 57 c0 xorps xmm0, xmm0
000ff f3 0f 11 85 ac
00 00 00 movss DWORD PTR $S4$[rbp+12], xmm0
00107 b8 0c 00 00 00 mov eax, 12
0010c 48 6b c0 00 imul rax, rax, 0
00110 48 8b 8d 00 02
0009e 0f 57 c0 xorps xmm0, xmm0
000a1 b8 10 00 00 00 mov eax, 16
000a6 48 6b c0 02 imul rax, rax, 2
000aa 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00117 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0011c b9 04 00 00 00 mov ecx, 4
00121 48 6b c9 02 imul rcx, rcx, 2
00125 48 03 c1 add rax, rcx
00128 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0012b 0f c6 85 a0 00
00 00 44 shufps xmm0, XMMWORD PTR $S4$[rbp], 68 ; 00000044H
00133 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
000b1 48 03 c8 add rcx, rax
000b4 48 8b c1 mov rax, rcx
000b7 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000ba 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
000be 0f 28 c1 movaps xmm0, xmm1
000c1 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
; 31 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
; 31 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
00137 0f 57 c0 xorps xmm0, xmm0
0013a f3 0f 11 85 00
01 00 00 movss DWORD PTR $S5$[rbp], xmm0
00142 0f 57 c0 xorps xmm0, xmm0
00145 f3 0f 11 85 04
01 00 00 movss DWORD PTR $S5$[rbp+4], xmm0
0014d 0f 57 c0 xorps xmm0, xmm0
00150 f3 0f 11 85 08
01 00 00 movss DWORD PTR $S5$[rbp+8], xmm0
00158 0f 57 c0 xorps xmm0, xmm0
0015b f3 0f 11 85 0c
01 00 00 movss DWORD PTR $S5$[rbp+12], xmm0
00163 b8 0c 00 00 00 mov eax, 12
00168 48 6b c0 00 imul rax, rax, 0
0016c 48 8b 8d 00 02
000c5 0f 57 c0 xorps xmm0, xmm0
000c8 b8 10 00 00 00 mov eax, 16
000cd 48 6b c0 02 imul rax, rax, 2
000d1 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00173 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
00178 b9 04 00 00 00 mov ecx, 4
0017d 48 6b c9 02 imul rcx, rcx, 2
00181 48 03 c1 add rax, rcx
00184 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00187 0f c6 85 00 01
00 00 ee shufps xmm0, XMMWORD PTR $S5$[rbp], 238 ; 000000eeH
0018f 0f 29 85 d0 00
000d8 48 03 c8 add rcx, rax
000db 48 8b c1 mov rax, rcx
000de 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000e1 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000e5 0f 28 c1 movaps xmm0, xmm1
000e8 0f 29 85 a0 00
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
; 32 :
; 33 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
00196 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0019a 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
0019f b8 10 00 00 00 mov eax, 16
001a4 48 6b c0 00 imul rax, rax, 0
001a8 48 8b 8d 08 02
000ef 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000f3 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
000f8 b8 10 00 00 00 mov eax, 16
000fd 48 6b c0 00 imul rax, rax, 0
00101 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
001af 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00108 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 34 : target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
001b3 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
001b7 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
001bc b8 10 00 00 00 mov eax, 16
001c1 48 6b c0 01 imul rax, rax, 1
001c5 48 8b 8d 08 02
0010c 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
00110 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
00115 b8 10 00 00 00 mov eax, 16
0011a 48 6b c0 01 imul rax, rax, 1
0011e 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
001cc 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00125 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 35 : target->colum[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
001d0 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
001d4 0f c6 85 d0 00
00129 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
0012d 0f c6 85 a0 00
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
001dc b8 10 00 00 00 mov eax, 16
001e1 48 6b c0 02 imul rax, rax, 2
001e5 48 8b 8d 08 02
00135 b8 10 00 00 00 mov eax, 16
0013a 48 6b c0 02 imul rax, rax, 2
0013e 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
001ec 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00145 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 36 : target->colum[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1));
001f0 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
001f4 0f c6 85 d0 00
00149 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
0014d 0f c6 85 a0 00
00 00 dd shufps xmm0, XMMWORD PTR t3$[rbp], 221 ; 000000ddH
001fc b8 10 00 00 00 mov eax, 16
00201 48 6b c0 03 imul rax, rax, 3
00205 48 8b 8d 08 02
00155 b8 10 00 00 00 mov eax, 16
0015a 48 6b c0 03 imul rax, rax, 3
0015e 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
0020c 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00165 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 37 : }
00210 48 8b 8d d8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00217 48 33 cd xor rcx, rbp
0021a e8 00 00 00 00 call __security_check_cookie
0021f 48 8d a5 e8 01
00 00 lea rsp, QWORD PTR [rbp+488]
00226 5f pop rdi
00227 5d pop rbp
00228 c3 ret 0
00169 48 8d a5 88 01
00 00 lea rsp, QWORD PTR [rbp+392]
00170 5f pop rdi
00171 5d pop rbp
00172 c3 ret 0
transpose3to4 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
@@ -707,12 +637,9 @@ _TEXT SEGMENT
t0$ = 16
t1$ = 64
t2$ = 112
$S2$ = 160
t3$ = 208
$S3$ = 256
__$ArrayPad$ = 472
source$ = 512
target$ = 520
t3$ = 160
source$ = 416
target$ = 424
transpose3to3 PROC ; COMDAT
; 15 : {
@@ -722,164 +649,121 @@ $LN3:
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 08 02
00 00 sub rsp, 520 ; 00000208H
0000c 48 81 ec a8 01
00 00 sub rsp, 424 ; 000001a8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c5 xor rax, rbp
00022 48 89 85 d8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00029 48 8d 0d 00 00
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__5527727A_mat3@c
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 16 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
; 16 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
00035 b8 0c 00 00 00 mov eax, 12
0003a 48 6b c0 00 imul rax, rax, 0
0003e 48 8b 8d 00 02
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
0002d 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00045 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0004a b9 04 00 00 00 mov ecx, 4
0004f 48 6b c9 01 imul rcx, rcx, 1
00053 48 03 c1 add rax, rcx
00056 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00059 b8 0c 00 00 00 mov eax, 12
0005e 48 6b c0 00 imul rax, rax, 0
00062 48 8b 8d 00 02
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00069 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0006e b9 04 00 00 00 mov ecx, 4
00073 48 6b c9 00 imul rcx, rcx, 0
00077 48 03 c1 add rax, rcx
0007a 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0007d 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00081 0f 28 c1 movaps xmm0, xmm1
00084 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 17 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
; 17 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
00088 b8 0c 00 00 00 mov eax, 12
0008d 48 6b c0 00 imul rax, rax, 0
00091 48 8b 8d 00 02
00061 b8 10 00 00 00 mov eax, 16
00066 48 6b c0 01 imul rax, rax, 1
0006a 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00098 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0009d b9 04 00 00 00 mov ecx, 4
000a2 48 6b c9 01 imul rcx, rcx, 1
000a6 48 03 c1 add rax, rcx
000a9 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000ac b8 0c 00 00 00 mov eax, 12
000b1 48 6b c0 00 imul rax, rax, 0
000b5 48 8b 8d 00 02
00071 48 03 c8 add rcx, rax
00074 48 8b c1 mov rax, rcx
00077 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0007a b8 10 00 00 00 mov eax, 16
0007f 48 6b c0 00 imul rax, rax, 0
00083 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000bc 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
000c1 b9 04 00 00 00 mov ecx, 4
000c6 48 6b c9 00 imul rcx, rcx, 0
000ca 48 03 c1 add rax, rcx
000cd 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d0 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000d4 0f 28 c1 movaps xmm0, xmm1
000d7 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
0008a 48 03 c8 add rcx, rax
0008d 48 8b c1 mov rax, rcx
00090 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00093 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00097 0f 28 c1 movaps xmm0, xmm1
0009a 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
; 18 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
; 18 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
000db 0f 57 c0 xorps xmm0, xmm0
000de f3 0f 11 85 a0
00 00 00 movss DWORD PTR $S2$[rbp], xmm0
000e6 0f 57 c0 xorps xmm0, xmm0
000e9 f3 0f 11 85 a4
00 00 00 movss DWORD PTR $S2$[rbp+4], xmm0
000f1 0f 57 c0 xorps xmm0, xmm0
000f4 f3 0f 11 85 a8
00 00 00 movss DWORD PTR $S2$[rbp+8], xmm0
000fc 0f 57 c0 xorps xmm0, xmm0
000ff f3 0f 11 85 ac
00 00 00 movss DWORD PTR $S2$[rbp+12], xmm0
00107 b8 0c 00 00 00 mov eax, 12
0010c 48 6b c0 00 imul rax, rax, 0
00110 48 8b 8d 00 02
0009e 0f 57 c0 xorps xmm0, xmm0
000a1 b8 10 00 00 00 mov eax, 16
000a6 48 6b c0 02 imul rax, rax, 2
000aa 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00117 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0011c b9 04 00 00 00 mov ecx, 4
00121 48 6b c9 02 imul rcx, rcx, 2
00125 48 03 c1 add rax, rcx
00128 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0012b 0f c6 85 a0 00
00 00 44 shufps xmm0, XMMWORD PTR $S2$[rbp], 68 ; 00000044H
00133 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
000b1 48 03 c8 add rcx, rax
000b4 48 8b c1 mov rax, rcx
000b7 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000ba 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
000be 0f 28 c1 movaps xmm0, xmm1
000c1 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
; 19 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
; 19 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
00137 0f 57 c0 xorps xmm0, xmm0
0013a f3 0f 11 85 00
01 00 00 movss DWORD PTR $S3$[rbp], xmm0
00142 0f 57 c0 xorps xmm0, xmm0
00145 f3 0f 11 85 04
01 00 00 movss DWORD PTR $S3$[rbp+4], xmm0
0014d 0f 57 c0 xorps xmm0, xmm0
00150 f3 0f 11 85 08
01 00 00 movss DWORD PTR $S3$[rbp+8], xmm0
00158 0f 57 c0 xorps xmm0, xmm0
0015b f3 0f 11 85 0c
01 00 00 movss DWORD PTR $S3$[rbp+12], xmm0
00163 b8 0c 00 00 00 mov eax, 12
00168 48 6b c0 00 imul rax, rax, 0
0016c 48 8b 8d 00 02
000c5 0f 57 c0 xorps xmm0, xmm0
000c8 b8 10 00 00 00 mov eax, 16
000cd 48 6b c0 02 imul rax, rax, 2
000d1 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00173 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
00178 b9 04 00 00 00 mov ecx, 4
0017d 48 6b c9 02 imul rcx, rcx, 2
00181 48 03 c1 add rax, rcx
00184 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00187 0f c6 85 00 01
00 00 ee shufps xmm0, XMMWORD PTR $S3$[rbp], 238 ; 000000eeH
0018f 0f 29 85 d0 00
000d8 48 03 c8 add rcx, rax
000db 48 8b c1 mov rax, rcx
000de 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000e1 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000e5 0f 28 c1 movaps xmm0, xmm1
000e8 0f 29 85 a0 00
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
; 20 :
; 21 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
00196 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0019a 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
0019f b8 10 00 00 00 mov eax, 16
001a4 48 6b c0 00 imul rax, rax, 0
001a8 48 8b 8d 08 02
000ef 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000f3 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
000f8 b8 10 00 00 00 mov eax, 16
000fd 48 6b c0 00 imul rax, rax, 0
00101 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
001af 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00108 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 22 : target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
001b3 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
001b7 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
001bc b8 10 00 00 00 mov eax, 16
001c1 48 6b c0 01 imul rax, rax, 1
001c5 48 8b 8d 08 02
0010c 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
00110 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
00115 b8 10 00 00 00 mov eax, 16
0011a 48 6b c0 01 imul rax, rax, 1
0011e 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
001cc 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00125 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 23 : target->colum[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
001d0 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
001d4 0f c6 85 d0 00
00129 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
0012d 0f c6 85 a0 00
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
001dc b8 10 00 00 00 mov eax, 16
001e1 48 6b c0 02 imul rax, rax, 2
001e5 48 8b 8d 08 02
00135 b8 10 00 00 00 mov eax, 16
0013a 48 6b c0 02 imul rax, rax, 2
0013e 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
001ec 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00145 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 24 : }
001f0 48 8b 8d d8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
001f7 48 33 cd xor rcx, rbp
001fa e8 00 00 00 00 call __security_check_cookie
001ff 48 8d a5 e8 01
00 00 lea rsp, QWORD PTR [rbp+488]
00206 5f pop rdi
00207 5d pop rbp
00208 c3 ret 0
00149 48 8d a5 88 01
00 00 lea rsp, QWORD PTR [rbp+392]
00150 5f pop rdi
00151 5d pop rbp
00152 c3 ret 0
transpose3to3 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
@@ -888,10 +772,8 @@ _TEXT ENDS
_TEXT SEGMENT
t0$ = 16
t2$ = 64
$S1$ = 112
__$ArrayPad$ = 328
source$ = 368
target$ = 376
source$ = 320
target$ = 328
transpose3to2 PROC ; COMDAT
; 6 : {
@@ -901,96 +783,75 @@ $LN3:
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 78 01
00 00 sub rsp, 376 ; 00000178H
0000c 48 81 ec 48 01
00 00 sub rsp, 328 ; 00000148H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c5 xor rax, rbp
00022 48 89 85 48 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00029 48 8d 0d 00 00
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__5527727A_mat3@c
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 7 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
; 7 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
00035 b8 0c 00 00 00 mov eax, 12
0003a 48 6b c0 00 imul rax, rax, 0
0003e 48 8b 8d 70 01
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
0002d 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
00045 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0004a b9 04 00 00 00 mov ecx, 4
0004f 48 6b c9 01 imul rcx, rcx, 1
00053 48 03 c1 add rax, rcx
00056 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00059 b8 0c 00 00 00 mov eax, 12
0005e 48 6b c0 00 imul rax, rax, 0
00062 48 8b 8d 70 01
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
00069 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
0006e b9 04 00 00 00 mov ecx, 4
00073 48 6b c9 00 imul rcx, rcx, 0
00077 48 03 c1 add rax, rcx
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 8 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
00061 0f 57 c0 xorps xmm0, xmm0
00064 b8 10 00 00 00 mov eax, 16
00069 48 6b c0 02 imul rax, rax, 2
0006d 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
00074 48 03 c8 add rcx, rax
00077 48 8b c1 mov rax, rcx
0007a 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0007d 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00081 0f 28 c1 movaps xmm0, xmm1
00084 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 8 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
00088 0f 57 c0 xorps xmm0, xmm0
0008b f3 0f 11 45 70 movss DWORD PTR $S1$[rbp], xmm0
00090 0f 57 c0 xorps xmm0, xmm0
00093 f3 0f 11 45 74 movss DWORD PTR $S1$[rbp+4], xmm0
00098 0f 57 c0 xorps xmm0, xmm0
0009b f3 0f 11 45 78 movss DWORD PTR $S1$[rbp+8], xmm0
000a0 0f 57 c0 xorps xmm0, xmm0
000a3 f3 0f 11 45 7c movss DWORD PTR $S1$[rbp+12], xmm0
000a8 b8 0c 00 00 00 mov eax, 12
000ad 48 6b c0 00 imul rax, rax, 0
000b1 48 8b 8d 70 01
00 00 mov rcx, QWORD PTR source$[rbp]
000b8 48 8d 44 01 30 lea rax, QWORD PTR [rcx+rax+48]
000bd b9 04 00 00 00 mov ecx, 4
000c2 48 6b c9 02 imul rcx, rcx, 2
000c6 48 03 c1 add rax, rcx
000c9 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000cc 0f c6 45 70 44 shufps xmm0, XMMWORD PTR $S1$[rbp], 68 ; 00000044H
000d1 0f 29 45 40 movaps XMMWORD PTR t2$[rbp], xmm0
00084 0f 29 45 40 movaps XMMWORD PTR t2$[rbp], xmm0
; 9 :
; 10 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
000d5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000d9 0f c6 45 40 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
000de b8 10 00 00 00 mov eax, 16
000e3 48 6b c0 00 imul rax, rax, 0
000e7 48 8b 8d 78 01
00088 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0008c 0f c6 45 40 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
00091 b8 10 00 00 00 mov eax, 16
00096 48 6b c0 00 imul rax, rax, 0
0009a 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
000ee 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
000a1 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 11 : target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
000f2 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000f6 0f c6 45 40 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
000fb b8 10 00 00 00 mov eax, 16
00100 48 6b c0 01 imul rax, rax, 1
00104 48 8b 8d 78 01
000a5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000a9 0f c6 45 40 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
000ae b8 10 00 00 00 mov eax, 16
000b3 48 6b c0 01 imul rax, rax, 1
000b7 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
0010b 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
000be 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 12 : }
0010f 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00116 48 33 cd xor rcx, rbp
00119 e8 00 00 00 00 call __security_check_cookie
0011e 48 8d a5 58 01
00 00 lea rsp, QWORD PTR [rbp+344]
00125 5f pop rdi
00126 5d pop rbp
00127 c3 ret 0
000c2 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
000c9 5f pop rdi
000ca 5d pop rbp
000cb c3 ret 0
transpose3to2 ENDP
_TEXT ENDS
END
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+29 -22
View File
@@ -70,10 +70,10 @@ namespace StgSharp
0.0f, 0.5f, 0.0f
);
Rectangle rec = new Rectangle(
-0.3f, 0.3f, 0.0f,
0.3f, 0.3f, 0.0f,
0.3f, -0.3f, 0.0f,
-0.3f, -0.3f, 0.0f
-0.3f, 0.3f, 130.0f,
0.3f, 0.3f, 130.0f,
0.3f, -0.3f, 130.0f,
-0.3f, -0.3f, 130.0f
);
Polygon5 polygon = new Polygon5(
-0.4f, 0.5f, 0.0f,
@@ -121,24 +121,18 @@ namespace StgSharp
/**/
camera = new Camera(
new vec3d(1,1,1),
new vec3d(0,0,0),
new vec3d(0,0,200),
new vec3d(0,0,100),
new vec3d(0,1,0)
);
camera.SetViewRange(new Radius(Scaler.Pi / 2),this.Size,(0,0),(1f,1f));
camera.SetViewRange(new Degree(5),Size,(0,0),(50f,50f));
camera.GainAllUniforms(shader, "camera");
/**/
camera.Test(
new vec4d(0.5f,0.5f,0, 1),
new vec4d(0.5f, -0.5f, 0, 1),
new vec4d(-0.5f, -0.5f, 0, 1),
new vec4d(-0.5f, 0.5f, 0, 1)
);
/**/
//camera.Test();
}
protected override void Main()
{
float movement = 0.005f;
GL.ClearColor(0.333f, 0.555f, 0.555f, 1.0f);
GL.Clear(MaskBufferBit.COLOR | MaskBufferBit.DEPTH);
@@ -157,18 +151,31 @@ namespace StgSharp
/**/
float time = CurrentFrameCount / 60.0f;
camera.SetViewDirection(
new vec3d(Scaler.Cos(time * 10), 1, Scaler.Sin(time * 10)),
new vec3d(0, 0, 0),
new vec3d(0, 1, 0)
);
if (InternalIO.glfwGetKey(this.WindowID,GLconst.GLFW_KEY_UP) == KeyStatus.PRESS)
{
camera.Pitch(new Radius(movement));
}
else if (InternalIO.glfwGetKey(this.WindowID, GLconst.GLFW_KEY_DOWN) == KeyStatus.PRESS)
{
camera.Pitch(new Radius(-movement));
}
if (InternalIO.glfwGetKey(WindowID, GLconst.GLFW_KEY_LEFT) == KeyStatus.PRESS)
{
camera.Yaw(new Radius(-movement));
}
else if (InternalIO.glfwGetKey(WindowID, GLconst.GLFW_KEY_RIGHT) == KeyStatus.PRESS)
{
camera.Yaw(new Radius(movement));
}
GL.SetValue(color,
0.5f + MathF.Cos(time),
0.5f + MathF.Sin(time * 0.66667f + 2 * Scaler.Pi / 3),
0.5f + MathF.Sin(time * 0.33333f + Scaler.Pi / 3),
0.5f + MathF.Sin(time * 0.66667f + (2 * Scaler.Pi / 3)),
0.5f + MathF.Sin(time * 0.33333f + (Scaler.Pi / 3)),
time
);
camera.SetAllUniforms();
/**/
+1 -1
View File
@@ -22,7 +22,7 @@ void main()
);
TexColor = color;
TexCoord = aTextCoord;
vec4 temp = (vec4(aPos.xyz,1.0) + vec4(color.yz-vec2(0.5,0.5),0.0,0.0)) * rotation;
vec4 temp = vec4(aPos.xyz,1.0);
gl_Position = /**/ camera * /**/ temp;
}
@@ -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+e1e416bb41a7e16ddec5e7c16d64c72d6aa380e1")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f0f80f72f14d191bade9e1e542454d72f0d304a6")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
5fc65e27ab1eae6b9eeb60c61c388d2d98eeb396f53cbb6b719f6e99588e5cd4
078ad1de8316ac39cc24c9015ddc6ea463215f431658ec068a6783dbac5eadd6
@@ -1 +1 @@
7992bdcbaa0d5122f4f0ecc5f6d631ac76aabe4e624830ef7dbc805de504abae
8a770e7e64a1828f478ce21dee393946f2ed012dee01f75199360879a335f8ce
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/e1e416bb41a7e16ddec5e7c16d64c72d6aa380e1/*"}}
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/f0f80f72f14d191bade9e1e542454d72f0d304a6/*"}}
@@ -217,11 +217,26 @@
</member>
<member name="T:StgSharp.Graphics.ElementBuffer">
<summary>
A collecion of handle to Element Buffer Object in OpenGL.
A collection of handle to Element Buffer Object in OpenGL.
Each <see langword="uint"/> value indexed from instance of this class this
is the only handle to one Element Buffer Object.
</summary>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
<see langword="FrameBufferTarget.All"/> will be set as default target.
</summary>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.FrameBuffer.Bind(StgSharp.Graphics.FrameBufferTarget,System.Int32)">
<summary>
Bind the frame buffer object with name frame buffer to the frame buffer target specified by target.
Target of this frame buffer should be set manually.
</summary>
<param name="target">The frame buffer target of the binding operation.</param>
<param name="index">Index of object to be binded in handle set</param>
</member>
<member name="M:StgSharp.Graphics.Texture.LoadTexture(System.Int32,System.String,StgSharp.Graphics.ImageLoader)">
<summary>
</summary>
@@ -285,6 +300,14 @@
This <see langword="glHandle"/> will be not usable.
</summary>
</member>
<member name="M:StgSharp.Graphics.GL.BindFrameBuffer(StgSharp.Graphics.FrameBufferTarget,StgSharp.Graphics.glHandle)">
<summary>
Bind a frame buffer to a frame buffer target
Same function as <see href="https://docs.gl/gl3/glBindFramebuffer">glBindFramebuffer</see>.
</summary>
<param name="target"> The frame buffer target of the binding operation.</param>
<param name="handle"> The handle of the frame buffer object to bind.</param>
</member>
<member name="M:StgSharp.Graphics.ShaderEdit.IglConvertable.SetAllUniforms">
<summary>
@@ -641,7 +664,7 @@
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Double,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
@@ -649,14 +672,14 @@
Length of a single time span is defined in seconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="M:StgSharp.TimeSpanProvider.#ctor(System.Int64,System.Int32,StgSharpDebug.Logic.TimeSourceProviderBase)">
<summary>
Create a new <see cref="T:StgSharp.TimeSpanProvider"/> and define the length of time span. Length of a single time span is defined in microseconds.
</summary>
<param name="spanLength"></param>
<parma name="provider"></parma>
<param name="provider"></param>
</member>
<member name="P:StgSharp.TimeSpanProvider.DefaultProvider">
<summary>