Re: center of projection

New Message Reply Date view Thread view Subject view Author view

From: Simon C Mills (simon++at++wgs.estec.esa.nl)
Date: 04/06/2001 03:48:32


DAVID Philippe wrote:
>
> hello pfUser
>
> I use performer for a Virtual Reality application where the user is on
> front of a big screen (2m x 3m). His head is tracked by an ascension'
> tracker.
> So I move the point of view function of the head position behind the
> screen. I rotate the point of view to keep the same frustrum and I adapt
> the FOV too. but I need to change the projection in order to keep the
> center in front of the user.
> Have you any idea of how to change this.
> It must be down by changing the projection matrix but I don't know how.

For a realistic view of a large screen with head tracking to give an
immersive display you need to update 1) the eye position, 2) the
projection matrix. If you are also doing stereo this needs to be done
seperately for each eye. Only then will you achieve the effect of
looking through a window.

The position from the tracker needs adjusting to take into account
offset from the sensor to the eye position (use the mid-point of the
eyes and offset left and right for each eye in stereo) and the offset
from the tracker reference frame to the centre of the screen (direct
measurements). This gives you the screen to eye translation, you can
then add in a transformation from the origin of your scene to the
nominal eye position which can be controlled to move you through your
database.

The projection matrix for each channel (assuming stereo) needs updating
also depending on the eye position, again offset to be relative to the
centre of the screen. You can best use the pfChannel::makePersp call
since in general you will have an asymmetric frustum. Remember to keep
the view direction perpendicular to the screen and adjust top, bottom,
left right to match the actual corners of your screen as seen from that
eye position. This means measuring your physical screen and use these as
the basis scaling by the near plane distance since makePersp expects
corners on the near plane.

P.S. Our company is also in Paris so should you need more help you can
contact us directly:

Silicon Worlds S.A.
12 rue de Chatillon
75014 PARIS
+33 (0)1.53.90.11.11

Bon chance, Simon
_______________________________________________________________________

Simon Mills
Silicon Worlds S.A.
c/o Modelling & Simulation Section (TOS-EMM) Tel: +31 (0)71 565 3725
European Space Agency (ESA/ESTEC) Fax: +31 (0)71 565 5419
Postbus 299, 2200AG Noordwijk e-mail: simon++at++wgs.estec.esa.nl
The Netherlands http://www.estec.esa.nl/wmwww/EMM
_______________________________________________________________________


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Fri Apr 06 2001 - 03:45:38 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.