[DIY] Auto-Stereo with Parallax Barriers

Tutorials on how to create your own rigs, pics, movies, and everything that has to do with S-3D at home!
Post Reply
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

I've done some tests with using the monitor rotated in portrait mode, and it does look better. There is still some ghosting, however there is no errant color bleeding like with the past shots. If I increase the duty cycle I think I can practically eliminate the ghosting (at the cost of reduced light throughput). However, most games will not work like this (UT2004 and Mirror's Edge are the only ones so far that would run) so it is not a good long-term solution. But it is good to know how it compares. I also adjusted the pattern slightly, I'm still tweaking it.
DIY_Parallax_Barrier_2011_06.jpg
DIY_Parallax_Barrier_2011_07.jpg
DIY_Parallax_Barrier_2011_08.jpg
You do not have the required permissions to view the files attached to this post.
vpamir
One Eyed Hopeful
Posts: 7
Joined: Tue Dec 21, 2010 3:09 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by vpamir »

hey did you tried changing the thickness of the transparent sheet? maybe it could help, just a thought :)
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

Does the monitor have a gloss or matte finish?

Do you think if I sent you a polarizer sheet, you could print directly onto that?
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

@vpamir: Yeah, I have tried adding in blank sheets in-between the barrier and the screen in order to add more thickness. However I have not tried this with my new printer or paper, so maybe it will give better results.
PalmerTech wrote:Does the monitor have a gloss or matte finish?
The monitor is glossy.
PalmerTech wrote:Do you think if I sent you a polarizer sheet, you could print directly onto that?
That could be possible, but I am not sure how that would help me at all. It doesn't seem like parallax barriers and polarized light have anything to do with each other. In addition, I am using the Zalman Trimon for this, which already has a FPR polarizing sheet embedded in the monitor. So any additional sheets would likely conflict. Also, the transparency film does affect the polarization already. If I just put a blank sheet on the screen, now my Zalman glasses no longer work (its as if its just a regular monitor).
vpamir
One Eyed Hopeful
Posts: 7
Joined: Tue Dec 21, 2010 3:09 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by vpamir »

have you tried changing the thickness of the pattern lines?
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

I know how to strip and apply polarizer sheets, so if the pattern was printed directly onto a polarizer layer, then applied as a replacement to the original polarizer, you might get a little help with viewing angles by minimizing the light path, and getting it as close as possible to the LCD glass.

Just pondering, not sure how much of a practical difference it would make.
vpamir
One Eyed Hopeful
Posts: 7
Joined: Tue Dec 21, 2010 3:09 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by vpamir »

@palmertech

polarization and parallax barriers are two different things. i don't think it would make a difference printing the pattern to a transparent sheet and a polarized sheet.
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

I know that.

LCD panels are basically a sheet of glass with one polarizer sheet on the back, and one on the front. I was suggesting printing right onto that front one.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by android78 »

PalmerTech wrote:I know that.

LCD panels are basically a sheet of glass with one polarizer sheet on the back, and one on the front. I was suggesting printing right onto that front one.
One thing that a parallax barrier needs is some space between the pixel and the barrier layer, or else you just block out every second pixel, and this will be the same for each eye.
Just out of interest, how do you 'I know how to strip and apply polarizer sheets'?
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Well I have no interest in taking apart the monitor for this mod. The idea is that its non-destructive. Also, like android78 said, the entire concept of parallax barriers requires a certain distance between the panel and the barrier. The glass is necessary. If the barrier were under the glass it would not work.

@vpamir: I can only alter the thickness of the line if I use the monitor in portrait mode. I have done some test like this and it does help reduce ghosting. However in standard landscape mode it does not work like this. It will either increase ghosting, or ruin the colors. So the barriers have to be uniform to the spacing.

I did have some luck with reducing the thickness of the barrier. What I did was place the sheet with the printed side facing the monitor, basically as if I had printed directly on the glass. This improves the ghosting levels and the overall image quality (color reproduction, etc.). In fact, I am not sure I am going to get much better quality than where its at now. While the ghosting tests don't look perfect, when actually playing a game the ghosting is more than acceptable. In dark scenes it can be a problem, but that's true even for commercial solutions. However, in some cases, the ghosting is even less than with the Zalman itself. So I am alright with that. I will just need to get the full-sized paper and see if the pattern can keep its phase over the longer distance. But I am extremely close at this point. Its almost done.
DIY_Parallax_Barrier_2011_09.jpg
DIY_Parallax_Barrier_2011_10.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

http://www.youtube.com/watch?v=3JPp8i287MU" onclick="window.open(this.href);return false;

Watch in 720P cross-eye for the best effect. Keep in mind this is just running in an 800x600 window, not full-screen, so that is why the resolution looks blurry.
vpamir
One Eyed Hopeful
Posts: 7
Joined: Tue Dec 21, 2010 3:09 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by vpamir »

just beautiful! :woot

if you're viewing cross-eyed don't forget to check "Swap (right-left)" from the 3D settings of the YouTube player.

when is the documentation and guide coming???
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

Nice job ! One thing I don't get though is why the screenshots taken from the video game are mostly red for the left view and blue for the right one, but they seem to have correct colors with the DDD ghosting test.
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Likay »

