You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: TODO.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,4 +81,8 @@ Once CPU-side camera is working:
81
81
82
82
## Technical Debt
83
83
84
-
1.[ ]`Array<T, N>` currently requires `T: Copy + Default` because we use `[Default::default(); N]` for initialization. This is overly restrictive. Ideally, `T` would only need to be "zeroable" (all zero bytes is a valid default). This would allow types like `Sphere` that aren't `Copy` but can be safely zero-initialized. The goal is something like `core::array::from_fn(|_| Default::default())` but in a form rust-gpu accepts.
84
+
1.[ ]**Ray tracer flips image left-to-right**: The interactive camera controls have inverted signs on movement and mouse look to compensate. The ray tracer appears to be rendering the image mirrored horizontally. The workaround is in `host/src/main.rs` (`update_camera`). The root cause should be investigated - likely in `Camera::new()` or `Camera::get_ray()` in `rtx-util/src/cam.rs`, possibly related to how pixel coordinates map to ray directions.
85
+
86
+
2.[ ]**Crash when camera enters an object**: The program sometimes crashes, likely when the camera position moves inside geometry. This may cause issues with ray-object intersection tests (e.g., negative t values, NaN from inside-surface calculations). Needs investigation.
87
+
88
+
2.[ ]`Array<T, N>` currently requires `T: Copy + Default` because we use `[Default::default(); N]` for initialization. This is overly restrictive. Ideally, `T` would only need to be "zeroable" (all zero bytes is a valid default). This would allow types like `Sphere` that aren't `Copy` but can be safely zero-initialized. The goal is something like `core::array::from_fn(|_| Default::default())` but in a form rust-gpu accepts.
0 commit comments