daily update on 20240403 by nitload youmu

This commit is contained in:
YoumuLiu
2024-04-03 08:56:33 +08:00
parent b207f16616
commit 127fcdbfd3
631 changed files with 23499 additions and 2664 deletions
+42 -85
View File
@@ -4,12 +4,13 @@ using StgSharp.Graphics;
using StgSharp.Math;
using System;
using System.Runtime.CompilerServices;
namespace StgSharp
{
public class StgSharpDemoForm : Form
{
private Uniform<float, float, float> color;
private Uniform<float, float, float, float> color;
private ElementBuffer ebo;
private Uniform<int> ourTexture;
private Uniform<int> ourTexture2;
@@ -18,48 +19,41 @@ namespace StgSharp
private VertexArray vao;
private VertexBuffer vbo;
public static unsafe void ProcessInput(IntPtr windowPtr)
protected override unsafe void ProcessInput()
{
if (InternalIO.glfwGetKey(windowPtr, (int)Operation.Key.ESCAPE)
if (InternalIO.glfwGetKey(WindowID, (int)Operation.Key.ESCAPE)
== KeyStatus.PRESS)
{
InternalIO.glfwSetWindowShouldClose(windowPtr, 1);
InternalIO.glfwSetWindowShouldClose(WindowID, 1);
}
}
public override void Deinit()
protected override void DeInit()
{
/**/
Console.WriteLine(1);
vao.Dispose();
Console.WriteLine(2);
vbo.Dispose();
Console.WriteLine(3);
ebo.Dispose();
Console.WriteLine(4);
/**/
}
public unsafe void FormSizeCallback(IntPtr window, uint width, uint height)
{
gl.Viewport(0, 0, width, height);
}
public override void Init()
protected override void Init()
{
InternalIO.InternalWriteLog("\n\n\n", "Program start", LogType.Info);
SetMetadata(800, 800, "Hello, STG#!", IntPtr.Zero, null);
MakeAsCurrentContext();
this.LoadGLapi();
SetSizeLimit(800, 800, 800, 800);
this.LoadGLapi(null);
FrameBufferSizeCallback =
(IntPtr id, uint width, uint height) =>
{
gl.Viewport(0, 0, width, height);
};
{
GL.Viewport(0, 0, width, height);
};
shader = CreateShaderProgram();
var vertex = CreateShader(ShaderType.Vertex, 1);
var fragment = CreateShader(ShaderType.Fragment, 1);
@@ -67,22 +61,18 @@ namespace StgSharp
vertex.AttachTo(0, shader);
fragment.Compile(0, File.ReadAllText("Shader\\fragment.frag"));
fragment.AttachTo(0, shader);
shader.Link();
Triangle tri = new Triangle(
-0.5f, -0.3f, 0.0f,
0.5f, -0.5f, 0.0f,
0.0f, 0.5f, 0.0f
);
Rectangle rec = new Rectangle(
-0.5f, 0.5f, 0.0f,
0.5f, 0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
-0.5f, -0.5f, 0.0f
);
Polygon5 polygon = new Polygon5(
-0.4f, 0.5f, 0.0f,
0.5f, 0.5f, 0.0f,
@@ -90,59 +80,50 @@ namespace StgSharp
0, -1, 0,
-0.7f, -0.5f, 0.0f
);
vao = CreateVertexArray(1);
vbo = CreateVertexBuffer(2);
ebo = CreateElementBuffer(1);
texture = CreateTexture(2);
float[] texCoord = {
0.0f, 0.0f,
1.0f, 0.0f,
1.0f, 1.0f,
0.0f, 1.0f };
gl.BindVertexArray(vao[0]);
GL.BindVertexArray(vao[0]);
ebo.SetValue(0, rec.Indices, BufferUsage.STATIC_DRAW);
vbo.SetValue(0, rec.VertexBuffer, BufferUsage.STATIC_DRAW);
gl.SetVertexAttribute(0, 3, TypeCode.Single, false, 4 * sizeof(float), 0);
GL.SetVertexAttribute(0, 3, TypeCode.Single, false, 4 * sizeof(float), 0);
vbo.SetValueArray(1, texCoord, BufferUsage.STATIC_DRAW);
gl.SetVertexAttribute(2, 2, TypeCode.Single, false, 2 * sizeof(float), 0);
GL.SetVertexAttribute(2, 2, TypeCode.Single, false, 2 * sizeof(float), 0);
/**/
gl.BindBuffer(BufferType.ARRAY_BUFFER, glHandle.Zero);
GL.BindBuffer(BufferType.ARRAY_BUFFER, glHandle.Zero);
vao.BindNull();
/**/
texture.Bind2D(0);
texture.Set2dWrapProperty(Wrap.Repeat, Wrap.Repeat);
texture.Set2dFilterProperty(Filter.Nearest, Filter.Nearest);
texture.LoadTexture(0, "Shader\\Image1.png", null);
texture.Bind2D(1);
texture.Set2dWrapProperty(Wrap.Repeat, Wrap.Repeat);
texture.Set2dFilterProperty(Filter.Nearest, Filter.Nearest);
texture.LoadTexture(1, "Shader\\awesomeface.png", null);
//color = GetUniform<float, float, float>(shader, "color");
shader.Use();
/**/
color = shader.GetUniform<float, float, float>("color");
color = shader.GetUniform<float, float, float, float>("color");
ourTexture = shader.GetUniform<int>("ourTexture");
gl.SetValue(ourTexture, 0);
GL.SetValue(ourTexture, 0);
ourTexture2 = shader.GetUniform<int>("ourTexture2");
gl.SetValue(ourTexture2, 1);
GL.SetValue(ourTexture2, 1);
/**/
}
public override void Main()
protected override void Main()
{
ProcessInput(WindowID);
GL.ClearColor(0.333f, 0.555f, 0.555f, 1.0f);
gl.ClearColor(0.333f, 0.555f, 0.555f, 1.0f);
gl.Clear(MaskBufferBit.COLOR | MaskBufferBit.DEPTH );
GL.Clear(MaskBufferBit.COLOR | MaskBufferBit.DEPTH);
/**/
vao.Bind(0);
@@ -154,26 +135,25 @@ namespace StgSharp
texture.Activate(TextureUnit.Unit1);
texture.Bind2D(1);
/**/
/**/
float time = CurrentFrameCount / 60.0f;
gl.SetValue(color,
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.33333f + Scaler.Pi / 3),
time
);
vao.Bind(0);
gl.DrawElements(GepmetryType.TRIANGLES, 6, TypeCode.UInt32, IntPtr.Zero);
vao.BindNull();
/**/
Console.Clear();
Console.WriteLine(FrameSpeed);
GL.DrawElements(GepmetryType.TRIANGLES, 6, TypeCode.UInt32, IntPtr.Zero);
//vao.BindNull();
/**/
}
//[RenderActivity(RenderPriority.Default,false)]
[MultiFrameActivity()]
public void Beep()
{
if (CurrentFrameCount%60==0)
@@ -181,6 +161,14 @@ namespace StgSharp
Console.Beep();
}
}
[MethodImpl(MethodImplOptions.NoOptimization)]
[RenderActivity(RenderPriority.Pre_1)]
public void NoOp()
{
int a = 1;
}
}
internal static class Program
@@ -196,41 +184,10 @@ namespace StgSharp
StgSharp.InitGL(4, 6);
StgSharp.GlobalSetting.VSyncActivated = false;
StgSharpDemoForm demoForm = new StgSharpDemoForm();
demoForm.Init();
demoForm.Show();
StgSharp.Terminate();
/**/
/*
GLparamQueue queue = new GLparamQueue();
Thread t = default;
for (int i = 0; i < 100; i++)
{
M128 m = new M128();
m.Write<int>(0, 1 + i);
m.Write<int>(1, 10 - i);
m.Write<Int64>(1, 511L * i);
queue.Enqueue(m);
if (i == 10)
{
t = new Thread(new ThreadStart(
() =>
{
for (int i = 0; i < 100; i++)
{
M128 m = default;
queue.TryDequeue(out m);
Console.WriteLine(m.ToString(10));
}
}
));
t.Start();
}
}
t.Join();
/**/
}
catch (Exception ex)
{
+2 -2
View File
@@ -1,6 +1,6 @@
#version 330 core
in vec3 TexColor;
in vec4 TexColor;
in vec2 TexCoord;
out vec4 FragColor;
@@ -12,6 +12,6 @@ void main()
{
vec4 tex1 = texture(ourTexture, TexCoord);
vec4 tex2 = texture(ourTexture2,TexCoord);
FragColor = mix(tex1 * vec4( TexColor,1.0),tex2,0.2) /* *vec4( TexColor,1.0) /**/;
FragColor = mix(tex1 * vec4( TexColor.xyz, 1.0), tex2, 0.2) /* *vec4( TexColor,1.0) /**/;
}
+5 -5
View File
@@ -4,22 +4,22 @@ layout(location = 0) in vec3 aPos;
layout(location = 1) in vec3 aColor;
layout(location = 2) in vec2 aTextCoord;
out vec3 TexColor;
out vec4 TexColor;
out vec2 TexCoord;
uniform vec3 color;
uniform vec4 color;
void main()
{
float as = color.z-0.5;
float ac = sqrt(1 - as * as);
float as = sin( color.w );
float ac = cos( color.w );
mat4x4 rotation = mat4x4(
ac,-as,0,0,
as,ac,0,0,
0,0,1,0,
0,0,0,1
);
gl_Position = rotation * (vec4(aPos.xyz,1.0) + vec4(color.xy-vec2(0.5,0.5),0.0,0.0));
gl_Position = rotation * (vec4(aPos.xyz,1.0) + vec4(color.yz-vec2(0.5,0.5),0.0,0.0));
TexColor = color;
TexCoord = aTextCoord;
}
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Benchmark")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b207f16616b7bd967d647a809cc27e7174063451")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
e340c06b75b4a2ce53efde5f4632c7a375a08a6b1987e3663da0e443a4eb16a3
50e37e0ed71a61b1b7b47268eb70b9151cfe47ecf112ddfa3cfa0ee8cc1f16ab
@@ -1,4 +1,6 @@
is_global = true
build_property.CsWin32InputMetadataPaths = C:\Users\Nitlo\.nuget\packages\microsoft.windows.sdk.win32metadata\55.0.45-preview\Windows.Win32.winmd|C:\Users\Nitlo\.nuget\packages\microsoft.windows.wdk.win32metadata\0.9.9-experimental\Windows.Wdk.winmd
build_property.CsWin32InputDocPaths = C:\Users\Nitlo\.nuget\packages\microsoft.windows.sdk.win32docs\0.1.42-alpha\apidocs.msgpack
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
@@ -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+ea2a4a7dcb0a67c25bbc49839aeb8cd582ba0408")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b207f16616b7bd967d647a809cc27e7174063451")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
c385dcdffa8fc64c5dbee012681b30ca72e22bfa0e770022c4e8ab92f11215ca
5c1bd2ac8d9fe16bf2ab0a5b01f61de1cb52ad65e451491eb0a98f7a70a05f45
@@ -1 +1 @@
87387179d403eda220c231b05b13d28d27488334b6bc1d1fc43e415db883f5d6
f9370ab911323f2fc92c1c2ce1e7900aee75fcff307963d78d083d0a270310cc
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/ea2a4a7dcb0a67c25bbc49839aeb8cd582ba0408/*"}}
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/b207f16616b7bd967d647a809cc27e7174063451/*"}}
@@ -24,12 +24,6 @@
</summary>
</member>
<member name="P:StgSharp.Graphics.Form.GL">
<summary>
OpenGL package binded to current form context.
A OpenGL context is only binded to current form.
</summary>
</member>
<member name="P:StgSharp.Graphics.Form.Height">
<summary>
Height of this form, represent in <see cref="T:System.Int32"/>
@@ -47,8 +41,9 @@
</member>
<member name="M:StgSharp.Graphics.Form.Init">
<summary>
Necessary operation to init this form.
Necessary operation to init graphic elements this form.
</summary>
<param name="gl">OpenGL library binded to current form.</param>
</member>
<member name="M:StgSharp.Graphics.Form.Main">
<summary>
@@ -101,15 +96,9 @@
</summary>
<param name="minWidth">Minimum width of current form</param>
<param name="minHeight">Minimum height of current form</param>
<param name="maxWidth">Maximum width of curent form</param>
<param name="maxWidth">Maximum width of current form</param>
<param name="maxHeight">Maximum height of current form</param>
</member>
<member name="M:StgSharp.Graphics.Form.GetGL">
<summary>
Get OpenGL library of this form's context.
</summary>
<returns>A <see cref="T:StgSharp.Graphics.IglFunc"/> package contains all opengl APIs</returns>
</member>
<member name="M:StgSharp.Graphics.Form.Show">
<summary>
Init this form and render it on screen, and respond with operation
@@ -263,7 +252,7 @@
</summary>
</member>
<member name="M:StgSharp.Graphics.glManager.LoadGLapi(StgSharp.Graphics.Form,StgSharp.Graphics.GLfuncLoader)">
<member name="M:StgSharp.Graphics.glManager.LoadGLapi(StgSharp.Graphics.Form)">
<summary>
Load all aupportable OpenGL APIs and bind them to given <see cref="T:StgSharp.Graphics.Form"/> context.
</summary>
@@ -303,11 +292,11 @@
</summary>
</member>
<member name="M:StgSharp.Graphics.Shader.AttachTo(System.Int32,StgSharp.Graphics.ShaderProgram)">
<summary>
</summary>
<param name="target"></param>
<param name="index"></param>
<summary>
Attach one shader code to a shader program.
</summary>
<param name="target">Shader program to attach</param>
<param name="index">Index of shader code in current shader code set.</param>
</member>
<member name="M:StgSharp.Graphics.ShaderProgram.#ctor(StgSharp.Graphics.Form)">
<summary>
@@ -338,6 +327,14 @@
<param name="name">Name of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.ShaderProgram.GetUniform``4(System.String)">
<summary>
Get a uniform form current shader,
the value type of the uniform should be provided.
</summary>
<param name="name">Name of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.ShaderProgram.Link">
<summary>
Link the shader to current context.
@@ -348,274 +345,6 @@
Let the current context use this shader.
</summary>
</member>
<member name="M:StgSharp.Graphics.IglFunc.ActiveTexture(System.UInt32)">
<summary>
Same function as OpenGL api glActiveTexture
</summary>
<param name="type">type of texture to activate</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.AfterAlign(StgSharp.Graphics.Form,System.Action)">
<summary>
Operation after alignment by calling <see cref="M:StgSharp.Graphics.IglFunc.AlignFrame(StgSharp.Graphics.Form)"/>.
No calling of this method is acceptable, but it will bring the risk
of that relevant code will not run if it is interrupted by frame overtime.
Please call this method immediately after calling <see cref="M:StgSharp.Graphics.IglFunc.AlignFrame(StgSharp.Graphics.Form)"/>,
too early or sonner may cause <see cref="T:System.InvalidOperationException"/>.
</summary>
<param name="form">The form used as frame update benchmark.</param>
<param name="action">Operation after frame update alignment.</param>
<exception cref="T:System.InvalidOperationException">The action binded to a wrong alignment.</exception>
</member>
<member name="M:StgSharp.Graphics.IglFunc.AlignFrame(StgSharp.Graphics.Form)">
<summary>
Align a sets of code to frame update of a <see cref="T:StgSharp.Graphics.Form"/>.
Usually, a call of <see cref="M:StgSharp.Graphics.IglFunc.AfterAlign(StgSharp.Graphics.Form,System.Action)"/> is required.
This method is used as sigle thread method. If more than one
alignment is requested, a <see cref="T:System.InvalidOperationException"/> will throw.
</summary>
<param name="form">The form used as frame update benchmark.</param>
<exception cref="T:System.InvalidOperationException">More than one alingment attached to one form timer</exception>
</member>
<member name="M:StgSharp.Graphics.IglFunc.AttachShader(StgSharp.Graphics.glHandle,StgSharp.Graphics.glHandle)">
<summary>
Same fucntion as OpenGL api glAttachShader.
Only the first <see href="shader"/> in handle
will be attached to the first <see href="program"/> in handle.
The rest shader and program will be ignored.
</summary>
<param name="program">Shader program to be attachec</param>
<param name="shader">A shader part to attach</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.BindBuffer(StgSharp.Graphics.BufferType,StgSharp.Graphics.glHandle)">
<summary>
Bind the indexed buffer object to certain type of buffer
</summary>
<param name="bufferType"></param>
<param name="handle"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.BindTexture(System.UInt32,StgSharp.Graphics.glHandle)">
<summary>
Same function as OpenGL api, glBindTexture.
</summary>
<param name="type">Type of texture to bind</param>
<param name="texture">Sign of texture</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.BindVertexArray(StgSharp.Graphics.glHandle)">
<summary>
Same function as OpenGL api, glBindVertexArray
</summary>
<param name="index"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.Clear(StgSharp.Graphics.MaskBufferBit)">
<summary>
Clear buffers to preset values
</summary>
<param name="mask"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.ClearColor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Call apiClearColor in OpenGL
specifies the red, green, blue, and alpha values used by apiClear to clear the color buffers.
Values specified by apiClearColor are clamped to the range [0,1]
</summary>
<param name="R">Specify the red values used when the color buffers are cleared.</param>
<param name="G">Specify the red values used when the color buffers are cleared.</param>
<param name="B">Specify the red values used when the color buffers are cleared.</param>
<param name="A">Specify the red values used when the color buffers are cleared.</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.CreateProgram">
<summary>
Same function as OpenGL api, glCreateProgram
</summary>
<returns>A handle representing a single shader program</returns>
</member>
<member name="M:StgSharp.Graphics.IglFunc.CreateProgram(System.Int32)">
<summary>
Same function as OpenGL api, glCreateProgram.
Used for creating multiple shader program.
</summary>
<returns>A handle representing all shader programs</returns>
</member>
<member name="M:StgSharp.Graphics.IglFunc.CreateWindowHandle(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<summary>
Creates a form and its associated
</summary>
<param name="width">Required width</param>
<param name="height">Required width</param>
<param name="tittle">Tittle of the window </param>
<param name="monitor"></param>
<param name="share"></param>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphics.IglFunc.DeleteBuffer(StgSharp.Graphics.glHandle)">
<summary>
Same function as OpenGL api, glDeleteBuffer. This method can delete one buffer in one call
</summary>
<param name="handle">a handle representing the buffer to be deleted</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.DeleteBuffers(StgSharp.Graphics.glHandleSet)">
<summary>
Same function as OpenGL api, glDeleteBuffer. This method can delete a sets of buffers in one call.
</summary>
<param name="handleSet">Array of buffers to be deleted</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.DeleteVertexArrays(StgSharp.Graphics.glHandleSet)">
<summary>
Same function as OpenGL api, glDeleteVertexArrays
</summary>
<param name="handleSet">Handle of vertex objects.</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.DrawElements(StgSharp.Graphics.GepmetryType,System.UInt32,System.TypeCode,System.IntPtr)">
<summary>
</summary>
<param name="mode"></param>
<param name="count"></param>
<param name="type"></param>
<param name="ptr"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.GenBuffers(System.Int32)">
<summary>
Same fucntion as the OpenGL api glGenBuffers
</summary>
<param name="count"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.IglFunc.GenTextures(System.Int32)">
<summary>
Same fucnction as OpenGL api glGenTextures.
</summary>
<param name="count">amount of textures to generate</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.GenVertexArrays(System.Int32)">
<summary>
Same fucntion as OpenGL api, glGenVertexArray
</summary>
<param name="count">Amount of vao to be generated</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.GetUniformLocation(StgSharp.Graphics.glHandle,System.String)">
<summary>
Same fucntion as OpenGL api, glGetUniformLocation
</summary>
<param name="program">Shader program to find the uniform</param>
<param name="name">Name of the uniform </param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.IglFunc.MakeContexCurrent(StgSharp.Graphics.Form)">
<summary>
Make the OpenGL context of a certain <see cref="T:StgSharp.Graphics.Form"/> as the activated OpenGL context.
</summary>
<param name="form"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single,System.Single,System.Single},StgSharp.Math.Vec4d)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`4"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Uniform`4"/> target</param>
<param name="vec">A <see cref="T:StgSharp.Math.Vec4d"/> packing four parameters of the uniform </param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetValue(StgSharp.Graphics.Uniform{System.Single},System.Single)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`1"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Uniform`1"/> target</param>
<param name="v0">The value to be set</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetValue(StgSharp.Graphics.Uniform{System.Int32},System.Int32)">
<summary>
Set data value to a int <see cref="T:StgSharp.Graphics.Uniform`1"/>,
all types of parameters are int.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Uniform`1"/> target</param>
<param name="i0">The value to be set</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetValue(StgSharp.Graphics.Uniform{StgSharp.Math.Vec4d},StgSharp.Math.Vec4d)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`1"/>,
all types of parameters are <see cref="T:StgSharp.Math.Vec4d"/>.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Uniform`1"/> target</param>
<param name="vec">A <see cref="T:StgSharp.Math.Vec4d"/> value of the uniform </param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single},System.Single,System.Single)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`2"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Uniform`2"/> target</param>
<param name="v0">The first value to be set</param>
<param name="v1">The second value to be set</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single,System.Single},System.Single,System.Single,System.Single)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`3"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Uniform`3"/> target</param>
<param name="v0">The first value to be set</param>
<param name="v1">The second value to be set</param>
<param name="v2">The third value to be set</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single,System.Single,System.Single},System.Single,System.Single,System.Single,System.Single)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`4"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Uniform`4"/> target</param>
<param name="v0">The first value to be set</param>
<param name="v1">The second value to be set</param>
<param name="v2">The third value to be set</param>
<param name="v3">The forth value to be set</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetVertexAttribute(System.UInt32,System.Int32,System.TypeCode,System.Boolean,System.UInt32,System.Int32)">
<summary>
Set how a shader parameter read data from a VBO.
</summary>
<param name="index">Serial number of the parameter</param>
<param name="size">Amount of data each elements contains</param>
<param name="t">Type of data read by shader</param>
<param name="normalized"></param>
<param name="stride">Pixels stride of each sets of data</param>
<param name="pointer"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.TextureImage2d``1(System.Int32,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,StgSharp.Graphics.glHandle)">
<summary>
Same function as OpenGL api glTexImage2d
</summary>
<param name="target">texture target to load image in</param>
<param name="level">level of mipmap, 0 if default</param>
<param name="internalformat">OpenGL's internal color channel format</param>
<param name="width">width of image</param>
<param name="height">height of image</param>
<param name="format">color channels of this image</param>
<param name="type">how this image express each pixel</param>
<param name="pixels">data array of pixels</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.TextureParameter(System.Int32,System.UInt32,System.Int32)">
<summary>
Same fucntion as OpenGL api glTexParameteri
</summary>
<param name="target">texture target to set parameters</param>
<param name="pname">name of parameter</param>
<param name="param">value of parameter</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.UseProgram(StgSharp.Graphics.glHandle)">
<summary>
Same fucntion as OpenGL api glUseShader.
</summary>
<param name="program">Sign of program to be used</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.Viewport(System.Int32,System.Int32,System.UInt32,System.UInt32)">
<summary>
Same function as the OpenGL api, glViewPort
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="P:StgSharp.IEntity.CollisionSensor">
<summary>
A sensor used for cheking out if a bullet hit a player or something else
@@ -802,13 +531,6 @@
A pair of <see cref="T:System.Boolean"/> value
</summary>
</member>
<member name="F:StgSharp.Logic.Bool2.Value">
<summary>
A <see cref="T:System.UInt16"/> value.
The lower byte is <see cref="F:StgSharp.Logic.Bool2.bool0"/>,
and higher byte is <see cref="F:StgSharp.Logic.Bool2.bool1"/>.
</summary>
</member>
<member name="F:StgSharp.Logic.Bool2.bool0">
<summary>
The first <see cref="T:System.Boolean"/> value.
@@ -819,6 +541,13 @@
The second <see cref="T:System.Boolean"/> value.
</summary>
</member>
<member name="F:StgSharp.Logic.Bool2.Value">
<summary>
A <see cref="T:System.UInt16"/> value.
The lower byte is <see cref="F:StgSharp.Logic.Bool2.bool0"/>,
and higher byte is <see cref="F:StgSharp.Logic.Bool2.bool1"/>.
</summary>
</member>
<member name="T:StgSharp.TimeSpanProvider">
<summary>
A microsecond-accuracy timer. It will refresh every a certain time span.