OsSetDynamicTextureDataBlend
From OpenSimulator
(Difference between revisions)
m (some syntax modification (may be major or minor)) |
|||
(23 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{osslfunc | {{osslfunc | ||
|threat_level=VeryLow | |threat_level=VeryLow | ||
− | |function_syntax= | + | |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. | ||
+ | |||
+ | |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> | ||
| | | | ||
}} | }} | ||
+ | {| 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