Posts

Showing posts from May, 2026

Tracing the Beam

Image
In this post, I want to talk about how I implemented 3D graphics rendering in my Tiny Tapeout demo Underflow Cubed , computing the pixels only a fraction of a scan line before they need to be displayed. This resulted in an algorithm that I'd like to call Ray Interval Tracing, which I will describe below along with a number of additional optimizations that were needed to keep down the size. The demo took part in the TTSKY26a Demo Scene Competition . Entries must be implemented purely in silicon. You get a limited area for your design, depending on the category (1/2/4 tiles). I was in the 4 tile category. Demos should produce output as RGB222 VGA video ( using the Tiny VGA Pmod ) and a single digital output for sound (e g, using PWM). The constraints are pretty tight: It's not a lot of silicon, and memory takes more space than gates. Memory is basically available in the form of Flip Flops (FFs), each can hold a single bit. A tile can fit maybe 500 FFs if you arrange them compactl...