Sharp3D screen Support for abandon hardware?
In my work place we have a Sharp3D LL151 LCD screen.
It is a screen that project different image to each eye, without the need of any glasses.
There used to be a website about this screen in www.sharp3D.com.
If you enter this address you will reach sharp's website (but this is not the website that used to be there).
In that website it was told that there is a SDK for this screen.
However, now not otnly that this website is gone but also the Sharp3D LCD product dissappeared from the main sharp website.
You can still buy it in some places over the web, but it seems there is no support for this product any longer?
So, my question is, can I develope application to this creen using NVIDIA tools?
Or without the SDK of sharp I have no chance?

Thank you.
In my work place we have a Sharp3D LL151 LCD screen.

It is a screen that project different image to each eye, without the need of any glasses.

There used to be a website about this screen in www.sharp3D.com.

If you enter this address you will reach sharp's website (but this is not the website that used to be there).

In that website it was told that there is a SDK for this screen.

However, now not otnly that this website is gone but also the Sharp3D LCD product dissappeared from the main sharp website.

You can still buy it in some places over the web, but it seems there is no support for this product any longer?

So, my question is, can I develope application to this creen using NVIDIA tools?

Or without the SDK of sharp I have no chance?



Thank you.

#1
Posted 01/15/2008 12:34 PM   
The screen uses subpixel vertical interlacing.

The dots on any LCD screen look like this:

RGBRGBRGBRGBRGBRGB...
RGBRGBRGBRGBRGBRGB...
...

On a Sharp3D display, the first subpixel goes to the left eye, the next subpixel goes to the right eye, the next subpixel goes to the left eye, the next subpixel goes to the right eye, the next subpixel goes to the left eye, the next subpixel goes to the right eye, (that makes 2 whole pixels) and repeat

So one eye sees this:
R B G R B G R B G R B G ...
R B G R B G R B G R B G ...
...o

and the other eye sees this:
G R B G R B G R B G R B...
G R B G R B G R B G R B...
...


That means you need to render the entire scene four times, twice for each eye.

For the left eye you render to the red and blue components of the even pixels (0 is even), then you render to the green components of the odd pixels.

For the right eye you render to the green component of the even pixels, then you render to the red and blue components of the odd pixels.

To render only to a particular colour components, you use glColorMask in opengl, I can't remember the Direct3D equivalent, but there I remember there is one.

To render only to odd or even pixel columns, you need a 1 bit stencil buffer image. You only need to draw it once and then reuse it. I draw vertical lines to all the odd columns.

You can use the glStencilTest function to choose whether to render to spots where the stencil is 0 or to render to spots where the stencil is 1.
The screen uses subpixel vertical interlacing.



The dots on any LCD screen look like this:



RGBRGBRGBRGBRGBRGB...

RGBRGBRGBRGBRGBRGB...

...



On a Sharp3D display, the first subpixel goes to the left eye, the next subpixel goes to the right eye, the next subpixel goes to the left eye, the next subpixel goes to the right eye, the next subpixel goes to the left eye, the next subpixel goes to the right eye, (that makes 2 whole pixels) and repeat



So one eye sees this:

R B G R B G R B G R B G ...

R B G R B G R B G R B G ...

...o



and the other eye sees this:

G R B G R B G R B G R B...

G R B G R B G R B G R B...

...





That means you need to render the entire scene four times, twice for each eye.



For the left eye you render to the red and blue components of the even pixels (0 is even), then you render to the green components of the odd pixels.



For the right eye you render to the green component of the even pixels, then you render to the red and blue components of the odd pixels.



To render only to a particular colour components, you use glColorMask in opengl, I can't remember the Direct3D equivalent, but there I remember there is one.



To render only to odd or even pixel columns, you need a 1 bit stencil buffer image. You only need to draw it once and then reuse it. I draw vertical lines to all the odd columns.



You can use the glStencilTest function to choose whether to render to spots where the stencil is 0 or to render to spots where the stencil is 1.

#2
Posted 02/22/2008 03:59 PM   
Scroll To Top