daily update on 20240104 by nitload youmu, double threading not work

This commit is contained in:
Nitload
2024-01-04 08:58:12 +08:00
parent 14eaab455f
commit 2767c91293
138 changed files with 9692 additions and 11011 deletions
@@ -16,7 +16,7 @@
<summary>
Function handler to load an opengl function by serching its name.
</summary>
<param name="funcname">the name of the Opengl function</param>
<param name="name">the name of the Opengl function</param>
<returns>An intptr value representing the pointer to the function</returns>
</member>
<member name="T:StgSharp.Graphics.Form">
@@ -29,6 +29,11 @@
Height of this form, represent in <see cref="T:System.Int32"/>
</summary>
</member>
<member name="P:StgSharp.Graphics.Form.GL">
<summary>
OpenGL package used by current form context.
</summary>
</member>
<member name="P:StgSharp.Graphics.Form.IsDoubleRendering">
<summary>
Representing
@@ -39,6 +44,11 @@
Width of this form, represent in <see cref="T:System.Int32"/>
</summary>
</member>
<member name="P:StgSharp.Graphics.Form.Width">
<summary>
Width of this form, represent in <see cref="T:System.Int32"/>
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.Init(System.Object[])">
<summary>
Necessary operation to init this form.
@@ -57,19 +67,17 @@
Init this form and render it on screen, and respond with operation
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.SetRenderThreads(System.Boolean)">
<member name="M:StgSharp.Graphics.Form.SetRenderThreads(System.Int32)">
<summary>
Define how current form render in one frame.
</summary>
<param name="totalThread">
Please define
<param name="requireDoubleRendering">
Please define this befor calling any OpenGL api and other graphic methods.
</param>
</member>
<member name="M:StgSharp.Graphics.Form.InitForm(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<member name="M:StgSharp.Graphics.Form.SetMetadata(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<summary>
Constructor of a Form, creats an instance of a form and
initilize all the customizing operations.
Set all necessary metadata to current form instance
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.MakeAsCurrentContext">
@@ -115,59 +123,32 @@
Maximum size of current form. In form of a <see cref="T:StgSharp.Math.Vec2d"/> of (width,height)
</param>
</member>
<member name="M:StgSharp.Graphics.Form.Texture.LoadTexture(System.Int32,System.String,StgSharp.Graphics.ImageLoader)">
<member name="M:StgSharp.Graphics.Form.CreateElementBuffer(System.UInt32)">
<summary>
Create a set of <see cref="T:StgSharp.Graphics.ElementBuffer"/>.
</summary>
<param name="name"></param>
<param name="index"></param>
<param name="loader"></param>
<param name="count">Amount of EBO to be created.</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.Form.CreateVertexArray(System.UInt32)">
<summary>
Create a set of <see cref="T:StgSharp.Graphics.VertexArray"/>.
</summary>
<param name="count">Amount of VAO to be crated.</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.Form.CreateVertexBuffer(System.UInt32)">
<summary>
Create aset of <see cref="T:StgSharp.Graphics.VertexBuffer"/>.
</summary>
<param name="count">Amount of Object to be created.</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.Form.CreateShader">
<summary>
Create an instance of <see cref="T:StgSharp.Graphics.Form.Shader"/> program
</summary>
<returns>New instance of <see cref="T:StgSharp.Graphics.Form.Shader"/> instance. </returns>
</member>
<member name="F:StgSharp.Graphics.Form.Shader.programID">
<summary>
A <see cref="T:System.UInt32"/> value represent this shader.
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.Shader.#ctor(StgSharp.Graphics.IglFunc)">
<summary>
Inti a shader with no program attached.
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.Shader.CompileVertexShader(System.String)">
<summary>
Compile the vertex shader to be attached to this shader.
</summary>
<param name="shaderCode">GLSL code of vertex shader.</param>
</member>
<member name="M:StgSharp.Graphics.Form.Shader.CompileFragmentShader(System.String)">
<summary>
Compile the fragment shader to be attached to this shader.
</summary>
<param name="shaderCode">GLSL code of fragment shader.</param>
</member>
<member name="M:StgSharp.Graphics.Form.Shader.Link">
<summary>
Link the shader to current context.
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.Shader.GetUniform``1(System.String)">
<summary>
Get a uniform form current shader,
the value type of the uniform should be provided.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.Form.Shader.Use">
<summary>
Let the current context use this shader.
Create an instance of <see cref="T:StgSharp.Graphics.Shader"/> program
</summary>
<returns>New instance of <see cref="T:StgSharp.Graphics.Shader"/> instance. </returns>
</member>
<member name="T:StgSharp.Graphics.FrameTimer">
<summary>
@@ -186,11 +167,39 @@
</summary>
<param name="timer"><see cref="T:StgSharp.Graphics.FrameTimer"/> to be converted</param>
</member>
<member name="T:StgSharp.Graphics.ElementBuffer">
<summary>
A collecion of handle to Element Buffer Object in OpenGL.
Each <see cref="T:System.UInt32"/> value indexed from instance of this class this
is the only handle to one Element Buffer Object.
</summary>
</member>
<member name="T:StgSharp.Graphics.IBufferObject">
<summary>
Interface of all kinds OpenGL buffer onjects
</summary>
</member>
<member name="P:StgSharp.Graphics.IBufferObject.Item(System.Int32)">
<summary>
Get the only handle to one of the Object instance
</summary>
<param name="index"></param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.IBufferObject.Bind(System.Int32)">
<summary>
Bind a buffer instance to OpenGL
</summary>
<param name="index">Index of handle of the object in this instance to be bind</param>
</member>
<member name="M:StgSharp.Graphics.Texture.LoadTexture(System.Int32,System.String,StgSharp.Graphics.ImageLoader)">
<summary>
</summary>
<param name="name"></param>
<param name="index"></param>
<param name="loader"></param>
</member>
<member name="M:StgSharp.Graphics.VertexBuffer.Unbind">
<summary>
@@ -228,77 +237,67 @@
<param name="name">Name of the OpenGL api</param>
<returns>The funtion pointer of the api in form of <see cref="T:System.IntPtr"/></returns>
</member>
<member name="M:StgSharp.Graphics.GLonRender.StgSharp#Graphics#IglFunc#SetValue(StgSharp.Graphics.Uniform{System.Single},System.Single)">
<member name="F:StgSharp.Graphics.Shader.programID">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`1"/>,
all types of parameters are float.
A <see cref="T:System.UInt32"/> value represent this shader.
</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.GLonRender.StgSharp#Graphics#IglFunc#SetValue(StgSharp.Graphics.Uniform{System.Int32},System.Int32)">
<member name="M:StgSharp.Graphics.Shader.#ctor(StgSharp.Graphics.IglFunc)">
<summary>
Set data value to a int <see cref="T:StgSharp.Graphics.Uniform`1"/>,
all types of parameters are int.
Inti a shader with no program attached.
</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.GLonRender.StgSharp#Graphics#IglFunc#SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single},System.Single,System.Single)">
<member name="M:StgSharp.Graphics.Shader.CompileVertexShader(System.String)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`2"/>,
all types of parameters are float.
Compile the vertex shader to be attached to this shader.
</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>
<param name="shaderCode">GLSL code of vertex shader.</param>
</member>
<member name="M:StgSharp.Graphics.GLonRender.StgSharp#Graphics#IglFunc#SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single,System.Single},System.Single,System.Single,System.Single)">
<member name="M:StgSharp.Graphics.Shader.CompileFragmentShader(System.String)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`3"/>,
all types of parameters are float.
Compile the fragment shader to be attached to this shader.
</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>
<param name="shaderCode">GLSL code of fragment shader.</param>
</member>
<member name="M:StgSharp.Graphics.GLonRender.StgSharp#Graphics#IglFunc#SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single,System.Single,System.Single},System.Single,System.Single,System.Single,System.Single)">
<member name="M:StgSharp.Graphics.Shader.Link">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`4"/>,
all types of parameters are float.
Link the shader to current context.
</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.GLonRender.SetValue(StgSharp.Graphics.Uniform{System.Single,System.Single,System.Single,System.Single},StgSharp.Math.Vec4d)">
<member name="M:StgSharp.Graphics.Shader.GetUniform``1(System.String)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Uniform`4"/>,
all types of parameters are float.
Get a uniform form current shader,
the value type of the uniform should be provided.
</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>
<param name="name">Name of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.GLonRender.SetValue(StgSharp.Graphics.Uniform{StgSharp.Math.Vec4d},StgSharp.Math.Vec4d)">
<member name="M:StgSharp.Graphics.Shader.GetUniform``2(System.String)">
<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"/>.
Get a uniform form current shader,
the value type of the uniform should be provided.
</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>
<param name="name">Name of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.IglFunc.AlignFrame(StgSharp.Graphics.Form)">
<member name="M:StgSharp.Graphics.Shader.GetUniform``3(System.String)">
<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.
Get a uniform form current shader,
the value type of the uniform should be provided.
</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>
<param name="name">Name of the Uniform in shader code</param>
<returns></returns>
</member>
<member name="M:StgSharp.Graphics.Shader.Use">
<summary>
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>
@@ -312,11 +311,15 @@
<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.ActiveTexture(System.UInt32)">
<member name="M:StgSharp.Graphics.IglFunc.AlignFrame(StgSharp.Graphics.Form)">
<summary>
Same function as OpenGL api glActiveTexture
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="type">type of texture to activate</param>
<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(System.UInt32,System.UInt32)">
<summary>
@@ -381,43 +384,49 @@
<summary>
Creates a form and its associated
</summary>
<param name="handle">The instance of created form</param>
<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>
<returns>The instance of created form</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphics.IglFunc.DeleteBuffers(System.Int32,System.UInt32*)">
<member name="M:StgSharp.Graphics.IglFunc.DeleteBuffer(System.UInt32)">
<summary>
Same function as OpenGL api, glDeleteBuffer.
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(System.UInt32,System.UInt32[])">
<summary>
Same function as OpenGL api, glDeleteBuffer. This method can delete a sets of buffers in one call.
</summary>
<param name="count">Amount of bufferd to be deleted</param>
<param name="ptr">Pointer of buffer to be deleted</param>
<param name="handle">Array of buffers to be deleted</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.DeleteVertexArrays(System.Int32,System.UInt32*)">
<member name="M:StgSharp.Graphics.IglFunc.DeleteVertexArrays(System.UInt32,System.UInt32[])">
<summary>
Same function as OpenGL api, glDeleteVertexArrays
</summary>
<param name="count">Amount of vao to be deleted</param>
<param name="ptr">pointer of vao sign array</param>
<param name="arrays">A array representing a colletion of vertex objects.</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.GenBuffers(System.Int32,System.UInt32*)">
<member name="M:StgSharp.Graphics.IglFunc.GenBuffers(System.UInt32,System.UInt32*)">
<summary>
Same fucntion as the OpenGL api glGenBuffers
</summary>
<param name="count"></param>
<param name="ptr"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.GenTextures(System.Int32,System.UInt32*)">
<member name="M:StgSharp.Graphics.IglFunc.GenTextures(System.UInt32,System.UInt32*)">
<summary>
Same fucnction as OpenGL api glGenTextures.
</summary>
<param name="count">amount of textures to generate</param>
<param name="ptr">pointer to texture signs' array</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.GenVertexArrays(System.Int32,System.UInt32*)">
<member name="M:StgSharp.Graphics.IglFunc.GenVertexArrays(System.UInt32,System.UInt32*)">
<summary>
Same fucntion as OpenGL api, glGenVertexArray
</summary>
@@ -446,7 +455,69 @@
<param name="id">The only signiture stands for the <see cref="T:StgSharp.Graphics.Form"/> to be controlled</param>
<param name="handler">Method hadler </param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.SetVertexAttribute(System.UInt32,System.Int32,System.Type,System.Boolean,System.Int32,System.Int32)">
<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.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,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)">
<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)">
<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.SetVertexAttribute(System.UInt32,System.Int32,System.Type,System.Boolean,System.UInt32,System.Int32)">
<summary>
Set how a shader parameter read data from a VBO.
</summary>
@@ -457,7 +528,7 @@
<param name="stride">Pixels stride of each sets of data</param>
<param name="pointer"></param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.TextureImage2d(System.UInt32,System.Int32,System.UInt32,System.Int32,System.Int32,System.UInt32,System.UInt32,System.Void*)">
<member name="M:StgSharp.Graphics.IglFunc.TextureImage2d(System.UInt32,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Void*)">
<summary>
Same function as OpenGL api glTexImage2d
</summary>
@@ -484,7 +555,7 @@
</summary>
<param name="program">Sign of program to be used</param>
</member>
<member name="M:StgSharp.Graphics.IglFunc.Viewport(System.Int32,System.Int32,System.Int32,System.Int32)">
<member name="M:StgSharp.Graphics.IglFunc.Viewport(System.Int32,System.Int32,System.UInt32,System.UInt32)">
<summary>
Same function as the OpenGL api, glViewPort
</summary>
@@ -662,6 +733,7 @@
</summary>
<param name="count">Amount of elements to be prepared.</param>
</member>
<!-- Badly formed XML comment ignored for member "M:StgSharp.Logic.DynamicArrayList`1.#ctor(System.Int32,`0)" -->
<member name="P:StgSharp.Logic.DynamicArrayList`1.Length">
<summary>
Length of this <see cref="T:StgSharp.Logic.DynamicArrayList`1"/>
@@ -741,6 +813,18 @@
remove the last member of the list
</summary>
</member>
<member name="T:StgSharp.Math.GLclampf">
<summary>
OpenGL numeric type.
An IEEE-754 floating-point value, clamped to the range [0,1].
</summary>
</member>
<member name="T:StgSharp.Math.GLclampd">
<summary>
OpenGL numeric type.
An IEEE-754 double precision floating-point value, clamped to the range [0,1].
</summary>
</member>
<member name="T:StgSharp.Math.Vec2d">
<summary>
A two dimension vector defined by two elements.