OsSetDynamicTextureData
From OpenSimulator
(Difference between revisions)
AnakinLohner (Talk | contribs) |
|||
(30 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{osslfunc |
− | + | |threat_level=VeryLow | |
+ | |permissions=${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
+ | |delay=0 | ||
+ | |function_syntax=key osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, integer timer) | ||
+ | |ossl_example=<source lang="lsl"> | ||
+ | // Example of OsSetDynamicTextureData used to render custom drawings on a prim | ||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | string CommandList = ""; // Storage for our drawing commands | ||
+ | CommandList = osSetPenSize( CommandList, 3 ); // Set the pen width to 3 pixels | ||
+ | CommandList = osSetPenColor( CommandList, "Red" ); // Set the pen color to red | ||
+ | CommandList = osMovePen( CommandList, 28, 78 ); // Upper left corner at <28,78> | ||
+ | CommandList = osDrawFilledRectangle( CommandList, 200, 100 ); // 200 pixels by 100 pixels | ||
− | + | // Now draw the rectangle | |
− | + | osSetDynamicTextureData( "", "vector", CommandList, "width:256,height:256", 0 ); | |
− | + | } | |
− | + | } | |
− | + | </source> | |
− | + | |description=*Renders a dynamically created texture on the prim containing the script and returns the UUID of the newly created texture. | |
− | + | *If you use this feature, you have to turn on any cache. If not, you'll see complete white texture. | |
− | = | + | | |
− | + | }} | |
− | + | The script [[OsSetDynamicdata example1|osTextBoard.lsl]] from the standard OpenSimulator Library also uses this function. | |
− | + | {| width="100%" style="border: thin solid black" | |
− | + | | colspan="3" align="center" style=background:orange | '''Parameters''' | |
− | {| border=" | + | |- |
|'''Name''' | |'''Name''' | ||
|'''Description''' | |'''Description''' | ||
Line 21: | Line 35: | ||
|- | |- | ||
|'''dynamicID''' | |'''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 | + | |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 YET | | NOT IMPLEMENTED YET | ||
|- | |- | ||
Line 27: | Line 41: | ||
|specifies the type of the '''data''' parameter. | |specifies the type of the '''data''' parameter. | ||
The following values are allowed: | The following values are allowed: | ||
− | *vector - the '''data''' parameter contains a list of drawing instructions. | + | * vector - the '''data''' parameter contains a list of drawing instructions. See [[Drawing commands]] for details |
| | | | ||
|- | |- | ||
|'''data''' | |'''data''' | ||
− | |Contains a series of drawing instructions. | + | |Contains a series of drawing instructions. See [[Drawing commands]] for details |
| | | | ||
|- | |- | ||
|'''extraParams''' | |'''extraParams''' | ||
|additional optional parameters in the following format: [param]:[value],[param]:[value] | |additional optional parameters in the following format: [param]:[value],[param]:[value] | ||
− | Multiple parameters are separated by | + | Multiple parameters are separated by commas. The following ones are supported: |
− | *width - width of the dynamic texture in pixels (example: width: | + | * width - width of the dynamic texture in pixels (example: width:256) |
− | *height - height of the dynamic texture in pixels (example: height: | + | * 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 | + | * alpha - alpha (transparency) component of the dynamic texture. Values are from 0-clear to 255-solid, and ''false'' to turn off the alpha layer completely (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. | + | * altdatadelim - specifies a delimiter between the draw commands contained in the '''data''' parameter. |
− | *setalpha | + | * setalpha |
− | *integer value - any integer value is treated like | + | * integer value - any integer value is treated like specifying alpha component |
| | | | ||
|- | |- | ||
Line 51: | Line 65: | ||
|} | |} | ||
+ | '''Notes:''' | ||
+ | # The '''dynamicID''' parameter is not yet implemented. The value passed will be ignored. | ||
+ | # The '''timer''' parameter is not yet implemented. The value passed will be ignored. Instead, you can use a timer event and recall the function to get the same effect. | ||
− | + | '''See Also''' | |
− | + | * [[osSetDynamicTextureURL]] | |
− | + | * [[osSetDynamicTextureURLBlend]] | |
− | + | * [[osSetDynamicTextureURLBlendFace]] | |
− | + | * [[osSetDynamicTextureDataBlend]] | |
− | + | * [[osSetDynamicTextureDataBlendFace]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | [[Category:OSSL pages in need of parameters template]] | |
− | + | ||
− | + | ||
− | + | ||
− | + |
Revision as of 12:00, 17 March 2019
key osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, integer timer)
| |
| |
Threat Level | VeryLow |
Permissions | ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 0 seconds |
Example(s) | |
// Example of OsSetDynamicTextureData used to render custom drawings on a prim default { state_entry() { string CommandList = ""; // Storage for our drawing commands CommandList = osSetPenSize( CommandList, 3 ); // Set the pen width to 3 pixels CommandList = osSetPenColor( CommandList, "Red" ); // Set the pen color to red CommandList = osMovePen( CommandList, 28, 78 ); // Upper left corner at <28,78> CommandList = osDrawFilledRectangle( CommandList, 200, 100 ); // 200 pixels by 100 pixels // Now draw the rectangle osSetDynamicTextureData( "", "vector", CommandList, "width:256,height:256", 0 ); } } |
The script osTextBoard.lsl from the standard OpenSimulator Library also uses this function.
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 YET |
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 YET |
Notes:
- The dynamicID parameter is not yet implemented. The value passed will be ignored.
- The timer parameter is not yet implemented. The value passed will be ignored. Instead, you can use a timer event and recall the function to get the same effect.
See Also