Re: [Plib-devel] off-axis stereo projection with plib
Brought to you by:
sjbaker
From: <p.l...@ci...> - 2006-08-21 18:35:30
|
Scrive Bram Stolk <br...@sa...>: > steve wrote: > > Bram Stolk wrote: > > > >>ssgHello(ALL) > >> > >> > >>I'm trying to add a stereo option to a PLIB application. > >>Now, I want to do the stereo properly. > >>This means not using the 'toe-in' method. > > > > > > No! Just render the left eye, move the camera about 6cm to the right > > and render the right eye. Don't change anything else! > > I'm pretty sure this is not enough. > Your method may create some illusion of some depth, but it is > not proper stereo. > > Especially with large screens, you want objects to appear > on the screen, in front of the screen, and behind the screen. > > This means that for an object that travels from eye point to > infinity, this will happen: > > - first, the projection for R is of the left of projection L > - at screen distance, the objects for L and R coincide in > their projection > - after that, the projection for R is on the right of the > projection for L. > > Your method will not create negative,positive,zero parallax. > Only negative parallax. Ok, wait. We have to questions to answer. First is: on- or off-axis projection? well, it mostly depends on whether the eye is on- or off-axis wrt the center of the projection screen. Not always off-axis projection is the case with stereo, even when passive (think of the HMD case, where the eye is always on-axis), and it's a real-world reference system fact (i.e. measured in meters, go to measure screen corners and where your eye is, IPD is ~.06m). I have some Plib-ready code for general projection if someone wants. Anyway off-axis projection helps rendering a more correct stereo pair, as well as any other even non-stereo multiple-projector large screens. Second is: what modelview/camera model to adopt for stereo pair rendering? I haven't Paul Bourke's code under my eyes, yet I remember that it had two concerns from my point of view: - he wants to avoid toe-in effect, yet adopts the glLookAt, which actually resembles a rotation; - it implies the choice of a zero-parallax plane (can't remember the actual lens parameter, something like focal...) - this can be a trouble to do, and to combine world and real-world spaces. I vote (and I do in my stereo Plib-based application) for Steve's translation along original x-axis of the half-IPD > Read Paul Bourke's info on off-axis projection again, it > has some informational figures. I'll go refreshing it. > bram Greetings, Paolo |