> So when wrap=true the core code will wrap the edges, shift the layer
> with altitude and move it with the wind With wrap=false, we'll just move
> it with the wind.
>
> OK?

Sounds good to me.


> One function I had on my TODO list was something to return the cloud
> position in lat/lon. However, it's a bit tricky due to the current
> limitations in the command interface. Do you see any need for it?

Not really. As I said, the whole cloud configuration exists
Nasal-internally, and part of it (determined by view ranges) is also
written as visible models into the scenery. But even without any clouds in
the scenery, the code would still know where every cloud is over time,
when to move it to a new altitude, when to forget it and so on. I never
read the coordinates from the scenery models.

So as long as I have a handle 'move cloud X' I wouldn't need a function
'get me coordinates of cloud X' since I know these already. Provided
there's no bug which would make the drift speed different on the C++ and
Nasal level of course :-)

> Also, Is there value in having the core code handling the vertical
> movement of clouds due to terrain, as a precursor to removing the
> "wrap" feature completely ?
>
> Where there is stable function that should apply equally to the
> existing global cloud coverage as much as the local weather I'm keen
> to migrate it into the core code. In this
> particular case, I suspect that terrain sampling can be done much more
> efficiently in
> the C++ code.

I agree, but I stress again that the 2 or so geodinfo() calls per frame to
get the terrain interaction of clouds are not an issue for performance.
400+ setprop() calls per frame to get models visually moving are - so it
will be the visual cloud drift which makes all the performance gain.

I would not hard-code the cloud-terrain interaction for the simple reason
that we don't yet know how to do it properly (or a least, I don't know
it).

We might be thinking of clouds as objects drifting in a wind field, but
they are not - they are regions where water vapour condenses, and these
may move with the air or may not. Take Lenticularis clouds which
illustrate the point nicely - they remain static in strong winds. And
that's the whole problem of terrain interaction - I may just be able to
figure out how the windfield interacts with an obstacle, but that's not
the whole story.

Even getting the vertical movement of air isn't a clear-cut issue by the
way. The airstream would simply part for a solitary obstacle (like Mt.
Rainier) and flow around, but it would be deflected upward when reaching a
mountain range.

In upward moving air at a barrier, layered clouds simply seem to remain
more or less where they are - the fill the valleys, and the mountain
ranges stick out of the layer. Clouds intersecting with the terrain become
fog banks.

Convective clouds seem to be able to follow to some degree - but they can
be dissolved in upward moving air. To some degree, the cloud seems to
decouple from the air movement. Or they can pile up at a ridge, and
dissolve in the downstream on the other side. Usually, nice and crisp
Cumulus do not intersect with the terrain unless it's *very* steep (the
most spectacular failure of my current implementation - Cumuli sticking
halfway out of gentle sloped terrain). But - the terrain itself may also
force the creation of clouds which would not otherwise be there.

If you move clouds against terrain obstacles, they tend to do all sorts of
messy and complicated things, and I haven't really figured out what set of
rules actually gives you a credible distribution in the mountains -
especially when you move things around and allow clouds to form and
dissolve.

That's why I'd keep that part open (or at least optionally open) - you can
of course hard-code my current algorithm, but I have to say honestly that
in many situations in the mountains I am not happy with the results I get.

Cheers,

* Thorsten


------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to