calculateLights method

void calculateLights(
  1. List<Light> lights
)

Implementation

void calculateLights(List<Light> lights){
  _ambientLight.setRGB( 0, 0, 0 );
  _directionalLights.setRGB( 0, 0, 0 );
  _pointLights.setRGB( 0, 0, 0 );

  for(int l = 0; l < lights.length; l ++ ) {
    Light light = lights[l];
    Color lightColor = light.color ?? Color();

    if (light is AmbientLight) {
      _ambientLight.r += lightColor.r;
      _ambientLight.g += lightColor.g;
      _ambientLight.b += lightColor.b;
    } else if (light is DirectionalLight) {
      _directionalLights.r += lightColor.r;
      _directionalLights.g += lightColor.g;
      _directionalLights.b += lightColor.b;
    } else if (light is PointLight) {
      _pointLights.r += lightColor.r;
      _pointLights.g += lightColor.g;
      _pointLights.b += lightColor.b;
    }
  }
}