Skip to content

Conversation

@leMaik
Copy link
Member

@leMaik leMaik commented Jan 2, 2026

Fixes #1664

Thanks to @ThatRedox, we have a way to reproduce the issue:

Subject: [PATCH] a
---
Index: chunky/src/java/se/llbit/chunky/renderer/PathTracingRenderer.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/chunky/src/java/se/llbit/chunky/renderer/PathTracingRenderer.java b/chunky/src/java/se/llbit/chunky/renderer/PathTracingRenderer.java
--- a/chunky/src/java/se/llbit/chunky/renderer/PathTracingRenderer.java	(revision eefc0f72af48875d165d9eb7c1b9a5fca3b4ec71)
+++ b/chunky/src/java/se/llbit/chunky/renderer/PathTracingRenderer.java	(date 1766905427687)
@@ -82,6 +82,15 @@
         double sb = 0;
 
         for (int k = 0; k < sppPerPass; k++) {
+//          long randSeed = state.random.nextLong();
+//          state.random.setSeed(randSeed);
+
+          long randSeed = -7977825583683611334L;
+          state.random.setSeed(randSeed);
+          if (x == 1185 && y == 1126) {
+            state.random.setSeed(randSeed);
+          }
+
           double ox = state.random.nextDouble();
           double oy = state.random.nextDouble();
 
@@ -93,6 +102,14 @@
           sr += state.ray.color.x * branchCount;
           sg += state.ray.color.y * branchCount;
           sb += state.ray.color.z * branchCount;
+
+          if (!Double.isFinite(state.ray.color.x) || !Double.isFinite(state.ray.color.y) || !Double.isFinite(state.ray.color.z)) {
+            throw new RuntimeException(String.format("Invalid ray color: (%f, %f, %f)\nSeed: %d\nPixel: (%d, %d)",
+              state.ray.color.x, state.ray.color.y, state.ray.color.z,
+              randSeed,
+              x, y
+            ));
+          }
         }
 
         int offset = 3 * (y*width + x);

@leMaik leMaik requested a review from ThatRedox January 2, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NaN Pixels, buffer corruption

1 participant