public static AtmosphereData Load(GraphicsDevice device, Stream stream) { var reader = new BinarySerializationReader(stream); var settings = reader.Read <AtmosphereSettings>(); long transmittanceSize = reader.ReadInt64(); long irradianceSize = reader.ReadInt64(); long inscatterSize = reader.ReadInt64(); Texture transmittance, irradiance, inscatter; var buffer = reader.ReadBytes((int)transmittanceSize); using (var data = new MemoryStream(buffer)) transmittance = Texture.Load(device, data); buffer = reader.ReadBytes((int)irradianceSize); using (var data = new MemoryStream(buffer)) irradiance = Texture.Load(device, data); buffer = reader.ReadBytes((int)inscatterSize); using (var data = new MemoryStream(buffer)) inscatter = Texture.Load(device, data); return(new AtmosphereData(settings, transmittance, irradiance, inscatter)); }