LlGetCameraAspect
Looking for the current API? Open the llGetCameraAspect reference →
Return value notes
Returns a float value for the current camera's aspect ratio (e.g. width/height) of the agent for which the task has permissions.
Caveats
Returns zero when permissions have not been granted.
Examples
// say the camera aspect ratio and field of view (FOV)
integer has_perms = FALSE;
default
{
on_rez(integer a)
{
llResetScript();
}
state_entry()
{
llRequestPermissions(llGetOwner(), PERMISSION_TRACK_CAMERA);
}
run_time_permissions(integer permission)
{
has_perms = (permission == PERMISSION_TRACK_CAMERA);
}
touch_start(integer num_touches)
{
if (has_perms)
{
float aspect = llGetCameraAspect();
float fov = llGetCameraFOV();
llOwnerSay("aspect = " + (string)aspect + " FOV = " + (string)fov);
}
else
{
llRequestPermissions(llGetOwner(), PERMISSION_TRACK_CAMERA);
}
}
}// Scale an object to fit the aspect ratio of the viewer.
fit_to_screen()
{
// The X axis from the left to the right edge of the screen is 0.0 to width value.
// The Y axis is always 1.
float x = llGetCameraAspect();
float y = 1;
llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_SIZE, <0, x, y>]);
}Notes
The reported aspect ratio is based on values provided by the viewer to the simulator. This may cause visual oddities if there's a discrepancy between the viewer's reported camera and what the viewer actually displays to the user. For example: entering mouselook may cause portions of the viewer interface to disappear, which alters the amount of space available to the HUD, which can lead to misaligned positioning or slightly-off aspect ratio. (This is currently considered a viewer-bug.)
See also: functions
Additional wiki content
LSL Function/permission:
{{LSL_Function/permission|PERMISSION_TRACK_CAMERA}}Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.