Don't click here unless you want to be banned.

LSL Wiki : LibraryHSL2RGB

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are ia360925.us.archive.org
vector HSL_2_RGB( vector hsl )             
{
  // hsl H S L
 vector rgb;
 float var1, var2;

  if ( S == 0 )                       //HSL values = 0 ÷ 1
  {
     rgb.x = hsl.y;                  //RGB results 
     rgb.y = hsl.y;
     rgb.z = hsl.y;
  }
  else
  {
     if ( L < 0.5 ) var_2 = L * ( 1 + S );
     else           var_2 = ( L + S ) - ( S * L );
  
     var_1 = 2 * L - var_2;
  
     R = 255 * Hue_2_RGB( var_1, var_2, H + ( 1 / 3 ) );
     G = 255 * Hue_2_RGB( var_1, var_2, H );
     B = 255 * Hue_2_RGB( var_1, var_2, H - ( 1 / 3 ) )  ;
  }
  return rgb;
}

float Hue_2_RGB( vector hue v1, v2, vH )             //Function Hue_2_RGB
{
    // hue v1, v2, vH

   if ( vH < 0 ) vH += 1
   if ( vH > 1 ) vH -= 1
   if ( ( 6 * vH ) < 1 ) return ( v1 + ( v2 - v1 ) * 6 * vH )
   if ( ( 2 * vH ) < 1 ) return ( v2 )
   if ( ( 3 * vH ) < 2 ) return ( v1 + ( v2 - v1 ) * ( ( 2 / 3 ) - vH ) * 6 )
   return ( v1 )
}
There is one comment on this page. [Display comments/form]