Re: [Flightgear-devel] Re: GUI update almost completed
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
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
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
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
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
* 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
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
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
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
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