Ok, this looks really good. With the method used it's amazingly good!
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Thanks guys. Its really coming along. I should have the full sized 13"x19" paper within a few days, so then I can try with the whole monitor.
Fredz wrote:Nice job ! One thing I don't get though is why the screenshots taken from the video game are mostly red for the left view and blue for the right one, but they seem to have correct colors with the DDD ghosting test.
LOL! I should have mentioned: those images are from 2 different parts in the game. I am using them simply because it is more obvious if there is sub-pixel bleeding if I use primary colors (its also a throwback to red/cyan anaglyph, so I think its cool). Its supposed to look like that. Here is what the original source image looks like:
DIY_Parallax_Barrier_2011_11.jpg
You do not have the required permissions to view the files attached to this post.
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

android78 wrote: Just out of interest, how do you 'I know how to strip and apply polarizer sheets'?
My other hobby, making portable game console units out of vintage full sized consoles like the NES, N64, PSX, etc deals a lot with LCD screens. I got into polarizer replacement trying to improve the clip-on PSone game screen, which is frequently hacked and used for portables. I was replacing the polarizers with ones from the 3M Vikuiti line, and also repaired a few screens with new polarizers in cases where they were severely scratched.

I later got even better at it when I started modding original Gameboy's with LED and Electroluminescent backlights (I was the first person to ever backlight a gameboy with EL!). I have also replaced some laptop polarizers to fix severe scratches. Anyways, to be on topic...

This is amazing, Cyber! That video is great, are the ghosting levels really that low? Worlds and worlds better than my IZ3D, I really want to try this myself! Thought about trying to launch a semi-commercial product?
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

PalmerTech wrote:This is amazing, Cyber! That video is great, are the ghosting levels really that low? Worlds and worlds better than my IZ3D, I really want to try this myself! Thought about trying to launch a semi-commercial product?
Yes, the ghosting levels are actually that low. The video was not doctored in any way. Along the edges you start to get some bleeding, but you don't notice this much while playing (since you are usually focused in the center of the screen). It remains to be seem if this will hold up with a bigger barrier, but we will find out soon. I did actually entertain the idea of making a semi-commercial product, but I still have to sort a few things out. Mainly being that the screen is basically unusable for 2D content once you attach the barrier. So there needs to be a simple way to take it off and put it back on. I do I have some ideas, but I am just not sure that people want that kind of hassle. The professional parallax barrier screens use an monochrome LCD panel as the barrier, so they don't have this problem. You can easy switch into 2D mode, or even have only part of the screen in 3D. With a printed barrier you would have to go through the mounting process everytime you want to play a game. Not sure people would be interested. Anyway, I think it will be more fun just to release the plans online for free so anybody can do it themselves.
User avatar
Okta
Golden Eyed Wiseman! (or woman!)
Posts: 1515
Joined: Tue Feb 12, 2008 5:22 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Okta »

How difficult is it to line up the barrier when putting it on? Do you just select a test image and line it up? It has to be so perfectly lined up with the pixels i imagine it would be a nightmare? I guess it only needed to be vertically perfect, then your head will just adjust horizontally?
"I did not chip in ten grand to seed a first investment round to build value for a Facebook acquisition."
Notch on the FaceDisgrace buyout.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Okta wrote:How difficult is it to line up the barrier when putting it on? Do you just select a test image and line it up? It has to be so perfectly lined up with the pixels i imagine it would be a nightmare? I guess it only needed to be vertically perfect, then your head will just adjust horizontally?
Lining up the barrier is somewhat tedious, but its not really that hard. I just use my black/white testing pattern and then slowly shift the barrier until it aligns correctly. I just have to make sure the lines are parallel to the pixel columns. Positioning the barrier horizontal or vertically is not important. Vertical makes no difference since the lines are straight, and with horizontal you can just move your head to the side a bit and it will be fine. I wouldn't say the process is easy, but its not that hard either. What is a hard is aligning a checkerboard pattern. I actually tried this the other night and it was a complete nightmare. It had to be perfectly aligned in both x and y axis to the sub-pixel level (in addition to having no rotation). Then if its off you try to move it to the right a little bit, but then it moves up too. Very pesky. I did finally get it somewhat working in the end. However the quality was not acceptable. Although the perceived resolution was greater, it made the image much darker and ghosting was way worse. But, in theory, it could work. However with the interleaved pattern I basically have something working now, so I am not going to bother with checkerboard at the moment.
Galo
One Eyed Hopeful
Posts: 4
Joined: Thu Jan 20, 2011 6:41 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Galo »

That's a great job man!!! Just wondering, what driver (and mode) are you using to produce the vertical interleaved of the screenshots of HL 2?

Edit: forget that :roll: I just saw in one of your videos that you are using the IZ3D with vertical interleaced.
Last edited by Galo on Thu Jan 20, 2011 12:58 pm, edited 1 time in total.
Galo
One Eyed Hopeful
Posts: 4
Joined: Thu Jan 20, 2011 6:41 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Galo »

sorry for double post :oops:
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

I am guessing a 28" monitor would be too large for you to print a sheet?

I am using a 23" right now, about to upgrade to 28", but I might get a 22" spare with the same dot pitch as yours if I can buy a matching sheet off of you. :) I wonder how it would work with an IZ3D display, I have one of those I rarely use.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

28" could work. The biggest standard size available of transparency film is 13" x 19" (which I have, but haven't had time to test yet). This would fit a 24" 16:9 monitor with less than an inch margin on the left and right sides. Bigger than that you would need to get a roll of transparency, which you can do but its a little more expensive. I did the math and a 27" 16:9 monitor would be possible with just a small 1/10 inch margin on the top and bottom. So 28" could work as well, you would just have a slight margin on the top/bottom, but I don't think this will be too noticeable.
snarfbot
Two Eyed Hopeful
Posts: 59
Joined: Thu Dec 25, 2008 1:31 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by snarfbot »

