Friday, October 26, 2007

Third Dimension

If you haven’t already, I suggest you read the post Kato wrote on 3D that inspired me to write the following:

I’ve done a bit of real-life 3D photography in my time, so when I saw Kato’s post, I decided to give making ‘gaming’ 3D pictures a try. Not owning an Xbox360 or Halo, I fired up World of Warcraft.

Unfortunately, my cut-down ‘technique’ doesn’t allow for the same action shots that Kato’s 3D creations have. All I could do was set the in-game camera to first person, find a scene that had little or no movement, snap a screenshot and then tap the ‘sidestep right’ button.

What I ended up with was a 3D picture of an NPC standing outside the tavern in darkshire.

For me, the ‘wow factor’ of a 3D picture taken from a game is the sudden realization that all of those characters, buildings and scenery are actually 3D. We’re so used to seeing a 2D representation of a 3D environment, that seeing them in true 3D is mind blowing.

In other words, any time you play a first person shooter, or pretty much any game these days, you’re looking at a true 3D space that only seems flat because we’re only getting a single viewpoint.

[Science Content – Feel free to skip this part if you already know or don’t care how 3D picture work.

We see the real world in 3D because we get two slightly different pictures at different angles from each of our eyes. Our brains merge those two different images into a single three-dimensional image.

When we look at the 3D picture, we’re looking at two different viewpoints that are overlapped. We put on 3D glasses and because the blue image doesn’t show up through the blue lens and the red doesn’t show up through the red lens, our left eye only sees the left angle and vice versa. We get the two different viewpoints that make up a 3D image.

When you play a game, you’re looking at 3D geometry from a single camera view. That’s why it’s ‘flat’ and doesn’t jump out at you.]

Anyway, this got me thinking.

In the early 90’s a few games came out that had stereoscopic display options. The two that stick in my mind are ‘Magic Carpet’ and ‘Descent’.

My favorite way to play Descent was with the ‘cross eyed’ 3D view. This simply put the two different viewpoints on the screen side by side. To play in that view I taped a piece of paper to my glasses that was positioned in such a way that it blocked the right image from the left eye and vice versa.

Sure, I looked stupid, but I was playing a 3D game in true 3D without losing any of the colors that I would if I used red/blue glasses…and you know what? It was awesome.

It’s hard to explain just how big a difference playing in true 3D makes. It made flying around those tunnels a lot easier, and actually seeing enemy fire flying towards you gave a level of immersion I’d never experienced before.

Anyway, last night, as I looked at my 3D picture of World of Warcraft, I had to ask myself…Why isn’t true 3D standard by now?

Of course, using red/blue glasses robs you of a lot of the color, which is a big no-no in our ‘pretty graphics are essential’ world. The cross eye method (even using a home-made ‘blocker’ like I did) only works if your head is in just the right position. You can buy headsets now that have a separate screen for both eyes, but those are expensive.

But what about shutter glasses?

These became available in the mid 90’s, but they were expensive as hell and made the image flicker. They worked by having your monitor alternate between the two viewpoints while the shutter glasses used LCD shutters to block each eye in time with the picture on screen.

These were expensive and buggy in 1994, but what about today? LCD screens (like the one in your pocket calculator) are cheap as chips, monitors have much higher refresh rates and graphics cards are much, much faster.

With the drop in costs, I’d bet you could sell a pair of shutter glasses along with software to make them work with existing games for under $60. (As an aside, a TV manufacturer I’ve written about previously wrote software that converted regular games to true 3D, so we know that’s possible)

I think this is another case of “before its time” syndrome. Just like virtual reality gaming that was a huge flop in the early 90’s (people didn’t want to wear a 50lb helmet to play a game with terrible graphics, using a control system that was sluggish and unresponsive), people didn’t want to pay hundreds of dollars for a device that gave them a splitting headache.

With today’s technology all those problems would be solved and we’d be able to play our existing games in true 3D for about the same cost as a new console title.

So I ask again…why isn’t this standard equipment by now?

1 comment:

Kato said...

I think it would probably become standard if the game companies decided it was a "must-have" for gaming. The R&D guys over at nvidia and ATI could probably get good 3D stereo to be a reality in games in a few short years if there was a push to develop it. Right now they don't have any real incentive because people are happy with the status quo.

It's not hard to implement 3D in video games on the software side (you essentially just create another camera). It's hardware that is holding us back. HMDs are a good solution because both eye get a screen, but they are cumbersome to implement (though LCDs make it much easier this day) and expensive and the close display is likely to lead to eye strain easily.

Red/Blue stereo is cheap and easy, but you lose color, so that's a no go.

Polarized stereo gives you good color at the cost of reducing brightness, but preserves color (most modern 3D attractions/movies use the polarized technique). But, you can't do the polarized technique with a computer monitor (at least not right now).

So, the last of the existing options is shutter glasses. This also preserves color and doesn't necessarily reduce brightness like polarizing would, but it has a different cost: refresh. Good shutter stereo really requires about 45-60 hz per eye. So, you need a display device that can do a 100-120 hz refresh. Some CRTs can do this, as can some projectors, but LCDs currently can't support this kind of refresh.