fromUIImages static method

Future<EnvironmentMap> fromUIImages({
  1. required Image radianceImage,
  2. List<Vector3>? diffuseSphericalHarmonics,
})

Builds an EnvironmentMap from an already-decoded equirectangular dart:ui radiance image: uploads it, GPU-prefilters it for roughness-aware specular, and projects it onto diffuse SH.

The image is interpreted as sRGB-encoded. Pass diffuseSphericalHarmonics to supply your own diffuse term instead of projecting it.

Implementation

static Future<EnvironmentMap> fromUIImages({
  required ui.Image radianceImage,
  List<Vector3>? diffuseSphericalHarmonics,
}) async {
  final radianceTexture = await gpuTextureFromImage(radianceImage);
  final prefilteredRadiance = prefilterEquirectRadiance(radianceTexture);
  final sh =
      diffuseSphericalHarmonics ??
      await computeDiffuseSphericalHarmonics(radianceImage);
  return EnvironmentMap._(prefilteredRadiance, sh);
}