fromUIImages static method
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);
}