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
@@ -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>