PRIM GLOW

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Constant: integer PRIM_GLOW = 25;

The integer constant PRIM_GLOW has the value 25

PRIM_GLOW is used to get or set the glow status of the face. Use the integer number 25 if the compiler rejects the named constant.

llSetPrimitiveParams

[ PRIM_GLOW, integer face, float intensity ]
• integer face face number or ALL_SIDES
• float intensity ranges from 0.0 to 1.0

When used with llSetPrimitiveParams & llSetLinkPrimitiveParams

llGetPrimitiveParams

llGetPrimitiveParams([ PRIM_GLOW, integer face ]);

Returns the list [ float intensity ]

• integer face face number or ALL_SIDES

• float intensity ranges from 0.0 to 1.0

Caveats

  • If face is ALL_SIDES then the PRIM_GLOW works on all sides.
  • If face indicates a face that does not exist the PRIM_GLOW return is [ 0.0 ]

Related Articles

Constants

•  CHANGED_TEXTURE

Functions

•  llSetPrimitiveParams
•  llSetLinkPrimitiveParams
•  llGetPrimitiveParams

Events

•  changed

Examples

basic syntax to set glow <lsl> // adjust as desired .3 to a float number from 0 to 1.0 inclusive // adjust as desired ALL_SIDES to specific prim faces if desired

llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES, .3 ] ) ; </lsl>

basic syntax to get glow status <lsl> list mylist = llGetPrimitiveParams([ PRIM_GLOW,ALL_SIDES] ); llSay(0, llList2CSV(mylist));

//Assuming for this example that all sides are set to the same float of .3 //In a box, which has 6 sides, the above example returns 0.300000, 0.300000, 0.300000, 0.300000, 0.300000, 0.300000 //In a prism, which has 5 sides, returns 0.300000, 0.300000, 0.300000, 0.300000, 0.300000 //In a sphere, which has only 1 side (as it were), returns 0.300000 //change ALL_SIDES to a specific prim face if desired.

</lsl>


<lsl>//Each time the prim is touched, the intensity of the glow is increased (until it maxes out and cycles back to zero). integer steps = 10; integer counter = 0;

default {

   touch_start(integer total_number) 
   { 
       llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES,  counter / (steps - 1.0) ]);
       counter = (counter + 1) % steps;
   } 

}</lsl><lsl>//Each time the prim is touched, the intensity of the glow is decreased (until it hits zero and cycles back to one). integer steps = 10; integer counter = 0;

default {

   touch_start(integer total_number) 
   { 
       llSetPrimitiveParams( [ PRIM_GLOW, ALL_SIDES,  counter / (steps - 1.0) ]);
       counter = (counter + steps - 1) % steps;
   } 

}</lsl>

Deep Notes