StgSharp.Common
Determines whether the
contains the specified key.
The value to locate in the .
true if the contains an
element with the specified key; otherwise, false.
Determines whether the
contains the specified key.
The value to locate in the .
true if the contains an
element with the specified key; otherwise, false.
Part of a collection. This contains a direct reference to _origin collection, so all
change to _origin collection will be reflected in this object.
Initializes a new instance of the RandomAccessStack class that is empty and has the
default initial capacity.
Initializes a new instance of the RandomAccessStack class that is empty and has the
specified initial capacity.
Gets or sets the element at the specified index in the stack (0 = bottom, Count-1 =
top).
Gets the number of elements contained in the stack.
Removes all objects from the stack.
Returns an enumerator that iterates through the stack from top to bottom. Throws if
the stack is modified during iteration.
Returns the object at the top of the stack without removing it.
Removes and returns the object at the top of the stack.
Adds an item to the top of the stack.
CustomizeInit an instance of OpenGL program, This method should be called before any
other World api.
Version of current World platform. Main version represent in hundred's digit, and sub
version represent in ten's digit.
Write a log message to log file, and mark the _level of this message.
A string contains information of how current evironment runs.
The severity of current message.
A class attempt to reduce cost of boxing, though still a bit slower than direct access to
_origin value type instance.
Type of instance to be boxed.
A class contains a sets of methods to serialize several types
An independent storage area, used as the only folder type in root folder. Contains several
files reference as virtual disc. Data is actually stored in s in certain RAID mode.
OpenGL numeric type. An IEEE-754 floating-point value, clamped to the range [0,1].
OpenGL numeric type. An IEEE-754 double precision floating-point value, clamped to the
range [0,1].
X position of an enenmy entity
Y position of an enemy entity
A sensor used for checking 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
当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常
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.
Plain geometry only contains straight sides.
Calculate movement to center
CurrentPipeline time tick
A square
A two dimension vector defined by two elements. Vec2 in World are default used as colum
vector.
Orthogonalize two s, let their length be 1 and perpendicular to
each other.
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.
Interface of all kinds OpenGL BufferHandle objects
Get the only handle to one of the Object instance
Bind a BufferHandle instance to OpenGL
Index of handle of the object in this instance to be bind
Function handler to load an opengl function by searching its _label.
the _label of the Opengl function
An Intptr value representing the pointer to the function
Hash code of time pixels updated last time.
A collection of a sets of OpenGL textures. The collection can automatically select one of
the texture with minimum costs to upgrade pixels to BufferHandle. Usually is used for loading, but not for
target of .
A collection of handle to Element BufferHandle Object in OpenglFunc. Each value indexed from instance of this class this is the only handle to
one Element BufferHandle Object.
Bind the frame BufferHandle object with _label frame BufferHandle to the frame
BufferHandle target specified by target. will
be set as default target.
Index of object to be binded in handle set
Bind the frame BufferHandle object with _label frame BufferHandle to the frame
BufferHandle target specified by target. Target of this frame BufferHandle should be
set manually.
The frame BufferHandle target of the binding operation.
Index of object to be binded in handle set
Load an to certain texture.
Set _data to current vertex BufferHandle 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 BufferHandle 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 BufferHandle object
Type of bufferData
Index to find certain VBO in this instance
A of _data to write in
How OpenGL use these _data, defined by
Set data to current vertex BufferHandle object
Type of bufferData
Index to find certain VBO in this instance
A of data to write in
How OpenGL use these data, defined by
Set _data to current vertex BufferHandle 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
Get the function pointer of given OpenGL api _label
ContextName of the OpenGL api
The funtion pointer of the api in stream of
Load all supported OpenGL APIs and bind them to given .
The handle to current OpenGL viewPortDisplay
Bind a frame BufferHandle to a frame BufferHandle target Same function as glBindFramebuffer .
The frame BufferHandle target of the binding operation.
The handle of the frame BufferHandle object to bind.
Delete a render BufferHandle object Very simlilar function as glDeleteRenderbuffers . The
only deifference is that this mehtod can only delete one renderbuffer at the same
time.
Handle to BufferHandle to delete.
Create a set of .
Amount of EBO to be created.
Create a sets of
Amount of textures to be created.
Create a set of .
Amount of VAO to be created.
Create a set of .
Amount of Object to be created.
Initialize an opengl context and load all opengl functions.
Initialize an OpenGl viewPortDisplay if current form has not been binded to any
viewPortDisplay. and set the viewPortDisplay binded to current form as current OpenGL
viewPortDisplay.
Something goes wrong and World fails in creating a new OpenGL viewPortDisplay.
Create an instance of program
New instance of instance.
Attach one shader code to a shader program.
Shader program to attach
Index of shader code in current shader code set.
CustomizeInit a program with no shader attached.
Get a uniform form current shader, the value type of the uniform should be provided.
ContextName of the Uniform in shader code
Get a uniform form current shader, the value type of the uniform should be provided.
ContextName of the Uniform in shader code
Get a uniform form current shader, the value type of the uniform should be provided.
ContextName of the Uniform in shader code
Get a uniform form current shader, the value type of the uniform should be provided.
ContextName of the Uniform in shader code
Link the shader to current viewPortDisplay.
Let the current viewPortDisplay use this shader.
Set the Size limit of current form
Minimum width of current form
Minimum height of current form
Maximum width of current form
Maximum height of current form
Get (TView is ) uniform from a shader.
This uniform will be used as projection matrix of this camera. Additionally, for
multi- shader rendering, each shader requires a uniform, so do not ignore return
value of this method.
Shader using this camera
ContextName of projection camera named in shader
(TView is ) representing projection
matrix in shader program.
Marking the start of current render operations, and set this renser context as
current.
Marking the end of current render operations, and release the binding of this renser
context to current, making it available for another thread as current.
Get all uniform related to this .
Shader program requires this camera.
ContextName of all related uniforms. If you fallow form from
Provide a lock for managing concurrent access to a buffer that can be expanded and use a
common two-pase-copy expanding mechanism.
An individual thread doing nothing, and its always returns false.
Try to allocate a new 16MB block when all buckets are empty
Output handle to the allocated Entry
True if allocation succeeded
Helper method for allocation - converts BucketNode to Entry
Initialize bucket system (called in constructor)
根据锁类型释放BucketNode锁
按地址顺序释放BucketNode锁
BucketNode structure - specialized node for bucket linked lists Stored in main
allocation area (user-overwritable region)
Free allocated memory block and perform adjacent block merging
Handle to the allocated memory block
Determine segment index based on size and originLevel
Check if two Entries are adjacent in memory
Used in Free operations, efficiently remove from buckets and merge adjacent blocks.
Current Entry will serve as the final merged block. The Merge will be in lazy
strategy, any fail in acquiring spin lock will end a merging process.
Remove node from position linked list
Entry structure - streamlined version (only position and state information) Stored in
external SLAB
CustomizeInit this form and render it on screen, and respond with operation
Height of this form, represent in
Width of this form, represent in
Width of this form, represent in
Set the Size limit of current form
Minimum Size of current form. In form of a of (width,height)
Maximum Size of current form. In form of a of (width,height)
Set the Size limit of current form
Minimum width of current form
Minimum height of current form
Maximum width of current form
Maximum height of current form
ViewBase is the base type for all view types, providing context binding and control
element binding. A complete view should contain one complete , , and , which provide
layout descriptions of control elements, user responses, and rendering implementations in
the view. Data between instances of , , and is shared through .
Get the status of a certain key on the keyboard.
representing if a key is pressed or released.
ViewDesigner provides descriptions of various controls in the view, binds the
controls to specific user actions and behaviors, and describes the layout and
interactions of each control.
Reset pipeline has risk, this operation is a direct operation to port in current node, the
port on the other node cannot get the change.
Only the following occasions of calling are valid: 1. no bp is
running or the only bp is quitting.2. calling from the main thread or a
thread the current bp is running on.
A sets of complex logic designed for running in multi threads environment. Warning: do not
run a instance in multi threads more than once.
A microsecond-accuracy timer. It will refresh every a certain time span.
Create a new and define the length of time span.
Length of a single time span is defined in microseconds.
Create a new and define the length of time span.
Length of a single time span is defined in seconds.
Create a new and define the length of time span.
Length of a single time span is defined in microseconds.
Time source provider provided in internal framework.
Optimized sampling-based adaptive backoff strategy that re-samples and evaluates the current
contention situation and adjusts the strategy after a certain number of fallbacks
Gets the current method
Creates a new optimized sampling adaptive backoff strategy instance
Gets the current sampling status (for debugging)
Gets the historical performance of the specified method (for monitoring)
Called when attempting CAS (must be called regardless of success or failure)
Whether this CAS attempt was successful
Called when CAS fails and fallback needs to be executed, performs backoff and may trigger
re-sampling
Determines initial method based on system characteristics
Determines the method to test in the next sampling window using optimized random selection
Evaluates the current sampling window and may adjust the strategy
Generates initial seed for RNG
Fast pseudo-random number generator using XorShift32
Optimized backoff operation using jump table approach
Specialized SpinWait backoff with optimized logic
Switches to a new method with optimized state reset