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

Reply via email to