]> git.mxchange.org Git - simgear.git/commitdiff
Merge branch 'timoore/effects'
authorTim Moore <timoore33@gmail.com>
Mon, 11 Jan 2010 06:14:23 +0000 (07:14 +0100)
committerTim Moore <timoore33@gmail.com>
Mon, 11 Jan 2010 06:14:23 +0000 (07:14 +0100)
1  2 
simgear/scene/sky/newcloud.cxx

index f4eb8de272c6fb801ca3e4962bf9989798398adf,1e16629e8a3f43bdc7dfef9037103ec44338e80c..162f137a0c58c38941c449d99cbdd2d27fe88f1d
@@@ -211,20 -218,14 +210,20 @@@ osg::ref_ptr<EffectGeode> SGNewCloud::g
              double elev  = sg_random() * SGD_PI;
              x = width * cos(theta) * 0.5f * sin(elev);
              y = width * sin(theta) * 0.5f * sin(elev);
 -            z = height * cos(elev) * 0.5f; 
 +            z = height * cos(elev) * 0.5f;
          }
          
-         // Determine the height and width as scaling factors on the minimum size (used to create the quad)
+         // Determine the height and width as scaling factors on the minimum size (used to create the quad).
          float sprite_width = 1.0f + sg_random() * (max_sprite_width - min_sprite_width) / min_sprite_width;
          float sprite_height = 1.0f + sg_random() * (max_sprite_height - min_sprite_height) / min_sprite_height;
 -        
 -        if (i == 2) {
 +
 +        // Sprites are never taller than square.
 +        if (sprite_height * min_sprite_height > sprite_width * min_sprite_width)
 +        {
 +            sprite_height = sprite_width * min_sprite_width / min_sprite_height;
 +        }
 +
 +        if (i == 0) {
              // The center sprite is always maximum size to fill up any holes.
              sprite_width = 1.0f + (max_sprite_width - min_sprite_width) / min_sprite_width;
              sprite_height = 1.0f + (max_sprite_height - min_sprite_height) / min_sprite_height;