Paths as vertices · rayracer 16 · a ray tracer in tape
Tape Language
0:00 / 0:00
Paths as vertices · rayracer 16 · a ray tracer in tape
6 просмотров · 7 дн. назад
Tape Language
3 подписчика
6 просмотров · 7 дн. назад
The camera's path written down first — a list of vertices (render/path.tape: Vertex, Path, camera_path, light_along, trace_paths) — then lit; with the bounces and the light picks drawn from two random streams it gives trace's picture to the bit, proven by a test and by whole renders (--paths). What both ways share lives in render/lighting.tape.
After this episode, you can:
Move a group of functions into a module of its own (cut, paste, pub, one import), and show with a fingerprint that nothing changed.
Explain why the order random numbers are drawn in decides which picture comes out, and keep two jobs apart with two seeded streams.
Write a path down as a list of vertices (what was hit, the ray, the albedo, β, the bounce's pdf) and add its light up afterwards.
Prove two computations equal to the bit with a test (!=, not "near"), and see the test fail when the streams are shared.
Chapters
0:00 Closing too soon
2:06 Walking and lighting
6:39 Two streams
11:29 A vertex
15:11 The walk
18:14 The light along it
21:54 Proof
25:16 Whole pictures
Credits
Skies and textures by Poly Haven, CC0:
https://polyhaven.com/a/palermo_square
https://polyhaven.com/a/venice_sunset
Everything here is written in tape, a programming language of our own: https://www.tapelang.org
Made with a combination of AI, automation and human work, and with a love for programming.