|
From: Norman V. <nh...@ca...> - 2001-06-15 12:29:07
|
Norman Vine wrote:
>Curtis L. Olson writes:
>>David Megginson writes:
>>> Norman Vine writes:
>>>
>>> > The only other 'natural' way I can think of to not have the Panel
>>> > block most of the scenery with out a major rewrite of the FGFS SSG
>>> > display pipeline is introduce a 'minor' deflection downwards into the
>>> > view vector when the Panel is displayed.
>>> >
>>> > This, IMHO, would be perceived as natural in that when looking at the
>>> > Panel in real life your look vector is probably slightly downwards.
>>>
>>> Perhaps the deflection angle is what we should make adjustable.
>>
>>Conceptually, you would take the view_forward vector and rotate about
>>the pitch axis.
On further reflection I think that for the viewer_rph case,
IMHO the only case that makes sense to do this,
I believe the EASIEST and FASTEST solution would be to just modify
the 'pitch value' passed to the viewer. This shouldn't effect any other
parts of the code and should do exactly what we want :-))
This could be done either in main.cxx : fgRenderFrame()
by including the change of pitch to
pilot_view->set_rph( cur_fdm_state->get_Phi(),
cur_fdm_state->get_Theta(),
cur_fdm_state->get_Psi() );
or in viewer_rph::update()
fgMakeLocal( Local, rph[1], rph[0], -rph[2]);
My guess is that this should be done in the fgRenderFrame() call
Cheers
Norman
|