#1
|
|||
|
|||
orthographic projection in a head-tracked cave environment
Is it possible to use orthographic projection in a head-tracked cave environment? I set up a cave, and tried to change the perspective
Code:
tracker = viztracker.add() wall = vizcave.Wall('wall',upperLeft,upperRight,lowerLeft,lowerRight) cave = vizcave.Cave() cave.addWall(wall) cave.setTracker(pos=tracker,ori=tracker) viz.MainWindow.ortho(left,right,bottom,top,near,far) |
#2
|
|||
|
|||
cave.update() will compute and set the new frustum settings for the window. When you call cave.setTracker() you are telling it to automatically call cave.update() every frame using the data from the specified tracker. If you don't want the cave to set the frustum then don't call cave.setTracker() or cave.update().
|
#3
|
|||
|
|||
So that means I would have to compute the left and right orthographic frustums on each frame? In that case, a cave with just one wall wouldn't be very useful. Or does the cave do something else special?
|
#4
|
|||
|
|||
I'm not sure what you are asking here. If you want to use an orthographic projection matrix then you need to apply it yourself. The number of walls has nothing to do with this. Out of curiosity, why do you need to use an orthographic projection in your CAVE?
|
#5
|
|||
|
|||
We're using a cave-like setup (a single back-projected screen in an otherwise empty, dark room with head-tracking and stereo via shutter goggles) for experiments on the visual perception of depth. We need orthographic projection of the objects in certain cases to remove the perspective cue to depth (there are many depth cues, such as perspective, occlusion, and stereopsis, among others).
I'd been using vizcave because it seemed to be appropriate for our physical setup, but I'm not entirely clear what benefits I get from using vizcave when I don't want to link the tracker directly to the cave. I suppose that I can only get the appropriate units (i.e., 1 Vizard unit equals 1 meter) if I set up a cave with the right wall dimensions. But aside from that, I'm not sure it's worth setting up a cave. |
#6
|
|||
|
|||
As an update for anyone else stumbling across this needing to set up a single-wall orthographic "cave", it appears that, instead of a cave, a solution is to set up an orthographic projection like this (example down the world z axis):
<window>.ortho(coordinates of screen in world x and y) <window>.screenDistance(coordinate of screen in world z) I'm not sure if head tracking does anything useful in an orthographic projection context - since it's a projection onto the screen that explicitly ignores the viewpoint, it seems like it'd be inappropriate to update the projection matrices using the head position. But I think IPD still needs to be updated somehow from head orientation, for correct stereo - still looking at the best way to do that. Last edited by AySz88; 12-14-2011 at 10:32 AM. Reason: clarify |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
navigation in cave environment | Andy | Vizard | 4 | 03-28-2008 01:32 AM |