I have a couple of comments below. At 3/9/02, you wrote: >As far as I can figure out, there are only three situations we need to >deal with in the viewer code: > >1. Looking away from a known position. >2. Looking towards a known position from a known distance and > angle(s).
With respect to the chase view (2), three potential options come to mind: 2.1 What you get now w/ the 'v' key, but with one tweak. This view always keeps the horizon horizontal on the screen. When the aircraft is flying straight down what you see is a plan view. When the aircraft is level what you see is a rearview. When the aircraft is doing a Dutch roll, the horizon is still level. All of this is good. Another tweak to this view, however, is where the view is not sort of tied to the body axis directionally. Right now for an aircraft that has a strong adverse yaw (or Dutch roll), the view sways from side to side (w/ horizon level), and this makes it hard to fly w/o getting airsick (for me). It would be better to simply see the aircraft yawing side to side w/ the view not swaying back and forth. So this view would be tied to the aircraft trajectory history. 2.2 A chase view. This would be a view that looks at the viewed aircraft from a following shadow aircraft. The horizon here would move like it does when flying from inside the aircraft. The viewed aircraft in this case would be centered on the screen as it is now w/ the 'v' key. There is no lag w/ the aircraft centered on the screen. 2.3 A chase view, but more realistic. If one were following the viewed aircraft from a chase plane, there would be some lag in the view. In this case, the viewed aircraft would not stay in the center of the screen. It will only be centered when flying steady state, but for, say, a rapid pull-up, the viewed aircraft would move up from the center of the screen. So the chase view is more or less what a human would see w/ binoculars from the following aircraft --- there would be lag. >3. Looking from one known position towards another. For the tower view, having a zoom feature would be really good. In fact, for all cases, it would be handy if the zoom-in/zoom-out increased the distance between the viewer and viewee. >An example of (1) is the view from inside the aircraft; an example of >(2) is a chase view; and an example of (3) is a tower view. The view >manager class should take care of setting up viewers appropriately for >different situations. > >In every case, we want to be able to specify offsets for all six >degrees of freedom. I think that it makes sense to put all of this in >a single, configurable viewer class, rather than having separater >viewer_lookat, viewer_rph, and (eventually) viewer_tower classes that >duplicate most of each-others' code. > >The main required output is the VIEW matrix to pass to ssgSetCamera, >but several parts of FlightGear need vectors and matrices that are >byproducts of calculating VIEW as well (such as the world-up vector); >it would be nice to minimize these dependencies as far as possible. > >All of the views can still be managed by the view-manager class (a >proper subsystem), but we should try to remove all hard-coded >dependencies from the rest of the FlightGear codebase. For example, >the scenery code doesn't need to know which view is in use; it only >needs to know where the coordinates and VIEW matrix for the camera. > >Comments? Volunteers? I think that the easiest solution is probably >a clean rewrite, but paying close attention to how Norm used the >matrices and vectors in the original. > > >All the best, > > >David > >-- >David Megginson >[EMAIL PROTECTED] > >_______________________________________________ >Flightgear-devel mailing list >[EMAIL PROTECTED] >http://mail.flightgear.org/mailman/listinfo/flightgear-devel ************************************************** Prof. Michael S. Selig Dept. of Aero/Astro Engineering University of Illinois at Urbana-Champaign 306 Talbot Laboratory 104 South Wright Street Urbana, IL 61801-2935 (217) 244-5757 (o), (509) 691-1373 (fax) mailto:[EMAIL PROTECTED] http://www.uiuc.edu/ph/www/m-selig http://www.uiuc.edu/ph/www/m-selig/faq.html (FAQ) ************************************************** _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
