Change smoothing parameters

This commit is contained in:
2024-11-10 23:39:57 +01:00
parent 058f9f8a3e
commit b3f51f305a
+9 -10
View File
@@ -87,7 +87,7 @@ uint64_t global_cycle_pixel_sum = 0;
uint64_t global_pixel_count = 0; uint64_t global_pixel_count = 0;
uint64_t smooth_index = 0; uint64_t smooth_index = 0;
uint64_t smooth_limit = 0; uint64_t smooth_limit = 10;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
/// FUNCTION PROTOTYPES /// /// FUNCTION PROTOTYPES ///
@@ -119,7 +119,7 @@ void invalidate_accumulation(void)
memset(roughness_buffer, 0, sizeof(float) * frame_w * frame_h); memset(roughness_buffer, 0, sizeof(float) * frame_w * frame_h);
color_buffer_frames = 0; color_buffer_frames = 0;
smooth_index = 0; smooth_index = 0;
smooth_limit = 0; smooth_limit = 10;
os_mutex_unlock(&frame_mutex); os_mutex_unlock(&frame_mutex);
} }
@@ -603,12 +603,12 @@ void smooth_filter()
continue; continue;
} }
*/ */
#define WINDOW_SIZE 3 int window_size = 9;
for (int u = 0; u < WINDOW_SIZE; u++) for (int u = 0; u < window_size; u++)
for (int v = 0; v < WINDOW_SIZE; v++) { for (int v = 0; v < window_size; v++) {
int g = j + u - WINDOW_SIZE / 2; int g = j + u - window_size / 2;
int t = i + v - WINDOW_SIZE / 2; int t = i + v - window_size / 2;
if (g < 0 || t < 0 || t >= frame_w || g >= frame_h) if (g < 0 || t < 0 || t >= frame_w || g >= frame_h)
continue; continue;
@@ -629,10 +629,9 @@ void smooth_filter()
continue; continue;
float weight; float weight;
if (t == i && g == j) if (t == i && g == j)
weight = 1 - center_roughness; weight = 1;
else else
weight = center_roughness; weight = maxf(center_roughness, 0.01);
weight += 0.1;
samples.x += weight * color_buffer[neighbor_pixel_location].x; samples.x += weight * color_buffer[neighbor_pixel_location].x;
samples.y += weight * color_buffer[neighbor_pixel_location].y; samples.y += weight * color_buffer[neighbor_pixel_location].y;