OsSetDynamicTextureDataBlend

From OpenSimulator

Jump to: navigation, search
key osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, integer timer, integer alpha)
Renders a dynamically created texture on the faces of a prim containing the script, possibly blending it with the texture that is already set. Only use if all faces have same texture!

. Returns UUID of the generated texture.

Threat Level VeryLow
Permissions ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Extra Delay 0 seconds
Example(s)
// ----------------------------------------------------------------
// Example of osSetDynamicTextureDataBlend
//
// ExtraParams Values:
//    width - width of the dynamic texture in pixels (example: width:256) 
//    height - height of the dynamic texture in pixels (example: height:256) 
//    alpha - alpha (transparency) component of the dynamic texture. Values are from 0-clear to 255-solid (example: alpha:255) 
//    bgcolour - specifies the background color of the texture (example: bgcolour:Red) 
//    setalpha 
//    integer value - any integer value is treated like specifing alpha component 
//
default
{
    state_entry()
    {
        llSay(0,"Touch to see osSetDynamicTextureDataBlend used to render custom drawings on a prim");
    }
 
    touch_start(integer total_num)
    {
        string sDynamicID = "";                          // not implemented yet
        string sContentType = "vector";                  // vector = text/lines,etc.  image = texture only
        string sData = "";                               // Storage for our drawing commands
        string sExtraParams = "width:256,height:256";    // optional parameters in the following format: [param]:[value],[param]:[value]
        integer iTimer = 0;                              // timer is not implemented yet, leave @ 0
        integer iAlpha = 100;                            // 0 = 100% Alpha, 255 = 100% Solid
        //
        // sData (drawing commands) used in the example.
        // draw a filled rectangle
        sData = osSetPenSize(sData, 3);                   // Set the pen width to 3 pixels
        sData = osSetPenColor(sData, "Red");             // Set the pen color to red
        sData = osMovePen(sData, 28, 78);                 // Upper left corner at <28,78>
        sData = osDrawFilledRectangle(sData, 200, 100);   // 200 pixels by 100 pixels
        // setup text to go in the drawn box
        sData = osMovePen(sData, 30, 80);                 // place pen @ X,Y coordinates 
        sData = osSetFontName(sData, "Arial");            // Set the Fontname to use
        sData = osSetFontSize(sData, 10);                 // Set the Font Size in pixels
        sData = osSetPenColor(sData, "Green");           // Set the pen color to Green
        sData = osDrawText(sData, "Your Name is: "+llDetectedName(0)); // The text to write
        // Now draw it out
        osSetDynamicTextureDataBlend( sDynamicID, sContentType, sData, sExtraParams, iTimer, iAlpha );
    }
}


Parameters
Name Description Remarks
dynamicID UUID of already existing dynamic texture. Intended to accept UUID from a previous call to OsSetDynamicTextureXXXX functions in order to provide modification of an existing dynamic texture NOT IMPLEMENTED
contentType specifies the type of the data parameter.

The following values are allowed:

  • vector - the data parameter contains a list of drawing instructions. See Drawing commands for details
data Contains a series of drawing instructions. See Drawing commands for details
extraParams additional optional parameters in the following format: [param]:[value],[param]:[value]

Multiple parameters are separated by commas. The following ones are supported:

  • width - width of the dynamic texture in pixels (example: width:256)
  • height - height of the dynamic texture in pixels (example: height:256)
  • alpha - alpha (transparency) component of the dynamic texture. Values are from 0-clear to 255-solid (example: alpha:255)
  • bgcolor - specifies the background color of the texture (example: bgcolor:Red)
  • altdatadelim - specifies a delimiter between the draw commands contained in the data parameter.
  • setalpha - integer value is treated like specifying alpha component
  • lossless - true or false, default false
timer specify a time interval to update the texture NOT IMPLEMENTED
alpha transparency of the dynamic texture to blend. Values are from 0-clear to 255-solid (example: alpha:255)

Notes:
lossless parameter added on version 0.9.1.1, Nov 4th 2019. Old versions did as true, but that should one be used if needed

Personal tools
General
About This Wiki