OsSetDynamicTextureData

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m
m (Fixed some typos)
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Template:Quicklinks}}
+
{{osslfunc
 +
|threat_level=VeryLow
 +
|permissions=${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
 +
|delay=0
 +
|function_syntax=string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, integer timer)
 +
|csharp_syntax=string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int 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
  
{{content}}
+
        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
  
'''Threat Level:''' VeryLow
+
        // 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. Flotsam cache performs better than cenome cache(default).
 +
|
 +
}}
  
  
LSL: '''[[string]]  osSetDynamicTextureData( [[string]] dynamicID, [[integer]] contentType, [[integer]] data, [[string]] extraParams,[[integer]] timer)'''<br />
 
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.
 
  
===Parameters===
+
The script [[OsSetDynamicdata example1|osTextBoard.lsl]] from the standard OpenSimulator Library also uses this function.
  
{| border="1"
+
{| style="border: thin solid black"
 +
| colspan="3" align="center" style=background:orange | '''Parameters'''
 +
|-
 
|'''Name'''
 
|'''Name'''
 
|'''Description'''
 
|'''Description'''
Line 20: Line 41:
 
|-
 
|-
 
|'''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 dynasmic texture
+
|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 26: Line 47:
 
|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. See [[Drawing commands]] for details
+
* vector - the '''data''' parameter contains a list of drawing instructions. See [[Drawing commands]] for details
 
|
 
|
 
|-
 
|-
Line 36: Line 57:
 
|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 commas. 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:256)
+
* width - width of the dynamic texture in pixels (example:  width:256)
*height - height of the dynamic texture in pixels (example:  height: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, and ''false'' to turn off the alpha layer completely (example: alpha:255)
+
* 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)
*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  - any integer value is treated like specifing aplha component
+
* integer value  - any integer value is treated like specifying alpha component
 
|
 
|
 
|-
 
|-
Line 50: Line 71:
 
|}
 
|}
  
===Notes===
+
'''Notes:'''
 
+
The '''dynamicID''' parameter is not implemented. The value passed will be ignored.
+
 
+
The '''timer''' parameter is not implemented. The value passed will be ignored. Instead, you can use a timer event and recall the function to get the same effect.
+
 
+
===Examples===
+
<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>
+
  
Script [[OsSetDynamicdata example1 | osTextBoard.lsl]] from the standard OpenSimulator Library.
+
# 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===
+
'''See Also'''
 +
* [[osSetDynamicTextureURL]]
 +
* [[osSetDynamicTextureURLBlend]]
 +
* [[osSetDynamicTextureURLBlendFace]]
 +
* [[osSetDynamicTextureDataBlend]]
 +
* [[osSetDynamicTextureDataBlendFace]]
  
*[[osSetDynamicTextureURL]]
+
[[Category:OSSL pages in need of parameters template]]
*[[osSetDynamicTextureURLBlend]]
+
*[[osSetDynamicTextureURLBlendFace]]
+
*[[osSetDynamicTextureDataBlend]]
+
*[[osSetDynamicTextureDataBlendFace]]
+
[[OSSL Functions]]
+

Revision as of 13:06, 6 December 2017

string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, integer timer)
C#: string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int 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. Flotsam cache performs better than cenome cache(default).
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:

  • 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, 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.
  • setalpha
  • integer value - any integer value is treated like specifying alpha component
timer specify a time interval to update the texture NOT IMPLEMENTED YET

Notes:

  1. The dynamicID parameter is not yet implemented. The value passed will be ignored.
  2. 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

Personal tools
General
About This Wiki