update method

dynamic update()

Implementation

update() {
  var mesh = children[0];

  if (color != null) {
    material.color.copy(color);
  } else {
    var colors = mesh.geometry!.getAttribute('color');

    _color1.copy(light.color!);
    _color2.copy(light.groundColor!);

    for (var i = 0, l = colors.count; i < l; i++) {
      var color = (i < (l / 2)) ? _color1 : _color2;

      colors.setXYZ(i, color.r, color.g, color.b);
    }

    colors.needsUpdate = true;
  }

  mesh.lookAt(_vectorHemisphereLightHelper.setFromMatrixPosition(light.matrixWorld).negate());
}