EnvironmentSettings.fromScene constructor

EnvironmentSettings.fromScene(
  1. Scene scene
)

Reads the current look of scene into a snapshot. The IBL/sky references are shared (not deep-copied); the scalar look is captured by value.

Implementation

factory EnvironmentSettings.fromScene(Scene scene) {
  final cg = scene.postProcess.colorGrading;
  final bloom = scene.postProcess.bloom;
  final vignette = scene.postProcess.vignette;
  final ca = scene.postProcess.chromaticAberration;
  final grain = scene.postProcess.filmGrain;
  final ao = scene.ambientOcclusion;
  return EnvironmentSettings(
    environment: scene.environment,
    skybox: scene.skybox,
    skyEnvironment: scene.skyEnvironment,
    sunLight: scene.sunLight,
    toneMapping: scene.toneMapping,
    environmentIntensity: scene.environmentIntensity,
    exposure: scene.exposure,
    colorGradingEnabled: cg.enabled,
    brightness: cg.brightness,
    contrast: cg.contrast,
    saturation: cg.saturation,
    temperature: cg.temperature,
    tint: cg.tint,
    lift: cg.lift.clone(),
    gamma: cg.gamma.clone(),
    gain: cg.gain.clone(),
    bloomEnabled: bloom.enabled,
    bloomThreshold: bloom.threshold,
    bloomIntensity: bloom.intensity,
    bloomScatter: bloom.scatter,
    vignetteEnabled: vignette.enabled,
    vignetteIntensity: vignette.intensity,
    vignetteRadius: vignette.radius,
    vignetteSmoothness: vignette.smoothness,
    chromaticAberrationEnabled: ca.enabled,
    chromaticAberrationIntensity: ca.intensity,
    filmGrainEnabled: grain.enabled,
    filmGrainIntensity: grain.intensity,
    ambientOcclusionEnabled: ao.enabled,
    ambientOcclusionRadius: ao.radius,
    ambientOcclusionIntensity: ao.intensity,
    ambientOcclusionBias: ao.bias,
  );
}