Hans-Georg Wunder wrote: > > High all, > > since version 0.7.2 I played around with flightgear. Now I am writing a > little tutorial with pictures, how to create an aircraft. > Many things I am able to understand , but some things are mysterious. I > searched for informations in the mailing lists and howtos, > I analysed existing models, but I can't understand it. Here are my > questions: > > - How can I add a light to a model (for example a green nav light)? > > > - How can I add a light to an object in the scenery (for example > a red light at the top of a tower) ?
Lights are simulated in OpenGL by a material color that is not affected by ambient or diffuse light source. This way it can be see at night when there is no light source. This color is called 'emissive' or 'emission' for that purpose. In an AC3D aircraft or building or whatever models, the first lines describe material properties like this : MATERIAL "AerialLight" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 1 1 1 shi 72 trans 0 note the keyword 'emis' follow by three '1' to say that 'AerialLight' is emitting white. ( beware, it is not a light source, so it has no effect on the surrounding, it is just plain white every time ). Now, this material color must affected to a graphical object. Either a point, a billboarded quad or a solid. Ground light and airport lights are points. Radio tower lights are billboards that are growing with the distance from the viewer. Bay bridge lights are solids. Why ? because it appears that the OpenGL fog is fading lights to early to achieve the proper effect, so there are several strategies. For ground light, an alternate fog density is computed and set and the lights are drawn after the terrain. For 3d models, it is not (yet) possible to modify the fog on the fly so the size of the light objects is modified with the distance from the viewer. So, to reply precisely to your question, you can add a light to a model by editing it with your 3d modeler, add an object that has the shape of your light, give it an emissive material color, and eventually, add a 'dist-scale' and/or a 'billboard' kind of animation to the animation xml file. If you want the light to blink, you can add a 'timed' animation to alternatively show two objects that have the same shape but with two different material color, one with emissive, the other without. Regards, -Fred _______________________________________________ Flightgear-users mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-users 2f585eeea02e2c79d7b1d8c4963bae2d
