DefaultLightShareScript

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Small changes in the script)
 
(One intermediate revision by one user not shown)
Line 4: Line 4:
 
<source lang="lsl">
 
<source lang="lsl">
 
//
 
//
// Default LightShare Script Exemple
+
// Default LightShare Script Example
 
// Author: djphil
 
// Author: djphil
 
//
 
//
  
 +
// Define a list of settings for LightShare
 
list settings = [
 
list settings = [
     WL_WATER_COLOR, <4.0, 38.0, 64.0>,
+
     WL_WATER_COLOR, <4.0, 38.0, 64.0>, // Set water color
     WL_WATER_FOG_DENSITY_EXPONENT, 4.0,
+
     WL_WATER_FOG_DENSITY_EXPONENT, 4.0, // Set water fog density exponent
     WL_UNDERWATER_FOG_MODIFIER, 0.25,
+
     WL_UNDERWATER_FOG_MODIFIER, 0.25,   // Set underwater fog modifier
  
     WL_REFLECTION_WAVELET_SCALE, <2.0, 2.0, 2.0>,
+
     WL_REFLECTION_WAVELET_SCALE, <2.0, 2.0, 2.0>, // Set reflection wavelet scale
     WL_FRESNEL_SCALE, 0.4,
+
     WL_FRESNEL_SCALE, 0.4,             // Set Fresnel scale
     WL_FRESNEL_OFFSET, 0.5,
+
     WL_FRESNEL_OFFSET, 0.5,             // Set Fresnel offset
  
 +
    // Set refraction scale above and below water
 
     WL_REFRACT_SCALE_ABOVE, 0.03,
 
     WL_REFRACT_SCALE_ABOVE, 0.03,
 
     WL_REFRACT_SCALE_BELOW, 0.2,
 
     WL_REFRACT_SCALE_BELOW, 0.2,
     WL_BLUR_MULTIPLIER, 0.04,
+
     WL_BLUR_MULTIPLIER, 0.04,           // Set blur multiplier
  
 +
    // Set big and little wave directions
 
     WL_BIG_WAVE_DIRECTION, <1.05, -0.42, 0.0>,
 
     WL_BIG_WAVE_DIRECTION, <1.05, -0.42, 0.0>,
 
     WL_LITTLE_WAVE_DIRECTION, <1.11, -1.16, 0.0>,
 
     WL_LITTLE_WAVE_DIRECTION, <1.11, -1.16, 0.0>,
  
     WL_NORMAL_MAP_TEXTURE, "822ded49-9a6c-f61c-cb89-6df54f42cdf4",
+
     WL_NORMAL_MAP_TEXTURE, "822ded49-9a6c-f61c-cb89-6df54f42cdf4", // Set normal map texture
  
     WL_HORIZON, <0.25, 0.25, 0.32, 0.32>,
+
     WL_HORIZON, <0.25, 0.25, 0.32, 0.32>, // Set horizon color
     WL_HAZE_HORIZON, 0.19,
+
     WL_HAZE_HORIZON, 0.19,             // Set haze horizon
  
     WL_BLUE_DENSITY, <0.12, 0.22, 0.38, 0.38>,
+
     WL_BLUE_DENSITY, <0.12, 0.22, 0.38, 0.38>, // Set blue density
     WL_HAZE_DENSITY, 0.70,
+
     WL_HAZE_DENSITY, 0.70,             // Set haze density
  
     WL_DENSITY_MULTIPLIER, 0.18,
+
     WL_DENSITY_MULTIPLIER, 0.18,       // Set density multiplier
     WL_DISTANCE_MULTIPLIER, 0.8,
+
     WL_DISTANCE_MULTIPLIER, 0.8,       // Set distance multiplier
     WL_MAX_ALTITUDE, 1605,
+
     WL_MAX_ALTITUDE, 1605,             // Set max altitude
  
     WL_SUN_MOON_POSITION, 0.317,
+
     WL_SUN_MOON_POSITION, 0.317,       // Set sun/moon position
     WL_SUN_MOON_COLOR, <0.24, 0.26, 0.3, 0.3>,
+
     WL_SUN_MOON_COLOR, <0.24, 0.26, 0.3, 0.3>, // Set sun/moon color
     WL_AMBIENT, <0.35, 0.35,0.35, 0.35>,
+
     WL_AMBIENT, <0.35, 0.35, 0.35, 0.35>, // Set ambient light
     WL_EAST_ANGLE, 0.0,
+
     WL_EAST_ANGLE, 0.0,                 // Set east angle
  
     WL_SUN_GLOW_FOCUS, 0.1,
+
     WL_SUN_GLOW_FOCUS, 0.1,             // Set sun glow focus
     WL_SUN_GLOW_SIZE, 1.75,
+
     WL_SUN_GLOW_SIZE, 1.75,             // Set sun glow size
     WL_SCENE_GAMMA, 1.0,
+
     WL_SCENE_GAMMA, 1.0,               // Set scene gamma
     WL_STAR_BRIGHTNESS, 0.0,
+
     WL_STAR_BRIGHTNESS, 0.0,           // Set star brightness
  
     WL_CLOUD_COLOR, <0.41, 0.41, 0.41, 0.41>,
+
     WL_CLOUD_COLOR, <0.41, 0.41, 0.41, 0.41>, // Set cloud color
     WL_CLOUD_XY_DENSITY, <1.0, 0.53, 1.0>,
+
     WL_CLOUD_XY_DENSITY, <1.0, 0.53, 1.0>, // Set cloud XY density
  
     WL_CLOUD_COVERAGE, 0.27,
+
     WL_CLOUD_COVERAGE, 0.27,           // Set cloud coverage
     WL_CLOUD_SCALE, 0.42,
+
     WL_CLOUD_SCALE, 0.42,               // Set cloud scale
     WL_CLOUD_DETAIL_XY_DENSITY, <1.0, 0.53, 0.12>,
+
     WL_CLOUD_DETAIL_XY_DENSITY, <1.0, 0.53, 0.12>, // Set cloud detail XY density
  
     WL_CLOUD_SCROLL_X, 0.2,
+
     WL_CLOUD_SCROLL_X, 0.2,             // Set cloud scroll X
     WL_CLOUD_SCROLL_Y, 0.01,
+
     WL_CLOUD_SCROLL_Y, 0.01,           // Set cloud scroll Y
     WL_DRAW_CLASSIC_CLOUDS, TRUE,
+
     WL_DRAW_CLASSIC_CLOUDS, TRUE,       // Set draw classic clouds
     WL_CLOUD_SCROLL_X_LOCK, FALSE,
+
     WL_CLOUD_SCROLL_X_LOCK, FALSE,     // Set cloud scroll X lock
     WL_CLOUD_SCROLL_Y_LOCK, FALSE
+
     WL_CLOUD_SCROLL_Y_LOCK, FALSE       // Set cloud scroll Y lock
 
];
 
];
  
