OsSetDynamicTextureData

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Add See Also)
 
(One intermediate revision by one user not shown)
Line 67: Line 67:
 
'''Notes:'''
 
'''Notes:'''
  
The '''dynamicID''' parameter is not yet implemented. The value passed will be ignored.
+
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.
+
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
+
'''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>
  
'''See Also'''
+
== See Also ==
 
* [[osSetDynamicTextureURL]]
 
* [[osSetDynamicTextureURL]]
 
* [[osSetDynamicTextureURLBlend]]
 
* [[osSetDynamicTextureURLBlend]]

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