protected override void SavePixels(float[] pixels, string name) { using (var rw = RenderWindow.Create(new Size(W, H))) { using (var ch = rw.OpenChannel(RenderWindow.StandardChannels.RGBA)) { for (var x = 0; x < W; x++) { for (var y = 0; y < H; y++) { var i = y * W * 4 + x * 4; ch.SetValue(x, y, Color4f.FromArgb(pixels[i + 3], pixels[i], pixels[i + 1], pixels[i + 2])); } } } var tmpfhdr = $"{Environment.GetEnvironmentVariable("TEMP")}\\float_{name}.exr"; rw.SaveRenderImageAs(tmpfhdr, true); } }