The shadow bug is fixed!

Earlier today, we announced a maintenance release for Google SketchUp 8 (free and Pro) that is a free upgrade for all SketchUp 8 users. One of the bugs we’ve fixed is the oldest and thorniest in our bug tracker. Most folks call it the “Shadow Bug.”

Let’s roll back the clock a little bit before I explain the fix. In the spring of 2001, we introduced real-time volumetric shadow rendering in SketchUp 1.1. At the time, only video games were really doing this sort of rendering, and it was pretty exciting to see shadows cast from a model that you made yourself. When I got my first demo, I declared them to be the most “Undeniably Sexy” thing that I had seen all week. It was shortly after that that I left my day job to join @Last Software – SketchUp was clearly something that I had to be a part of.

Awesome though shadows were in most cases, there was a fatal flaw. When the camera passed inside a shadow volume, there were places where the rendering algorithm just plain fell flat on its face – leading to flashy, jagged and just plain wrong-looking shadows from some points of view. Unfortunately, there wasn’t any obvious way around that problem.

In the SketchUp 3 and 4 release cycles (launched in July of 2004), we worked on this problem some more and found a new algorithm that looked promising. Unfortunately, we found that this algorithm, while usually better when the camera was inside the shadow volume, failed even more spectacularly than our original algorithm in other common uses. Admitting temporary defeat, we pulled the new algorithm out and went back to the drawing board again.

Hero engineer sporting early @Last Software t-shirt

As I’ve often said when asked about “the shadow bug”, the only way we’d be able to fix it is if we came up with a clever new algorithm. As luck will have it, one of our engineers (the same guy who implemented the original shadow rendering ten years ago) never quite gave up on the problem. And a few weeks ago, he figured out a new solution. Just like that. I’m proud to say we’ve (finally) fixed shadow rendering for all those cases where the camera was inside the shadow volume and included it as a part of today’s maintenance release. Need a visual? Here’s a video that shows the our new and improved shadow rendering at work:

There’s lots of other good bug fixes in M1, and it is both free and recommended for all users. Here’s how to make sure you have the latest version of SketchUp 8:

Windows: Choose Help > Check for Update
Mac: Choose SketchUp > Check Web for Update