[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
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

I made a small field with 150 lines on a width of 300 pixels (8cm wide). The printing looks good, but I couldn't get it to work jet. I didn't do much math though.
I'm not even shure, if it would help on CRT monitor with analog input --> blurred immage?


A rough calculation says I need a resolution of about 1200 horizontally. That is not the problem... Will have to try with different distances and these width settings of the screen ;-)

edit: did some more testing.
- the plastic in front of my monitor looks awfull. Writing is possible, but it has many reflections and seems to lead to 'rainbow' effect.

My problem could be that the picture is wrong rotated, or wrong in tearms of size or just to blurry or that the colors are next to each other and not on top of each other...

or maybe something else. I think I'll try to print for a LOW resolution (640 for first test and not the whole screen of course ;-) )


Edit2:

I had my barrier too near to the screen. It wasn't possible differently.
Problems with crt:
You have too many options you can adjust. If the image is slightly rotated you are screwed.
If you change resolution or other adjustments you can start fresh, too.

The plastic (OHP foil) is not perfectly straight, so it has a different distance all over the place. It's not good if it is directly on the screen and I think it will be worse, if it was taped a little further from it.

Good things:
Something happens when you move your head (with the test-Picture). However it does not look 3D - because of imperfect adjustment.
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

LukePC1 wrote:I had my barrier too near to the screen. It wasn't possible differently.
...
The plastic (OHP foil) is not perfectly straight, so it has a different distance all over the place. It's not good if it is directly on the screen and I think it will be worse, if it was taped a little further from it.
I think that you need to have a more solid layer in between. Some 3 mm perspex or something would probably be ideal.
LukePC1 wrote: Good things:
Something happens when you move your head (with the test-Picture). However it does not look 3D - because of imperfect adjustment.
I did some testing using my crappy inkjet onto plastic at home with half resolution. I could get the face and arm of the test picture I provided earlier to work correctly, where there is little separation, but the rest is far too much ghosting. I think it could work if using a laser printer which actially put a layer of carbon on the sheet so it should block out the light fairly well.
One note to make, when using the laserjet on plastic at half resolution, I found that actualli very lightly dragging a tissue from top to bottom actually improved the coverage of the ink.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Formulas

Post by android78 »

I thought it could help if I put the consolidated formulas in, in case anyone wants to do it correctly.
To get the width of the pixels on the screen:

Code: Select all

Xp = Xs/Np

Where:  Xs is the viewable width of the screen 
        Np is the number of pixels
To get the distance the barrier needs to be from the viewer:

Code: Select all

Xp/Xe = (Zs-Zb)/Zb
translates to
Zb = XeZs/(Xp+Xe)

Where:  Zs is the distance from the viewer to the screen 
        Zb is the discance from the viewer to the barrier layer 
        Xe is the distance between the eyes 
        Xp is the width of a pixel 
Distance the barries should be from the screen:

Code: Select all

Zsb = Zs-Zb

Where:  Zsb is the distance between the barrier and the screen
        Zs is the distance from the viewer to the screen 
        Zb is the discance from the viewer to the barier layer 
EXAMPLE:

Code: Select all

Xs = 428 mm
Np = 1680
Zs = 800 mm
Xe = 60 mm

Xp = Xs/Np = 420/1680 = 0.25476
Zb = XeZs/(Xp+Xe) = 60*800/(0.25476+60) = 796.61756
Zsb = Zs-Zb = 800 - 796.61756 = 3.38243
Xb = XsZb/Zs = 428*796.61756/800 = 426.19039
Obviously you can halve Np if using half resolution.
Last edited by android78 on Wed Jul 02, 2008 5:11 am, edited 1 time in total.
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Post by Likay »

android78 wrote:If anyone manages to make a barrier layer, you can use the following to test it:
Image

Note that this is for barrier layer of 1 pixel width, you can zoom in double if 2 pixels, obviously.
I managed to have depth in this picture with a laserprint barrier attached directly to the screen. However: I do have a "rainbow" effect because the film is slightly wrinkled while passing through the printer. I have a slight popout with this test screen but i would say it works. Not a pleasant experience as is now (rainbow effetc cause of subpixels). Settings on the printer driver is 84% preview and 100% in driver. Foilsize 1000x800. The lines are not perfectly aligned yet but that can be fixed using very high resolution on the original barrier mask picture.
Gonna take a picture but need to repair my stereocamera. lol. Also gonna find a setting where both percentages are locked. Cutting the resolution in half will probably give really great result!

