daily uodate on 20231208 by nitload youmu, preparation for multi thread rendering

This commit is contained in:
Nitload
2023-12-08 05:36:04 +08:00
parent ae804553ce
commit ab85c1a9fe
297 changed files with 157896 additions and 5170 deletions
@@ -2,28 +2,13 @@
Info @ 2023-11-14T02:37:48.7343911+08:00
Info @ 2023-12-04T15:04:54.4964234+08:00
Program start
Info @ 2023-11-14T02:37:48.7633374+08:00
Info @ 2023-12-04T15:04:54.5359873+08:00
Successfully load GLFW APIs. StgSharp is now working on p/invoke mode
Info @ 2023-11-14T02:37:48.8851886+08:00
Successfully create a context binded to current form. Its ID is 1818270039616
Error @ 2023-11-14T02:37:48.9267693+08:00
Object reference not set to an instance of an object.
at StgSharp.Graphics.Shader..ctor() in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Graphics\GL\Buffer\Shader.cs:line 16
at StgSharp.Program.DebugMain(String[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 34
at StgSharp.Program.Main(String[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 129
Info @ 2023-11-14T02:45:18.8693338+08:00
Program start
Info @ 2023-11-14T02:45:18.9004651+08:00
Successfully load GLFW APIs. StgSharp is now working on p/invoke mode
Info @ 2023-11-14T02:45:19.0302489+08:00
Successfully create a context binded to current form. Its ID is 1935559252096
Info @ 2023-11-14T02:45:19.0530565+08:00
Info @ 2023-12-04T15:04:54.7176820+08:00
Successfully create a context binded to current form. Its ID is 2387008761424
Info @ 2023-12-04T15:04:54.7407462+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -48,19 +33,19 @@ Successfully load all OpenGL 4.5 APIs
Cannot load OpenGL api called glMultiDrawArraysIndirectCount, this api may not exist or supported.
Cannot load OpenGL api called glMultiDrawElementsIndirectCount, this api may not exist or supported.
Successfully load all OpenGL 4.6 APIs
Info @ 2023-11-14T02:45:19.1203473+08:00
Info @ 2023-12-04T15:04:54.8123422+08:00
No supported OpenGL extensions are found.
Info @ 2023-11-14T02:46:07.2551309+08:00
Info @ 2023-12-04T16:43:48.0917401+08:00
Program start
Info @ 2023-11-14T02:46:07.2827034+08:00
Info @ 2023-12-04T16:43:48.1197947+08:00
Successfully load GLFW APIs. StgSharp is now working on p/invoke mode
Info @ 2023-11-14T02:46:07.3949286+08:00
Successfully create a context binded to current form. Its ID is 2011041170880
Info @ 2023-11-14T02:46:07.4163324+08:00
Info @ 2023-12-04T16:43:48.2607766+08:00
Successfully create a context binded to current form. Its ID is 1363303500720
Info @ 2023-12-04T16:43:48.2817961+08:00
Find core OpenGL version.
Successfully load all OpenGL 1.0 APIs
Successfully load all OpenGL 1.1 APIs
@@ -85,5 +70,5 @@ Successfully load all OpenGL 4.5 APIs
Cannot load OpenGL api called glMultiDrawArraysIndirectCount, this api may not exist or supported.
Cannot load OpenGL api called glMultiDrawElementsIndirectCount, this api may not exist or supported.
Successfully load all OpenGL 4.6 APIs
Info @ 2023-11-14T02:46:07.5006823+08:00
Info @ 2023-12-04T16:43:48.3459939+08:00
No supported OpenGL extensions are found.
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

@@ -1,10 +1,17 @@
#version 330 core
in vec4 vertexColor;
in vec3 TexColor;
in vec2 TexCoord;
out vec4 FragColor;
uniform sampler2D ourTexture;
uniform sampler2D ourTexture2;
void main()
{
FragColor = vertexColor;
vec4 tex1 = texture(ourTexture, TexCoord);
vec4 tex2 = texture(ourTexture2,TexCoord);
FragColor = mix(tex1,tex2,0.2) /**/ *vec4( TexColor,1.0) /**/;
}
@@ -1,12 +1,19 @@
#version 330 core
layout(location=0)in vec3 aPos;
out vec4 vertexColor;
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec3 aColor;
layout(location = 2) in vec2 aTextCoord;
out vec3 TexColor;
out vec2 TexCoord;
uniform vec3 color;
void main()
{
gl_Position=vec4(aPos.xyz,1.0);
vertexColor = vec4(0.1,0.003,0.665,1.0);
gl_Position = vec4(aPos.xyz,1.0);
TexColor = color;
TexCoord = aTextCoord;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -25,7 +25,12 @@
<param name="funcname">the name of the Opengl function</param>
<returns>An intptr value representing the pointer to the function</returns>
</member>
<member name="M:StgSharp.Graphics.Form.#ctor(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<member name="T:StgSharp.Graphics.Form">
<summary>
</summary>
</member>
<member name="M:StgSharp.Graphics.Form.InitForm(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.
@@ -72,12 +77,20 @@
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.VertexBuffer.Unbind">
<member name="M:StgSharp.Graphics.Form.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.Form.VertexBuffer.Unbind">
<summary>
</summary>
</member>
<member name="M:StgSharp.Graphics.VertexBuffer.SetData``1(System.Int32,``0,StgSharp.Graphics.BufferUsage)">
<member name="M:StgSharp.Graphics.Form.VertexBuffer.SetValue``1(System.Int32,``0,StgSharp.Graphics.BufferUsage)">
<summary>
</summary>
@@ -85,26 +98,31 @@
<param name="bufferData"></param>
<param name="readType"></param>
</member>
<member name="M:StgSharp.Graphics.GL.SetFrameBufferSizeCallback(StgSharp.Graphics.Form,StgSharp.Graphics.FrameBufferSizeHandler)">
<summary>
sets the framebuffer resize callback of the specified <see cref="T:StgSharp.Graphics.Form"/>,
which is called when the framebuffer of the specified <see cref="T:StgSharp.Graphics.Form"/> is resized.
</summary>
<param name="form">The Form instance to be controlled</param>
<param name="handler">Method hadler </param>
</member>
<member name="M:StgSharp.Graphics.GL.ClearColor(System.Single,System.Single,System.Single,System.Single)">
<member name="M:StgSharp.Graphics.Form.GLfunc.ClearColor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Call glClearColor in OpenGL
specifies the red, green, blue, and alpha values used by glClear to clear the color buffers.
Values specified by glClearColor are clamped to the range [0,1]
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.GL.CompileShader(System.String,StgSharp.Graphics.ShaderType)">
<member name="M:StgSharp.Graphics.Form.GLfunc.BindBuffer(StgSharp.Graphics.BufferType,System.UInt32)">
<summary>
Bind the indexed buffer object to certain type of buffer
</summary>
<param name="bufferType"></param>
<param name="index"></param>
</member>
<member name="M:StgSharp.Graphics.Form.GLfunc.Clear(StgSharp.Graphics.MaskBufferBit)">
<summary>
Clear buffers to preset values
</summary>
<param name="mask"></param>
</member>
<member name="M:StgSharp.Graphics.Form.GLfunc.CompileShader(System.String,StgSharp.Graphics.ShaderType)">
<summary>
Conpile the provided shader code in string form.
</summary>
@@ -113,7 +131,7 @@
conpile, including vertex shader and fragment shader.</param>
<returns>An uint value as the only mark of conpiled shader</returns>
</member>
<member name="M:StgSharp.Graphics.GL.CreateWindow(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<member name="M:StgSharp.Graphics.Form.GLfunc.CreateWindowHandle(System.Int32,System.Int32,System.String,System.IntPtr,StgSharp.Graphics.Form)">
<summary>
Creates a form and its associated
</summary>
@@ -125,6 +143,140 @@
<returns>The instance of created form</returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:StgSharp.Graphics.Form.GLfunc.SetFrameBufferSizeCallback(System.IntPtr,StgSharp.Graphics.FrameBufferSizeHandler)">
<summary>
sets the framebuffer resize callback of the specified <see cref="T:StgSharp.Graphics.Form"/>,
which is called when the framebuffer of the specified <see cref="T:StgSharp.Graphics.Form"/> is resized.
</summary>
<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.Form.GLfunc.SetVertexAttribute(System.UInt32,System.Int32,System.Type,System.Boolean,System.Int32,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.Form.GLfunc.SetValue(StgSharp.Graphics.Form.Uniform{System.Single},System.Single)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Form.Uniform`1"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Form.Uniform`1"/> target</param>
<param name="v0">The value to be set</param>
</member>
<member name="M:StgSharp.Graphics.Form.GLfunc.SetValue(StgSharp.Graphics.Form.Uniform{System.Int32},System.Int32)">
<summary>
Set data value to a int <see cref="T:StgSharp.Graphics.Form.Uniform`1"/>,
all types of parameters are int.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Form.Uniform`1"/> target</param>
<param name="i0">The value to be set</param>
</member>
<member name="M:StgSharp.Graphics.Form.GLfunc.SetValue(StgSharp.Graphics.Form.Uniform{System.Single,System.Single},System.Single,System.Single)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Form.Uniform`2"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Form.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.Form.GLfunc.SetValue(StgSharp.Graphics.Form.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.Form.Uniform`3"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Form.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.Form.GLfunc.SetValue(StgSharp.Graphics.Form.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.Form.Uniform`4"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Form.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.Form.GLfunc.SetValue(StgSharp.Graphics.Form.Uniform{System.Single,System.Single,System.Single,System.Single},StgSharp.Math.Vec4d)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Form.Uniform`4"/>,
all types of parameters are float.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Form.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.Form.GLfunc.SetValue(StgSharp.Graphics.Form.Uniform{StgSharp.Math.Vec4d},StgSharp.Math.Vec4d)">
<summary>
Set data value to a float <see cref="T:StgSharp.Graphics.Form.Uniform`1"/>,
all types of parameters are <see cref="T:StgSharp.Math.Vec4d"/>.
</summary>
<param name="uniform">The <see cref="T:StgSharp.Graphics.Form.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.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.Form.GLfunc)">
<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.
</summary>
</member>
<member name="M:StgSharp.Graphics.glManager.LoadGLapi(StgSharp.Graphics.Form,StgSharp.Graphics.GLfuncLoader)">
<summary>
Load all aupportable OpenGL APIs and bind them to given <see cref="T:StgSharp.Graphics.Form"/> context.
</summary>
<param name="form">The <see cref="T:StgSharp.Graphics.Form"/> used as current OpenGL context</param>
<param name="loader">A delegate that can get o</param>
</member>
<member name="M:StgSharp.Graphics.glManager.LoadGLfunc(System.String)">
<summary>
Get the function pointer of given OpenGL api name
@@ -132,13 +284,6 @@
<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.Graphic.InitGL(System.Int32,System.Int32)">
<summary>
Init an instance of OpenGL program,
This method should be called before other
graphic methods, after LoadGL method.
</summary>
</member>
<member name="F:StgSharp.Controlling.TimeLine.tickCounter">
<summary>
Tick counter count the frames passed since the program start.
@@ -164,6 +309,37 @@
Y position of an enemy entity
</summary>
</member>
<member name="M:StgSharp.Platform.InitGL(System.Int32,System.Int32)">
<summary>
Init an instance of OpenGL program,
This method should be called before other
graphic methods, after LoadGL method.
</summary>
</member>
<member name="M:StgSharp.Platform.WriteLog(System.String,StgSharp.LogType)">
<summary>
Write a log message to log file, and mark the level of this message.
</summary>
<param name="message">A string contains information of how current evironment runs.</param>
<param name="logType">The severity of current message.</param>
</member>
<member name="F:StgSharp.Geometries.PartialPlainCoordinate.origin">
<summary>
The origin of this coordinate.
</summary>
</member>
<member name="P:StgSharp.Geometries.PartialPlainCoordinate.axis_H">
<summary>
The horizontial axis of the coordinate.
Point to the right direction.
</summary>
</member>
<member name="P:StgSharp.Geometries.PartialPlainCoordinate.axis_V">
<summary>
The vertical axis of the coordinate.
Point to the top direction.
</summary>
</member>
<member name="T:StgSharp.Geometries.UnusedVertexException">
<summary>
当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常