C# Class Sparrow.Display.QuadBatch

Inheritance: DisplayObject
显示文件 Open project: fmotagarcia/sparrow-sharp Class Usage Examples

Private Properties

Property Type Description
CreateBuffers void
DestroyBuffers void
SyncBuffers void

Public Methods

Method Description
AddQuad ( Quad quad ) : void

Adds a quad or image. Make sure you only add quads with an equal state.

AddQuad ( Quad quad, float alpha ) : void

Adds a quad or image using a custom alpha value (ignoring the quad's original alpha). Make sure you only add quads with an equal state.

AddQuad ( Quad quad, float alpha, uint blendMode, Matrix matrix = null ) : void

Adds a quad or image to the batch, using custom alpha and blend mode values (ignoring the quad's original values) and transforming each vertex by a certain transformation matrix. Make sure you only add quads with an equal state.

AddQuadBatch ( QuadBatch quadBatch ) : void

Adds another quad batch to this batch.

AddQuadBatch ( QuadBatch quadBatch, float alpha ) : void

Adds another quad batch to this batch, using a custom alpha value (ignoring the batch's original alpha).

AddQuadBatch ( QuadBatch quadBatch, float alpha, uint blendMode, Matrix matrix = null ) : void

Adds another quad batch to this batch, using custom alpha and blend mode values (ignoring the batch's original values) and transforming each vertex by a certain transformation matrix. Just like the 'AddQuad' method, you have to make sure that you only add batches with an equal state.

BoundsInSpace ( DisplayObject targetSpace ) : Rectangle
Compile ( DisplayObject displayObject, List quadBatches = null ) : List

Analyses an object that is made up exclusively of quads (or other containers) and saves the resulting quad batches into the specified an array; batches inside that array are reused.

Compile ( DisplayObject displayObject, List quadBatches, int quadBatchID, Matrix transformationMatrix, float alpha, uint blendMode ) : int
IsStateChange ( bool tinted, Texture texture, float alpha, bool premultipliedAlpha, uint blendMode, int numQuads ) : bool

Indicates if specific quads can be added to the batch without causing a state change. A state change occurs if the quad uses a different base texture, has a different 'Smoothing', 'Repeat' or 'Tinted' setting, or if the batch is full (one batch can contain up to 8192 quads).

QuadBatch ( ) : System
Render ( Matrix matrix ) : void

Renders the batch with a custom mvp matrix.

Render ( Matrix matrix, float alpha, uint blendMode ) : void

Renders the batch with custom alpha and blend mode values, as well as a custom mvp matrix.

Render ( RenderSupport support ) : void
Reset ( ) : void

Resets the batch. The vertex- and index-buffers keep their size, so that they can be reused.

Private Methods

Method Description
CreateBuffers ( ) : void
DestroyBuffers ( ) : void
SyncBuffers ( float alpha ) : void

Method Details

AddQuad() public method

Adds a quad or image. Make sure you only add quads with an equal state.
public AddQuad ( Quad quad ) : void
quad Quad
return void

AddQuad() public method

Adds a quad or image using a custom alpha value (ignoring the quad's original alpha). Make sure you only add quads with an equal state.
public AddQuad ( Quad quad, float alpha ) : void
quad Quad
alpha float
return void

AddQuad() public method

Adds a quad or image to the batch, using custom alpha and blend mode values (ignoring the quad's original values) and transforming each vertex by a certain transformation matrix. Make sure you only add quads with an equal state.
public AddQuad ( Quad quad, float alpha, uint blendMode, Matrix matrix = null ) : void
quad Quad
alpha float
blendMode uint
matrix Matrix
return void

AddQuadBatch() public method

Adds another quad batch to this batch.
public AddQuadBatch ( QuadBatch quadBatch ) : void
quadBatch QuadBatch
return void

AddQuadBatch() public method

Adds another quad batch to this batch, using a custom alpha value (ignoring the batch's original alpha).
public AddQuadBatch ( QuadBatch quadBatch, float alpha ) : void
quadBatch QuadBatch
alpha float
return void

AddQuadBatch() public method

Adds another quad batch to this batch, using custom alpha and blend mode values (ignoring the batch's original values) and transforming each vertex by a certain transformation matrix. Just like the 'AddQuad' method, you have to make sure that you only add batches with an equal state.
public AddQuadBatch ( QuadBatch quadBatch, float alpha, uint blendMode, Matrix matrix = null ) : void
quadBatch QuadBatch
alpha float
blendMode uint
matrix Matrix
return void

BoundsInSpace() public method

public BoundsInSpace ( DisplayObject targetSpace ) : Rectangle
targetSpace DisplayObject
return Sparrow.Geom.Rectangle

Compile() public static method

Analyses an object that is made up exclusively of quads (or other containers) and saves the resulting quad batches into the specified an array; batches inside that array are reused.
public static Compile ( DisplayObject displayObject, List quadBatches = null ) : List
displayObject DisplayObject
quadBatches List
return List

Compile() public static method

public static Compile ( DisplayObject displayObject, List quadBatches, int quadBatchID, Matrix transformationMatrix, float alpha, uint blendMode ) : int
displayObject DisplayObject
quadBatches List
quadBatchID int
transformationMatrix Matrix
alpha float
blendMode uint
return int

IsStateChange() public method

Indicates if specific quads can be added to the batch without causing a state change. A state change occurs if the quad uses a different base texture, has a different 'Smoothing', 'Repeat' or 'Tinted' setting, or if the batch is full (one batch can contain up to 8192 quads).
public IsStateChange ( bool tinted, Texture texture, float alpha, bool premultipliedAlpha, uint blendMode, int numQuads ) : bool
tinted bool
texture Sparrow.Textures.Texture
alpha float
premultipliedAlpha bool
blendMode uint
numQuads int
return bool

QuadBatch() public method

public QuadBatch ( ) : System
return System

Render() public method

Renders the batch with a custom mvp matrix.
public Render ( Matrix matrix ) : void
matrix Matrix
return void

Render() public method

Renders the batch with custom alpha and blend mode values, as well as a custom mvp matrix.
public Render ( Matrix matrix, float alpha, uint blendMode ) : void
matrix Matrix
alpha float
blendMode uint
return void

Render() public method

public Render ( RenderSupport support ) : void
support Sparrow.Core.RenderSupport
return void

Reset() public method

Resets the batch. The vertex- and index-buffers keep their size, so that they can be reused.
public Reset ( ) : void
return void