cheers
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

Post by cybereality »

Likay wrote:I managed to have depth in this picture with a laserprint barrier attached directly to the screen. However: I do have a "rainbow" effect because the film is slightly wrinkled while passing through the printer. I have a slight popout with this test screen but i would say it works.
Cool man! Thats reassuring news. I'm going to try some more tests tonight, it seems like we are really close at this point.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

Have you tried rotating your monitor by 90 deg? This should eliminate the sub-pixel issue. The NV driver should be able to do the rotation for you, and you can use the same test image I provided yesterday.
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

It seems I'm either not skilled (or patient) enough to get it to work, or you have some advantage at a LCD there (the pixels don't move away).

Great that it worked for you. I'm curious what can be done tomorrow... Maybe I can get a LCD from somewhere.

If you could test crt vs. LCD for this, I'd be happy, too :P
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

I have done another test, this time with 30 lines. I also wrote a script in photoshop that draws the outer lines a bit thinner to compensate for the perspective. I got the math a little off, but the script works.

The photos below were taken at eye distance so that is actually what I could see (left - right):
DIY_AutoStereo2008_04.jpg
Even though there is some seperation of the left/right images it is not enough overlap for stereo3d. The lines must be thinner, but at least I got the parallax correct this time.
You do not have the required permissions to view the files attached to this post.
Last edited by cybereality on Mon Oct 05, 2009 6:46 pm, edited 1 time in total.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

Just wondering how far from the screen you have the barrier?
Note that for 1 pixel, the barrier should be about 3 mm, so two pixels would be about 6mm, three would be 9mm. It looks like you have about 4 pixels width which would be about 1.5 cm from the screen. This would explain why you are not seeing pure white or pure black. I think it may be worth turning the screen 90 deg too.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

android78 wrote:Just wondering how far from the screen you have the barrier?
Note that for 1 pixel, the barrier should be about 3 mm, so two pixels would be about 6mm, three would be 9mm. It looks like you have about 4 pixels width which would be about 1.5 cm from the screen. This would explain why you are not seeing pure white or pure black. I think it may be worth turning the screen 90 deg too.
The barrier is about 12 mm from the screen. The widest bar (in the middle) is 24 pixels and the ones on the end are like 10 pixels. But I made them get too thin (over-compensated) so thats why the pattern tapers off at the end into the other color. The black lines are the barriers and the blue is whats on the screen. Since the scale is so large I don't think the subpixels factor in at all. Otherwise I would be seeing different colors, and I'm not. If I scale it down to 1 or 2 pixel width barriers then that may become a problem, but it seems fine for now. Also, I was using 600dpi but I think the minimum would need to be 1200dpi or more in order to print precisely enough the differences between barriers.
Last edited by cybereality on Wed Jul 02, 2008 8:45 pm, edited 2 times in total.
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

Why do the barriers have to get more narrow at the sides?

It can't be the point of view alone, could it? The pixels would look different and the barrier would do it, too --> no need to change anything...

Problem could be with the distances, since the distances at the sides are a further away. Is it possible, that the barrier has to be curved?
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

LukePC1 wrote:Why do the barriers have to get more narrow at the sides?
The barriers shouldnt have to get skinnier towards the sides so long as the layer is flat and the 'layer' isn't thick.
I think that cyber is trying to compensate for printing the bariers too thick. If you follow the math I gave previously and have the correct distances, I'm pretty confident that the barriers should all be the same thickness. (Anyone care to double check my maths?)
The best way to create the barier layer is using photoshop (or comparible package) that allows you to specify in cm or inches the dimensions of the image you are working on. If you set the pixel size to the resolution of your screen then set the size of the image to the size required by the maths I provided (using your own values for Xs, Np, Zs and Xe) then zoom in so you can see the pixels and create verticle lines which are 1 pixel apart. Then if you print it, make sure you turn off the scaling of the printer and it should print correctly.
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Post by Likay »

