A question from Gabe · 17 August 2026
Gabe asked a fair question about the tools: “given the current way we create maps and depth maps, what would be the costs and benefits of using Blender instead of your own software?”
Blender is the professional 3-D package — free, enormously capable, and used to make actual films. Against it I have a program I wrote myself, which knows three shapes and casts no shadows. It should be an easy call. It isn’t, and working out why turned up two errors in my own notes.
Solids in this street
116
Shapes my program knows
3
Seconds to draw one view
42
Cast shadows in it
0


Section 1
One list of solids, two pictures
Every location in this project is a list of simple solids measured in metres — boxes, upright cylinders, and boxes tilted about one axis. This street is 116 of them. The list is typed by hand into a text file, and that file is the only thing that is really true about the place.
From that one list my program fires a ray through every pixel, works out which solid it hit and how far away, and makes two quite different pictures of the same view.
The distance drawing. A grey picture where near is white and far is black. This is the one channel the machine genuinely obeys when it comes to where things are. Words have never worked for layout; this does.
The starting render. The colour picture on the left above. The machine normally begins from random noise; instead it begins from this, and is allowed to destroy about seventy per cent of it. So the geometry it starts from is already correct, and it spends its effort on being a photograph rather than on inventing a street.
Both pictures come out of the same list, in the same pass, by the same arithmetic. They therefore cannot disagree with each other about the world. That property is doing more work than anything else in the pipeline, and it is the thing most easily lost.
Section 2
What it cannot do, honestly listed
No shadows. Look again at the left panel: nothing casts a shadow onto anything. The only shading is a rough estimate of how much sky each surface can see. A shadow on the ground where an object meets it is one of the strongest signals that a picture is a photograph, and right now the machine has to invent every one of them.
Three shapes. No curves, no arches, no bevels, no landscape. A chamfered corner has to be built as a staircase of ten boxes, and it looks like one.
Detail painted on by formula. The rows of windows and the shopfronts in that render are not modelled — they are arithmetic, painted onto flat walls by a piece of code I wrote for this one street. Every new architectural style is a new piece of code.
And the sets are built blind. This is the real cost, and it is not a rendering problem at all. A set is coordinates in a text file, checked only by looking at grey pictures afterwards. A building stood in the middle of the street, seventeen metres tall, blocking the road, for three days. The distance drawing did not reveal it. The plan view did not reveal it. Two days of looking at frames did not reveal it. It surfaced only when a camera pointed the other way came back with a blank grey slab across two thirds of the frame.
Section 3
What Blender would buy, and the biggest prize is not the picture
It would fix nearly everything in that list. Real light, with real shadows and soft darkening where surfaces meet. Any shape at all — arches, curves, terrain, actual props instead of a box with a cylinder on top. An exact distance pass at any depth, at higher precision than I can currently carry.
But the thing worth most is none of those. It is a window Gabe could fly through the set with his own eyes, before a single frame is rendered. That was his instinct when he first raised it, and he was right about why it matters: the building in the street, the lamp post a metre from the lens, the planters standing in the middle of the pavement, the flat board sitting on top of the lamp columns. Every one of those cost real work to find. He would have caught all of them in ten seconds.
Section 4
The trap: a better picture is not a better instruction
Here is where the easy call stops being easy, and it comes straight out of what went wrong on 16 August. The picture you start the machine from does not merely suggest a shape to it. It teaches everything about itself — its geometry, its brightness, its texture, and its sky. That sentence has now explained four separate faults: surfaces came back as plastic because every surface in the render was one flat value, and a sky came back as a plaster wall because the render’s sky was a smooth pale field with nothing in it.
So a beautiful Blender render with hard sun shadows would teach hard sun. If the scene is locked to an overcast afternoon, I have not made the instruction better — I have introduced an argument. Looking good and being obeyed are not the same axis, and I have already been caught twice assuming they move together.
There are two more costs of the same kind. Every setting we currently trust — how much of the starting picture to destroy, how hard to hold the layout, how many steps to run — was tuned against my renderer’s output, and would all have to be measured again. And if the picture came from Blender while the distance drawing still came from my program, the two could now contradict each other. That has already happened once from a much smaller cause, and it is a genuinely nasty class of fault, because both channels look correct on their own.
Underneath all of it: a set today is one small readable text file, versioned, comparable line by line, and the single source of truth. A Blender file is a sealed binary. Every checking instrument I have reads the text list.
Section 5
Two things in my own notes were wrong
Checked, because they were about to decide the answer
The download size was off by a factor of twenty. My open question recorded Blender-as-a-library as a 6.7 gigabyte download, which is heavy enough to be an argument on its own. It is about 340 megabytes. The 6.7 GB figure belongs to something else entirely: it is the size of one of the large files the picture-making machine itself runs on, listed on the same page of the same research note and quietly copied into the wrong row.
And Blender is not installed. My notes say Gabe has it on the machine, so I checked: it is not on the path, not in either program folder, and not in either games library. So “he could already fly the set” was not true, and the cheapest version of this idea has never actually been available.
Neither error would have been caught by reading. Both were sitting in the row that exists to hold the reasoning for this exact decision, which is the uncomfortable part.
Section 6
The answer, and the order
Not as a replacement. Yes as a viewer, and cheaply.
The list of solids converts into a Blender scene almost trivially — a box, a cylinder and a tilted box are about three lines each. So the first step is a one-way export, cameras included, with the text file staying the source of truth and nothing downstream depending on it. That is roughly an hour’s work, it risks nothing, and it buys the single biggest benefit: Gabe looking at a set before any work is spent on it.
Only after that is it worth one honest comparison — the same camera, the same words, the same seed, the same distance drawing, everything identical, with the starting render coming from my program in one arm and from Blender in the other, under matched overcast light.
But it is not next, and that matters more than the answer. Three things are ahead of it, and they are all cheap: does this street survive being asked for three times with different random seeds; does it survive the other six cameras; and does it survive motion, which is the only test that means anything for a film. As I write this, every result is a single still frame from a single seed. If any one of those comes back badly, the quality of my little render was never the question.
And the honest trigger for going further, worth writing down now so it isn’t argued about later: if we stay stuck between “still looks like a video game” and “beautiful photograph of the wrong street”, then a softer, better-lit picture to start from is exactly the lever that widens that gap — and at that point Blender earns the larger investment rather than merely deserving it.
Added later the same day
The three gates were run within hours, and all three passed
The paragraph above says the Blender question is not next, because three cheap tests were ahead of it. Those tests ran the same afternoon, in a second thread of work, and all three came back yes. The street holds across three different random seeds. It holds across all seven cameras, including one standing inside the arcade, which produced the best frame of the day. And it holds across four seconds of motion — at the last frame both cameras are still the same street, and they had drifted very slightly closer together rather than apart.
So the comparison is no longer parked. It is next in line. And two of the day’s findings sharpened the case for it in a way I had not anticipated when I wrote this, because neither of them is about shadows.
Both new arguments are about materials, not light
The starting render pins where things are and says nothing about what they are made of. Measured across three seeds, the layout held firmly and the palette did not improve at all. One camera returned a Baroque palace, plain stucco and modern cut stone on the same block. My render carries flat invented colours, so the machine correctly reads them as carrying no information — and a real material system is the obvious answer to that.
And my texture is measured in pixels rather than in metres. On a close shot — a shopfront at three metres — the fine mottling I add to stop surfaces reading as plastic is, at that distance, a blotch the size of a metre of wall. The frame came back as coursed rusticated stone where the description asks for plate glass. A proper material is scaled in metres by construction and cannot make that mistake.
Which leaves the recommendation standing but re-aimed. I argued for Blender as a window to look through, and against it as a source of pretty light. The light is still not the prize. Materials might be — and that is a better reason than the one I came in with.
