OsSetProjectionParams

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
Line 11: Line 11:
 
Command: osSetProjectionParams(key prim, bool projection, key texture, double fov, double focus, double amb);
 
Command: osSetProjectionParams(key prim, bool projection, key texture, double fov, double focus, double amb);
  
Examples Required.
+
===Example===
  
 +
This example will control the projection map in the host prim and another prim identified by it's uuid
 +
 +
<source lang="lsl">
 +
integer pstate = FALSE;
 +
 +
// These variables corospond to the settings found in the
 +
// "Features" tab of the build editor
 +
float FOV = 1.5; // Values 0.00 - 3.00
 +
float Focus = 15.0; // Values -20.00 - 20.00
 +
float Ambiance = 0.4; // Values 0.00 - 1.00
 +
key Texture = "b4c6b075-4940-4270-bb10-d293fd6f8091";
 +
 +
// UUID of other prim that we wnat to control
 +
key Remote = "9772974a-a0f6-43ec-b1a2-da558b0b0d59";
 +
 +
default
 +
{
 +
    state_entry()
 +
    {
 +
        llSay(0, "Script running");
 +
        llSetText((string)llGetKey(),<0.3,0.5,0.75>,1.0);
 +
        llSetPrimitiveParams([]);
 +
       
 +
        // Light must be enabled in "Features"
 +
       
 +
        // This one controls this prim...
 +
        osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance);
 +
        // This one controls the remote prim...
 +
        osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance);
 +
       
 +
    }
 +
   
 +
    touch_start(integer _det)
 +
    {
 +
       
 +
        if (pstate == TRUE)
 +
        {
 +
            pstate = FALSE;
 +
        }
 +
        else
 +
        {
 +
            pstate = TRUE;
 +
        }
 +
       
 +
        // Control this prim...
 +
        osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance);
 +
        // Control the remote prim...
 +
        osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance);
 +
    }
 +
}
 +
<source>
  
  
 
[[Category:OSSL]]
 
[[Category:OSSL]]

Revision as of 08:32, 13 February 2011

Threat-Level=High

Returns: NULL

2 Variations possible.

bool = TRUE / FALSE.  double = float.

Command: osSetProjectionParams(bool projection, key texture, double fov, double focus, double amb);

Command: osSetProjectionParams(key prim, bool projection, key texture, double fov, double focus, double amb);

Example

This example will control the projection map in the host prim and another prim identified by it's uuid

integer pstate = FALSE;
 
// These variables corospond to the settings found in the
// "Features" tab of the build editor
float FOV = 1.5; // Values 0.00 - 3.00
float Focus = 15.0; // Values -20.00 - 20.00
float Ambiance = 0.4; // Values 0.00 - 1.00
key Texture = "b4c6b075-4940-4270-bb10-d293fd6f8091";
 
// UUID of other prim that we wnat to control
key Remote = "9772974a-a0f6-43ec-b1a2-da558b0b0d59";
 
default
{
    state_entry()
    {
        llSay(0, "Script running");
        llSetText((string)llGetKey(),<0.3,0.5,0.75>,1.0);
        llSetPrimitiveParams([]);
 
        // Light must be enabled in "Features"
 
        // This one controls this prim...
        osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance);
        // This one controls the remote prim...
        osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance);
 
    }
 
    touch_start(integer _det) 
    {
 
        if (pstate == TRUE) 
        {
            pstate = FALSE;
        }
        else
        {
            pstate = TRUE;
        }
 
        // Control this prim...
        osSetProjectionParams(pstate, Texture, FOV, Focus, Ambiance);
        // Control the remote prim...
        osSetProjectionParams(Remote, pstate, Texture, FOV, Focus, Ambiance);
    }
}
<source>
 
 
[[Category:OSSL]]
Personal tools
General
About This Wiki