OsSetDynamicTextureData

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Add See Also)
 
(58 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Template:Quicklinks}}
+
{{osslfunc
[[Technical Reference | Technical Reference]] -> [[Technical Reference/terms | Terms]] -> [[Status | Status Page]] -> [[OSSL_Implemented| OSSL Implemented Functions]] -> [[Dynamic textures]] -> [[OsSetDynamicTextureData | OsSetDynamicTextureData]]
+
|threat_level=VeryLow
 +
|permissions=${OSSL|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
'''ThreatLevel:'''VeryLow
+
        osSetDynamicTextureData( "", "vector", CommandList, "width:256,height:256", 0 );
 
+
    }
 
+
}
LSL: '''[[string]]  osSetDynamicTextureData( [[string]] dynamicID, [[integer]] contentType, [[integer]] data, [[string]] extraParams,[[integer]] timer)'''<br />
+
</source>
C#:  '''[[string]]  osSetDynamicTextureData( [[string]] dynamicID, [[int]] contentType, [[int]] data, [[string]] extraParams, [[int]] timer)'''
+
|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.
===Description===
+
|
Renders a dynamic texture on the prim containing the script and returns the UUID of the created texture.
+
}}
 
+
The script [[OsSetDynamicdata example1|osTextBoard.lsl]] from the standard OpenSimulator Library also uses this function.
===Parameters===
+
{| width="100%" style="border: thin solid black;"
 
+
| colspan="3"  align="center" style=background:orange | '''Parameters'''
{| border="1"
+
|-
 
|'''Name'''
 
|'''Name'''
 
|'''Description'''
 
|'''Description'''
 
|'''Remarks'''
 
|'''Remarks'''
 
|-
 
|-
|'''dynamicID'''
+
|style="vertical-align: top;" | '''dynamicID'''
|UUID of already existing dynamic texture. Intended to accept UUID from a previous call to OsSetDynamicTextureXXXX functions.
+
|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
| NOT IMPLEMENTED YET
+
|style="vertical-align: top;" |  NOT IMPLEMENTED YET
 
|-
 
|-
|'''contentType'''  
+
|style="vertical-align: top;" | '''contentType'''  
|specifies the type of the '''data''' parameter.  
+
|style="vertical-align: top;" | 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
*image  -
+
 
|
 
|
 
|-
 
|-
|'''data'''
+
|style="vertical-align: top;" |'''data'''
|Contains a series of drawing instructions...
+
|style="vertical-align: top;" | Contains a series of drawing instructions. See [[Drawing commands]] for details
 
|
 
|
|-
+
|-  
|'''extraParams'''
+
|style="vertical-align: top;" | '''extraParams'''
|additional optional parameters in the following format: [param]:[value],[param]:[value]
+
|style="vertical-align: top;" | additional optional parameters in the following format: [param]:[value],[param]:[value]
Multiple parameters are separated by comas. The following ones are supported:
+
Multiple parameters are separated by commas. The following ones are supported:
*width - width of the dynamic texture in pixels (example:  width:200)
+
* width - width of the dynamic texture in pixels (example:  width:256)
*height - height of the dynamic texture in pixels (example:  height:200)
+
* 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: aplha:255)
+
* alpha - alpha (transparency) component of the dynamic texture. Values are from 0-clear to 255-solid
*bgcolour - specifies the background color of the texture (example:  bgcolour:Red)
+
* 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 is treated like specifying alpha component
*integer value  - any integer value is treated like specifing aplha component
+
* lossless - true or false, default false.
 
|
 
|
 
|-
 
|-
|'''timer'''
+
|style="vertical-align: top;" |'''timer'''
|
+
|style="vertical-align: top;" | specify a time interval to update the texture
|
+
|style="vertical-align: top;" | NOT IMPLEMENTED YET
 
|}
 
|}
  
 +
'''Notes:'''
  
 +
The '''dynamicID''' parameter is not yet implemented. The value passed will be ignored.<br>
 +
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.<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>
  
===Notes===
+
== See Also ==
 
+
* [[osSetDynamicTextureURL]]
The '''dynamicID''' parameter is not implemented. The value passed will be ignored.
+
* [[osSetDynamicTextureURLBlend]]
 
+
* [[osSetDynamicTextureURLBlendFace]]
 
+
* [[osSetDynamicTextureDataBlend]]
===Examples===
+
* [[osSetDynamicTextureDataBlendFace]]
<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 = osSetPenColour( 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>
+
 
+
===See Also===
+
  
*[[osSetDynamicTextureURL]]
+
[[Category:OSSL pages in need of parameters template]]
*[[osSetDynamicTextureURLBlend]]
+
*[[osSetDynamicTextureURLBlendFace]]
+
*[[osSetDynamicTextureDataBlend]]
+
*[[osSetDynamicTextureDataBlendFace]]
+

Latest revision as of 19:05, 5 December 2020

key osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, integer timer)
  • 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.
Threat Level VeryLow
Permissions ${OSSL|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:

  • 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
  • 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 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.
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

[edit] See Also

Personal tools
General
About This Wiki