DEV Community

Cover image for The Blind Spot of AI
Johan Stolk
Johan Stolk

Posted on

The Blind Spot of AI

Last week I was adding shadows to the Blazor port of an old 3D space game of mine. The original C++ version — created around 2005 — already had shadows, using the shadow volume technique. Back then it took me about two months of evenings to get it working. Documentation was scarce, and shadow volumes are anything but trivial.

The original C++ game, circa 2005
The original game, running on period-accurate hardware.

AI enters the picture

Fast forward to 2026. My Blazor port (started in 2022) needed the same shadows, and this time I had AI to speed things up. It's still a genuinely hard graphics algorithm, though — I was using Claude Sonnet to help with the port, and it kept going in circles because it relied on its own recollection of the algorithm instead of the working source I'd given it. Switching to Opus finally got things moving.

Intro scene of the 2022 Blazor game
The Blazor port so far — same universe, new stack.

The debugging view

While debugging, the AI generated this visualization of the shadow volume:

Shadow volume debug view
The projected shadow volume, visualized in red.

Everything looked correct — you can clearly see where the shadow should land on the floor plane.

The surprising failure

Next it rendered the shadow itself, to check that it actually worked:

Shadow rendered on a near-black floor
Can you spot the real issue?

This is where it got interesting. Any human looking at that screenshot immediately notices the shadow is being projected onto an almost-black floor, making it nearly invisible. The AI, however, concluded that the shadow rendering itself was broken!!

The blind spot

Only after I pointed out the obvious did it change the floor texture:

Shadow rendered on a lighter floor
Nothing changed except the floor texture.

The shadow had been there the whole time — it was simply impossible to distinguish from the floor it was drawn on.

This was a good reminder that today's AI is incredibly capable at reasoning about code, but it can still miss things that are visually obvious to a person. It was analyzing pixels and logic rather than stepping back and asking, "can a human actually see the result?"

What's next

The spacecraft's self-shadowing is still incorrect, so that's the next challenge — I'm curious whether Fable can solve the part where Opus got stuck.

Have you run into a similar blind spot with AI — a case where it was technically right but missed something a human would catch instantly? I'd like to hear about it in the comments.

Top comments (0)