wow thats really incredible work, not bad with a rocket launcher either!
User avatar
Okta
Golden Eyed Wiseman! (or woman!)
Posts: 1515
Joined: Tue Feb 12, 2008 5:22 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Okta »

Say someone had a spare 19inch lcd and they wanted you to print one up for them... how would you go about working out the pixel pitch for it and printing it up or would they have to start from scratch as you did and keep printing test sheets until it worked?
"I did not chip in ten grand to seed a first investment round to build value for a Facebook acquisition."
Notch on the FaceDisgrace buyout.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Okta wrote:Say someone had a spare 19inch lcd and they wanted you to print one up for them... how would you go about working out the pixel pitch for it and printing it up or would they have to start from scratch as you did and keep printing test sheets until it worked?
There are a lot of factors involved, just having the pixel pitch will only get you so far. For example, the thickness of the glass on the screen is a factor. So is the IPD of the user. I mean, if someone had a different brand 1680x1050 22" LCD, I bet the pattern I'm using on the Zalman would be close enough. But for any other sizes, resolutions they would have to figure it out like I did. I do have a method that makes this easy to follow, and I will be writing a tutorial in the next few days. But it is still a process of trial and error. I was thinking maybe as a community we could pick a widely available cheap LCD screen as a standard model (lets say up to 24", anything bigger may not be economical to do this). I would then buy this model and perfect the pattern on that. Then I could post the pattern file, or even send people sheets if they want (and you buy the specific monitor). I've seen some 1080P LCDs going for like $150 or less, so this idea could actually work. And it would be cheaper than buying just the Nvidia 3D Vision glasses alone forget the monitor!
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

I know I am biased, considering I will be buying (Another) one of these, been using one for the family as a bedroom TV, but my suggestion is this:

http://www.amazon.com/Hanns-G-HG281DPB- ... 705&sr=8-2" onclick="window.open(this.href);return false;

Why? It is proper 16:10, but it supports pixel to pixel mapping for 16:9, which would allow for having a small black border on top and bottom so your transparency could fit. It is also a very bright panel, and has 3ms response time, great for gaming.

Expensive, you say? Not quite! :) See, this EXACT same panel was used in several TVs made by the same OEM. That is right, a 16:10 TV! I got mine for $299 as a TV at Costco, there are many versions of this screen, you can find them for under $200 all the time on eBay! But here are some links to new ones:

http://www.amazon.com/I-Inc-iH-282HPB-C ... 705&sr=8-1" onclick="window.open(this.href);return false;

http://www.amazon.com/Hannspree-ST289MU ... 902&sr=8-1" onclick="window.open(this.href);return false;

Thoughts? Yes, I know I am being selfish, but that particular panel is a fantastic deal.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Well that seems a little big for what I was thinking. I would want to keep cost as low as possible, and the larger sizes make the barrier more difficult. The tallest I can print is 13", which makes 16:10 more problematic. To go any bigger would require professional level large-format printers ($5,000+, which I'd rather spend on a CAVE). That also does not seem like a widely available model. Even Amazon themselves do not carry it. It would have to be something that can easily be purchased anywhere online.
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

Newegg has carried the HannsG 28" monitor for a long time, when it was $320, it was a 10x "Customer Choice of the Week" award winner. It is also on sale at several retailers, including Best Buy and Costco.

That said, you are probably right. I know it is not the best choice, but like I said, selfish here. :P But 24" would be great! Any particular models in mind? Business line models are often available more widely and reliably than consumer lines, because of their longer product update cycles. Not sure if that makes economic sense, just comes to mind.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Well 23" would be the ideal size since we could use standard Super B transparencies. With 23" we can fill the full vertical space and only have about 0.5" of margin on the left or right. This is pretty minor and probably not noticeable while playing a game. If we go to 24" then there would be almost an inch margin on the sides (about 0.95"). I could get a roll of transparency, which would mean the full screen could be filled but this adds some cost to the project. But it certainly could be done. I did a quick search and the Acer G235hAbd seems like a nice candidate. It sells for around $140, its a 23" 1080P display with good reviews (however it could have better distribution):
http://www.newegg.com/Product/Product.a ... 6824009266" onclick="window.open(this.href);return false;

The key aspect of this is the economics. If you have to spend $300-400 it doesn't make sense because for that price you can get a real 120Hz 3D monitor.
PalmerTech
Golden Eyed Wiseman! (or woman!)
Posts: 1644
Joined: Fri Aug 21, 2009 9:06 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by PalmerTech »

Yes, that is true. Especially with prices dropping like they have been, economics is important.

How close do you think the dot pitch on my 22" IZ3D is to your Zalman? They are the same resolution and size, but it seems like even a minuscule difference in panel size and dot pitch would break the effect. If you have any spare sheets printed, I would love to test.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Glasses-Free 3D Gaming for $5
(DIY Autostereoscopic LCD Monitor Mod Using Parallax Barriers)

[youtube]http://www.youtube.com/watch?v=D8CHvX6WkbY[/youtube]

