llScaleTexture

From Second Life Wiki
Revision as of 10:22, 3 October 2012 by Kireji Haiku (talk | contribs) (loop skipped index 0 and improved readability and added comment about delay of the function)
Jump to navigation Jump to search

Summary

Function: llScaleTexture( float u, float v, integer face );
0.2 Forced Delay
10.0 Energy

Sets the texture u & v scales for the chosen face.

• float u
• float v
• integer face face number or ALL_SIDES

If face is ALL_SIDES then the function works on all sides.

Specification

In the default texture mapping mode the scale units are in texture repeats per face. In the planar texture mapping mode the scale units are in texture repeats per half meter. This is in contrast to the in-world editing tool, in which the planar texture scaling units are repeats per meter.

Caveats

  • This function causes the script to sleep for 0.2 seconds.
  • The function silently fails if its face value indicates a face that does not exist.

Examples

<lsl> // WARNING: // llScaleTexture has a delay of 200 miliseconds // that means every time the function is called within a script it'll take 0.2 seconds // for example the script below would take about 1.2 seconds....that's REALLY SLOW !!! // // To work around that delay use the following instead: // // // llSetLinkPrimitiveParamsFast(integer link, // [PRIM_TEXTURE, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians]);


// *******************************************************************************************************************


//Scales the textures on 6 sides float scale;

default {

   state_entry()
   {
       integer index;
       while (index < 7)
       {
           scale += 0.1;
           llScaleTexture((float)scale, (float)scale, index);
           ++index;
       }
   }

}

// output: // face 0 >> 0.1 // face 1 >> 0.2 // face 2 >> 0.3 // face 3 >> 0.4 // face 4 >> 0.5 // face 5 >> 0.6 // face 6 >> 0.7

</lsl>

See Also

Functions

•  llGetTextureScale

Deep Notes

Signature

function void llScaleTexture( float u, float v, integer face );