Another Story About How Fred Brooks is Smarter than Me

Maybe I could do a whole book, but I guess he already has.

Back when I was in gradual school Fred Brooks was the adviser for something called the building walk-through project. The idea was pretty crazy. You would model a building in a computer before it was built and “walk” around in it using 3d graphics. The system had a map view which was 2d overview and a first person 3d view which was generated by Pixel Planes 4. At some point there was a treadmill hooked up where you could really walk around and turn using  a bicycle handlebar setup. Oh yeah. And there was a full axis HMD. I’m bad with dates but I think it was around ’88-’89.

Some interesting stuff came out of this project. One that I recall was the relationship between navigation mode and frame rate. If the frame rate dropped below around 10fps the user would stop looking at the 3d display and revert to the 2d overview for navigation.

Anyways, Dr. Brooks was always preaching the idea that building walls were mostly flat and vertical and the floors were mostly flat and horizontal. Somehow there must be a way to take advantage of this when you render to get better performance.

I think I speak for me and a few other cocky grad students in saying our response to this was something like:

Look old man, back in your day you might have been hot stuff with your 360 machine, but nowadays its floating point matrices all the way down. How can what you say  matter? Besides what if the user tilts her head? Sheesh.

As far as I know none of us thought much about this problem.

A few years later when I was out in the “real world” someone brought in this game called “DOOM”. We were all blown away how this little 486 was doing perspective corrected 3d textured graphics so fast, it was almost comparable to the SGI’s we had. We thought and thought about how it could be doing this. We had no idea for quite some time. Then after looking at some other demos etc it clicked,

…perspective transform, constant , verticals, horizontals…







Leave a Reply

Your email address will not be published. Required fields are marked *