Class: AbstractBatchRenderer

PIXI~AbstractBatchRenderer

用于绘制和批处理精灵的渲染器。

这是默认的批处理渲染器。它使用基于纹理的几何体缓冲对象并成批渲染它们。 它将多个纹理上传到GPU以减少draw调用的次数。

new AbstractBatchRenderer (renderer) protected

这将挂接渲染器的contextChangeprerender信号。

Name Type Description
renderer PIXI.Renderer

为此工作的渲染器。

Extends

Members

PIXI.AbstractBatchRenderer._drawCallPool Array.<PIXI.BatchDrawCall> static

flush用于创建要渲染对象的"batches"的BatchDrawCall对象池。

这些再也不会重新分配。 在所有批处理渲染器之间共享,因为目前只能进行一个“刷新”操作。

PIXI.AbstractBatchRenderer._textureArrayPool Array.<PIXI.BatchTextureArray> static

flush用于创建要渲染对象的"batches"的BatchDrawCall对象池。

这些再也不会重新分配。 Shared between all batch renderers because it can be only one "flush" working at the moment. 在所有批处理渲染器之间共享,因为目前只能进行一个“刷新”操作。

_shader PIXI.Shader protected

该着色器由this.shaderGenerator生成。

它是专门为处理所需数量的纹理而生成的。

geometryClass object protected

表示将要与此批处理的对象的几何形状的类。

Default Value:
  • PIXI.BatchGeometry

MAX_TEXTURES number readonly

在当前上下文下可以上载到GPU的最大纹理数。 它已在this.contextChange中正确初始化。

See:

此管理器工作的渲染器。

shaderGenerator PIXI.BatchShaderGenerator protected

用于生成着色器,该着色器可以根据指向uSampler中纹理的aTextureId属性为每个顶点着色。

这样可以在同一绘制调用中绘制具有不同纹理的对象。

您可以通过创建自定义着色器生成器来自定义着色器。

size number

自动进行刷新之前可缓冲对象的数量。

Default Value:
  • settings.SPRITE_BATCH_SIZE * 4

state PIXI.State readonly

渲染器将在其中工作的WebGL状态。

vertexSize number readonly

每个顶点在属性缓冲区中缓冲的数据大小(以浮点数表示)。 默认情况下,批处理渲染器插件使用6:

aVertexPosition 2
aTextureCoords 2
aColor 1
aTextureId 1

Methods

bindAndClearTexArray (texArray)

绑定纹理以进行当前渲染绑定纹理以进行当前渲染

Name Type Description
texArray PIXI.BatchTextureArray

buildDrawCalls (texArray, start, finish)

绘制的填充drawcalls

Name Type Description
texArray PIXI.BatchTextureArray
start number
finish number

contextChange ()

Handles the contextChange signal. 处理contextChange信号。

它计算this.MAX_TEXTURES并分配压缩几何对象池。

销毁此AbstractBatchRenderer。不能再被调用。

立刻渲染内容并清空当前批处理。

initFlushBuffers ()

确保静态和动态刷新池对象的尺寸正确

处理prerender信号。

它确保刷新从第一个几何对象开始。

packInterleavedGeometry (element, attributeBuffer, indexBuffer, aIndex, iIndex)

接受元素的四个批处理参数,交织并将其推入指定的批处理属性/索引缓冲区。

它使用以下属性:vertexDatauvstextureIdindicies。 如果存在,它也会使用基础纹理的"tint"。

Name Type Description
element PIXI.Sprite

被渲染的元素

attributeBuffer PIXI.ViewableBuffer

属性缓冲区。

indexBuffer Uint16Array

索引缓冲区

aIndex number

attributeBuffer中已经存在的浮点数

iIndex number

indexBuffer中已经存在的索引数

缓冲“可批量”对象。 它不需要立即渲染。

Name Type Description
element PIXI.DisplayObject

使用此渲染器时要渲染的元素

开始新的精灵批处理。

停止并刷新当前批处理。