2

Hello I saw that there are some laptops with 3D support. I know that they use polarization for each eye. How can I write a program in C# that shows a simple 3D object in such system? I don't want to show a 3D object in a 2 D medium (Perspective view), but showing a 3D object similar to what you can see in a 3D film using a 3D glass.

Any suggestion for further study is highly appreciated.

Regards

mans
  • 17,104
  • 45
  • 172
  • 321

2 Answers2

3

What you need to do is display two images one for each eye. Each image is a perspective view but taken from two slightly different viewpoints - about the distance of your eyes apart.

When viewed through polarising or more likely LCD Shutter glasses you get the illusion of 3D objects.

In this case each eye's view is presented on the screen alternately and a signal is sent to the glasses to become clear or opaque so that the correct image is seen in each eye.

For a passive system you have to use two projectors for the left and right eye images and make sure that they are perfectly aligned so the images overlap correctly. If you get it wrong you won't get a very good 3D effect.

In both cases you need to create two views of your model and render each one for each frame you display. I used to work in this area and a while back wrote a blog post which included an overview on how we did stereo systems.

ChrisF
  • 134,786
  • 31
  • 255
  • 325
  • While you are of course right, I think the main problem is telling the graphics driver when to display which view. You need the graphics card to enter another video mode for 3D vision. Also, the OP asked for passive (polarizing) stereoscopy, so there's no signal sent to glasses. – slhck Mar 19 '11 at 21:15
  • @slhck - you can't do passive systems with a single laptop screen. You need dual projectors - which you might be able to drive from a single laptop. – ChrisF Mar 19 '11 at 21:18
  • @ChrisF Hm, in theory it is possible to have passive displays without two projectors. Most laptops come with active glasses, however. – slhck Mar 19 '11 at 21:21
  • @slhck - how? I used to work in this area and if we could have done stereo with one projector we would have. It would have made our systems a lot cheaper! – ChrisF Mar 19 '11 at 21:24
  • @ChrisF It's not about projecting, it's about the screen itself. There exist some actively polarized displays as well - [like this one](http://www.anandtech.com/show/2779). – slhck Mar 19 '11 at 21:29
  • @slhck - ah - overlaid displays. These weren't available back in the early 2000s, plus we were installing systems that needed to be viewed by lots of people. A monitor wouldn't have worked :) – ChrisF Mar 19 '11 at 21:32
  • This is the laptop that I saw: http://www.it247.com/product/1/XXASUD65/LX-PRK02-058-Acer-Aspire-5738DZG-444G32Mn-3D-Ready-Laptop-P-T4400-2-2-GHz-15-6-3D-ready-TFT-4GB-RAM-320GB-HDD-DVD-RW-ATI-Mobility-Radeon-HD-4570-Win-7-Home.html?mc=HUK – mans Mar 19 '11 at 21:44
  • @user - I can't see from that page what technology the laptop uses, but you will have to generate two views, one for each eye no matter how they are displayed. – ChrisF Mar 19 '11 at 21:50
  • @ChristF, Is there any software library that for this? – mans Mar 19 '11 at 23:21
  • @ChristF As the laptop uses passice glasses, it should use the same technology that the monitor that slhck stated in his responce above. – mans Mar 19 '11 at 23:22
  • @User - OK - but you will still have to generate two images. Search Stack Overflow for questions. There are probably libraries, but I've been away from 3D for about 6 years now so I don't know what's current. – ChrisF Mar 20 '11 at 14:12
0

I think that you need to program directly using OpenGL or Direct3D. For the screen to display the polarized views necessary to achieve the 3D effect, the graphics card will need to know what it has to display. See here for some ideas.

Community
  • 1
  • 1
slhck
  • 36,575
  • 28
  • 148
  • 201