
/** Tuple of an RGB color value and an intensity value. */
export interface ColorAndIntensity {
  /** RGB color with values between 0 and 1. */
  color: [
      number,
      number,
      number
  ];
  /** Scalar intensity value by which the color should be scaled for compositing. */
  intensity: number;
}

/**
 * Describes the lighting used by [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html), derived from its sun
 * lighting model. It consists of a directional
 * Lambertian (`diffuse`) and a constant (`ambient`) term, which should be treated in the sense of the
 * [Phong Reflection Model](https://en.wikipedia.org/wiki/Phong_reflection_model).
 */
export interface SunLight {
  /** The ambient light color and intensity. */
  ambient: ColorAndIntensity;
  /** The diffuse light color and intensity. */
  diffuse: ColorAndIntensity;
  /** The incident light direction in render coordinates. */
  direction: [
      number,
      number,
      number
  ];
}