diff options
Diffstat (limited to 'intern/cycles/render/denoising.cpp')
-rw-r--r-- | intern/cycles/render/denoising.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/intern/cycles/render/denoising.cpp b/intern/cycles/render/denoising.cpp index 82bbfa5f823..39bd8ce00c2 100644 --- a/intern/cycles/render/denoising.cpp +++ b/intern/cycles/render/denoising.cpp @@ -491,6 +491,19 @@ bool DenoiseTask::load_input_pixels(int layer) } } + /* Highlight compression */ + data = buffer_data + 8; + for (int y = 0; y < h; y++) { + for (int x = 0; x < w; x++) { + int idx = INPUT_NUM_CHANNELS * (y * w + x); + float3 color = make_float3(data[idx], data[idx + 1], data[idx + 2]); + color = color_highlight_compress(color, NULL); + data[idx] = color.x; + data[idx + 1] = color.y; + data[idx + 2] = color.z; + } + } + buffer_data += frame_stride; } |