In this tutorial I'm going to show you how you can convert your regular LCD monitor into a glasses-free (auto-stereoscopic) 3D display. To do this we are going to use what are called Parallax Barriers. This is the same technique used on the Nintendo 3DS. Please make sure to watch the video above so you have an idea of what we are doing here. I also quickly explain what a Parallax Barrier is and how it works. Basically what it does is selective block certain pixels from one eye or the other. So with properly authored content, we are able to deliver one image to the left eye, and a different image to the right eye. This concept is actually not anything new, it had been discovered over 100 years ago. However it is just recently being applied to commercial products. In the next year years I think there will be a lot of development in this space. Specifically with portable devices like the Nintendo 3DS. But you don't have to wait for companies to bring this technology to the home. You can start gaming in stereoscopic 3D, glasses-free, today and you can do it for less than $5. Well, technically, you do need a certain amount of supplies and tools in order to complete the project. But the actual parallax barrier itself and the ink you use to print it will only cost a couple of bucks. Ok, so here is what you need:

Requirements:
- An LCD computer monitor 24" or less.
- An injet or laser printer capable of at least 1200 dpi.
- A box of transparency film.
- An X-Acto knife.
- A stainless steel ruler.
- Transparent tape.
- An image manipulation application.
- The iZ3D driver.


Monitor
Obviously you need a monitor in order to mod it. Any LCD computer monitor can work, although it should be 24" or less. Although there is no technical reason a larger size wouldn't work with a parallax barrier, the problem is finding transparency film in that size and having access to a large-format printer (which are prohibitively expensive). Practically speaking, you are better off sticking to 24" or less, as that means standard Super B sized transparencies can be used. Larger sizes are possible using transparency film rolls, however this gets expensive real fast.

Printer

To complete this project, I used an Epson WorkForce 1100 color injet printer. It can handle up to 5760 x 1440 dpi. The other printer I have is the Samsung ML-1630 mono laser printer. The Samsung can handle up to 1200 x 600 dpi. Although I was able to make good progress testing things on this Samsung printer, the accuracy was not good enough get the quality I wanted. So make sure you have a decent printer if you want to attempt this. Although the supplies are pretty cheap, so its not a big loss to try it even if you don't have the best printer. Keep in mind that the Epson printer I got is very reasonably priced, I got it for $130, which was the cheapest I could fine a quality injet printer that could handle wide-format. Since it can print wide-format (13" x 19") that means I can completely cover a 22" widescreen monitor with one single sheet. If your printer only supports 8.5" x 11" you can still do it, however you will have to attach multiple sheets together to fill the screen. I have tested this, and you can still play games like this, although clearly the wide-format is a better option. Keep in mind that the barrier pattern is just printed in solid black, so a monochrome printer is fine.

Transparency Film
For the transparency film I used Sparco brand sheets (they make ones special for injet and laser printers) which cost about $20 for a box of 50. Specifically the models 01853 for laser and 01854 for injet, both are 8.5" x 11". For the final barrier I used Inkpress injet transparency film, ITF131920, which is 13" x 19" (Super B). It cost around $60 for a box of 20. Other brands should also work, just make sure you get the right kind for your printer.

X-Acto Knife
You can find these for around $10 at any hardware or art supply shop. It is used to cut the transparency film so it will fit on the monitor (or to get a nice clean edge if you are attaching multiple sheets).

Stainless Steel Ruler
Used to get a straight cut when using the X-Acto knife. You will want to get a large one, I used a 16" with cork backing. You can find them for around $5.

Transparency Tape
I used some transparent tape to mount the barrier sheet onto the monitor. This is the glossy kind that is completely clear not the foggy matte finish you usually find. This can be pruchased for around $3.

Image Manipulation Application
For this project I used Photoshop, and that will be what I use to explain the process. Alternatives, like GIMP, should also work but I will not be providing instructions for this. This program is used to create the parallax barrier pattern itself, so you will need to be able to define your own custom patterns. We will also use it to print the
pattern.

IZ3D Driver
This is what is actually going to make the games into 3D. The iZ3D driver is a commercially available 3rd party driver that hooks into DirectX and converts any off-the-shelf game into stereoscopic 3D. It is compatible with Windows XP, Vista or 7 (32-bit or 64-bit) and will work with both AMD and Nvidia graphics cards. Although not every single PC game is supported, there are probably close to 200 games that will work with it (some to better effect than others). We will be using the "Interleaved" mode in the "Vertical" setting. The driver itself cost around $40, although there is a 30-day free trial so you can test it out first.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - THE PROCESS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Parallax Barrier
The parallax barrier itself is a pretty simple concept, and you should understand how it works from watching my video. Its basically just a bunch of straight lines. The difficult part is finding the exact width for the barrier line that is going to coincide with your monitor. This alignment must be extremely accurate, to the micrometre (1/1000 of a millimetre). If there is any inaccuracy all you will get is a muddied, discolored double-image with no 3D effect. So the crux of this project is just finding this magic number. Pretty much all monitors will have their dot pitch listed in the spec sheet, so this gets us into the ballpark right off the bat. However there are other factors that effect the sizing of the barrier, such as the thickness of the glass on the screen, the thickness of the transparnecy film, your interpupillary distance (IPD; the distance between your eyes), and the distance you are sitting from the monitor (although this can be easy changed). I'm sure someone smarter than me could have come up with some formula to take into account all these values. However, at the end of the day, its all about what you percieve with your own eyes. So I developed this project mainly based on a trial and error method. There is, however, some math involved but it should be easy to follow.

