Follow one pixel all the way through
The native project renders a small sphere-and-plane scene on the CPU. For each pixel center, a perspective camera constructs a ray; geometry chooses the nearest accepted hit; shading assigns a color; the output stage converts that result into PPM channel values. A ray that misses takes the renderer’s background path. There is one sample per pixel, so this is not an anti-aliasing or sampling-quality lesson yet.
Read these stages as separate decisions. Scene validation owns the input boundary. Math functions answer geometric questions. The renderer chooses visibility and appearance. The command handles paths and reports failure. That separation lets you test a ray-sphere intersection without needing an output file or an image viewer.
Choose one pixel near the center and trace its values on paper. Record the ray origin and direction, the accepted t, the hit normal, and the resulting channel values. The goal is not a photorealistic image yet; it is an image whose decisions you can explain.
Run the included studio scene locally. Find the loop that visits pixels and the function that tests a sphere. Draw arrows between the pipeline stages using the actual native function names.