android78 wrote:Have you tried rotating your monitor by 90 deg? This should eliminate the sub-pixel issue. The NV driver should be able to do the rotation for you, and you can use the same test image I provided yesterday.
Superb idea and the rainbow is gone. I do have some greyish fields but this looks really great with your testpicture. Moving back and forwards doesn't seems to ruin the effect too much when looking at it. 20 cm from the screen does seem to be closest to a hotspot (when barrierfilm is directly attached to screen). Moving to the sides of course ruins stereoeffect. I can barely have 3 horisontal viewing angles where stereoeffect is noticed. However having your head close to the middle (if film attached that way) gives best result.
As it looks now it seems like there's only popout with the guy and everything else to be at screendept. When i look there seems to be some background things that should show dept but the popout of the guy is the thing i see most. Of course also the interlacing lines are very visible even at pixelseparation.
By having 2mm's of glass in between it seems like the hotspot increase to about 1.5 meter. A bit too far away for this screen but nonethless fun. If i can find 1mm glassmaterial it should really be ok. Remember that this viewing method do seem to have some flaw since i only so far see dept regarding parts of the picture. Need to tinker a bit with printer settings. The barriers are not exactly aligned and each 12-13 lines i have a noticeable "jump". This also gives effect on the screen. Maybe other settings in driver (100% everywhere) and another screenformat will do. So far i used .bmp since that's not compressed. Altering pixels/mm-inch doesn't seem to do anything with this format. Pixels/inch-mm might not be implemented in bmp-format. I'll try further.
84% in the printer driver makes so far best results for me. 85 or 83% makes it significantly worse. I'm not close enough to show big pictures since the depth alters through the pics. You really must have the barrier totally right and this is why i so far is not having a fully proper stereo.

Now i REALLY need to fix my camera! Soon going abroads for vacation too! :D

cheers
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
Tril
Certif-Eyed!
Posts: 655
Joined: Tue Jul 31, 2007 6:52 am
Location: Canada

Post by Tril »

I gave this a try for fun with my crt monitor (hp p1230). I could not get it to work completely. I made a 800x600 test picture with red and blue lines. I also made a sheet with lines spaced for 800x600 on my monitor. I succeeded at making different colors appear at the same place in different eyes (the width of the lines is mostly correct) for the whole area of the sheet but I was not able to get an aye only blue and the other only red (bad alignment). I see all kind of patterns (circles, lines, etc) of alternating colors. I played with the settings on the front of the monitor for a while and I gave up.

Any difference in distance of one part of the transparency film to the screen can make it block the wrong color. I had just taped it to the screen. It would be necessary to glue it (with some transparent glue, maybe the type they use to glue glass tinting film for cars) to a piece of glass to make it perfectly flat.

On top of that, the pixels on my monitor are not in straight line across the whole screen vertically and horizontally. It's impossible to succeed in adjusting them perfectly across the whole screen no matter how much time I try.

Also, the surface of the crt tube is slightly curved and there's a flat plastic sheet about 0.5 inches in front of it. When I tape the transparency film directly to the flat front of the monitor, the distance between the film and the tube increases as you move away from the center of the screen. You would have to compensate with a sheet with line of different sizes or by using the monitor settings.

I could probably succeed if I used a very small resolution on a very wide area but that would not give very interesting results.

There's a higher chance to get it to work on an lcd monitor because of the perfect alignment of the pixels. However, the pixels on an lcd screen are very small so I don't really know if it's as easy as it sounds. I have a few at home so I'll give that a try. If I can get better results with a taped sheet, maybe I'll buy some glass and some glue to try to get better results.
CPU : Intel i7-7700K
RAM : 32 GB ram
Video card : GeForce GTX 980 Ti
OS : Windows 10
Display : Samsung UN40JU7500 Curved 40-Inch UHD TV with shutter glasses
HMD : Oculus Rift

Image
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

I didn't have succes with CRT for similar reasons - although I tried very low resolution...

about the LCD: you could input exactly halve of the horizontal (and vertical) resolution and make it for always two pixels. That should be easier and if you run your screen at 640x512 instead of 1280x1024 it should also work with NV driver...

Good luck - and make a comparison between crt and LCD, if you test both :)
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