Pixels Per Barrier (PPB)
The the puzzle you need to figure out is how many pixels are the width of each barrier. This is dependent on the DPI of your printer. You always want to be printing at the maximum DPI your printer can handle. Keep in mind that many printers have different horizontal and vertical DPI resolutions. So you may be limited by the lesser of the resolutions. I recommend having at least 1200dpi, although it may be possible at lower resolutions but I think the quality would suffer. This PPB scale is just something I made up, I don't think you will find anything on Google about it. Say your printer did 1200dpi. If you used a 100ppb resolution, then there would be 6 opaque barriers per inch (plus 6 transparent spaces the same size as the barriers). Unfortunately, the barriers must be a lot smaller than that, and more precise. They need to match up exactly to the width of a single pixel on the monitor (actually less than that, since you have to take perspective into account). So this is the magic number we are looking for.

Dot Pitch
The first thing you need to do is find the dot pitch of your monitor. This will be in millimetres. For example, the monitor I used for this is the Zalman Trimon ZM-M220W, which has a dot pitch of 0.282 mm. Yes, that is actually a 3D monitor, but I was *NOT* using the 3D functionality for this project. So what we need to do is convert this dot pitch into a pixel-per-barrier value. Since printers use dpi (dots-per-inch) we need to convert millimetres into inches. This is pretty simple to do. We just need to figure out how width a pixel is in inches. You can simply type this into Google:

"0.282 mm in inches" [without quotes]

Which Google tells me equals: 0.0111023622 inches

You can also do the conversion yourself, by multipling the dot pitch by 0.0393700787. That will give you the width of each pixel in inches. Now to get the pixels-per-barrier we need to multiply that by the dots-per-inch of the printer. I am going to use the value of 1440dpi, since that is what my Epson does.

dot-pitch(in inches) x dpi = ppb
0.0111023622 x 1440 = 15.987401568


So that means I have an estimated ppb of 15.987401568. Note the actual value should be smaller than this, since the barrier is in front of the panel and we need to take perspective into account. The problem now is that there is no printer (certainly not on the consumer market) that can printer with that kind of accuracy. I mean, it seems really close to 16 pixels, but thats not good enough. Although at this point you should print out a barrier of 16px (or whatever the closed integer is) just to see where your at.

Creating the pattern
This is actually the easy part. Just fire up your favorite image editor. I will be using Photoshop although other programs, like GIMP, should work as well. Since we are starting with a 16px barrier, we need a pattern that is 32px wide (and 1px high). This is because the pattern has to loop: one 16px opaque line and one 16px transparent line. We will be using solid black and white to do this. You can do this as follows:

1) Click "File" -> "New"
2) Set the following options:
Width: 32px (or double whatever your ballpark ppb is),
Height: 1px
Resolution: 72 ppi
Color Mode: Grayscale 8-bit
Background Contents: White
3) Press "M" to select the Rectangular Marquee Tool.
4) Press "Control"+"R" so show the rulers. Then right-click the ruler and select "Pixels".
5) Select a 16px x 1px area on the left side of the image.
6) Press "Alt"+"Delete" to fill it with black.
7) Press "Control"+"D" to deselect the area.
8) Click "Image" -> "Define Pattern...".
9) Name it something sensible like "16px barrier".


Here is the parallax barrier pattern I used for my Zalman Trimon ZM-M220W 22" monitor. I may be compatible with other 22" 1680x1050 monitors, I don't know.
ZM-M220W_Parallax_Barrier_Pattern.png
Create the barrier
This is even easier. We just need to create a blank document an fill it with the pattern. You can do this as follows:

1) Click File -> New
2) Set the following options:
Width: 8.5 inches
Height: 11 inches
Resolution: 1440 ppi (must be the maximum dpi of your printer)
Color Mode: Grayscale 8-bit
Background Contents: White
3) Double-click the locked background layer and hit "Enter" to make it a new layer.
4) Click the "fx" button on the bottom of the layer window (or click "Layer" -> "Layer Style").
5) Hit the "Pattern Overlay" button.
6) Click the pattern thumbnail, then scroll down to the pattern you just created (if you hover over it for a second it will tell you the name).
7) Click OK.


Printing the barrier
1) Click "File" -> "Print".
2) Under "Position" choose "Center Image".
3) Under "Scaled Print Size" make sure "Scale to Fit Media" is Unchecked (also make sure it says 1440 ppi).
4) Click "Page Setup".
5) Make sure your printer is set on the highest possible settings. The full dpi, best photo mode, black & white grayscale ink, choose presentation or glossy photo paper, disable high speed printing. These settings are printer specific, so yours may be different. Just make sure you put everything on max. After you are done, click "OK".
6) Click "Print" in the lower right corner of the window.