Line 64: Line 67:
 
     state_entry()
 
     state_entry()
 
     {
 
     {
 +
        // Display a message indicating how to use the script
 
         llSay(PUBLIC_CHANNEL, "Touch to see Default LightShare Script usage.");
 
         llSay(PUBLIC_CHANNEL, "Touch to see Default LightShare Script usage.");
 
     }
 
     }
Line 69: Line 73:
 
     touch_start(integer number)
 
     touch_start(integer number)
 
     {
 
     {
 +
        // Set LightShare values using the predefined settings
 
         integer result = lsSetWindlightScene(settings);
 
         integer result = lsSetWindlightScene(settings);
  
 +
        // Check if setting LightShare values was successful
 
         if (result == TRUE)
 
         if (result == TRUE)
 
         {
 
         {
 +
            // Display success message
 
             llSay(PUBLIC_CHANNEL, "The LightShare values are now set to default values with success.");
 
             llSay(PUBLIC_CHANNEL, "The LightShare values are now set to default values with success.");
 
         }
 
         }
 
 
         else
 
         else
 
         {
 
         {
 +
            // Display failure message
 
             llSay(PUBLIC_CHANNEL, "The LightShare values are now set to default values without success.");
 
             llSay(PUBLIC_CHANNEL, "The LightShare values are now set to default values without success.");
 
         }
 
         }

Latest revision as of 02:50, 5 March 2024

Drop the following script inside a prim and it should change everything to the usual "normal" defaults.

[edit] Examples

//
// Default LightShare Script Example
// Author: djphil
//
 
// Define a list of settings for LightShare
list settings = [
    WL_WATER_COLOR, <4.0, 38.0, 64.0>,  // Set water color
    WL_WATER_FOG_DENSITY_EXPONENT, 4.0,  // Set water fog density exponent
    WL_UNDERWATER_FOG_MODIFIER, 0.25,    // Set underwater fog modifier
 
    WL_REFLECTION_WAVELET_SCALE, <2.0, 2.0, 2.0>,  // Set reflection wavelet scale
    WL_FRESNEL_SCALE, 0.4,              // Set Fresnel scale
    WL_FRESNEL_OFFSET, 0.5,             // Set Fresnel offset
 
    // Set refraction scale above and below water
    WL_REFRACT_SCALE_ABOVE, 0.03,
    WL_REFRACT_SCALE_BELOW, 0.2,
    WL_BLUR_MULTIPLIER, 0.04,           // Set blur multiplier
 
    // Set big and little wave directions
    WL_BIG_WAVE_DIRECTION, <1.05, -0.42, 0.0>,
    WL_LITTLE_WAVE_DIRECTION, <1.11, -1.16, 0.0>,
 
    WL_NORMAL_MAP_TEXTURE, "822ded49-9a6c-f61c-cb89-6df54f42cdf4",  // Set normal map texture
 
    WL_HORIZON, <0.25, 0.25, 0.32, 0.32>,  // Set horizon color
    WL_HAZE_HORIZON, 0.19,              // Set haze horizon
 
    WL_BLUE_DENSITY, <0.12, 0.22, 0.38, 0.38>,  // Set blue density
    WL_HAZE_DENSITY, 0.70,              // Set haze density
 
    WL_DENSITY_MULTIPLIER, 0.18,        // Set density multiplier
    WL_DISTANCE_MULTIPLIER, 0.8,        // Set distance multiplier
    WL_MAX_ALTITUDE, 1605,              // Set max altitude
 
    WL_SUN_MOON_POSITION, 0.317,        // Set sun/moon position
    WL_SUN_MOON_COLOR, <0.24, 0.26, 0.3, 0.3>,  // Set sun/moon color
    WL_AMBIENT, <0.35, 0.35, 0.35, 0.35>,  // Set ambient light
    WL_EAST_ANGLE, 0.0,                 // Set east angle
 
    WL_SUN_GLOW_FOCUS, 0.1,             // Set sun glow focus
    WL_SUN_GLOW_SIZE, 1.75,             // Set sun glow size
    WL_SCENE_GAMMA, 1.0,                // Set scene gamma
    WL_STAR_BRIGHTNESS, 0.0,            // Set star brightness
 
    WL_CLOUD_COLOR, <0.41, 0.41, 0.41, 0.41>,  // Set cloud color
    WL_CLOUD_XY_DENSITY, <1.0, 0.53, 1.0>,  // Set cloud XY density
 
    WL_CLOUD_COVERAGE, 0.27,            // Set cloud coverage
    WL_CLOUD_SCALE, 0.42,               // Set cloud scale
    WL_CLOUD_DETAIL_XY_DENSITY, <1.0, 0.53, 0.12>,  // Set cloud detail XY density
 
    WL_CLOUD_SCROLL_X, 0.2,             // Set cloud scroll X
    WL_CLOUD_SCROLL_Y, 0.01,            // Set cloud scroll Y
    WL_DRAW_CLASSIC_CLOUDS, TRUE,       // Set draw classic clouds
    WL_CLOUD_SCROLL_X_LOCK, FALSE,      // Set cloud scroll X lock
    WL_CLOUD_SCROLL_Y_LOCK, FALSE       // Set cloud scroll Y lock
];
 
default
{
    state_entry()
    {
        // Display a message indicating how to use the script
        llSay(PUBLIC_CHANNEL, "Touch to see Default LightShare Script usage.");
    }
 
    touch_start(integer number)
    {
        // Set LightShare values using the predefined settings
        integer result = lsSetWindlightScene(settings);
 
        // Check if setting LightShare values was successful
        if (result == TRUE)
        {
            // Display success message
            llSay(PUBLIC_CHANNEL, "The LightShare values are now set to default values with success.");
        }
        else
        {
            // Display failure message
            llSay(PUBLIC_CHANNEL, "The LightShare values are now set to default values without success.");
        }
    }
}

[edit] Conversions

Here are some conversions from the WindLight XML to the LightShare settings that I managed to figure out. The format is really pretty much insane.

  • ambient -> WL_AMBIENT (all four entries apply; apparently, you have to divide the first 3 entries by the 4th one, and include the 4th as is)
  • blue_density -> WL_BLUE_DENSITY (all four entries apply; apparently, you have to divide the first 3 entries by WL_DENSITY_MULTIPLIER and keep the 4th as is)
  • blue_horizon -> WL_HORIZON (all four entries apply; apparently, you have to divide the first 3 entries by WL_DENSITY_MULTIPLIER and keep the 4th as is)
  • cloud_color -> WL_CLOUD_COLOR (all four entries apply)
  • cloud_pos_density1 -> WL_CLOUD_XY_DENSITY (3rd entry becomes 1st; 2nd entry becomes 2nd entry; 4th entry becomes 3rd; 1st entry ignored)
  • cloud_pos_density2 -> WL_CLOUD_XY_DETAIL_DENSITY (3rd entry becomes 1st; 2nd entry becomes 2nd entry; 4th entry becomes 3rd; 1st entry ignored)
  • cloud_scale -> WL_CLOUD_SCALE (use just the first entry)
  • cloud_scroll_rate -> first entry goes to WL_CLOUD_SCROLL_X, second entry goes to WL_CLOUD_SCROLL_Y (unknown, the math doesn't make sense)
  • cloud_shadow -> WL_CLOUD_COVERAGE (use first entry)
  • density_multiplier -> WL_DENSITY_MULTIPLIER (use first entry multiplied by 1000)
  • distance_multiplier -> WL_DISTANCE_MULTIPLIER (use first entry)
  • east_angle -> WL_EAST_ANGLE
  • enable_cloud_scroll -> first entry goes to WL_CLOUD_SCROLL_X_LOCK, second entry to WL_CLOUD_SCROLL_Y_LOCK (0 becomes TRUE and 1 becomes FALSE)
  • gamma -> WL_SCENE_GAMMA (use first entry)
  • glow -> second entry to WL_SUN_GLOW_FOCUS (times 100), math for WL_SUN_GLOW_SIZE is unknown
  • haze_density -> WL_HAZE_DENSITY (use first entry)
  • haze_horizon -> WL_HAZE_HORIZON (use first entry; others ignored?)
  • lightnorm -> unsupported?
  • max_y -> WL_MAX_ALTITUDE (use first entry)
  • preset_num -> not used
  • star_brightness -> WL_STAR_BRIGHTNESS
  • sun_angle -> WL_SUN_MOON_POSITION (requires some weird, unknown math)
  • sunlight_color -> WL_SUN_MOON_COLOR (all four entries apply)

Back to the LightShare main page

Personal tools
General
About This Wiki