OsSetDynamicTextureDataBlend
From OpenSimulator
(Difference between revisions)
												
			m  | 
			|||
| (26 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| − | {|   | + | {{osslfunc  | 
| − | |   | + | |threat_level=VeryLow  | 
| − | |  | + | |permissions=${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER  | 
| − | |  | + | |delay=0  | 
| + | |function_syntax=key osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, integer timer, integer alpha)  | ||
| − | |  | + | |description=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!<br>  | 
| − | |  | + | . Returns UUID of the generated texture.  | 
| − | osSetDynamicTextureDataBlend(  | + | |
| + | |ossl_example=<source lang="lsl">  | ||
| + | // ----------------------------------------------------------------  | ||
| + | // 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 );  | ||
| + |     }  | ||
| + | }  | ||
</source>  | </source>  | ||
| − | |-   | + | |  | 
| − | |'''  | + | }}  | 
| − | + | {| width="100%" style="border: thin solid black"  | |
| + | | colspan="3"  align="center" style=background:orange | '''Parameters'''  | ||
| + | |-  | ||
| + | |'''Name'''  | ||
| + | |'''Description'''  | ||
| + | |'''Remarks'''  | ||
| + | |-  | ||
| + | |style = style="vertical-align: top;" |'''dynamicID'''  | ||
| + | |style = style="vertical-align: top;" |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  | ||
| + | |style = style="vertical-align: top;" |NOT IMPLEMENTED  | ||
| + | |-  | ||
| + | |style = style="vertical-align: top;" |'''contentType'''   | ||
| + | |style = style="vertical-align: top;" |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  | ||
| + | |  | ||
| + | |-  | ||
| + | |style = style="vertical-align: top;" |'''data'''  | ||
| + | |style = style="vertical-align: top;" |Contains a series of drawing instructions. See [[Drawing commands]] for details  | ||
| + | |  | ||
| + | |-  | ||
| + | |style = style="vertical-align: top;" |'''extraParams'''  | ||
| + | |style = style="vertical-align: top;" |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  | ||
| + | |  | ||
| + | |-  | ||
| + | |style = style="vertical-align: top;" |'''timer'''  | ||
| + | |style = style="vertical-align: top;" |specify a time interval to update the texture  | ||
| + | |style = style="vertical-align: top;" |NOT IMPLEMENTED  | ||
| + | |-  | ||
| + | |style = style="vertical-align: top;" |'''alpha'''  | ||
| + | |style = style="vertical-align: top;" |transparency of the dynamic texture to blend. Values are from 0-clear to 255-solid (example: alpha:255)  | ||
|}  | |}  | ||
| − | + | '''Notes:'''<br>  | |
| − | + | '''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<br>  | |
| − | + | ||
Latest revision as of 06:10, 7 November 2019
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: 
  | 
|
| 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: 
  | 
|
| 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