OsSetDynamicTextureDataBlendFace
From OpenSimulator
(usage syntax added) |
(Documentation and example) |
||
| Line 1: | Line 1: | ||
| − | ''' | + | '''Threat Level:''' VeryLow |
| − | Example | + | '''Syntax:''' |
| + | |||
| + | LSL: '''[[string]] osSetDynamicTextureDataBlendFace([[string]] dynamicID, [[string]] contentType, [[string]] data, [[string]] extraParams, [[integer]] blend, [[integer]] disp, [[integer]] timer, [[integer]] alpha, [[integer]] face)'''<br /> | ||
| + | C#: '''[[string]] osSetDynamicTextureDataBlendFace([[string]] dynamicID, [[string]] contentType, [[string]] data, [[string]] extraParams, [[bool]] blend, [[int]] disp, [[int]] timer, [[int]] alpha, [[int]] face)''' | ||
| + | |||
| + | '''Returns:''' | ||
| + | |||
| + | UUID of the generated texture. Intended to be used with subsequent calls to osSetDynamicTextureXXXX functions in order to modify the texture. NOT IMPLEMENTED YET; the current implementation always returns a string with NULL_KEY. | ||
| + | |||
| + | ===Description=== | ||
| + | Renders a dynamically created texture on the face of a prim containing the script, possibly blending it with the texture that is already set for the face. | ||
| + | |||
| + | ===Parameters=== | ||
| + | |||
| + | {| border="1" | ||
| + | |'''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 dynasmic 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) | ||
| + | *bgcolour - specifies the background color of the texture (example: bgcolour:Red) | ||
| + | *altdatadelim - specifies a delimiter between the draw commands contained in the '''data''' parameter. | ||
| + | *setalpha | ||
| + | *integer value - any integer value is treated like specifing aplha component | ||
| + | | | ||
| + | |- | ||
| + | |'''blend''' | ||
| + | |If ''true'', the newly generated texture is blended with the appropriate existing ones on the prim. | ||
| + | | | ||
| + | |- | ||
| + | |'''disp''' | ||
| + | |Display flags. Value 1-expire deletes the old texture if it is replaced by a newer generated texture (may not currently be implemented). Value 2-temp flags the asset as temporary, which often means that it is not persisted to the database. | ||
| + | | | ||
| + | |- | ||
| + | |'''timer''' | ||
| + | |specify a time interval to update the texture | ||
| + | |NOT IMPLEMENTED YET | ||
| + | |- | ||
| + | |'''alpha''' | ||
| + | |The alpha value of the generated texture. | ||
| + | | | ||
| + | |- | ||
| + | |'''face''' | ||
| + | |The face of the prim on which to put the generated texture. If ALL_SIDES then all sides of the prim are set. | ||
| + | | | ||
| + | |} | ||
| + | |||
| + | ===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. | ||
| + | |||
| + | ===Example=== | ||
| + | <source lang="lsl">// Example of osSetDynamicTextureDataBlendFace used to put a number on each face of a prim | ||
| + | string FontName = "Arial"; | ||
| + | integer FontSize = 128; | ||
| + | |||
| + | NumberEachFace() { | ||
| + | integer face = llGetNumberOfSides(); | ||
| + | while (face--) { | ||
| + | string text = (string)face; | ||
| + | vector size = osGetDrawStringSize("vector", text, FontName, FontSize); | ||
| + | integer xpos = (256 - (integer)size.x) >> 1; | ||
| + | integer ypos = (256 - (integer)size.y) >> 1; | ||
| + | |||
| + | string commandList = ""; | ||
| + | commandList = osMovePen(commandList, xpos, ypos); | ||
| + | commandList = osSetFontName(commandList, FontName); | ||
| + | commandList = osSetFontSize(commandList, FontSize); | ||
| + | commandList = osDrawText(commandList, text); | ||
| + | |||
| + | osSetDynamicTextureDataBlendFace("", "vector", commandList, "width:256,height:256", | ||
| + | FALSE, 2, 0, 255, face); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | default { | ||
| + | state_entry() { | ||
| + | NumberEachFace(); | ||
| + | } | ||
| + | changed(integer change) { | ||
| + | if (change & CHANGED_SHAPE) | ||
| + | NumberEachFace(); | ||
| + | } | ||
| + | }</source> | ||
| + | |||
| + | ===See Also=== | ||
| + | |||
| + | *[[osDrawText]] | ||
| + | *[[osGetDrawStringSize]] | ||
| + | *[[osMovePen]] | ||
| + | *[[osSetFontName]] | ||
| + | *[[osSetFontSize]] | ||
| + | |||
| + | *[[osSetDynamicTextureURL]] | ||
| + | *[[osSetDynamicTextureURLBlend]] | ||
| + | *[[osSetDynamicTextureURLBlendFace]] | ||
| + | *[[osSetDynamicTextureDataBlend]] | ||
| + | *[[osSetDynamicTextureDataBlendFace]] | ||
Revision as of 14:56, 17 November 2010
Threat Level: VeryLow
Syntax:
LSL: string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, integer blend, integer disp, integer timer, integer alpha, integer face)
C#: string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, bool blend, int disp, int timer, int alpha, int face)
Returns:
UUID of the generated texture. Intended to be used with subsequent calls to osSetDynamicTextureXXXX functions in order to modify the texture. NOT IMPLEMENTED YET; the current implementation always returns a string with NULL_KEY.
Contents |
Description
Renders a dynamically created texture on the face of a prim containing the script, possibly blending it with the texture that is already set for the face.
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 dynasmic 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:
|
|
| blend | If true, the newly generated texture is blended with the appropriate existing ones on the prim. | |
| disp | Display flags. Value 1-expire deletes the old texture if it is replaced by a newer generated texture (may not currently be implemented). Value 2-temp flags the asset as temporary, which often means that it is not persisted to the database. | |
| timer | specify a time interval to update the texture | NOT IMPLEMENTED YET |
| alpha | The alpha value of the generated texture. | |
| face | The face of the prim on which to put the generated texture. If ALL_SIDES then all sides of the prim are set. |
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.
Example
// Example of osSetDynamicTextureDataBlendFace used to put a number on each face of a prim string FontName = "Arial"; integer FontSize = 128; NumberEachFace() { integer face = llGetNumberOfSides(); while (face--) { string text = (string)face; vector size = osGetDrawStringSize("vector", text, FontName, FontSize); integer xpos = (256 - (integer)size.x) >> 1; integer ypos = (256 - (integer)size.y) >> 1; string commandList = ""; commandList = osMovePen(commandList, xpos, ypos); commandList = osSetFontName(commandList, FontName); commandList = osSetFontSize(commandList, FontSize); commandList = osDrawText(commandList, text); osSetDynamicTextureDataBlendFace("", "vector", commandList, "width:256,height:256", FALSE, 2, 0, 255, face); } } default { state_entry() { NumberEachFace(); } changed(integer change) { if (change & CHANGED_SHAPE) NumberEachFace(); } }
See Also
- osSetDynamicTextureURL
- osSetDynamicTextureURLBlend
- osSetDynamicTextureURLBlendFace
- osSetDynamicTextureDataBlend
- osSetDynamicTextureDataBlendFace