Tril wrote: I was not able to get an aye only blue and the other only red (bad alignment). I see all kind of patterns (circles, lines, etc) of alternating colors. I played with the settings on the front of the monitor for a while and I gave up.
...
There's a higher chance to get it to work on an lcd monitor because of the perfect alignment of the pixels. However, the pixels on an lcd screen are very small so I don't really know if it's as easy as it sounds. I have a few at home so I'll give that a try. If I can get better results with a taped sheet, maybe I'll buy some glass and some glue to try to get better results.
I don't think this would work very well on a CRT since the screens aren't flat and the pixel alignment is not exact. The allignment and distance the barrier layer is from the screen have to be accurate to sub mm for this to work (unless you're using a resolution of 320*240 or something crazy like that!).

One thing I found is that my inkjet isn't exact in terms of the printing scale. I had my printing setup as per the calculations I provided earlier, and was wondering why I had to view from about 400 mm, when I'd set it for 800 mm... the image was 2 mm skinnier then it should have been. 2mm makes a lot of difference to the viewing distance! I think I'll have to get some proper transparency sheet and try printing on the laser at work.
As it looks now it seems like there's only popout with the guy and everything else to be at screendept. When i look there seems to be some background things that should show dept but the popout of the guy is the thing i see most. Of course also the interlacing lines are very visible even at pixelseparation.
To the right of the guy you should see a window, or top of an arch. Have you made sure that the right eye sees the arch to the right of the left eye? When you have it setup and all pasted into position, try only looking at that and see if you can get it correct, if you check this then you should see depth.
The barriers are not exactly aligned and each 12-13 lines i have a noticeable "jump".
This is probably due the the cumulative error from the differrence between printer native resolution and the resolution of the image you are printing. A higher resolution printer should make this a lot less of a jump.
Altering pixels/mm-inch doesn't seem to do anything with this format. Pixels/inch-mm might not be implemented in bmp-format. I'll try further.
84% in the printer driver makes so far best results for me. 85 or 83% makes it significantly worse. I'm not close enough to show big pictures since the depth alters through the pics. You really must have the barrier totally right and this is why i so far is not having a fully proper stereo.
You should try using a full image editing package that links up to the printer driver correctly. Something like photoshop where you can set the actual print size. Just make sure you turn off printer scaling if you do this, but you should be able to be more accurate. 1% of a 428 mm width is 4.3 mm. which would make a HUGE difference to where you need to place the barrier and where you need to view it from when you consider the pixels are approx. 0.25 mm wide.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

I have done some more tests. I did it this time with almost 100 lines! I also took your guys advice and just made the barriers uniform. I thought you needed to adjust for perspective, but I guess not (see post below).

Anyway, I have it almost working. The only problem is the parallax. The shots below are with the film taped directly to the screen. There is a red-green interlace image which is around 4 pixels for each column. The shots were taken from around 1 meter offset, so its totally off-scale, however it produces a fairly distinct seperation of the colors.
DIY_AutoStereo2008_05.jpg
DIY_AutoStereo2008_06.jpg
Also, I do not think this will work with CRT. Only LCD and Plasma. Check this document that flexy linked in the another thread: http://www.cmst.curtin.edu.au/publicat/2005-12.pdf" onclick="window.open(this.href);return false;
You do not have the required permissions to view the files attached to this post.
Last edited by cybereality on Mon Oct 05, 2009 6:52 pm, edited 2 times in total.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

cybereality wrote:I have done some more tests. I did it this time with almost 100 lines! I also took your guys advice and just made the barriers uniform. Technically there should be a slight difference due to perspective (for the same reason the barrier is printed smaller than actual size). This is because the distance from your eye to the screen is the smallest in the middle, while a ray from your eye to the edge of the screen is longer. But the difference may be so minute that its negligible.
Not quite correct actually. Although the perspective changes to the sides, the perspective changes for both the barrier and the screen. Therefore the barrier needs to be the same width to cover the same width screen pixel:
Using basic similar triangle theory, let's use an exagerated example with a pixel that is 1 cm wide and you are viewing the screen from 20 cm and you have a barrier layer that is half way.
Now we have one pixel that the left side is directly in front of an eye:

Code: Select all

 ____  Pixel
|   /
|__/   Barrier 
| /
|/     Viewer
Using similar triangle theory,
Xp/Xb = Zp/Zp
Xp is the pixel width
Xb is the Barrier width
Zp is the distance between pixel and viewer
Zb is the distance between barrier and viewer
So we get
1cm/Xb = 20cm/10cm
or Xb = 10*1/20 = 0.5 cm

Mow for the tricky one... where we have an offset, lets have it offset to the right by 10 cm (10 pixels away):

Code: Select all

    ____  Pixel
   /  /
  /_/   Barrier
 //
/     Viewer

Which can be broken into two sets of similar triangles:
 ____  Pixel
|   /
|__/   Barrier  (Left side)
| /
|/     Viewer

 _______  Pixel
|      /
|___ /   Barrier (Right side)
|  /
|/     Viewer
Working on the first similar triangle we get that the left side of the barier from the center should be:
Xbl = Xp*Zb/Zp
Xbl = 10*10/20 = 5cm

Working on the first similar triangle we get that the right side of the barier from the center should be:
Xbl = Xp*Zb/Zp
Xbl = 11*10/20 = 5.5cm

So the width of the barrier should be the right - left = 0.5 cm

Hence why, when they are on a parallel plane, they should be uniform.[/code]
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

Ok, yes, I see what you are saying now. The perspective of viewing the barrier would compensate for itself since the pixels are also in perspective. That makes sense.
Last edited by cybereality on Wed Jul 02, 2008 8:47 pm, edited 1 time in total.
Tril
Certif-Eyed!
Posts: 655
Joined: Tue Jul 31, 2007 6:52 am
Location: Canada

Post by Tril »

I did some tests on an lcd monitor and I'm giving up. It requires too much precision to get perfect results. I was able to get strips of the same colors a few cm wide running from the top to the bottom of the screen. when viewing the monitor a bit sideway, I was able to see red in one eye and blue in the other but I was never able to do it accross the whole sheet. It was not perfectly flat, perfectly the correct width and perfectly the right distance for all the area. Even if I got it working, it would still be subperfect because of the visibility of the interlacing lines.

Have fun!
CPU : Intel i7-7700K
RAM : 32 GB ram
Video card : GeForce GTX 980 Ti
OS : Windows 10
Display : Samsung UN40JU7500 Curved 40-Inch UHD TV with shutter glasses
HMD : Oculus Rift

Image
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

Sorry to hear (read) about CRTs not working.


Nevertheless I got an Idea:
What if you make the barriers wider than the free spaces between them?
- you should get even less (wrong) light, so darker
- the wide barriers should eliminate ALL wrong light, even if they are placed slightly wrong. --> less ghosting!
- it should be (a little) easier to adjust the screen...


@ printing: I just copied a bmp file into word and printed it aproximatly the size I wanted it to be. Precision was not important, because of adjustment of screen... but it seems exactly that makes it hard or even impossible.
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Post by Likay »

I have limited success with my barrier. It seems like the first tried when i simply changed the percentage in the pagesetup/printerdriver gives best results for me so far. I have a slight luck that the 600dpi of my printer in some way matches the screen quite good (not perfect). I can get stereodept and actually very good effect but with a maximum width of appr 7 centimeters before the lines doesn't match any longer. Then i tried to make an insanely big paralax barrier in paint shop pro. I took the ordinary 1000x800 and made it appr 9 times bigger. Of course the lines in the picture were smothed out but i could fix that by increase the contrast to 100%. Then i could regulate the barrier widht very easy by changing the brightness. But: When i tried to print it out with 10% driver page setup setting the driver itself filtered that big picture so the black lines werent totally black and the space between them werent totally transparent. :/ Had to trim the barrier right again but this gave a very bad experience. My conclusion is that a (quite much) better laserprinter is needed for making barriers that suits one pixel widths.
I might give 2 pixel wide barrier a shot but is very short on time. I do think this will work really ok though.

cheers
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

you can try to print each barrier a little wider and reduce the distance between the lines. It would need less acuracy of the printer.
You would only have to make shure there are as many lines as Pixels on a part of the screen.

like 3 pixels black and 2 white, then 3 black again... If this picture is zoomed at the right size afterwards it could help...
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

Those last shots I posted were at 1200dpi with a 6"x6" print (7200px sq). I am trying to get a 2px barrier working 100% before trying 1px. I think 2px would also eliminate any issues with sub-pixels or other sub-mm inaccuracies. At 1200dpi a 2px line takes up about 40 dots (or 40 digital pixels to 2 actual-pixels). However this is still not close enough. I have narrowed it down to somewhere between 39-41px per barrier @ 1200dpi. But that is not small enough. So the bare-minimum is probably 2400dpi to get a 2px barrier, for 1 pixel it may have to be even higher. These tests are on inkjet, maybe laser would provide better results. But 300/600dpi is not accurate enough for the parallax barrier.

Also, you will need a profressional editing program most likely. I'm using Photoshop, but GIMP would probably work as well. You need to be working at actual print size and not use any scaling when printing. Also make sure you go to the printer settings, set it for "black" ink and also make sure to select "transparency film" under the paper options.
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Post by Likay »

Everything done as above. lol. And as i said: The first attemt works good because the screenpixel alignment almost matches the one in the printer (or times 2 or 3... you can calculate... lol). Tested photoshop but now it's confirmed that the printers "machineresolution" is 600 dpi. A dot cannot be placed between where the "locked" pixel place is. (forgive my bad english. se if you figure out what i mean). It'll be moved either to the right or the left depending on which is closest. Tested with photoshop cs3, pagesetup 100% and driversetting 100%. No change. :(. However: The subpixel issue is perfectly solved rotating the screen 90°. No more colorful rainbows but now i simply have greyish "optical interference" fields. Very much easier to align now though. I have it this way now and rotated it in the ati-driver. (Yes, ati9600 in this wonderful internet surfmachine :D ).

cheers
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

Post by cybereality »

Ladies and gentlemen, it works!!! :lol: :lol: :lol:

I had to print probably 10 or 15 sheets before I got the alignment just right, but I was finally able to do it. The effect isn't all that great right now (only 120 barrier lines) but the method is sound. I taped some cardboard (about 1cm thick) to the screen to get the proper parallax. There is a very specific "sweet-spot" and I cannot really move my head at all, but when it aligned perfectly the images are properly shown to each eye. Look at the color test below (taken at actual eye distance):
DIY_AutoStereo2008_07.jpg
Right now there is still some things that need work. For one, I am getting some pretty bad sub-pixel ghosting. I think turning the monitor 90° into portrait mode is a must. Its too late tonight to start getting into that, but maybe I can try tomorrow or something. Note that the parallax barrier above is set for 2 pixel spacing. If we want to use this with the SeeReal drivers we would need the 1 pixel barrier. But at least we know now it can be done. I'm very tired and I have a headache now from all the testing, so I must go. Enjoy the video:

http://www.youtube.com/watch?v=yu92wwR1b1g" onclick="window.open(this.href);return false;
You do not have the required permissions to view the files attached to this post.
Last edited by cybereality on Mon Oct 05, 2009 6:58 pm, edited 1 time in total.
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Post by android78 »

cybereality wrote:Ladies and gentlemen, it works!!!
Nice work there. How did you work out the scale? did you use ther printer scaling, or application?
I assume that you are using a laser printer for printing? I think I'll have to get som proper transparancy sheets and make one myself.
User avatar
Okta
Golden Eyed Wiseman! (or woman!)
Posts: 1515
Joined: Tue Feb 12, 2008 5:22 am

Post by Okta »

Wow cyber thats impressive. I wonder if we can con Iz3d into including a driver for us to home brew our screens :D
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

android78 wrote:Nice work there. How did you work out the scale? did you use the printer scaling, or application?
I assume that you are using a laser printer for printing? I think I'll have to get some proper transparency sheets and make one myself.
I am not using any scaling at all in the application. I'm letting the printer do it and it seems to work. Even though the old inkjet printer I have (hp deskjet 722c) is only 600dpi, I can get better results when printing at 2400dpi. Don't ask me how it works. I just kept printing different sheets and eyeballing the difference. You have to send it to the printer at the best quality, even if it doesn't support it. This may have to do with how Photoshop handles the printing, I'm not sure how that will work in other programs.

Anyway, here is the script I am using for the 2 pixel test barrier as shown in the above post (right-click, save-link-as):
[EDIT: I am no longer using a script, now I am using a Photoshop pattern. Keep reading...]

That is a script for PhotoshopCS3 (may work in CS2, not prior) and it generates the parallax barrier pattern. To load it up go in PS and click "File"->"Scripts"->"Browse...". The image is 6" x 6", but you can change this by altering the resolution. For the 2 pixel barrier I am using 79 horizontal dots per barrier at 2400dpi. This is on a 22" widescreen LCD monitor, depending on your printer and monitor that value may be slightly different. If you want to change the size of the printout, change the resolution in the source code listed below:

Code: Select all

// Create a new document to draw the barrier lines
var parallaxDoc = app.documents.add(14400, 14400, 2400, "Parallax Barrier 3D", NewDocumentMode.RGB, DocumentFill.TRANSPARENT, 1);
The first number is the 6" width times 2400dpi and ends up at 14400 dots. Second number is the height. Third refers to dpi, I am using 2400dpi.

Code: Select all

// set barrier globals (edit these 2 values if it doesn't match your screen)
var barrierWidth = 79;
var barrierSpacing = 79;
For 2 pixel barrier I used 79 dots. For one pixel I imagine it would be around 40 dots. You can just edit the file in Notepad (or any text editor) and then reload the script in PhotoshopCS3. The lines will not match up if you place the film on the screen. It is made to be about 1cm off the screen for the proper parallax when viewed at ~2 feet away. Please note, you will need a lot of RAM to run that script. At the very least 2GB RAM with a good 4GB of scratch-disk for PS. If you are low on memory then your HDD may crash, so be warned. I had the scratch-disks set up the wrong at first and I saw the popup "You have 7MB left on drive C:", LOL! Be careful. I plan on fixing the script up, this is just the first version, but maybe it can be of some help.
Last edited by cybereality on Mon Oct 05, 2009 7:00 pm, edited 1 time in total.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

I must have got confused with all the photoshop files I was working with. The working test (2 posts above) was done with a 3 pixel interlaced image. My mistake.

I just tried to do a 1 pixel barrier and it didn't work. It did print out, but it is not uniform. There is a doubled-up line about every 7mm. Before the jump the barriers work (for about 5 lines), but then it switches. So it looks like I will be having to buy a new printer to finish this project. If your printer supports 1200dpi+ then it may be possible, but 600dpi resolution is not enough. I also tried running the NV drivers in SeeReal mode with half horizontal resolution; it doesn't work. Technically it produces the correct output, but since the LCD uses the internal upscaling it ruins the clear-cut pixel seperation. It needs to run at native-res to work right. So there are still some technical issues to overcome, but I have confidence I can get it working with some more time.
DragonM
One Eyed Hopeful
Posts: 27
Joined: Fri Aug 01, 2008 2:31 pm

Post by DragonM »

I'm surprised nobody has mentioned this experiment from way back in 1999:

http://www.evl.uic.edu/todd/varrier/VarrierSPIE.html

They made a video wall version of it in 2005:

http://www.evl.uic.edu/core.php?mod=4&type=1&indi=275

They talk about fancy neural network driven face tracking using a visible light camera, but it seems to me that pairing this with TrackIR or Wiimote IR tracking would be a lot quicker. (And a lot easier to reproduce by the hobbyist.)

Without head tracking and the accompanying extensive software support, the method still works. It just requires viewers to sit still in the sweet spot, as people posting on this thread have already mentioned.

Anyway, the upshot of the first paper is their barrier. They got good results using lines that were 4 times the pixel spacing, and then rotating the barrier by 30 degrees from vertical. This line size might be a lot easier to deal with on typical home printers. The 3/4 opaque screen means you lose a lot of brightness and resolution, but it should at least work.

Note that the lines of images displayed using this method have to have a matching rotation and spacing, so the sample in this thread can't be used. The imagery has to be very closely tied to the barrier configuration.


Personally, I'm much more interested in experimenting with lenticular lenses, so thanks for the Lenstar link.

DM
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Post by cybereality »

Heres another project from 2002 that is interesting:
http://www.gametrailers.com/player/user ... 29806.html

They are using a moving parallax barrier to solve the "sweet-spot" problem, amazing stuff.

Don't ask me how they got it to sync up, I'm still trying to figure it out myself.
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

bump :)

What about building a 3D rig with these autostereoscopic 3D post cards? I found one and it kind of works. And somehow it is realy cheap! I think it works more with prism effect (voxels?) than with a real barrier...

Well maybe that is a good material to start with? If it just had the right 'size' for each line... maybe it works for some display e.g. from a mobile device. It is small enough and maybe 2 or 3 lines just do the job :D
I think I'll have to try it out somehow with more LCD displays...

I know that it's hard work and hard to adjust and the effect might ghost a lot, but who knows :lol:
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Post by Likay »

It might work well. If the prismas are sort of 2-3 pixels wide there shouldn't be so much ghosting problem either. When converting from image you can have black barriers where both left and right data appears at the same time. That shoul decrease ghosting even more (light loss also of course).
Nice idea though.
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
mmartin
One Eyed Hopeful
Posts: 2
Joined: Tue Sep 23, 2008 6:32 am

Post by mmartin »

Hi gyuys, i just found MTBS and this great DIY project,

i long since wantet to convert a (cheap) LCD Foto display to an parallax barrier S3D Display for my stereo pics.
i can contribute this link:
http://george.ph.utexas.edu/~schreck/schreck/cologram/
which descibes an DIY Autostereoscopic Parallax Barrier Display (no monitor invloved).
User avatar
LukePC1
Golden Eyed Wiseman! (or woman!)
Posts: 1387
Joined: Wed May 16, 2007 11:30 am
Location: Europe
Contact:

Post by LukePC1 »

thanks for the link. It seems to be of good quality, but I don't have time to read it all now.
It seems like the author is capable of speaking German:
von [..] bis and so on :)

