PublicVR Forum

Online discussions of everything having to do with PublicVR, especially current projects, tech support, educational practice and theory. See for basic information and send questions to
It is currently Sat Feb 24, 2018 6:55 am

All times are UTC - 5 hours

Post new topic Reply to topic  [ 1 post ] 
Author Message
Unread postPosted: Sun Dec 05, 2010 10:31 am 

Joined: Tue May 27, 2008 11:29 pm
Posts: 558
The following are my thoughts in almost any virtual-reality platform to a multiscreen display, using the same strategy be used to develop CaveUT. At the moment I’m thinking of Virtual Battle Space Two (VBS2), but the approach should apply to almost any network capable software platform. Discussion assumes basic knowledge of CaveUT. See I will occasionally refer to the Virtual Theater at the School of Information Science at PITT

The goal is to use one computer for every flat or nearly flat projection surface of the multi wall display. Usually, we plug a standard projector into the video card of each PC/MAC/whatever, and we arrange the projection surfaces in any configuration around the users viewpoint. (If all you want is a very large flat wall, there are many better ways to do that.)

Make sure that the networking code really works well. Connect all of your computers on a standard LAN and start up a shared virtual environment with one of the computers as the server, an the rest as clients. Make certain that objects in the virtual world are faithfully and rapidly replicated to all of the views.

Select one machine, usually the server, with a single avatar or viewpoint in the virtual world. The user should be able to navigate this viewpoint with a standard controller, such as a joystick.

Establish the existence of a “spectator mode” where the view displayed on one client machine can duplicate the avatar’s camera view. We want all of the clients to be showing that same view. Typically, each client has their own camera, and the server continually copies to them the position and orientation of the avatar’s camera. Test!

Next, find a place in the code where you can rotate the spectator’s camera, so it shows the same view as before, but turned a certain amount. The location information will be unchanged, of course. That’s how you get the cameras turned enough to array around the viewer.

If your display as a “symmetric” design, you can get everything to line up by adjusting the field of view for the camera. It’s all described in CaveUT documentation, here; The reasons are complicated, but the design of the Virtual Theater is essentially symmetric, now, because of the way we are plugging multiple projectors into the PCs. If your design is NOT symmetric, you will have to produce an off-axis projection on each camera view, which is also described in the CaveUT documentation.

Test and navigate a bit. You will notice that you can turn the avatar’s camera along ONE Euclidian axis and the entire cave view will turn with it. Hopefully this is yaw, so you can turn left and right. Turning on either of the other two axies makes everything fall apart. If you want to rotate the view in those other axes, you will have to for the matrix math code out of the CaveUT open source code. It will cleverly rotate and translate its own camera view, so it acts like a window locked to the observer’s camera.

So, that’s the main idea. The devil is in the detail, of course. I expect long conversations on this thread as we get the Virtual Theater working with VBS2. Anyone is welcome to comment or ask questions about their own display.

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 5 hours

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group