Difference between revisions of "Category:LSL Color"

From Second Life Wiki
Jump to navigation Jump to search
m
m (readability++)
Line 47: Line 47:
Equivalent color vectors to the default color picker palette. These are defined in the viewer program directory's skins/default/colors.xml while custom user-saved palette entries will be in user_settings/colors.xml.
Equivalent color vectors to the default color picker palette. These are defined in the viewer program directory's skins/default/colors.xml while custom user-saved palette entries will be in user_settings/colors.xml.


<lsl>vector black = <0,0,0>; //ColorPaletteEntry01, "Black"
<lsl>vector black               = <0, 0, 0>;         //ColorPaletteEntry01, "Black"
vector white_A = <1,1,1>; //ColorPaletteEntry17, "White"
vector white_A             = <1, 1, 1>;         //ColorPaletteEntry17, "White"
vector gray = <0.5,0.5,0.5>; //ColorPalettetEntry02, "Gray"
vector gray               = <0.5, 0.5, 0.5>;   //ColorPalettetEntry02, "Gray"
vector light_gray = <0.75,0.75,0.75>; //ColorPaletteEntry18, "LtGray"
vector light_gray         = <0.75, 0.75, 0.75>; //ColorPaletteEntry18, "LtGray"
vector dark_red = <0.5,0,0>; //ColorPaletteEntry03
vector dark_red           = <0.5, 0, 0>;       //ColorPaletteEntry03
vector red = <1,0,0>; //ColorPaletteEntry19, "Red"
vector red                 = <1, 0, 0>;         //ColorPaletteEntry19, "Red"
vector dark_yellow = <0.5,0.5,0>; //ColorPaletteEntry04
vector dark_yellow         = <0.5, 0.5, 0>;     //ColorPaletteEntry04
vector yellow = <1,0,0>; //ColorPaletteEntry20, "Yellow"
vector yellow             = <1, 0, 0>;         //ColorPaletteEntry20, "Yellow"
vector dark_green = <0,0.5,0>; //ColorPaletteEntry05
vector dark_green         = <0, 0.5, 0>;       //ColorPaletteEntry05
vector green = <0,1,0>; //ColorPalettetEntry21, "Green"
vector green               = <0, 1, 0>;         //ColorPalettetEntry21, "Green"
vector dark_cyan = <0,0.5,0.5>; //ColorPaletteEntry06
vector dark_cyan           = <0, 0.5, 0.5>;     //ColorPaletteEntry06
vector cyan = <0,1,1>; //ColorPaletteEntry22
vector cyan               = <0, 1, 1>;         //ColorPaletteEntry22
vector dark_blue = <0,0,0.5>; //ColorPaletteEntry07
vector dark_blue           = <0, 0, 0.5>;       //ColorPaletteEntry07
vector blue = <0,0,1>; //ColorPaletteEntry23, "Blue"
vector blue               = <0, 0, 1>;         //ColorPaletteEntry23, "Blue"
vector dark_magenta = <0.5,0,0.5>; //ColorPaletteEntry08
vector dark_magenta       = <0.5, 0, 0.5>;     //ColorPaletteEntry08
vector magenta = <1,0,1>; //ColorPaletteEntry24, "Purple"
vector magenta             = <1, 0, 1>;         //ColorPaletteEntry24, "Purple"
vector dirty_yellow = <0.5,0.5,0>; //ColorPaletteEntry09
vector dirty_yellow       = <0.5, 0.5, 0>;     //ColorPaletteEntry09
vector light_yellow = <1,1,0.5>; //ColorPaletteEntry25
vector light_yellow       = <1, 1, 0.5>;       //ColorPaletteEntry25
vector dark_green_to_blue = <0,0.25,0.25>; //ColorPaletteEntry10
vector dark_green_to_blue = <0, 0.25, 0.25>;   //ColorPaletteEntry10
vector green_to_blue = <0,1,0.5>; //ColorPaletteEntry26
vector green_to_blue       = <0, 1, 0.5>;       //ColorPaletteEntry26
vector light_green_to_blue = <0,0.5,1>; //ColorPaletteEntry11
vector light_green_to_blue = <0, 0.5, 1>;       //ColorPaletteEntry11
vector light_blue_to_green = <0.5,1,1>; //ColorPaletteEntry27
vector light_blue_to_green = <0.5, 1, 1>;       //ColorPaletteEntry27
vector dark_blue_to_cyan = <0,0.25,0.5>; //ColorPaletteEntry12
vector dark_blue_to_cyan   = <0, 0.25, 0.5>;     //ColorPaletteEntry12
vector cyan_to_pink = <0.5,0.5,1>; //ColorPaletteEntry28
vector cyan_to_pink       = <0.5, 0.5, 1>;     //ColorPaletteEntry28
vector indigo = <0.5,0,1>; //ColorPaletteEntry13
vector indigo             = <0.5, 0, 1>;       //ColorPaletteEntry13
vector violet = <1,1,0.5>; //ColorPaletteEntry29
vector violet             = <1, 1, 0.5>;       //ColorPaletteEntry29
vector dark_brown = <0.5,0.25,0>; //ColorPaletteEntry14
vector dark_brown         = <0.5, 0.25, 0>;     //ColorPaletteEntry14
vector brown = <1,0.5,0>; //ColorPaletteEntry30
vector brown               = <1, 0.5, 0>;       //ColorPaletteEntry30
vector white_B = <1,1,1>; //ColorPaletteEntry15, "White"
vector white_B             = <1, 1, 1>;         //ColorPaletteEntry15, "White"
vector white_C = <1,1,1>; //ColorPaletteEntry31
vector white_C             = <1, 1, 1>;         //ColorPaletteEntry31
vector pale_yellow = <1,1,0.79>; //ColorPaletteEntry16, "LtYellow"
vector pale_yellow         = <1, 1, 0.79>;       //ColorPaletteEntry16, "LtYellow"
vector white_D = <1,1,1>; //ColorPaletteEntry32, "White"
vector white_D             = <1, 1, 1>;         //ColorPaletteEntry32, "White"