Aligning the barrier
Now we need to align the barrier on the screen. This part can be tricky. The most important thing is that the barrier lines are parallel to the columns of pixels. If the barrier is rotated at all, then it will not work (you will see rainbow colors). Vertical alignment is not really important, since the barriers are straight vertical lines. Horizontal alignment is more important, but not as much as the rotation. This is because you can shift your head from left to right in order to obtain a optimum angle. However you should try to get it as close as you can to the perfect alignment. To do this you will need to use my alignment helper image:
Alignment_Test_Image.png
You can open this image in Photoshop, but remember to click "View" -> "Actual Pixels" because it will *NOT* work if you scale the image at all. The parallax barrier is based on blocking pixels. If you scale the pixels at all it destroys the effect. You can press "F" three times to go fullscreen and then press "Tab" to remove the tool windows. If you still have the rulers on, press "Control"+"R" and hide them. Now you should have the alignment image front and center on the screen. At this point you want to place it on the screen and press against it so it sits flush with the glass. You want to test with one eye at a time. So close one eye (lets say the left eye) and then try to adjust for the right image with your right eye. The right alignment image should appear as a white background with the word "RIGHT" in black text. It is unlikely this will happen on your first try. Even with a perfect barrier, you are not going to get solid white and solid black, as there is always some bleeding of light on a sub-pixel level. However you can reduce the cross-talk to acceptable levels (as shown in my images/videos). Try experimenting with moving your face closer and further from the screen, this will effect how the pattern behaves. What you will probably be seeing is a series of colored bands, which cycle through a set of colors (black/red/yellow/white/cyan/blue). This is a result of the RGB sub-pixel elements being selectively masked. The order of the colors will tell you if the parallax barrier is too big or too small. For example, if you are testing for the right eye (white background) focus on an area on the screen that has something close to white. Now you will see it turn into another color. If it started to turn cyan to the right of the white area, that means the barrier is too big. That is because it is obscuring the red sub-pixel element, leaving only green and blue (which make cyan). If on the right of the white strip it turns yellow, then that means the barrier is too small. You can see my sub-pixel ghosting guide image below:
Sub-pixel-Ghosting-Guide.jpg
This is going to make it easier to know if you are working in the right direction when testing different barriers. Keep in mind that it is not just what is printed on the paper that effects the results. Your viewing distance from the screen makes a big difference. I had the best results from sitting really close to the monitor. Also, the distance from the barrier to the screen makes a difference. You can try adding in black transparency sheets to increase the distance, or you could flip the sheet so the printed side is facing the monitor (this is what I did and I got good results like this).

Interpolation
So I can pretty much guarentee that first pattern didn't look too good. That is because it needs to be very precise, and just rounding to the nearest whole number is not going to cut it. And since we are working with a fixed print resolution (meaning not using any scaling) we need to do the interpolation manually. Technically you are able to print documents at a higher resolution than the specs of the printer. However, this gets automatically downscaled and it seems that it loses some accuracy. Plus, without the hard numbers, you don't really know how this is being processed so it makes troubleshooting much more difficult. So we must interpolate the pixels ourselves. Basically what this means is making it so that not all barriers/spacing are the same width. For example, if we wanted to use a ppb of 14.5, we could have on opaque line at 15px and then a spacer at 14px. So the average ppb would be 14.5. Or if we had 7 lines of 15px and then 1 line of 14px, the average ppb would be 14.875. So you can see how we can attain much higher virtual resolutions than what can be physically printed, while still maintaining total accuracy. Keep in mind that we only want to be alternating between two different values. There is no benefit from using all sorts of random numbers. You just use the two whole numbers closest to the original ppb estimate based on the dot pitch. In my case that value was 15.987401568, so the two pixel widths I used were 16px (mostly) with a 15px one stuck in there sparingly. You want to start with something simple, for example 5 lines at 16px and then 1 line at 15px. However you can take this method as far as you need to go. For example, you can have a base pattern of 16px, with a 15px line stuck in every 10 lines (or rather 9 16px lines and 1 15px line since the pattern always has to be even). Then you can create another pattern based on this one, where it repeats that pattern 5 times, but then remove just the last pixel. This will make it just a tad bit smaller. Photoshop will sometimes "optimize" the pattern and try to break it down to a smalled pattern. So if you are creating complex patterns like this, maybe sure to insert a few random "black" pixels that are not totally black. This will force Photoshop to recognize it as one unique pattern. Hopefully you will not have to go this far if you have a decent printer. With the 1440 dpi on the Epson I have I did not have to get fancy with the interpolation like this. So if you are using a comparable printer you might be alright. But its good to know what tools you have at your disposal to fine-tune the pattern. Make sure that you have a system for testing different ppb sizes and that you document everything (it helps to right the pattern used on the sheet itself so you can go back and compare). Using a binary search technique can also be helpful. For example, start by testing a straight 16px barrier, and then also a 15px barrier. In my case the 16px was too big and the 15px too small. Now test a 15.5px barrier (by using a pattern with 1 16px line and 1 15px space). Was 15.5px too big or too small. If it was too big, then you know the real value is between 15.0 and 15.5. If it was too small, then the number id between 15.5 and 16.0. You can quickly eliminate a large number of possibilities by testing like this. It still requires a lot of trial and error, but if you document things well you will always be getting closer to where you need to be. This is probably the most complex part of this whole process, espeically since you can only artifically increase the resolution up to a certain point. For example, if all you have is a 300 dpi class printer, then no amount of tweaking will give satisfactory results.

