Hello
I’m trying to make an immersive display on a wall and I’m using a tracker for head movement
I’ve been trying to adapt an algorithm that I’ve found
Calculating Stereo Pairs - Off axis Frustums - OpenGL
http://klee.usr.dico.unimi.it/~dan/PGL/doc/articoli&libri/Calculating%20Stereo%20Pairs.pdf
But I still have problem … and I don’t have a lot of time remaining
For the moment, In short, I have …
the coordinates of the headtracker (helmetpos)
the 4 screen corners (pul, pur, pdl, pdr)
screen width : 2.4 m
screen height : 1.2 m
the wall is about 1.5 m from the tracking center
znear = helmetpos[Z]-pdl[Z];
zfar = 1000; or some value bigger then znear (constant for the moment)
left = pul[X]-helmetpos[X];
right = pur[X]-helmetpos[X];
bottom = pdl[Y]-helmetpos[Y];
top = pul[Y]-helmetpos[Y];
…
glFrustum( left, right, bottom, top, znear, zFar );
…
screenCenter = (pur+pdl)/2
…
gluLookAt(
helmetpos[X],helmetpos[Y],helmetpos[Z],
screenCenter[X],screenCenter[Y],screenCenter[Z], 0, 1, 0
);
…
But I still have problems to get a realistic view
and there is so many things … I’m confused
The main problem I see is that:
Going from the left to the right limit of the screen (from a distance) make the scene go totally out of view even if it is supposed to stay in front
I know that I have to watch the screen from an Off axis Frustums but the consequences are far more than expected
Thank you for your help