Asymmetric View Frustum

Micah71381

03-02-2011 21:21:11

I am evaluating a couple different engines to use for an upcoming project and one of the key things I need to be able to do in my project is have a dynamic (changing per frame) asymmetric view frustum. Obviously, given any engine's source code I can do this but my question is whether or not I can do it in MOGRE out of the box, without writing any additional C++/CLI code?

CodeKrash

03-02-2011 21:47:04

just make 2 viewports and 2 cameras with the correct position/orientations on the same scene manager

wouldnt that facilitate a "Asymmetric frustum parallel axis projection stereo"

Micah71381

03-02-2011 21:56:49

I want a single camera, but the ability to move the camera without moving the projection plane. Diagrams can be found here:
http://local.wasp.uwa.edu.au/~pbourke/p ... ustum.html

The use case is for head tracking similar to what is seen in this tech demo:
http://www.youtube.com/watch?v=Jd3-eiid-Uw&t=2m45s

CodeKrash

04-02-2011 07:45:29

doesn't that simply involve placing a single camera where your virtual head is, and aiming it correctly? Why the special inquiry? I would think the real problem would be deriving the camera position based on the streaming images of your head.

Micah71381

04-02-2011 09:07:23

No, in order for it to appear correctly you need the frustum to be asymmetrical. Just moving the camera around doesn't give the impression that you are looking through a window (the monitor) but instead just gives you the impression that your head is controlling camera movement. The effects on human perception of depth are vastly different.

tafkag

04-02-2011 18:01:27

If I understand you correctly, Ogre's frustum offset should do the trick, which is available in Mogre.

CodeKrash

04-02-2011 21:50:59

cool, i have a lot to learn :D