// Floating point conversions, ambient inworld light and color profile variances
// Floating point conversions, ambient inworld light and color profile variances

Revision as of 04:49, 8 January 2014

Color in LSL

Color in LSL

LSL has its own special format for color. LSL uses a vector to store color. Unlike traditional RGB where each channel is 0 -> 255, LSL's color channels are 0 -> 1.

Format: <R, G, B>

• float x Red value [0, 1]
• float y Green value [0, 1]
• float z Blue value [0, 1]

Examples

<lsl>vector white = <1.0, 1.0, 1.0>; vector grey = <0.5, 0.5, 0.5>; vector black = <0.0, 0.0, 0.0>; vector red = <1.0, 0.0, 0.0>; vector green = <0.0, 1.0, 0.0>; vector blue = <0.0, 0.0, 1.0>; vector yellow = <1.0, 1.0, 0.0>; vector cyan = <0.0, 1.0, 1.0>; vector magenta = <1.0, 0.0, 1.0>;</lsl>


color picker

Equivalent color vectors to the default color picker palette. These are defined in the viewer program directory's skins/default/colors.xml while custom user-saved palette entries will be in user_settings/colors.xml.

<lsl>vector black = <0, 0, 0>; //ColorPaletteEntry01, "Black" vector white_A = <1, 1, 1>; //ColorPaletteEntry17, "White" vector gray = <0.5, 0.5, 0.5>; //ColorPalettetEntry02, "Gray" vector light_gray = <0.75, 0.75, 0.75>; //ColorPaletteEntry18, "LtGray" vector dark_red = <0.5, 0, 0>; //ColorPaletteEntry03 vector red = <1, 0, 0>; //ColorPaletteEntry19, "Red" vector dark_yellow = <0.5, 0.5, 0>; //ColorPaletteEntry04 vector yellow = <1, 0, 0>; //ColorPaletteEntry20, "Yellow" vector dark_green = <0, 0.5, 0>; //ColorPaletteEntry05 vector green = <0, 1, 0>; //ColorPalettetEntry21, "Green" vector dark_cyan = <0, 0.5, 0.5>; //ColorPaletteEntry06 vector cyan = <0, 1, 1>; //ColorPaletteEntry22 vector dark_blue = <0, 0, 0.5>; //ColorPaletteEntry07 vector blue = <0, 0, 1>; //ColorPaletteEntry23, "Blue" vector dark_magenta = <0.5, 0, 0.5>; //ColorPaletteEntry08 vector magenta = <1, 0, 1>; //ColorPaletteEntry24, "Purple" vector dirty_yellow = <0.5, 0.5, 0>; //ColorPaletteEntry09 vector light_yellow = <1, 1, 0.5>; //ColorPaletteEntry25 vector dark_green_to_blue = <0, 0.25, 0.25>; //ColorPaletteEntry10 vector green_to_blue = <0, 1, 0.5>; //ColorPaletteEntry26 vector light_green_to_blue = <0, 0.5, 1>; //ColorPaletteEntry11 vector light_blue_to_green = <0.5, 1, 1>; //ColorPaletteEntry27 vector dark_blue_to_cyan = <0, 0.25, 0.5>; //ColorPaletteEntry12 vector cyan_to_pink = <0.5, 0.5, 1>; //ColorPaletteEntry28 vector indigo = <0.5, 0, 1>; //ColorPaletteEntry13 vector violet = <1, 1, 0.5>; //ColorPaletteEntry29 vector dark_brown = <0.5, 0.25, 0>; //ColorPaletteEntry14 vector brown = <1, 0.5, 0>; //ColorPaletteEntry30 vector white_B = <1, 1, 1>; //ColorPaletteEntry15, "White" vector white_C = <1, 1, 1>; //ColorPaletteEntry31 vector pale_yellow = <1, 1, 0.79>; //ColorPaletteEntry16, "LtYellow" vector white_D = <1, 1, 1>; //ColorPaletteEntry32, "White"

// Floating point conversions, ambient inworld light and color profile variances // can show up as small differences in stored settings and externally picked samples</lsl>

Useful Snippets

Useful functions for storing/retrieving color and alpha values to/from integers <lsl>integer ColorAlphatoRGBA(vector color, float alpha) {

   return (((integer)(alpha   * 255.0) & 0xFF) << 24)