| | | Supreme Being
       
Group: Moderated Users Last Login: 12/4/2008 1:36:50 PM Posts: 539, Visits: 1,120 |
| | I have a question about rendering stereo on HMDs rather than on screens. On a screen, if I render an image at the same coordinates for each eye, that image appears to be at the same depth as the screen. If I render the images seperated they appear in front of or behind the screen depending on how seperated they are. On a HMD all this goes out the window, as there is no single screen, and the screens are about 1cm from your eye. So if I render an image at the same coordinates on each eye, what distance will it appear to be at? |
| | | | Supreme Being
       
Group: Forum Members Last Login: 9/27/2008 9:08:45 AM Posts: 92, Visits: 234 |
| It appears too at screen depth at a meter or so, it depends on psychology i think; but i was surprised by the fact that, even if the screen looks like being at a distance from the eyes, you cant get pop out effect in 3D, i think that is because the screens are indeed at a very short distance from the eyes, you can get a way better 3D than with shutterglasses, without any ghosting of course, but no popout.
You will be a hero (again) if you make an universal stereo driver for this; but if you are doing it remember, the ultimate problem of the huds being wiped apart when raising convergence for the better 3D in so much games, this is more important even that the post proccessing artifacts or total impediment for 3D in many games with nvidia drivers, that will be sweet to let finally behind too |
| | | | 
Technical Support
       
Group: Administrators Last Login: 1/5/2011 11:16:13 AM Posts: 176, Visits: 468 |
| When it comes to creating stereo, I've very very far from an expert (I'll have to see if I can get our resident 3D 'expert' to pop in here for this thread), but if you watch the nVidia test demo in the stereo drivers, the nVidia logo goes back and forth, and spins around. At one point, it does pop out towards you. So, it's doable, even on an HMD. I just don't know the technical details behind it.
Maybe you can tear that demo apart to find the answer. . .
~~~~~~~~~~~~~~~~~~~~~~~
If it ain't broke, break it. Then you can fix it.
~~~~~~~~~~~~~~~~~~~~~~~
Todd R. Ferguson
Technical Support
Vuzix Corporation
585.359.5909
todd_ferguson@vuzix.com |
| | | | Wombat Trainer

Group: Administrators Last Login: 10/31/2008 4:18:52 PM Posts: 5, Visits: 30 |
| CarlKenner (8/30/2007) I have a question about rendering stereo on HMDs rather than on screens.
On a screen, if I render an image at the same coordinates for each eye, that image appears to be at the same depth as the screen. If I render the images seperated they appear in front of or behind the screen depending on how seperated they are.
On a HMD all this goes out the window, as there is no single screen, and the screens are about 1cm from your eye. So if I render an image at the same coordinates on each eye, what distance will it appear to be at?
In both cases (Screen and HMD) when the item is at the same coordinates horizontally per eye, it appears at wherever the screen is. With regular screens (Projection, CRT, LCD) this is at the distance that the screen is from you. On a desktop machine, this is a couple of feet, in the cinema, it's about 50+ feet from you. With a HMD, it is at the location that the optics are set at for focus. Yes, they're less than an inch from your eye, but due to the lenses, it appears at roughly three feet from your head. (I don't remember the exact distance right now.)
Since your eyes operate somewhat independantly of eachother, you get exactly the same effect with our (or any) HMD device as a large single screen a few feet from your head. The difference is, as mentioned in another reply, that you have full isolation between the eyes, so you can eliminate ghosting and possibly eliminate flicker other such artifacts of having the two images mixed together.
The basic technology is that as the two images diverge either way, it moves its position from the "screen location" either into it (to infinity) or out of it (to your eye). We perceive distance by how far our eyes have to converge or diverge on an object. It works both ways, in and out, on both screen types.
You always have to be careful, in any 3D system of doing things that are impossible for your real eye to deal with; such as:
- having an object too close - the two images diverged or converged too far
- having a close object going behind a far object - it's possible. it's weird. it gives you headaches
and so on
You should also, always try to keep the subjects, the main focus, within resonable close distance to the "screen distance", or where both images converge togheter. This will give you the best results, since you don't have to deal with another "impossibility" which is that things far away as well as things close up are all (or can be) in perfect focus. As the object moves in and out of the screen, your brain will tell your eyes to adjust focus on it. When your eyes try to adjust to it, they have to adjust back, causing eye strain.
I've found that it's REALLY easy to make video that "hurts to look at" or just gives you headaches, and it seems like it'd be hard to do stuff that's comfortable to look at, but in all actuality, as long as you're careful, it's pretty easy to have good results.
-s |
| | | | Supreme Being
       
Group: Moderated Users Last Login: 12/4/2008 1:36:50 PM Posts: 539, Visits: 1,120 |
| | OK. Cool. So I just render stereo like normal, except that I assume the eyes are further from the screen than normal. Anyone know exactly what that depth is? I don't really need to know exactly, just curious. Stay tuned for some really bad (but stereoscopic) 3D graphics rendered in a window on Vista, on non-nVidia hardware and a Core 2 Duo processor. But only in this one program I am working on for now. A universal stereoscopic driver will have to wait, but I do have some ideas swirling around my head for it. I have actually made a stereoscopic driver before, it was much more advanced than the nVidia one in some ways because it used head-tracked perspective (like in a VR CAVE), and it allowed you to render everything at actual size and depth, and it allowed you to calibrate individual scenes, or parts of scenes, in the game seperately. It made me seriously scared of heights though in games which had a camera that was high up. But I never really finished that as something I could release, and it only supported Direct3D 8. One thing I could do with a stereo driver is include the head-tracking support into the stereo driver itself. So rather than having looking around be controlling input to the game, the game wouldn't even know you were looking around, since the stereo driver would just be changing the projection matrix behind the games back. You would still walk and fire in the same direction as normal. That would only work in some games though, since most games (but not all) don't render objects unless part of the object is within your field of view. So that feature might feel more like looking around the film studio where the game is being recorded and seeing the edges of the set. HUDs are a pain, and I don't know of any easy solution. I guess I could try allowing the user to specify a depth for all 2D content, or just not drawing certain 2D content, or drawing 2D content at screen depth but allowing closer objects to occlude it. But the real problem is vertex and pixel shaders. Older games used to actually describe the 3D location of all the polygons, and the fixed-function pipeline would draw them. Newer games don't describe the 3D locations of all the polygons, they just pass unspecified data to a shader they wrote which is free to interpret the data however it wants, and uses its own algorythms to draw a picture that merely looks 3D. Making a stereo driver that supports the fixed function pipeline is relatively easy. But vertex shaders are a nightmare. It sounds like there's no reason why you can't get pop-out effects. Although ideally with a HMD you don't want pop-out effects, they are a by-product of a narrow FOV. With a wider FOV you wouldn't be able to tell what depth the imaginary "screen" was, you would only be able to tell that some objects look like they are right in front of your nose and some look far away, just like in real life. But wide FOV still costs a fortune. So enjoy the pop-out effects that you should be able to get. |
| | | | Forum Member
       
Group: Administrators Last Login: 3/23/2008 7:21:48 PM Posts: 26, Visits: 130 |
| | The apparent screen distance with the VR920 is 9 feet, just FYI |
| | | | Supreme Being
       
Group: Moderated Users Last Login: 12/4/2008 1:36:50 PM Posts: 539, Visits: 1,120 |
| | Wow, that's quite some distance. So anything closer than 3 metres should be drawn in front of the "screen". Hopefully the occlusion at the edges of the screen won't hurt the effect too much. |
| |
|
|