>> Since my basic Cu texture image is often 1024x512 (sometimes larger),
>> sorting through the y-coordinate of the texture sheet isn't an option
>> unless you use 4096x4096 sheets - which may not be so nice. (?) Well, I
>> guess that depends on the texture cache which you seem to have anyway.
>
> The textures don't have to have the same x & y coordinate dimensions, so
> you could have  1x2 texture sheet that was 1024x1024.

Right... but

> To match the existing global 3D clouds, it would be easier for
> each "cloudlet" (cluster of sprites representing a cloud puff) to
> use a single texture sheet containing multiple sprite textures.

So then I'd be creating a cloudlet from a sheet with 2 textures - one for
the top, one for the bottom, and that would mean that every cloud looks
the same :-) So I have to 'mix' the clouds by overlapping cloudlets
drawing from different sheets myself if the sheet is too small to offer
substantial variation, that's the constraint.

>> If you provide control over cloudlet size as above, I think the main new
>> parameter needed is the amount of rescaling in the vertical axis to
>> squash
>> cloudlets into startiform shapes.
>
> We've got that control already - you can define the size of sprites in
> both x and y axis.

Yes - before rotation. You have wScale and hScale as parameters in

  gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
  gl_Position.xyz = gl_Vertex.x * u ;
  gl_Position.xyz += gl_Vertex.y * r * wScale;
  gl_Position.xyz += gl_Vertex.z * w  * hScale;
  gl_Position.xyz += gl_Color.xyz;

If you select hScale to be 0.5 and look at the texture sheet from the same
altitude, you see a rectangle with the width 2 times the height. If you
look at that texture from straight above, you see the same rectangle, just
rotated to face you.

The vertical squashing I mean is adding the line

  gl_Position.z = gl_Position.z * vScale;

If wScale = hScale = 1 and vScale is 0.5, you see a rectangle with width 2
times height when level with the cloud, but you see a square when looking
straight down - exactly the properties you need to build a layer
efficiently.

> In fact, I think we probably want this control on a per-layer basis. In
> one
> case (used by the global weather system at present), the FG code will
> manage the clouds, repositioning them to create an illusion of complete
> coverage. In the other, the Nasal code is responsible for moving and
> deleting
> clouds.

You mean you simply move them? I've never thought about doing that..., but
in hindsight, it seems fairly obvious to do when you want to create a
continuous layer... Maybe that's the solution to my altitude differential
wind problem... (?)

> I had thought that converting accurately from lon/lat to cartesian
> coordinates was quite expensive when using the earth model we have.

It would be if I would use the earth model in computations - but since the
distances involved are small, I compute everything in local Cartesian
coordinates and don't bother about misplacing a cloud by a meter or so :-)

> That's because when you are in the air you are generally moving in the
> same airmass as the clouds themselves, so they appear static.

Well, no, because I look of course for the relative movement of the
terrain underneath seemlingly static clouds - that's where the effect is
apparent of course. In an ASK-13 with 80 km/h in 40 km/h winds, you can
see this very impressively, you fly between a seemingly static set of
clouds, and the terrain just keeps rolling below you.

But most planes are just too fast - when I fly an approach in the Bravo
for instance, I have about 100 kt on final - in 30 kt (!) crosswinds, the
angular deflection of my course is just 17 degrees. How fast I see the
terrain moving is then dependent on the distance to my reference point -
if I am close to the ground, the apparent movement (=how fast terrain
pixels appear to move sideways) is large, at 30.000 ft it is negligible.

Okay, one can just about spot that above ground if one as a point of
reference such as the runway. But  for most of the flight, say from 12.000
ft, when I have a GS of 280 kt, the angular deflection is a mere 6 degrees
and I don't have a clear reference point - it makes no visual difference
to switch cloud movement off.

Under most conditions, winds are way smaller and you don't usually get 30
kt crosswinds in an approach (that'd not be a smart approach direction...)
- thus you can't really see it.

Works really best for gliders or single-prop planes like the Cessna-172 -
even the SenecaII which I use often is a bit on the fast side.

Cheers,

* Thorsten


------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to