From 406f347971e8ea99ec6e8581d864653693373300 Mon Sep 17 00:00:00 2001 From: Matthew Gordon Date: Fri, 21 Mar 2025 20:52:23 -0300 Subject: [PATCH] Fix floating-point precision issue in accumulation_buffer Fixed an issue that prevented the image from converging. (Technically, the convergence was happening and the issue was the final calculation of the displayed colours, but the visual effect was the same as failure to converge.) --- src/accumulation_buffer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/accumulation_buffer.rs b/src/accumulation_buffer.rs index 2d1db3c..5e0656b 100644 --- a/src/accumulation_buffer.rs +++ b/src/accumulation_buffer.rs @@ -56,7 +56,7 @@ impl AccumulationBuffer { let colour_sum_t = buffer_colour_sum.values + colour_sum_y; buffer_colour_bias.values = (colour_sum_t - buffer_colour_sum.values) - colour_sum_y; buffer_colour_sum.values = colour_sum_t; - buffer_colour.values = buffer_colour_sum.values * (1.0 / *buffer_weight); + buffer_colour.values = buffer_colour_sum.values / *buffer_weight; } pub fn merge_tile(&mut self, tile: &Tile, src: &AccumulationBuffer) {