Re: [Flightgear-devel] Re: GUI update almost completed

2005-07-08 Thread Andy Ross
Arnt Karlsen wrote:
> ..and utf-8 fonts?  Supports far more languages, including all those
> supported by ISO-8859-1.

Not supported by plib, unfortunately.  The whole plib font mechanism
is based on an 8 bit lookup table; it would require significant
surgery to fix.

I believe the .txf font file format also uses 8 bit glyph IDs.

Andy

___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re : Re: [Flightgear-devel] asymetric frustum

2005-07-08 Thread BONNEVILLE David

As you asked me my screen configuration, I am scanning it to explain it more
precisely. In fact I have a cylindrical screen with 3 projectors and edge
blending. The point of view is not centered on the center of the cylindrical
screen, and it is not centered relatively to the screen height... lets say it is
not centered at all... that's where the 3 asymetric frustums come from.
I am ok to add this functionnality to FG, but I think I will need some help or
some advice.
I hope I could send images on monday.

David


--- Message d'origine ---
> De : "Curtis L. Olson" <[EMAIL PROTECTED]>
> À : FlightGear developers discussions 
> Sujet : Re: [Flightgear-devel] asymetric frustum
> Date : ven 08 jui 2005 17:00:21 CEST
> 
> Manuel Massing wrote:
> 
> >Hello David,
> >
> >  
> >
> >>I saw few months ago some posts about asymetric frustum for a screen wall.
> >>I got
> >>a similar installation so I will have three displays, each of them with
> >>asymetric frustum (the point of view is not centered on the screens). I
> >>will have these parameters :
> >>
> >>LeftScreen_Left_FOV
> >>
> >>
> >[...]
> >  
> >
> >>RightScreen_Bottom_FOV
> >>
> >>
> >
> >Well, as Curt stated already, that depends on how these displays should
> >be aligned. 
> >
> >Assuming you want to simply combine three coplanar, untilted views (e.g. for
> a
> >multi-projector configuration on a single projection screen), and if these
> >parameters are angles relative to the viewing direction, it should
> >work as follows:
> >
> > -create a symmetric frustum with FOV of
> > hor_fov = 2*max(-LeftScreen_Left_FOV, RightScreen_Right_FOV)
> > vert_fov = 2*max(-CenterScreen_Top_FOV, 
> > Center_Screen_Bottom_FOV)
> > 
> > -calculate the viewport coefficients [in range 0..1] by
> > LS_l_coeff = 0.5 + 0.5*tan(LS_Left_FOV)/tan(hor_fov)
> > LS_r_coeff = 0.5 + 0.5*tan(LS_Right_FOV)/tan(hor_fov)
> >
> > LS_t_coeff = 0.5 + 0.5*tan(LS_Top_FOV)/tan(vert_fov)
> > LS_b_coeff = 0.5 + 0.5*tan(LS_Bottom_FOV)/tan(vert_fov)
> >
> > etc.
> >
> >These can then be set via the property system, i believe. Curt will surely
> >be able to enlighten you on this.
> >  
> >
> 
> That's the basic idea.  You specify a larger "virtual" screen that has a 
> symmetric frustum and then each display get's assigned a portion of the 
> larger display.  I realize this is probably not an industry standard way 
> to do it, and this approach probably can't cover every possible screen 
> configuration, but I needed something quick a few months ago, and this 
> approach meshed pretty well with the existing code.
> 
> I shold point out that there is some subtle wierdness depending on the 
> size of your display so for example, let's say you have 5 forward 
> displays.  The center 3 are all parallel so they need to act as a single 
> larger fov display.  If you want to assign 30 degrees field of view to 
> each of them, you would naturally pick a 90 degree field of view for the 
> center 3 and give each display 1/3 of that.  However, you can't just 
> give the 2 edge displays an symmetric 30 degrees and have them match 
> up.  There is some subtle aspect ratio stuff going on there that causes 
> problems.  So what you'd need to do is setup the side channels as a 90 
> degree fov virtual display and give them 1/3rd of that, then they should 
> match up with the center channels.
> 
> At some point it would probably make sense to clean up the view pipeline 
> to handle this better, but time and priorities are always the big problem.
> 
> Regards,
> 
> Curt.
> 
> -- 
> Curtis Olsonhttp://www.flightgear.org/~curt
> HumanFIRST Program  http://www.humanfirst.umn.edu/
> FlightGear Project  http://www.flightgear.org
> Unique text:2f585eeea02e2c79d7b1d8c4963bae2d
> 
> 
> ___
> Flightgear-devel mailing list
> Flightgear-devel@flightgear.org
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
> 2f585eeea02e2c79d7b1d8c4963bae2d
> 



___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] Re: GUI update almost completed

2005-07-08 Thread Arnt Karlsen
On Wed, 6 Jul 2005 14:14:48 +0200, Melchior wrote in message 
<[EMAIL PROTECTED]>:

> * Erik Hofman -- Wednesday 06 July 2005 13:35:
> > Is there a reference anywhere which built-in fonts are available?
> 
> freeglut/plib:
>   "FIXED_8x13",
>   "-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1",
>   "FIXED_9x15",
>   "-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1",
>   "HELVETICA_10",  
>   "-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1",
>   "HELVETICA_12",  
>   "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1",
>   "HELVETICA_18",  
>   "-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1",
>   "TIMES_10",  
>   "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
>   "TIMES_24",  
>   "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1"
> fgfs:
>   "HELVETICA_14",  
>   "-adobe-helvetica-medium-r-*-*-*-140-75-75-*-*-iso8859-1",
>   "VERA_13B",   "-*-bitstream vera
>   sans-bold-r-*-*-*-130-75-75-*-*-iso8859-1",

..and utf-8 fonts?  Supports far more languages, including all those
supported by ISO-8859-1.

-- 
..med vennlig hilsen = with Kind Regards from Arnt... ;o)
...with a number of polar bear hunters in his ancestry...
  Scenarios always come in sets of three: 
  best case, worst case, and just in case.



___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] asymetric frustum

2005-07-08 Thread Curtis L. Olson

Manuel Massing wrote:


Hello David,

 


I saw few months ago some posts about asymetric frustum for a screen wall.
I got
a similar installation so I will have three displays, each of them with
asymetric frustum (the point of view is not centered on the screens). I
will have these parameters :

LeftScreen_Left_FOV
   


[...]
 


RightScreen_Bottom_FOV
   



Well, as Curt stated already, that depends on how these displays should
be aligned. 


Assuming you want to simply combine three coplanar, untilted views (e.g. for a
multi-projector configuration on a single projection screen), and if these
parameters are angles relative to the viewing direction, it should
work as follows:

-create a symmetric frustum with FOV of
hor_fov = 2*max(-LeftScreen_Left_FOV, RightScreen_Right_FOV)
vert_fov = 2*max(-CenterScreen_Top_FOV, 
Center_Screen_Bottom_FOV)

-calculate the viewport coefficients [in range 0..1] by
LS_l_coeff = 0.5 + 0.5*tan(LS_Left_FOV)/tan(hor_fov)
LS_r_coeff = 0.5 + 0.5*tan(LS_Right_FOV)/tan(hor_fov)

LS_t_coeff = 0.5 + 0.5*tan(LS_Top_FOV)/tan(vert_fov)
LS_b_coeff = 0.5 + 0.5*tan(LS_Bottom_FOV)/tan(vert_fov)

etc.

These can then be set via the property system, i believe. Curt will surely
be able to enlighten you on this.
 



That's the basic idea.  You specify a larger "virtual" screen that has a 
symmetric frustum and then each display get's assigned a portion of the 
larger display.  I realize this is probably not an industry standard way 
to do it, and this approach probably can't cover every possible screen 
configuration, but I needed something quick a few months ago, and this 
approach meshed pretty well with the existing code.


I shold point out that there is some subtle wierdness depending on the 
size of your display so for example, let's say you have 5 forward 
displays.  The center 3 are all parallel so they need to act as a single 
larger fov display.  If you want to assign 30 degrees field of view to 
each of them, you would naturally pick a 90 degree field of view for the 
center 3 and give each display 1/3 of that.  However, you can't just 
give the 2 edge displays an symmetric 30 degrees and have them match 
up.  There is some subtle aspect ratio stuff going on there that causes 
problems.  So what you'd need to do is setup the side channels as a 90 
degree fov virtual display and give them 1/3rd of that, then they should 
match up with the center channels.


At some point it would probably make sense to clean up the view pipeline 
to handle this better, but time and priorities are always the big problem.


Regards,

Curt.

--
Curtis Olsonhttp://www.flightgear.org/~curt
HumanFIRST Program  http://www.humanfirst.umn.edu/
FlightGear Project  http://www.flightgear.org
Unique text:2f585eeea02e2c79d7b1d8c4963bae2d


___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


[Flightgear-devel] RFE for jsclient,js_server

2005-07-08 Thread Jim Campbell

Hi,
Can the "jsclient" and the "js_server" code be extended to allow up to 
eight joystick axis and the jsclient.cxx code enhanced to accept the 
"button" bits? It looks like the js_server.cxx code is encapsulating 
the button word as long integer but it is not being decoded on 
jsclient.cxx side.

cheers
Jim


___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


[Flightgear-devel] Re: gui theming

2005-07-08 Thread Melchior FRANZ
* Melchior FRANZ -- Thursday 07 July 2005 23:45:
>   $ fgfs --config=/tmp/test-style.xml

I had to change the font name due to license requirements. VERA_12B is
now called SANS_12B ("sans serif" == serifless =~ Helvetica == Swiss := grotesk)
The attached file from my original message does not work correctly any
more. Either change the font name there accordingly, or use this file
in which I'll probably make some other changes in the near future:

  http://members.aon.at/mfranz/test-style.xml  [3 kB]