edit:
didn't we try with laser printers?
a bubble jet printer like the Canon BJC-610 (a laserprinter won't do because it heats up the transparencies too much so they are stretched and you cannot reach the desired precision)
that explains why (at least I) haven't got anything. The other thing is of course, that I didn't even try to be precise :roll:
Play Nations at WAR with this code to get 5.000$ as a Starterbonus:
ayqz1u0s
http://mtbs3d.com/naw/" onclick="window.open(this.href);return false;

AMD x2 4200+ 2gb Dualchannel
GF 7900gs for old CRT with Elsa Revelator SG's
currently 94.24 Forceware and 94.24 Stereo with XP sp2!
adev
One Eyed Hopeful
Posts: 3
Joined: Fri Nov 28, 2008 9:47 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by adev »

Suppose I would have 2 identical LCD displays, would it be possible to use the second display as a barrier ?
This would most probably give a good alignment (and one can change the barrier at any time, dunno whatfor, but hey :)

Just strip the second display, keeping the LCD, the front polarizer and driver electronics) and fix it onto the first LCD.
You will, ofcourse, need a videocard that has two outputs (the first will display the stereo image, the second will display the barrier)
adev
One Eyed Hopeful
Posts: 3
Joined: Fri Nov 28, 2008 9:47 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by adev »

I guess you could also create a perfect aligned barrier using light sensitive foil/film; fix the film on the display and expose the film with a .bmp with the disired pattern on screen :)
Haven't found this kind of film though, it should be sensitive to all three colors used in the LCD for sharp edges.
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 »

I think the second lcd would be ok over a small area in the centre but as the angle gets greater the further to the edge you go the barrier lines must be in different positions and of different width to show the stereo image correctly which would be out of the pixel range of an lcd. Using a barrier lcd of much higher res and pixel density would have more success i think.
"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.
adev
One Eyed Hopeful
Posts: 3
Joined: Fri Nov 28, 2008 9:47 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by adev »

Found this paper that also stacks two LCDs: www.evl.uic.edu/aej/papers/vr07.pdf . Nice stuff to read :)

They also use head trackers for multiple viewers (dynamic barrier generation, denpending on the positions of the viewers).
Alignment does not seem to be the problem, but barrier resolution is somewhat limited due to the color filter on the barrier LCD.
Post Reply

Return to “Do it Yourself!”