Difference between revisions of "Category:LSL Color"

From Second Life Wiki
Jump to navigation Jump to search
m
m
Line 13: Line 13:


{{#vardefine:helpers|
{{#vardefine:helpers|
===Useful functions for storing/retrieving color and alpha values to/from integers===
'''Useful functions for storing/retrieving color and alpha values to/from integers'''
<lsl>integer ColorAlphatoRGBA(vector color, float alpha) {
<lsl>integer ColorAlphatoRGBA(vector color, float alpha) {
     return (((integer)(alpha  * 255.0) & 0xFF) << 24) |
     return (((integer)(alpha  * 255.0) & 0xFF) << 24) |

Revision as of 21:47, 2 February 2010

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>

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)