3D Driver
In order to play the games in 3D you need a 3D driver. For this we will be using the iZ3D driver, which can be obtained at: http://www.iz3d.com/driver" onclick="window.open(this.href);return false; . This driver works on Windows Xp, Vista or 7 and on AMD or Nvidia GPUs. You want to use the "Interleaved" mode in the "Vertical" option. When you install the driver, be sure to do the full installation so you can choose the "Interleaved" mode. There is also a "Vertical (Optimized)" option which adds anti-aliasing into the mix. This reduces the jaggie effect you get due to interleaving, but results in a worse 3D experience. Feel free to test it out though, maybe you will prefer the smooth look (I think it just looks blurry). Make sure to set the "swap eyes" hotkey to something easy to remember. You will likely have to use this feature a lot when testing. Keep in mind that not every single PC game will work with this driver, but many do. Some games will work, but require some reduction of settings. Other games have visually anomlies that cannot be fixed, and this are probably not worth playing. But a good majority of popular titles are supported. If you are not familar with stereo 3d gaming, or stereo 3d in general, then if may be a good idea to download the iz3D driver an test it out before you attempt to do this parallax barrier project. The configuration of games can be difficult for a newcomer and you don't want to be troubleshooting the software while you are trying to build the parallax barrier. The 3D experience is very much about having proper content, so if you do not know how to tweak the settings you are not going to get an enjoyable experience. That said, most games will default to acceptable settings. But to really get the in depth experience, you need practice working with the driver. So I would suggest getting a pair of cheap red/cyan anglyph glasses and testing the free iz3d anaglyph mode first. The Pro-Ana glasses are the ones I use and they are pretty good. You can get them for under $10. If thats too much money for you, I will even send you some paper ones for free. Just hit me up on PM.

Limitations
Ok, so this here parallax barrier does produce a 3D effect and it does it pretty cheaply. But you can't get something for nothing. It is not without its limitations. The biggest drawback is that it automatically cuts the resolution in half (as I guess you've figured out after reading this tutorial). So the picture quality is not as detailed or crisp as with a full resolution image. The barrier also makes the picture appear a bit grainy. It still looks good enough to play a game, but its clearly not as great as you would want it to be. This is mainly a result of printing the pattern with a consumer level printer. Commercial quality parallax barrier displays (like Nintendo 3DS) would not have this problem. But beyond the picture quality there is one major issue with this mod. Once you do it to the monitor, it can *ONLY* be used to play 3D games. Browsing the web or navigating Windows is nearly impossible because you cannot read text through the lines. So I would only really do this mod on a spare monitor, or I would purchase a separate secondary monitor just for use in 3D. It is not possible to have this done on your primary monitor. I guess if you were an enterprising modder, you could mount the parallax barrier on a thin sheet of plexiglass and then build some sort of rail that the unit could slide into. This would make it possible to easily take on or off, although building such apparatus is outside the scope of what I was trying to do. Feel free to experiement if you wish.

Other Thoughts
I know implied this project would be easy, but it certainly takes some time and dedication. I think its ultimately a lot easier than people would expect it to be. Most technology these days is almost at a black magic level, where only a few elite engineers even understand the internal workings of it. So it is great to have something like parallax barriers, which anybody and understand and implement themselves. However, this was not an easy project for me personally. I have spent nearly 3 years in research and development on this project (although it was put on hiatus several times, I was not working the whole time). It was the recent commercial interest in parallax barriers that gave me the motivation to finish it, though. It seems like there are a string of glasses-free portable devices coming out in the near future and I think this will be a growing market. Not just with the Nintendo 3DS, but also glasses-free 3D smartphones and tablets. There are already a couple of digital 3D cameras with glasses-free displays, like the Fujifilm W3. And this technology is only going to improve. So while it may not be the ultimate 360 degrees holgraphic projection I know people want, its what we have today and its pretty cool for what it is.

If you guys have any questions or comments, please feel free to post in this thread or you can hit me up on PM if you please (although I would rather you post publicly so it can benefit the community). If you have any suggestions on how to improve the quality of this device or have any other suggestions, please post them as well. Thanks for reading.

// cybereality
You do not have the required permissions to view the files attached to this post.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Full quality 1080P 3D images of the setup as shown in the video.
Save to your computer and rename to *.jps to view with your stereo 3D rig.

You can also free-view with cross-eye, if you do not have 3D hardware.

Please note that these images were taken with a 2D camera, by simply taking one picture and then shifting the camera and taking another (on a tripod). So they suffer from alignment and distortion issues that make some of the shots difficult to view. This is a result of the imperfect method I used to take the images, and does not reflect the quality of the actual screen in person. The YouTube3D videos (in the post below) were taken with a dual-camera rig, so the results are far more accurate to what the 3D experience actually looks like.
Glasses-Free-3D_01.jpg
Glasses-Free-3D_02.jpg
Glasses-Free-3D_03.jpg
Glasses-Free-3D_04.jpg
Glasses-Free-3D_05.jpg
Glasses-Free-3D_06.jpg
Glasses-Free-3D_07.jpg
Glasses-Free-3D_08.jpg
You do not have the required permissions to view the files attached to this post.
Last edited by cybereality on Mon Jan 24, 2011 10:17 pm, edited 1 time in total.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

YouTube3D slideshow of the images shown in the video:

[youtube]http://www.youtube.com/watch?v=W0mextPnN-o[/youtube]
Please click the title of the video to go to YouTube3D and choose your 3D viewing method.



YouTube3D Video of me playing UT2004 with this setup:

[youtube]http://www.youtube.com/watch?v=NuoGMBv7pl0[/youtube]
Please click the title of the video to go to YouTube3D and choose your 3D viewing method.
Last edited by cybereality on Mon Jan 24, 2011 8:28 am, edited 1 time in total.
User avatar
Okta
Golden Eyed Wiseman! (or woman!)
Posts: 1515
Joined: Tue Feb 12, 2008 5:22 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Okta »

