public static IMipMap <IImage> ToneMapAndConvertHdrMipMapsToBitmap( IMipMap <IList <float> > hdrMipMap) { var max = -1f; foreach (var hdr in hdrMipMap) { max = MathF.Max(max, hdr.Impl.Max()); } return(ConvertHdrMipmapsToBitmap(hdrMipMap, max)); }
private static IMipMap <IImage> ConvertHdrMipmapsToBitmap( IMipMap <IList <float> > hdrMipMap, float max) => new MipMap <IImage>( hdrMipMap.Select( hdr => { var width = hdr.Width; var height = hdr.Height; return((IMipMapLevel <IImage>) new MipMapLevel <IImage>( DxtDecoder.ConvertHdrToBitmap(hdr.Impl, width, height, max), width, height)); }) .ToList());