Pool of ViewableBuffer
objects that are sorted in
order of increasing size. The flush method uses
the buffer with the least size above the amount
it requires. These are used for passing attributes.
The first buffer has a size of 8; each subsequent buffer has double capacity of its previous.
Number of elements that are buffered and are waiting to be flushed.
Buffer of objects that are yet to be rendered.
Data for texture batch builder, helps to save a bit of CPU on a pass.
A flush may occur multiple times in a single
frame. On iOS devices or when
settings.CAN_UPLOAD_SAME_BUFFER
is false, the
batch renderer does not upload data to the same
WebGLBuffer
for performance reasons.
This is the index into packedGeometries
that points to
geometry holding the most recent buffers.
Pool of Uint16Array
objects that are sorted in
order of increasing size. The flush method uses
the buffer with the least size above the amount
it requires. These are used for passing indices.
The first buffer has a size of 12; each subsequent buffer has double capacity of its previous.
Total count of all indices used by the currently buffered objects.
This shader is generated by this.shaderGenerator
.
It is generated specifically to handle the required number of textures being batched together.
Total count of all vertices used by the currently buffered objects.
The class that represents the geometry of objects that are going to be batched with this.
The renderer this manager works for.
This is used to generate a shader that can
color each vertex based on a aTextureId
attribute that points to an texture in uSampler
.
This enables the objects with different textures to be drawn in the same draw call.
You can customize your shader by creating your custom shader generator.
The number of bufferable objects before a flush occurs automatically.
The WebGL state in which this renderer will work.
Size of data being buffered per vertex in the attribute buffers (in floats). By default, the batch-renderer plugin uses 6:
aVertexPosition | 2 |
---|---|
aTextureCoords | 2 |
aColor | 1 |
aTextureId | 1 |
Pool of BatchDrawCall
objects that flush
used
to create "batches" of the objects being rendered.
These are never re-allocated again. Shared between all batch renderers because it can be only one "flush" working at the moment.
Pool of BatchDrawCall
objects that flush
used
to create "batches" of the objects being rendered.
These are never re-allocated again. Shared between all batch renderers because it can be only one "flush" working at the moment.
Bind textures for current rendering
Populating drawcalls for rendering
Handles the contextChange
signal.
It calculates this.MAX_TEXTURES
and allocating the packed-geometry object pool.
Destroys this AbstractBatchRenderer
. It cannot be used again.
Renders the content now and empties the current batch.
Fetches an attribute buffer from this._aBuffers
that can hold atleast size
floats.
minimum capacity required
size
floatsFetches an index buffer from this._iBuffers
that can
have at least size
capacity.
minimum required capacity
size
indices.Makes sure that static and dynamic flush pooled objects have correct dimensions.
Handles the prerender
signal. It ensures that flushes start from the first geometry object again.
Buffers the "batchable" object. It need not be rendered immediately.
the element to render when using this renderer
Starts a new sprite batch.
Stops and flushes the current batch.
Generated using TypeDoc
Maximum number of textures that can be uploaded to the GPU under the current context. It is initialized properly in
this.contextChange
.PIXI.AbstractBatchRenderer#contextChange