Very nice Cyber, and those pictures in the video were much higher quality than i was expecting. Do you happen to own an eeepc by any chance? It would be cool to make one for those (cause i have a 7 and 10 inch one :) because they are so common and easy size to print for. Would make a cool portable 3d player.
"I did not chip in ten grand to seed a first investment round to build value for a Facebook acquisition."
Notch on the FaceDisgrace buyout.
Galo
One Eyed Hopeful
Posts: 4
Joined: Thu Jan 20, 2011 6:41 am

Release: Parallax Barrier Calculator 0.2 by Galo

Post by Galo »

Amazing work cyber!

I'm also was working on an aplication based on the information posted on this thread that is capable of estimate the "best" barrier and space size, taking into account several factors, and then save the pattern to a png file. It simulates the setup given as an input and then calculates by bruteforce the best config accordingly to that setup. The estimation optimizes the ghosting and correctness of the parallax barriers. However it makes some asumptions in order to keep things simple: it asumes that the parallax barriers are all of the same size and centered on the screen. The space between them are also of equal size. The calculated pattern have H. Resolution/2 + 1 barriers. Additionally, the viewer is assumed to be in a centered position with respect to the LCD.

I was unable to test the results by myself since I do not have transparency films :oops:

However, I hope that someone can test it and post the results.

Here is a screenshot:
Image

Pixel Pitch (mm): It is the pixel size of the LCD
H. Resolution (Pixels): The horizontal res of the LCD.
V. Resolution (Pixels): The vertical res of the LCD (required in order to save the pattern)
Focus Distance (mm): The distance between you and the lcd
Distance Between Eyes (mm): The distance between your eyes.
Distance between the Parallax Barriers and the LCD (mm): self explained
Precision (recomended: 1500): this is a key factor in order to get accurate results. It represents the amount of simulated light that each pixel produce. Higher values will give better results but it will also require more computing time. With this value, the computation may take a few minutes in order to complete (four to ten minutes depending of your CPU).
DPI printer requiered for exact precision: It is the estimated printer dpi required to exactly match the precision. It is only for reference, since the actual DPI will depend of your printer.

Here is the result dialog:
Image

Size Barrier (mm): it is the estimated Barrier size in mm.
Space between Barriers (mm): it is the estimated space between the barriers.
Print size (mm X mm): it is the size of the printed pattern. Once you have saved the file, you need to tell your printed that "prints" the pattern in this size on the paper. Also, gives you the minimun paper size required.
Selected DPI for the saved pattern: Needs to be set to the actual DPI of your printer.

The program is a java aplication and then you need the JRE to run it. You can found it here:
http://www.oracle.com/technetwork/java/ ... index.html

Update:
A new version is available. This fix the memory and dpi issue of the saved pattern. Now it will work on any JRE (32 and 64 bits) without consuming your RAM :lol: . Also, some other bug are fixed. I think that it is perfectly usable now, the only remaining thing is test the results :roll:
Parallax Bariers Calculator.zip
Also, here is the pattern obtained with the default settings, that corresponds to the LG W2353S model, i.e., my monitor.
http://rapidshare.com/files/444498026/pattern.png

Regards,

Galo
You do not have the required permissions to view the files attached to this post.
Last edited by Galo on Tue Jan 25, 2011 12:22 pm, edited 4 times in total.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

@Galo: Interesting work. I will have to test out your program and compare it to my trial and error based results. I actually started doing something similar to this at first, although I was using Javascript to code a script inside Photoshop. While this did add some flexibility, the process was very intensive, consuming large amounts of RAM and CPU processes. Many times it would crash my computer, even with only 600dpi patterns (this was on my old computer, but still). So I abandoned the method since it was time consuming and crashed the computer too frequently. Maybe there is some way to optimize this somehow, like rendering on the GPU maybe. I don't know, I will look into it.
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

Very nice article and video Cybereality, congrats !

Concerning the brightness loss, ghosting, moiré pattern and horizontal resolution loss, did you try to slant your parallax barrier to reduce these problems ?

I know the iZ3D or other drivers should not be able to support slanted interlacing for now, but you could still try on specially crafted stereo images to do some tests.

It's been used quite commonly with lenticular screens, so I guess the benefits could also be the same for parallax barriers technologies since they do approximately the same thing.
User avatar
Guig2000
Binocular Vision CONFIRMED!
Posts: 257
Joined: Wed Nov 25, 2009 9:47 am
Location: Bordeaux, France

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Guig2000 »

It could be interesting to try with a checkerboard pattern I think.
Image
User avatar
Johnny-Mnemonic
Binocular Vision CONFIRMED!
Posts: 261
Joined: Sun Aug 24, 2008 5:52 am
Location: Zurich area, Switzerland
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Johnny-Mnemonic »

Guig2000 wrote:It could be interesting to try with a checkerboard pattern I think.
Since printer resolution is different vertically and horizontally, it would be harder to print such pattern correctly.
Oculus Rift, Vuzix Wrap 920 AR!, Vuzix VR920, Liquid Image MRG 2.2, Razer Hydra, P5 Glove, Microsoft Kinect, TrackIR5, 2 x Hillcrest Labs Freespace tracker, Fujifilm finepix real 3d w3, GeForce 9800GT 1Gb, GeForce GT 430 1Gb, DELL XPS 17 l702x with GeForce 555 GT 3Gb, and good-old VFX1 setup
Post Reply

Return to “Do it Yourself!”