@Deprecated
  public void addSpotLight(
      Color3f color,
      Point3f position,
      Point3f attenuation,
      Vector3f direction,
      float spreadAngle,
      float concentration) {
    SpotLight spotLight =
        new SpotLight(color, position, attenuation, direction, spreadAngle, concentration);
    spotLight.setInfluencingBounds(getSettings().getRenderSettings3D().getBounds());

    getScene().addChild(spotLight);
    getLogger().info("Light (spot) added to scene.");
  }
  public void writeObject(DataOutput out) throws IOException {
    super.writeObject(out);
    Vector3f dir = new Vector3f();
    ((SpotLight) node).getDirection(dir);
    control.writeVector3f(out, dir);

    out.writeFloat(((SpotLight) node).getSpreadAngle());
    out.writeFloat(((SpotLight) node).getConcentration());
  }
 public void readObject(DataInput in) throws IOException {
   super.readObject(in);
   ((SpotLight) node).setDirection(control.readVector3f(in));
   ((SpotLight) node).setSpreadAngle(in.readFloat());
   ((SpotLight) node).setConcentration(in.readFloat());
 }