예제 #1
0
 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);
     }
 }