Released at Inercia 2020, 4KB Executable Graphics (a single 4KB executable file generates this image, with no external data).

Download on Demozoo

When you forget which day the dealine is…

This isn’t what I started out making. I started something entirely different, but it’s been a busy month and I had little time to work on it. Then somebody mentioned the deadline… on the day of the deadline 😬

There wasn’t enought time to finish it, so I decided to re-work an older piece. The Church of the Spinning Cube logo felt like a good place to start, so I played around with the lighting and added some glass.

The one slightly interesting bit of new ‘tech’

Well, more of a composition aid, but new to me. I’d set my scene up with nice lighting and interesting caustics, but when I positioned the camera I had this:


It’s ok, but the marbles are blocking the view of the logo. Obvious solution: move the camera up:


Now we have a good view of the logo, and a lot of the wall behind because the camera’s too high, and the nice caustics are off screen. Next obvious fix: angle the camera down:


The view is fine now, but now the logo has perspective, and it looks better when it’s parallel to the camera. Tilt the wall and logo? Redesign the whole scene?!

No, there’s an easy fix! In photography, in this situation I would use a wider lens. Then I’d take the shot parallel to the logo, from higher up. The composition would be bad, because you’d get even more wall, but the part of the view I want would be in frame, and I can crop it later.

It turns out cropping isn’t even necessary! We can just pan the camera view.

I took this view:


Then I just offset the uv coordinates I use to setup the camera:

uv -= 0.6;

That’s it! Just one tiny line of code shifts the view down while preserving the composition. Exactly like taking a bigger view with a wider lens and cropping, only easier.