[DIY] Auto-Stereo with Parallax Barriers
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
[DIY] Auto-Stereo with Parallax Barriers
I've been reading about different methods for auto-stereoscopic conversion of standard 2d displays. There is one method I found using what are called Parallax Barriers, and it seems like it might be promising for a DIY project. The basic idea is that you use a filter over a standard screen, such that you can mask half of the vertical lines to one eye and half to the other without glasses. The filter could be a lenticular lens, or more interestingly, a transparent sheet printed with an opaque interlaced pattern. Due to the difference in viewing angles (from each eye) either the odd or even vertical lines will be masked. When displaying stereo3d content in a vertical interlace format you will effectually have an auto-stereoscopic display, albeit with a very small viewing angle. In theory, users could even print this out at home and convert their normal displays into 3d for next to no cost!
I didn't come up with this idea myself. I've heard about this method before on another forum years ago, but I'm not sure if anyone has actually pulled it off yet. Just recently I noticed the same technique listed on Samsung's R&D website (although the article is from 2004):
[The Samsung article is gone, however there are a multitude of patents on the technique, including the one from Samsung]
EDIT: Credit actually goes to Frederic Eugene Ives who came up with the idea in 1903! He even took out a patent: http://en.wikipedia.org/wiki/Frederic_Eugene_Ives" onclick="window.open(this.href);return false;
Here is a slide explaining the technique. I was going to draw my own, but this illustration is perfect: The one issue with this method is that the horizontal viewing angle would be really small (practically 0 degrees) and the focal distance fixed. I found some notes from the guy I had initially heard about the method from, not sure if he's on this board. I can't really make much sense of all of it, but there are some interesting ideas ( http://www.ponies.me.uk/lentikit/wiki/? ... %20Screens" onclick="window.open(this.href);return false; ). He talks about one method to increase the viewing angles. It would be to print thicker barrier lines, say 2 pixel for every one thats transparent. This give you only 1/3 of the total pixels, but allow for some movement in viewing angle (maybe 5 degrees).
Another issue is that you would need a really good printer that could print at the sub-mm level with accuracy on transparency film. I imagine many printers these days could do it, or you could go to a copy-shop and have it done for cheap. Different displays also have different dot pitch, so there couldn't be just one PDF to download and print. Each display type and/or size would need special templates. I'm thinking it might even be easier to do this on say the Samsung 50" 3d-ready set. Since its 50" at 720P the pixels would be large enough to accurately print barrier slits, although you would need access to a very expensive large-format printer.
Has anyone tried this? It seems like a promising idea for a DIY project. 3D without the glasses practically for free!!!!
I didn't come up with this idea myself. I've heard about this method before on another forum years ago, but I'm not sure if anyone has actually pulled it off yet. Just recently I noticed the same technique listed on Samsung's R&D website (although the article is from 2004):
[The Samsung article is gone, however there are a multitude of patents on the technique, including the one from Samsung]
EDIT: Credit actually goes to Frederic Eugene Ives who came up with the idea in 1903! He even took out a patent: http://en.wikipedia.org/wiki/Frederic_Eugene_Ives" onclick="window.open(this.href);return false;
Here is a slide explaining the technique. I was going to draw my own, but this illustration is perfect: The one issue with this method is that the horizontal viewing angle would be really small (practically 0 degrees) and the focal distance fixed. I found some notes from the guy I had initially heard about the method from, not sure if he's on this board. I can't really make much sense of all of it, but there are some interesting ideas ( http://www.ponies.me.uk/lentikit/wiki/? ... %20Screens" onclick="window.open(this.href);return false; ). He talks about one method to increase the viewing angles. It would be to print thicker barrier lines, say 2 pixel for every one thats transparent. This give you only 1/3 of the total pixels, but allow for some movement in viewing angle (maybe 5 degrees).
Another issue is that you would need a really good printer that could print at the sub-mm level with accuracy on transparency film. I imagine many printers these days could do it, or you could go to a copy-shop and have it done for cheap. Different displays also have different dot pitch, so there couldn't be just one PDF to download and print. Each display type and/or size would need special templates. I'm thinking it might even be easier to do this on say the Samsung 50" 3d-ready set. Since its 50" at 720P the pixels would be large enough to accurately print barrier slits, although you would need access to a very expensive large-format printer.
Has anyone tried this? It seems like a promising idea for a DIY project. 3D without the glasses practically for free!!!!
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:17 pm, edited 1 time in total.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
Good in theory.
I'd looked at this previously and here's what I found (Please excuse the crude ASCII art):
You need to reduce the resolution of and LCD the monitor to 1/3 - 1/4 its native resolution.
Why: An LCD monitor has RGB elements vertically striped so if you have
Then you put barriers over every second pixel (I'm using # for elements being blocked a blockout barrier)
Which is fine, but if you have even a tiny bit of movement then you end up spanning to the next pixel, which is meant for the other eye causing bad ghosting:
Or, if you use thicker lines (as you had suggested to give greater viewing angles) the colour will be wrong (you see the example is 1 1/3 pixels):
So to combat that, you need to have at least two pixels on the screen to display one pixel of the image:
Now add the blockout layer:
As you can see, this works better, but you still end up with twice the amount of a couple of the colours. So you would have to make it a 2 blockout to 1 see through fairly accurately:
Now you can probably see the issue is that you have only 1/3 rd the light from the display coming through so you'd have to max the display brightness, which will reduce the contrast. Also, the you must place the barrier layer much further from the display for example:
A Using alternating every second pixel the barier layer will be quite close:
Alternating every second pixel the barrier is much further away:
You need to reduce the resolution of and LCD the monitor to 1/3 - 1/4 its native resolution.
Why: An LCD monitor has RGB elements vertically striped so if you have
Code: Select all
|Right| Left|Right|
|R|G|B|R|G|B|R|G|B|
|R|G|B|R|G|B|R|G|B|
|R|G|B|R|G|B|R|G|B|
Code: Select all
|Right| Left|Right|
|#|#|#|R|G|B|#|#|#|
|#|#|#|R|G|B|#|#|#|
|#|#|#|R|G|B|#|#|#|
Code: Select all
|Right| Left|Right|
|R|#|#|#|G|B|R|#|#|
|R|#|#|#|G|B|R|#|#|
|R|#|#|#|G|B|R|#|#|
Code: Select all
|Right| Left|Right|
|#|#|#|#|G|B|#|#|#|
|#|#|#|#|G|B|#|#|#|
|#|#|#|#|G|B|#|#|#|
Code: Select all
| Left | Right | Left |
|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B|
|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B|
|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B|
Code: Select all
| Left | Right | Left |
|#|#|#|#|#|#|#|G|B|R|G|B|#|#|#|#|#|#|
|#|#|#|#|#|#|#|G|B|R|G|B|#|#|#|#|#|#|
|#|#|#|#|#|#|#|G|B|R|G|B|#|#|#|#|#|#|
Code: Select all
| Left | Right | Left |
|#|#|#|#|#|#|#|#|B|R|G|#|#|#|#|#|#|#|
|#|#|#|#|#|#|#|#|B|R|G|#|#|#|#|#|#|#|
|#|#|#|#|#|#|#|#|B|R|G|#|#|#|#|#|#|#|
A Using alternating every second pixel the barier layer will be quite close:
Code: Select all
|R|G|B|R|G|B|R|G|B|
| /| /
| / | /
| / | /
| / | /
|/ | /
/ |/
|#|#|#|O|O|O|#|#|#|
Code: Select all
|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B|R|G|B |
| | / /
| | / /
| | / /
| | / /
| | / /
| |/ /
| / /
| /| /
| / | /
| / | /
| / |/
|/ /
|#|#|#|#|#|#|#|#|O|O|O|#|#|#|#|#|#|#|
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
That's a good point and should eliminate the issue of sub pixel elements. I'd be interrested to know if anyone has tried this.
Something else that I had tried previously was, years ago when Tazos first became popular in Australia with the chip companies, one of the competing chip companies developed a thing where you got cards and they had a lenticular lense viewer you put them under which gave you a motion viewable card. I managed to work out the resolution of the viewer, and combined two line art images I'd created, printed them (this was about 14 years ago) on a dot matrix printer and this actually worked! It was crude, but fun proof of concept.
I'm not sure if there is some manufacturer out there that would produce a large lenticular lense sheet, but that would be cool to try!!!
Something else that I had tried previously was, years ago when Tazos first became popular in Australia with the chip companies, one of the competing chip companies developed a thing where you got cards and they had a lenticular lense viewer you put them under which gave you a motion viewable card. I managed to work out the resolution of the viewer, and combined two line art images I'd created, printed them (this was about 14 years ago) on a dot matrix printer and this actually worked! It was crude, but fun proof of concept.
I'm not sure if there is some manufacturer out there that would produce a large lenticular lense sheet, but that would be cool to try!!!
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
You may be able to do something if you got one of these:
http://www.hzfancy.com/showpic.asp?id=72
It's only 20 LPI, but it seems to be the only one that would work correctly. Given that a 22" widescreen monitor with 1600*1280 would be approx. 80 columns per inch and you need the lens to be less then half that and there's no 40 LPI lenticular that I can find. with these, you may even be able to combine 4 images from different angles so you could move your head a little and see the image 'more' correctly still.
http://www.hzfancy.com/showpic.asp?id=72
It's only 20 LPI, but it seems to be the only one that would work correctly. Given that a 22" widescreen monitor with 1600*1280 would be approx. 80 columns per inch and you need the lens to be less then half that and there's no 40 LPI lenticular that I can find. with these, you may even be able to combine 4 images from different angles so you could move your head a little and see the image 'more' correctly still.
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
Thanks for the link, thats pretty much what I was thinking. That might even be the same type of lenticular lens they used on the movie poster that got me thinking about this again. It was a poster for Speed Racer, I think, but it had really good 3d effects with multiple angles. There were at least 3 different angles I could tell. And it looked fine without any glasses. I mean, if they can do this cheap enough for some throw away movie poster, surely it could work on a screen.android78 wrote:You may be able to do something if you got one of these:
http://www.hzfancy.com/showpic.asp?id=72
It's only 20 LPI, but it seems to be the only one that would work correctly. Given that a 22" widescreen monitor with 1600*1280 would be approx. 80 columns per inch and you need the lens to be less then half that and there's no 40 LPI lenticular that I can find. with these, you may even be able to combine 4 images from different angles so you could move your head a little and see the image 'more' correctly still.
Like you said, the multiple angles would solve one of the problems. When you move to the side with just 2 streams R-and-L then the eyes will become switched. However if you had, say, 4 different streams (Far R-R-L-Far Left) then this would fix it. Because if you moved one unit to the right you would still get 2 streams with the correct orientation. So instead of doubling-up the lines, it would just display a strip of a different angle. I'm not sure, but this sounds like it should theoretically work, assuming the LPI on the lens was a perfect match with the screen resolution. That would be even crazier, its like free headtracking!!!
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
It has, but its SUPER expencive (autostereoscopic displays).Okta wrote:Very interesting. So with the the right filter and matching drivers we have glassless 3d although with half the horizontal resolution? Amazing that this hasnt been marketed already.
some/many of them have more 'hotspots', so more users can use it at once. I think the Phillps 3D tv has up to 9 streams
about the lines and 3D ready TV: Wouldn't it be possible to make cheackerboard instead of the lines? It should work similar, but you'd have to make shure the width AND the height alaignment is absolutly correct
Next Idea/question:
What about CRT? Do they have subpixels? It could be more easy to get it working on CRT, because you could change the resolution to fit the mess you created/printed
slightly off toppic, but does someone know, if you could make or print similar polarizers? Just attach them to the screen and you can turn an LCD into a 3D (Zalman like) monitor.
edit: What about the driver? Who will produce a driver, which has interlaced only every 2 rows? Or which creats 4 streams
edit2:
Would a .BMP image in Black+White do the job? Maybe generated by a program, so you can choose, the resolution. And then you'd have to rezise it to get the right size for the screen. Is it helpfull, of would you loos quality, if you rezise it for printing???
edit3:
@ printers: I looked on ebay and found some common printers - which do around 1200 dpi. If you compare that to a and LCD it's much.
LCD has about 1200 pixels (=dots) on 19". So the printer has up to 19 times as much resolution!
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!
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!
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
LukePC1, thanks for joining the discussing. You've brought some interesting ideas to the table.
I guess checkerboard would be possible for a printed barrier screen, although I don't think that would work with a lenticular lens. The checkerboard would also restrict movement in both axes to next to nothing. With an interlaced barrier you could at least have movement within one axis. Although I guess it theory you could use the same principle on a checkerboard format, it would seem to introduce more issues into the setup. Although it would work with the Samsung's, which would be nice.
Yeah, I assume a CRT would be easier to work with, in respect to adjusting the resolution. However seeing as shutter-glasses work on a CRT, there seems to be more demand in converting an LCD monitor to 3d. Although using a CRT for testing purposes seems like a good idea.
And who would produce a driver? Well I guess we would have to do that ourselves. This is the DIY section after all.
Well, for 3d photos and videos, you could convert the content to a 4 stream (or more) method. Like taking 4 L-R images and run a photoshop script that would output the correct format. A similar method could be used for 3d video, although it would be a bit more work. For games, it would be a whole lot harder, but it could work for custom applications and mods of open-source games or engines.
A BMP would probably work like you said but you cannot scale the image. The print needs to be accurate to the sub-mm level so scaling is not a good idea. Each template would need to be based specifically on the panel size and resolution (although it could be dynamic with say vector lines and a script in Photoshop). If this idea actually worked, I'm sure users would be willing to upload their templates for specific monitor types.
Also, that is a really interesting idea about printing polarized lines. I don't know what type of ink you would need to do this (if its even possible at all), but I like the train of thought.
And I found one place that has a 40LPI lenticular lens for sale. A box of 25 sheets at 20" x 28" go for $165, which is about $7 a piece. That would fit any LCD display 24" or less.
http://lenstarlenticular.com/Single/flatbed.htm
I guess checkerboard would be possible for a printed barrier screen, although I don't think that would work with a lenticular lens. The checkerboard would also restrict movement in both axes to next to nothing. With an interlaced barrier you could at least have movement within one axis. Although I guess it theory you could use the same principle on a checkerboard format, it would seem to introduce more issues into the setup. Although it would work with the Samsung's, which would be nice.
Yeah, I assume a CRT would be easier to work with, in respect to adjusting the resolution. However seeing as shutter-glasses work on a CRT, there seems to be more demand in converting an LCD monitor to 3d. Although using a CRT for testing purposes seems like a good idea.
And who would produce a driver? Well I guess we would have to do that ourselves. This is the DIY section after all.
Well, for 3d photos and videos, you could convert the content to a 4 stream (or more) method. Like taking 4 L-R images and run a photoshop script that would output the correct format. A similar method could be used for 3d video, although it would be a bit more work. For games, it would be a whole lot harder, but it could work for custom applications and mods of open-source games or engines.
A BMP would probably work like you said but you cannot scale the image. The print needs to be accurate to the sub-mm level so scaling is not a good idea. Each template would need to be based specifically on the panel size and resolution (although it could be dynamic with say vector lines and a script in Photoshop). If this idea actually worked, I'm sure users would be willing to upload their templates for specific monitor types.
Also, that is a really interesting idea about printing polarized lines. I don't know what type of ink you would need to do this (if its even possible at all), but I like the train of thought.
And I found one place that has a 40LPI lenticular lens for sale. A box of 25 sheets at 20" x 28" go for $165, which is about $7 a piece. That would fit any LCD display 24" or less.
http://lenstarlenticular.com/Single/flatbed.htm
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
@ driver: there is an vertically interleaved driver by nvidia for gforce 7 and SeeReal. I think they produce autosteroscopic screens similar to our diy ones
@ BMB
You can't do anything but create a BMP for every resolution, can you? The printer has to resize it on its own to fit the screen...
for 800x600 there have to be 400 lines, right? I think most printers should be capable of printing this. Most CRT's are too, so I could even change the size of the CRT's (I've got 21, 19 and 17 afaik)...
I think I'll look into creating such a BMP - i.e. a program that creates it
@ lenticular lens:
can you explain a little more, what it does? Does basically the same as the 'blocking' of the wrong pixels, but from more viewing positions?
If that assumptionis right, what is LPI? And how high has it to be? I think CRT is in advantage again, because of costumizeable resolutiond
- if I got the wrong lens I'll have to use a different resolution, but I can still judge, if the picture is good...
@ BMB
You can't do anything but create a BMP for every resolution, can you? The printer has to resize it on its own to fit the screen...
for 800x600 there have to be 400 lines, right? I think most printers should be capable of printing this. Most CRT's are too, so I could even change the size of the CRT's (I've got 21, 19 and 17 afaik)...
I think I'll look into creating such a BMP - i.e. a program that creates it
@ lenticular lens:
can you explain a little more, what it does? Does basically the same as the 'blocking' of the wrong pixels, but from more viewing positions?
If that assumptionis right, what is LPI? And how high has it to be? I think CRT is in advantage again, because of costumizeable resolutiond
- if I got the wrong lens I'll have to use a different resolution, but I can still judge, if the picture is good...
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!
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!
- Dyssident
- One Eyed Hopeful
- Posts: 40
- Joined: Thu Apr 03, 2008 11:31 pm
- Location: US
I doubt this project could be done but good luck in trying
If you're going to try a CRT, it would have to be an aperture grille model. Shadow mask CRTs have the subpixels arranged in triangular triads so you couldn't just use straight filters. Aperture grilles are arranged RGB vertically so it would be the only real possibility.LukePC1 wrote:What about CRT? Do they have subpixels?
-
- Certif-Eyed!
- Posts: 655
- Joined: Tue Jul 31, 2007 6:52 am
- Location: Canada
I think you would have more chance to get this working with an LCD monitor than a CRT monitor. On a CRT monitor, the pixels are not a fixed distance from each other. You can adjust the vertical/horizontal size and position, the pincushion and a ton of other settings to try to get the picture straight. You can't assume that all the pixels on the same row or columns are really displayed in a straight line.
On the other hand, an LCD monitor is much more perfectly straight. The rows and columns should be straight.
On the other hand, an LCD monitor is much more perfectly straight. The rows and columns should be straight.
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
A lenticular lens will act to magnify the strips in an interlaced image at different viewing angles. Its basically just an array of magnifying glasses. It doesn't "block" light, it just disperses it at different angles.LukePC1 wrote: @ lenticular lens:
can you explain a little more, what it does? Does basically the same as the 'blocking' of the wrong pixels, but from more viewing positions?
There is a good explanation on lenticular lenses here:
http://www.stereoscopy.com/faq/lenticular.html
There is one company that appears to have got this concept working, but they have some outrageous prices for their equipment (it says 'contact us for pricing', which means its too much!!!)
http://www.iart3d.com/ENG/Products/Auto ... it_Eng.htm
They are charging $3,000 for a 20" display, thats like a $200 monitor w/ $10 worth of plastic. No thanks. Their software may prove useful though...
- Dyssident
- One Eyed Hopeful
- Posts: 40
- Joined: Thu Apr 03, 2008 11:31 pm
- Location: US
In my opinion, these qualities make the (aperture grille) CRT the best choice to try this out with. You'd be able to adjust things all day long to match your filter, the curvature of the screen, your distance from the screen, and anything else you come across. Without this flexibility you'd going crazy with making/adjusting the filter.Tril wrote:You can adjust the vertical/horizontal size and position, the pincushion and a ton of other settings to try to get the picture straight. You can't assume that all the pixels on the same row or columns are really displayed in a straight line.
I think the best place to start would be to make a basic 3D test image and try printing out filters on transparency sheets just to get an initial (inexpensive) feel for the project.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
As pointed out by cybereality, this would be very difficult to implement without too much issues. It could possibly be done with many, many lenticular lenses with an offset, but I think this would end up more trouble then it's worth, especially when I don't think there'd be any manufacturer that would make these given the additional complexity and limited use.LukePC1 wrote:about the lines and 3D ready TV: Wouldn't it be possible to make cheackerboard instead of the lines? It should work similar, but you'd have to make shure the width AND the height alaignment is absolutly correct
CRT could work, however, the problem is that for this to work correctly you need accurate pixel placement with no bluring betweenone column of pixels and the next. On a CRT, since it uses a method of iluminating phosphorus, a single dot on a black screen looks kind of like (use your imagination):LukePC1 wrote:What about CRT? Do they have subpixels? It could be more easy to get it working on CRT, because you could change the resolution to fit the mess you created/printed.
Code: Select all
0|0000|0110|0000|00
0|0001|1221|1000|00
-------------------
0|0001|2332|1000|00
0|0012|3333|2100|00
0|0001|2332|1000|00
-------------------
0|0001|1221|1000|00
0|0000|0110|0000|00
Where:
| is the pixel column devision
- is the pixel row devision
0-3 are the levels of light intensity
I thought I read on a forum somewhere someone had found a source for a celophane sheet that did this. I could be wrong though as I can't find it now.LukePC1 wrote:slightly off toppic, but does someone know, if you could make or print similar polarizers? Just attach them to the screen and you can turn an LCD into a 3D (Zalman like) monitor.
I'm thinking this would be good for static images. Compression can become a real issue if having movies (or even compressed images) since they both use DCT for compression which doesn't handle hard edges at all well. This is until someone manages to create a driver that supports this.
I found out that my monitor at home actually only is 17" wide (widescreen 21") so at full resolution (1680) this is approx. 100 pixels per inch so 50LPI lenticular would probably work ok. There'd still be issues with displaying the sub-pixel elements. good find with the lenstar site, cyber. My concern would be that 49 deg. viewing angle may mean thatyou'd have to view it from too close. I've seen the ones that are stated as being for 3D use seem to be about 35 deg.
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
I just had a random idea. How accurate would you need a headtracker to be in order to use it to flip the interweaving in real-time? So go back to the original idea of an ink-jet printed barrier screen. Then have a web-cam or TrackIR calculate the viewing angle, then alternate the L-R signals to match the eyes. Assuming there was a tracker with pin-point accuracy this might work.
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
LOL? This could become a (expencive!) commercial project - if it's not in development already.cybereality wrote:I just had a random idea. How accurate would you need a headtracker to be in order to use it to flip the interweaving in real-time? So go back to the original idea of an ink-jet printed barrier screen. Then have a web-cam or TrackIR calculate the viewing angle, then alternate the L-R signals to match the eyes. Assuming there was a tracker with pin-point accuracy this might work.
If I understand right you could view from nearly every angle - but only one person at once. The distance would have to be correct, but that shouldn't be too hard for the user.
I don't have much time now, but will comment later after I've done more research.
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!
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!
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
Not to rag on the idea (because I think it's cool thinking), but if you have to wear something then why not just wear polarized glasses? This only adds small complexity and two inexpensive pasive components. Adding a camera and leds and then running the software for head tracking as well as the usual S3D drivers is starting to get too complex.
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
You have a point, you shouldn't have to wear anything (its supposed to be auto-stereo after all). But it might be a fun experiment if the initial idea proves successful.android78 wrote:Not to rag on the idea (because I think it's cool thinking), but if you have to wear something then why not just wear polarized glasses? This only adds small complexity and two inexpensive pasive components. Adding a camera and leds and then running the software for head tracking as well as the usual S3D drivers is starting to get too complex.
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
Back to topic:
I just noticed, that I could make a the bmp with black and white bars ever other line or volumne relativly easy with stereo photo maker:
1) Create a black and a white picture in the right resolution (full resolution)
2) load them as left right pictures with stereophotomaker
3) set them in interlaced or interleaved
4) save them as a interlaced S-3D picture. Now you have the lines = the paralax barriers...
Interlaced seems to work for me, but vertically interleaved makes red and green columns
well if Interlaced works, I would have to turn the sheet, so it shouldn't be a big problem (maybe resolution).
This picture is going to be printed on a OHP transparency. I'm not shure about rezising (zoom in), but it could be handled by changing resolution (if there is anogh chice )
Since I'm only testing and can't have it correctly at the first try, I won't do all the math, but change resolution later on my CRT or try a different (smaller) CRT...
I just noticed, that I could make a the bmp with black and white bars ever other line or volumne relativly easy with stereo photo maker:
1) Create a black and a white picture in the right resolution (full resolution)
2) load them as left right pictures with stereophotomaker
3) set them in interlaced or interleaved
4) save them as a interlaced S-3D picture. Now you have the lines = the paralax barriers...
Interlaced seems to work for me, but vertically interleaved makes red and green columns
well if Interlaced works, I would have to turn the sheet, so it shouldn't be a big problem (maybe resolution).
This picture is going to be printed on a OHP transparency. I'm not shure about rezising (zoom in), but it could be handled by changing resolution (if there is anogh chice )
Since I'm only testing and can't have it correctly at the first try, I won't do all the math, but change resolution later on my CRT or try a different (smaller) CRT...
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!
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!
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
Ok cool. I was just going to use Photoshop, but surely there are other ways to generate interlaced images.
I've ordered some transparency film, so hopefully it will arrive in the next few days so I can test this idea out soon.
Also of some interest, the old Nvidia driver does supports vertical interweaving with the SeeReal option. So if this method works, we already have a driver.
I've ordered some transparency film, so hopefully it will arrive in the next few days so I can test this idea out soon.
Also of some interest, the old Nvidia driver does supports vertical interweaving with the SeeReal option. So if this method works, we already have a driver.
- Okta
- Golden Eyed Wiseman! (or woman!)
- Posts: 1515
- Joined: Tue Feb 12, 2008 5:22 am
Just throwing something in a random though here. Would it be usefull to have say a dead row of pixels between each left/right vertical stereo row to create a dead zone to allow for slight head movement without ghosting. This would lower the horizontal resolution and add vertcial interlace gaps but might be worth the ghosting battle.
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
It certainly would help, but the driver is the problem then...
nothing new... still have to print it on a good printer...
nothing new... still have to print it on a good printer...
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!
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!
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
I got some transparency film and tried to do a quick test. I printed a barrier with 2 black pixels for each transparent pixel. I couldn't find the exact specs for my monitor so I just measured it and did some math. I'm not sure how accurate I was. Anyway, so far I'm not getting any results (just one test so far). The printer printed it, but its a bit dark all around. I don't think my printer is good enough. I tried it out on the screen anyway, all I could get was the moire pattern. The print was just too muddy to even tell what I was seeing. I'm going to try a few different interlace patterns, but I think I will need a better printer.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
Good to hear your tests. I was wondering at what distance from the screen you were using the barrier? You should be able to work out the distance you need with the following math:
So for my monitor it is approx 428 mm wide and 1680 pixels so:
which gives
Or if you are using two pixels for one, you should approximately double this distance (to about 6.5 mm).
Edit: I just tried this using three verticle lines on a piece of clear packaging plastic (with a permanent marker) that are approx 1.2 mm apart and drew 3 lines (using paint) which are two black pixels then two white pixels. Holding this at about 6 mm and close one eye and line up one of the lines on the screen in the middle of the black lines on the plastic. Then open the other eye and I can see the white with one eye, black with the other... proof of concept worked! ... now for the big piece of plastic ... then onto writing a driver for this. lol.
Code: Select all
(Z-B)/B = E/P
Where: Z is the distance from the viewer to the screen
B is the the distance from the barier and the screen
E is the distance between your eyes (approx 6 cm)
P is the width of a pixel
Which translates to
Z/B-1 = E/P
Z/B = E+P/P
B = PZ/E+P
Code: Select all
P = 428/1680 = .254762 mm wide
Z = 800 mm
E = 60 mm
Code: Select all
B = (.254762*800)/(60+.254762)
= 3.38246 mm
Edit: I just tried this using three verticle lines on a piece of clear packaging plastic (with a permanent marker) that are approx 1.2 mm apart and drew 3 lines (using paint) which are two black pixels then two white pixels. Holding this at about 6 mm and close one eye and line up one of the lines on the screen in the middle of the black lines on the plastic. Then open the other eye and I can see the white with one eye, black with the other... proof of concept worked! ... now for the big piece of plastic ... then onto writing a driver for this. lol.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
Closeup of the slid that I made... very crude, so I wasn't expecting much:
Note: one thing I worked out while doing this is to get such fine lines even, it was best to use two pieces of card side by side and slightly thicker marker. You can see the first two I did weren't even from end to end because I was using a ruler only.
Here are photos taken, one from left eye and the other from right (Sorry about the focus on the right one). For this test I tried with vertical lines of two pixels width. RRBBRRBBRRBB:
So my calculation seems about correct.
1 thought, when doing the printing, you may need to turn of the printers automatic scaling and that sort of thing or else you won't get accurate sizing.
Note: one thing I worked out while doing this is to get such fine lines even, it was best to use two pieces of card side by side and slightly thicker marker. You can see the first two I did weren't even from end to end because I was using a ruler only.
Here are photos taken, one from left eye and the other from right (Sorry about the focus on the right one). For this test I tried with vertical lines of two pixels width. RRBBRRBBRRBB:
So my calculation seems about correct.
1 thought, when doing the printing, you may need to turn of the printers automatic scaling and that sort of thing or else you won't get accurate sizing.
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
so the problem is now: how to get that many lines at exactly the right distance and width onto the plastic without blurring?
Could it be achived with a better printer or is the color 'running' on the plastic, so it can't be sharp at all?
Could it be achived with a better printer or is the color 'running' on the plastic, so it can't be sharp at all?
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!
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!
- Likay
- Petrif-Eyed
- Posts: 2913
- Joined: Sat Apr 07, 2007 4:34 pm
- Location: Sweden
-
- Certif-Eyed!
- Posts: 655
- Joined: Tue Jul 31, 2007 6:52 am
- Location: Canada
I think some photocopiers can print on transparency film. If the problem with your printer is that it can't print on transparency film, you could print on regular paper and use a commercial photocopier to print on the transparency film.
Or you could use a local printing company close to where you live. They could print directly from the computer file. You could print on larger transparency film if they have a printer that can print on bigger paper than yours.
Or you could use a local printing company close to where you live. They could print directly from the computer file. You could print on larger transparency film if they have a printer that can print on bigger paper than yours.
- Likay
- Petrif-Eyed
- Posts: 2913
- Joined: Sat Apr 07, 2007 4:34 pm
- Location: Sweden
True. But i also think there's need to calibrate the exact size (if using pixelseparation). Then the barrier should match the pixelsize and number (minus a half pixel or less over the whole horisontal length of the lcdscreen...). There should be possible to simply use extra transparent film to adjust the distance between the lcd and the barrier right. There's already some distance because of the lcd-polarization and protection foil and maybe that's enough (probably not). Still think i need to print out a number of sheets with very slight difference to be able to see what matches best. Subpixels (3 on each pixel) makes it even harder but they are arranged horisontally on the lcd. I'll try today and see what resolution and quality the printer have on ordinary paper. Can't have too much hope. It's a color laser for about 190 euros (hp color laserjet 1600). o.O
If the printer can't handle it i'll probably (maybe) give up and watch others success.
Shop closed so i have to try next day.
cheers
If the printer can't handle it i'll probably (maybe) give up and watch others success.
Shop closed so i have to try next day.
cheers
Last edited by Likay on Mon Jun 30, 2008 9:53 am, edited 1 time in total.
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
for your 7900 I'd suggest the 'old' NV driver. It has vertically interleaved (see real) somewhere. However it can only work if you have bars, which are only 1 pixel wide...
And if it has not the correct alignement (or the printing is) you have horrible ghosting
I'm curious to find out, how to have the best quality of the printed 'picture'.
- you could either zoom the picture to the right size or
- you could make a picture with multiple pixels and zoom it, so that it only covers one pixel after it is printed...
And if it has not the correct alignement (or the printing is) you have horrible ghosting
I'm curious to find out, how to have the best quality of the printed 'picture'.
- you could either zoom the picture to the right size or
- you could make a picture with multiple pixels and zoom it, so that it only covers one pixel after it is printed...
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!
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!
- Likay
- Petrif-Eyed
- Posts: 2913
- Joined: Sat Apr 07, 2007 4:34 pm
- Location: Sweden
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
I'm thinking I may need a better inkjet printer, or maybe a b/w laser printer would work best. If you look below the print looks almost like solid black, you can barely see the interlaced pattern:
@android78: That is a good proof of concept, but a black marker is different than a printer. The issue I'm having is that each line is not dark enough to block out the light. The transparent parts are also muddy, but I think that is just due to using a shabby old printer with color ink. So looking through it is just a blur. Still, I think its safe to say that the method can work assuming everything were calculated and printed correct.
@android78: That is a good proof of concept, but a black marker is different than a printer. The issue I'm having is that each line is not dark enough to block out the light. The transparent parts are also muddy, but I think that is just due to using a shabby old printer with color ink. So looking through it is just a blur. Still, I think its safe to say that the method can work assuming everything were calculated and printed correct.
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:35 pm, edited 1 time in total.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
... or it would work if you use half the horizontal resolution and the barriers are 2 pixels wide.LukePC1 wrote:for your 7900 I'd suggest the 'old' NV driver. It has vertically interleaved (see real) somewhere. However it can only work if you have bars, which are only 1 pixel wide.
True. I believe that we will need a laser printer since these will actually put a layer of carbon on the transparency. The issue with ink printers is that the ink will run too much, especially with the high resolution of todays monitors.cybereality wrote:That is a good proof of concept, but a black marker is different than a printer. The issue I'm having is that each line is not dark enough to block out the light.
Remember too that you need the distance between the lines of the barrier has to be slightly less then the screen resolution because the barriers need to be closer to the center of the screen at the edges to compensate for the difference in angle between the left and right of the screen.
- LukePC1
- Golden Eyed Wiseman! (or woman!)
- Posts: 1387
- Joined: Wed May 16, 2007 11:30 am
- Location: Europe
- Contact:
you mean you set the resolution so, that the monitor is upscaling the image?`Sounds like it would work, but wouldn't deliver best results in tearms of resolution... but it could help with ghosting and stuff... Would be OK for tests I think...android78 wrote:... or it would work if you use half the horizontal resolution and the barriers are 2 pixels wide.LukePC1 wrote:for your 7900 I'd suggest the 'old' NV driver. It has vertically interleaved (see real) somewhere. However it can only work if you have bars, which are only 1 pixel wide.
what do you think of this:
http://www.dooyoo.co.uk/led-printer/oki-okipage-14ex/
Would it be good enough to do the job or is it better not even to think of it?
I'm not shure if it is 600dpi or 600x1200dpi. I found different values for it...
In theory this resolution should be more than enough... but who knows
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!
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!
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
I would think it should be quite sufficient since (for my monitor at least with .25 mm wide pixels) that would be approx. 60 dots per pixel (at about .0042 mm between dots). And being a laser, it should have nice and sharp, well defined edges.LukePC1 wrote:what do you think of this:
http://www.dooyoo.co.uk/led-printer/oki-okipage-14ex/
Would it be good enough to do the job or is it better not even to think of it?
I'm not shure if it is 600dpi or 600x1200dpi. I found different values for it...
In theory this resolution should be more than enough... but who knows
I'm at work at the moment so I haven't had a chance to calculate how much difference you need to compensate for the angle difference for the edge of the screen yet. I think though that you'll have to have the total width to be about 7 pixels skinnier then the total of the viewable width of the screen, with half as many black lines as the horizontal resolution. That is assuming approx. 420 mm width of screen and distance between eyes being 60 mm.
- cybereality
- 3D Angel Eyes (Moderator)
- Posts: 11407
- Joined: Sat Apr 12, 2008 8:18 pm
Ok, I've taken a step back and just tried an easier proof of concept, this time with only 18 barrier lines on a 6" square. In this case my printer seemed to hold up and I got a nice dark print. I guess it just needed some room to breathe. Anyway, I decided to just do the whole thing by eye, because thats all that really matters anyway. So I printed out the pattern, then taped it to the screen and scaled the digital pattern so it was a perfect match. The transparent print is black and the pattern on the screen is green (both same exact actual size). I put a piece of cardboard to offset it from the screen. Its not much yet, but some promising initial results. Please note that those photos are not at eye distance seperation. I just moved the camera about 25cm to the side, but that would be scaled down obviously for real use.
So far there are only a few bars in the middle that sort of work, I still need to design the real pattern which would adjust for the sides.
But even a couple of lines are something, definitely enough to keep me going.
EDIT: Also, I'm using Sparco inkjet transparency film. Got a box for 50 for like $12. Seems like decent enough quality, but maybe the more expensive brands would do better with a high-res print.
So far there are only a few bars in the middle that sort of work, I still need to design the real pattern which would adjust for the sides.
But even a couple of lines are something, definitely enough to keep me going.
EDIT: Also, I'm using Sparco inkjet transparency film. Got a box for 50 for like $12. Seems like decent enough quality, but maybe the more expensive brands would do better with a high-res print.
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:40 pm, edited 1 time in total.
- android78
- Certif-Eyable!
- Posts: 990
- Joined: Sat Dec 22, 2007 3:38 am
Nice job!!!cybereality wrote:Ok, I've taken a step back and just tried an easier proof of concept,
...
So far there are only a few bars in the middle that sort of work, I still need to design the real pattern which would adjust for the sides.
ok, I've worked out the math for how wide the barier sheet needs to be:
Code: Select all
Xs/Zs = Xb/Zb
Where: Zs is the distance from the viewer to the screen
Zb is the discance from the viewer to the barier layer
Xs is the viewable width of the screen
Xb is the width of the barier layer
translates to
Xb = XsZb/Zs
so using my example from before:
Zs = 800 mm
Zb = 800 - 3.38246 = 796.61754 mm
Xs = 428 mm
we get 428*796.61754/800 = 426.19038 mm wide for the 840 lines and 840 spaces, using single pixel width.