render method

void render(
  1. RenderState renderState
)

Renders this display object with the given renderState. The display object is rendered without its filters.

Implementation

void render(RenderState renderState) {
  var renderContext = renderState.renderContext;
  var globalAlpha = renderState.globalAlpha;
  var globalMatrix = renderState.globalMatrix;
  var particle = _rootParticle;

  // renderState.renderQuad(_renderTextureQuads[0].renderTexture.quad);

  if (renderContext is RenderContextCanvas) {
    var context = renderContext.rawContext;
    renderContext.setTransform(globalMatrix);
    renderContext.setAlpha(globalAlpha);

    for (int i = 0; i < _particleCount; i++) {
      particle = particle!._nextParticle;
      particle!._renderParticleCanvas(context);
    }
  } else if (renderContext is RenderContextWebGL) {
    var renderTextureQuad = _renderTextureQuads[0];
    var renderProgram = renderContext.getRenderProgram(
        r'$ParticleRenderProgram', () => _ParticleRenderProgram());

    renderContext.activateRenderProgram(renderProgram);
    renderContext.activateRenderTexture(renderTextureQuad.renderTexture);
    renderProgram.globalMatrix = globalMatrix;

    for (int i = 0; i < _particleCount; i++) {
      particle = particle!._nextParticle;
      particle!._renderParticleWegGL(renderProgram);
    }
  }
}