m.

___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] asymetric frustum

2005-07-08 Thread Manuel Massing
Hello David,

> I saw few months ago some posts about asymetric frustum for a screen wall.
> I got
> a similar installation so I will have three displays, each of them with
> asymetric frustum (the point of view is not centered on the screens). I
> will have these parameters :
>
> LeftScreen_Left_FOV
[...]
> RightScreen_Bottom_FOV

Well, as Curt stated already, that depends on how these displays should
be aligned. 

Assuming you want to simply combine three coplanar, untilted views (e.g. for a
multi-projector configuration on a single projection screen), and if these
parameters are angles relative to the viewing direction, it should
work as follows:

-create a symmetric frustum with FOV of
hor_fov = 2*max(-LeftScreen_Left_FOV, RightScreen_Right_FOV)
vert_fov = 2*max(-CenterScreen_Top_FOV, 
Center_Screen_Bottom_FOV)

-calculate the viewport coefficients [in range 0..1] by
LS_l_coeff = 0.5 + 0.5*tan(LS_Left_FOV)/tan(hor_fov)
LS_r_coeff = 0.5 + 0.5*tan(LS_Right_FOV)/tan(hor_fov)

LS_t_coeff = 0.5 + 0.5*tan(LS_Top_FOV)/tan(vert_fov)
LS_b_coeff = 0.5 + 0.5*tan(LS_Bottom_FOV)/tan(vert_fov)

etc.

These can then be set via the property system, i believe. Curt will surely
be able to enlighten you on this.

hth,

Manuel

___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] asymetric frustum

2005-07-08 Thread Curtis L. Olson

BONNEVILLE David wrote:


Hi again,

I saw few months ago some posts about asymetric frustum for a screen wall. I
got
a similar installation so I will have three displays, each of them with
asymetric frustum (the point of view is not centered on the screens). I will
have these parameters :

LeftScreen_Left_FOV
LeftScreen_Right_FOV
LeftScreen_Top_FOV
LeftScreen_Bottom_FOV

CenterScreen_Left_FOV
CenterScreen_Right_FOV
CenterScreen_Top_FOV
CenterScreen_Bottom_FOV

RightScreen_Left_FOV
RightScreen_Right_FOV
RightScreen_Top_FOV
RightScreen_Bottom_FOV


Is there anybody who have ideas about this particular case ? How could I do it
in FG ? I think I will have to modify SGFrustum in plib.
Help welcome ;-)
 



Hi David,

If you could send me some more details about your exact screen 
configuration (a simple top down sketch might help) I believe I can help 
you come up with the right configuration values.


Regards,

Curt.

--
Curtis Olsonhttp://www.flightgear.org/~curt
HumanFIRST Program  http://www.humanfirst.umn.edu/
FlightGear Project  http://www.flightgear.org
Unique text:2f585eeea02e2c79d7b1d8c4963bae2d


___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


[Flightgear-devel] groundcache related

2005-07-08 Thread BONNEVILLE David

Hi people who are not yet on vacation,

I'm trying to use the groundcache to determine the terrain elevation at a given
position.
Here is the way I call it :


double radius = 50.;
double xyz[3];

sgGeodToCart( lat, lon, 1., xyz );
bool cache_ok = _ground_cache.prepare_ground_cache( 0., xyz, radius );
if( !cache_ok )
{
std::cout << "getTerrainAltitude is being called without scenery below 
the
position" << std::endl;
std::cout << "latitude  = " << lat << std::endl;
std::cout << "longitude = " << lon << std::endl;
}

double contact[3];
double normal[3];
double vel[3];
int type;
double loadCapacity;
double frictionFactor;
double terrain_elev = 0.;

_ground_cache.get_agl( 0., xyz, contact, normal, vel, &type, &loadCapacity,
&frictionFactor, &terrain_elev );



I call this code in my render loop and at each iteration i get cache_ok equal
to
false.
Does anybody know where I am wrong or how I could solve my problem ?

Thanks.

David


___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


[Flightgear-devel] asymetric frustum

2005-07-08 Thread BONNEVILLE David

Hi again,

I saw few months ago some posts about asymetric frustum for a screen wall. I
got
a similar installation so I will have three displays, each of them with
asymetric frustum (the point of view is not centered on the screens). I will
have these parameters :

LeftScreen_Left_FOV
LeftScreen_Right_FOV
LeftScreen_Top_FOV
LeftScreen_Bottom_FOV

CenterScreen_Left_FOV
CenterScreen_Right_FOV
CenterScreen_Top_FOV
CenterScreen_Bottom_FOV

RightScreen_Left_FOV
RightScreen_Right_FOV
RightScreen_Top_FOV
RightScreen_Bottom_FOV


Is there anybody who have ideas about this particular case ? How could I do it
in FG ? I think I will have to modify SGFrustum in plib.
Help welcome ;-)

David




___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d