]> git.mxchange.org Git - simgear.git/commitdiff
Use a more clever way to deselect a fully translucent leaf.
authorehofman <ehofman>
Fri, 12 Mar 2004 17:38:57 +0000 (17:38 +0000)
committerehofman <ehofman>
Fri, 12 Mar 2004 17:38:57 +0000 (17:38 +0000)
simgear/scene/model/animation.cxx

index c5bbba8a28aea499106ada9b3afb252ed5f7d6d6..b6bf5607c56f8dcdc0556869d5dfd27afbbee8f8 100644 (file)
@@ -108,17 +108,13 @@ change_alpha( ssgBase *_branch, float _blend )
     return;
 
   int num_colors = ((ssgLeaf *)_branch)->getNumColours();
+  unsigned int select_ = (_blend == 1.0) ? 0x0000 : 0xffff;
 
-  if ( _blend == 1.0 ) {       // fully translucent.
-    for (i = 0; i < num_colors; i++)
-      ((ssgSelector *)_branch)->select(0x0000); // deselect item.
-  } else {
-    for (i = 0; i < num_colors; i++)
-    {
-      ((ssgSelector *)_branch)->select(0xffff);
-      float *color =  ((ssgLeaf *)_branch)->getColour(i);
-      color[3] = _blend;
-    }
+  for (i = 0; i < num_colors; i++)
+  {
+    ((ssgSelector *)_branch)->select( select_ );
+    float *color =  ((ssgLeaf *)_branch)->getColour(i);
+    color[3] = _blend;
   }
 }