StgSharp
Get the status of a certain key on the keyboard.
Function handler to load an opengl function by serching its name.
the name of the Opengl function
An intptr value representing the pointer to the function
Height of this form, represent in
Representing
Width of this form, represent in
Necessary operation to init this form.
Behaviour of current form when in a render cycle.
When this form
Init this form and render it on screen, and respond with operation
Define how current form render in one frame.
Please define
Constructor of a Form, creats an instance of a form and
initilize all the customizing operations.
Init an OpenGl context if current form has not been binded to any context.
and set the context binded to current form as current OpenGL context.
Something goes wrong and
StgSharp fails in creating a new OpenGL context.
Resize the current form
New width of the window
New height of the window
Resize the current form
A (width,height) representing the new size of current form
Set the size limit of current form
Minimum width of current form
Minimum height of current form
Maximum width of curent form
Maximum height of current form
Set the size limit of current form
Minimun size of current form. In form of a of (width,height)
Maximum size of current form. In form of a of (width,height)
Create an instance of program
New instance of instance.
A value represent this shader.
Inti a shader with no program attached.
Compile the vertex shader to be attached to this shader.
GLSL code of vertex shader.
Compile the fragment shader to be attached to this shader.
GLSL code of fragment shader.
Link the shader to current context.
Get a uniform form current shader,
the value type of the uniform should be provided.
Let the current context use this shader.
A timer counting frames after its construction.
Frames after this timer created.
Convert a into uint value.
this will get total frames since the timer was created.
to be converted
Interface of all kinds OpenGL buffer onjects
Set data to current vertex buffer object
Type of bufferData
Index to find certain VBO in this instance
Data to write in
How OpenGL use these data, defined by
Set data to current vertex buffer object
Type of bufferData
Index to find certain VBO in this instance
A array of data to write in
How OpenGL use these data, defined by
Load all aupportable OpenGL APIs and bind them to given context.
The used as current OpenGL context
A delegate that can get o
Get the function pointer of given OpenGL api name
Name of the OpenGL api
The funtion pointer of the api in form of
Set data value to a float ,
all types of parameters are float.
The target
The value to be set
Set data value to a int ,
all types of parameters are int.
The target
The value to be set
Set data value to a float ,
all types of parameters are float.
The target
The first value to be set
The second value to be set
Set data value to a float ,
all types of parameters are float.
The target
The first value to be set
The second value to be set
The third value to be set
Set data value to a float ,
all types of parameters are float.
The target
The first value to be set
The second value to be set
The third value to be set
The forth value to be set
Set data value to a float ,
all types of parameters are float.
The target
A packing four parameters of the uniform
Set data value to a float ,
all types of parameters are .
The target
A value of the uniform
Align a sets of code to frame update of a .
Usually, a call of is required.
This method is used as sigle thread method. If more than one
alignment is requested, a will throw.
The form used as frame update benchmark.
More than one alingment attached to one form timer
Operation after alignment by calling .
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 ,
too early or sonner may cause .
The form used as frame update benchmark.
Operation after frame update alignment.
The action binded to a wrong alignment.
Same function as OpenGL api glActiveTexture
type of texture to activate
Same fucntion as OpenGL api glAttachShader
Shader program to be attachec
A shader part to attach
Bind the indexed buffer object to certain type of buffer
Same function as OpenGL api, glBindTexture.
Type of texture to bind
Sign of texture
Same function as OpenGL api, glBindVertexArray
Clear buffers to preset values
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]
Specify the red values used when the color buffers are cleared.
Specify the red values used when the color buffers are cleared.
Specify the red values used when the color buffers are cleared.
Specify the red values used when the color buffers are cleared.
Conpile the provided shader code in string form.
A string represent the shader's code
An enum represent the type of the shader to
conpile, including vertex shader and fragment shader.
An uint value as the only mark of conpiled shader
Same function as OpenGL api, glCreateProgram
Creates a form and its associated
Required width
Required width
Tittle of the window
The instance of created form
Same function as OpenGL api, glDeleteBuffer.
Amount of bufferd to be deleted
Pointer of buffer to be deleted
Same function as OpenGL api, glDeleteVertexArrays
Amount of vao to be deleted
pointer of vao sign array
Same fucntion as the OpenGL api glGenBuffers
Same fucnction as OpenGL api glGenTextures.
amount of textures to generate
pointer to texture signs' array
Same fucntion as OpenGL api, glGenVertexArray
Amount of vao to be generated
Pointer of vao sign array
Same fucntion as OpenGL api, glGetUniformLocation
Shader program to find the uniform
Pointer to byte array of name of the uniform
Make the OpenGL context of a vertain as the activated OpenGL context.
sets the framebuffer resize callback of the specified ,
which is called when the framebuffer of the specified is resized.
The only signiture stands for the to be controlled
Method hadler
Set how a shader parameter read data from a VBO.
Serial number of the parameter
Amount of data each elements contains
Type of data read by shader
Pixels stride of each sets of data
Same function as OpenGL api glTexImage2d
texture target to load image in
level of mipmap, 0 if default
OpenGL's internal color channel format
width of image
height of image
color channels of this image
how this image express each pixel
pointer to data array of pixels
Same fucntion as OpenGL api glTexParameteri
texture target to set parameters
name of parameter
value of parameter
Same fucntion as OpenGL api glUseShader.
Sign of program to be used
Same function as the OpenGL api, glViewPort
A sensor used for cheking out if a bullet hit a player or something else
A 2D vector presenting the position of an enemy entity, position can also be visited by X, Y
X position of an enenmy entity
Y position of an enemy entity
Part of a circle. All points on a arc has the same distance to their center.
A collection of all point on the same plain and has the same distance to a point
The origin of this coordinate.
The horizontial axis of the coordinate.
Point to the right direction.
The vertical axis of the coordinate.
Point to the top direction.
当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常
Caculate the movement of a point.
The game tick represent time passed by
A 3d vector representing movement
Move begin side of a line.
It is recommended to override this function rather than
loading an with same function.
Time passed since current line was created.
Move end side of a line.
It is recommended to override this function rather than
loading an with same function.
Time passed since current line was created.
Move the third vertix. this is a useless method for Parallelograms.
Current time tick
Geometry overdefined
Move the third vertix. This method is useless for Parallelograms.
Current time tick
Geometry overdefined
平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。
Tick time this geometry eas crested
Get all sides of this .
A array contains all straight s of current geometry item.
Get a flat cincide with current geometry.
Update the coordinate of the point. If this is a moving point,
(Points on sides or surface if other geometry items)
please do not define any motion here, codes will be ignored by program
Time passes since the program begin, counted by frames
计算中心点相对于参考原点的位移
当前游戏刻
A square
A linear data structure with dynamic length.
It contains a of ,
each is twice longer than the former one.
Init a with a certain amount of elements prepared.
Amount of elements to be prepared.
Length of this
A pair of value
A value.
The lower byte is ,
and higher byte is .
The first value.
The second value.
Whether this linked list has no members or not.
The first memeber of this linkec list.
Set value to this property will reset the first node.
The last memeber of this linkec list.
Set value to this property will reset the first node.
Add an item to the tail of linked list.
The item ready to add to the list
Remove all members from this list
Insert a member to current linkedlist,
the new member will be after a certain existed member.
New member will be inserted after this member
The new member to be inserted
Remove a member from this linkedlist.
Member to be removed from this list
remove the first member of the list
remove the last member of the list
A two dimension vector defined by two elements.
Vec2Ds in StgSharp are defaultly usaed as colum vector.
Reurns the value of ArcSin(x)
The sine value of the angle
Get the value of E ^ x;
Returns the value of ln(x).
calculate the value of x^y
Returns the value of x^y
returns a random float number between 0 and 1.
Generates a random seed in int value.