Patrick Quirk wrote:

I'm currently a computer science researcher at UNC-Chapel Hill and we're using Flightgear as a proof of concept application in our project (website: ). The short version is that we have a master fgfs node and 4 slaves which drive projectors. These projectors produce a large panoramic display that looks great in the cockpit view. I have two questions that someone here could probably answer in a few minutes and save me hours of time. 1. In the cockpit view, we need to change the view according to our own usual positition, look at, and up vector specification which works fine now in terms of matching up what is drawn on the projectors. However to do this we modified the OpenGL projection stack directly and bypassed any SSG stuff, which is a big nasty hack. This makes FlightGear think that each of the slave nodes is looking straight ahead when we're actually looking off to the left or right or whatever. Consequentially there is a large amount of clipping in the nodes that aren't looking close to straight ahead. How can I use SSG to do this instead? Or even just rotate the SSG frustum approximately?

Have you played around with these properties (setable from the command line, or ~/.fgfsrc file.)


I *think* you can adjust these properties in real time if you need to, but typically you set these once for a particular monitor configuration and you simply send over the position and orientation to the slave machines and everything happens automatically. The configurable numbers are offsets from straight ahead.

If you need to model your view point changing relative to your monitors (head tracker?) and need to fiddle with your frustums and view direction offsets in real time, then that's a bit more difficult. I'm not aware of anyone doing this, but it shouldn't be all that much additional effort to add support for this sort of thing.

2. It would be really nice if we could change the view (cockpit, chase, etc) of the slave nodes using the master node, or even in the preferences files. Is there a way to do this without using the keyboard of the slave computer? Hopefully that was halfway coherent, and I look forward to any help I can get.

Most of these things (view parameters, weather, time of day, etc.) are configurable via the property system. For things like weather and view selection which don't change rapidly, you can send over new property values using the "telnet" interface. For things that could change rapidly (like view position/orientation) you probably want to blast over udp packets at 60hz or whatever your screen refresh rate is.



Curtis Olson
HumanFIRST Program
FlightGear Project
Unique text:        2f585eeea02e2c79d7b1d8c4963bae2d

Flightgear-devel mailing list

Reply via email to