From 7e0fc44e4b2df4b2789f65d2300bfe94c732554b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mercan=20Yazici?= Date: Tue, 21 Jul 2026 10:09:59 +0200 Subject: [PATCH 1/3] Allow NaNs and Infs inside Json --- SeeSharp/Images/FrameBuffer.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SeeSharp/Images/FrameBuffer.cs b/SeeSharp/Images/FrameBuffer.cs index 4ce7512..a3efbd1 100644 --- a/SeeSharp/Images/FrameBuffer.cs +++ b/SeeSharp/Images/FrameBuffer.cs @@ -420,8 +420,11 @@ public void WriteToFile(string fname = null) .Assembly.GetCustomAttribute() .InformationalVersion; - // Write the metadata as json - string json = JsonSerializer.Serialize(MetaData, options: new() { WriteIndented = true }); + string json = JsonSerializer.Serialize(MetaData, options: new() + { + WriteIndented = true, + NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals, + }); File.WriteAllText(basename + ".json", json); } From ad1ff3ac10ee12c7b176c7e76bf11cff2e6049dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mercan=20Yazici?= Date: Tue, 21 Jul 2026 10:10:15 +0200 Subject: [PATCH 2/3] Actually load the reference image for convergence tracking --- SeeSharp/Experiments/Benchmark.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/SeeSharp/Experiments/Benchmark.cs b/SeeSharp/Experiments/Benchmark.cs index 1e4eeba..b0999a3 100644 --- a/SeeSharp/Experiments/Benchmark.cs +++ b/SeeSharp/Experiments/Benchmark.cs @@ -73,6 +73,7 @@ float RunScene(SceneConfig sceneConfig, bool skipReference) { string refFilename = Path.Join(dir, "Reference.exr"); reference.Value.File.CopyTo(refFilename, true); + refImg = new RgbImage(refFilename); try { From a0b1dea28e4d1c9e9c75c21e80b90259604a1c83 Mon Sep 17 00:00:00 2001 From: Pascal Grittmann Date: Wed, 22 Jul 2026 09:09:40 +0200 Subject: [PATCH 3/3] cleanup --- SeeSharp/Experiments/Benchmark.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/SeeSharp/Experiments/Benchmark.cs b/SeeSharp/Experiments/Benchmark.cs index b0999a3..d1465f0 100644 --- a/SeeSharp/Experiments/Benchmark.cs +++ b/SeeSharp/Experiments/Benchmark.cs @@ -73,7 +73,7 @@ float RunScene(SceneConfig sceneConfig, bool skipReference) { string refFilename = Path.Join(dir, "Reference.exr"); reference.Value.File.CopyTo(refFilename, true); - refImg = new RgbImage(refFilename); + refImg = reference.Value.Image; try { @@ -102,8 +102,7 @@ float RunScene(SceneConfig sceneConfig, bool skipReference) method.Integrator.MaxDepth = sceneConfig.MaxDepth; method.Integrator.MinDepth = sceneConfig.MinDepth; - if (computeErrorMetrics && refImg != null) - scene.FrameBuffer.ReferenceImage = refImg; + scene.FrameBuffer.ReferenceImage = computeErrorMetrics ? refImg : null; scene.Raytracer.ResetStats(); ShadingStatCounter.Reset();