applyTo method

void applyTo(
  1. Scene scene
)

Applies this snapshot to scene, mutating its live look fields.

Implementation

void applyTo(Scene scene) {
  // A sky-lit look has no static [environment]; its sky bakes the scene
  // environment over the next frames. Keep the previously baked environment
  // until then, so re-applying a sky-lit look (an editor edit, or the volume
  // blend each frame) does not briefly drop to the default environment.
  if (environment != null || skyEnvironment == null) {
    scene.environment = environment;
  }
  scene.skybox = skybox;
  scene.skyEnvironment = skyEnvironment;
  scene.sunLight = sunLight;
  scene.toneMapping = toneMapping;
  scene.environmentIntensity = environmentIntensity;
  scene.exposure = exposure;

  final cg = scene.postProcess.colorGrading;
  cg
    ..enabled = colorGradingEnabled
    ..brightness = brightness
    ..contrast = contrast
    ..saturation = saturation
    ..temperature = temperature
    ..tint = tint
    ..lift.setFrom(lift)
    ..gamma.setFrom(gamma)
    ..gain.setFrom(gain);

  final bloom = scene.postProcess.bloom;
  bloom
    ..enabled = bloomEnabled
    ..threshold = bloomThreshold
    ..intensity = bloomIntensity
    ..scatter = bloomScatter;

  final vignette = scene.postProcess.vignette;
  vignette
    ..enabled = vignetteEnabled
    ..intensity = vignetteIntensity
    ..radius = vignetteRadius
    ..smoothness = vignetteSmoothness;

  scene.postProcess.chromaticAberration
    ..enabled = chromaticAberrationEnabled
    ..intensity = chromaticAberrationIntensity;

  scene.postProcess.filmGrain
    ..enabled = filmGrainEnabled
    ..intensity = filmGrainIntensity;

  scene.ambientOcclusion
    ..enabled = ambientOcclusionEnabled
    ..radius = ambientOcclusionRadius
    ..intensity = ambientOcclusionIntensity
    ..bias = ambientOcclusionBias;
}