function CheckerboardMaterialProperty(options) {
  options = options ?? Frozen.EMPTY_OBJECT;

  this._definitionChanged = new Event();
  this._evenColor = undefined;
  this._evenColorSubscription = undefined;
  this._oddColor = undefined;
  this._oddColorSubscription = undefined;
  this._repeat = undefined;
  this._repeatSubscription = undefined;

  this.evenColor = options.evenColor;
  this.oddColor = options.oddColor;
  this.repeat = options.repeat;
}
A {@link MaterialProperty} that maps to checkerboard {@link Material} uniforms.
@alias CheckerboardMaterialProperty
@constructor

@param {object} [options] Object with the following properties:
@param {Property|Color} [options.evenColor=Color.WHITE] A Property specifying the first {@link Color}.
@param {Property|Color} [options.oddColor=Color.BLACK] A Property specifying the second {@link Color}.
@param {Property|Cartesian2} [options.repeat=new Cartesian2(2.0, 2.0)] A {@link Cartesian2} Property specifying how many times the tiles repeat in each direction.