getResolution: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<h3 style="display:none">Bottom Section</h3> " to "")
m (Text replacement - "\{\{Feature *\| *Informative *\| ([^↵]+) *\}\}" to "{{Feature|informative|$1}}")
 
(29 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command
{{RV|type=command


| arma2oa
|game1= arma2oa
|version1= 1.55


|1.55
|game2= tkoh
|version2= 1.00
 
|game3= arma3
|version3= 0.50


|gr1= System
|gr1= System


|gr2= GUI Control
|gr2= GUI Control - Positioning


| Returns an array containing all information about current client screen resolution in format:<br>
|descr= Returns an array containing all information about current client screen resolution.
<tt>[screenW, screenH, viewPortW, viewPortH, aspectRatio, uiScale, fovTop, fovLeft, tripleHead]</tt><br>
Where:
* <tt>screenW</tt>: [[Number]] - width of the screen in pixels
* <tt>screenH</tt>: [[Number]] - height of the screen in pixels
* <tt>viewPortW</tt>: [[Number]] - width of the '''4:3''' view port in pixels
* <tt>viewPortH</tt>: [[Number]] - height of the '''4:3''' view port in pixels
* <tt>aspectRatio</tt>: [[Number]] - screen aspect ratio
* <tt>uiScale</tt>: [[Number]] - the scale of the UI, which affects view port size:
: {{{!}} class{{=}}"wikitable" style{{=}}"margin-top: -0.5em"
{{!}}+ Arma 3
! Very Small !! Small !! Normal !! Large !! Very Large
{{!}}-
{{!}} 0.47 {{!}}{{!}} 0.55 {{!}}{{!}} 0.7 {{!}}{{!}} 0.85 {{!}}{{!}} 1
{{!}}}
* <tt>fovTop</tt>: [[Number]] - vertical FOV in [[rad | radians]], the same as <tt>fovTop</tt> value from the user profile ({{Since|arma3|1.94.145947}})
* <tt>fovLeft</tt>: [[Number]] - horizontal FOV in [[rad | radians]], the same as<tt>fovLeft</tt> value from the user profile ({{Since|arma3|1.94.145947}})
* <tt>tripleHead</tt>: [[Boolean]] - [[true]] if user has triple head screen (see also [[safeZoneXAbs]], [[safeZoneWAbs]]) ({{Since|arma3|1.94.145947}})


{{Feature|arma3 | '''Render resolution''' is not returned by this command.<br>
{{Feature|arma3|
'''Render resolution''' is not returned by this command.<br>
A sampling setting of '''50%''' means half of native width ''and'' half of native height, resulting in a render resolution of '''''25%''''' the original resolution.}}
A sampling setting of '''50%''' means half of native width ''and'' half of native height, resulting in a render resolution of '''''25%''''' the original resolution.}}
{{Important | The engine default value for <tt>fovTop</tt> is '''0.75''' in case it is needed to calculate difference with custom FOV.}}
{{Feature | important | The engine default value for {{hl|fovTop}} is '''0.75''' in case it is needed to calculate difference with custom FOV.}}
{{Informative | The <tt>aspectRatio</tt> is calculated as <tt>fovLeft&nbsp;/&nbsp;fovTop</tt> and should be the same as <tt>screenW&nbsp;/&nbsp;screenH</tt> for undistorted image if the FOV is custom. Some of the common values:
{{Feature|informative|The {{hl|aspectRatio}} is calculated as {{hl|fovLeft&nbsp;/&nbsp;fovTop}} and should be the same as {{hl|screenW&nbsp;/&nbsp;screenH}} for undistorted image if the FOV is custom. Some of the common values:
{{{!}} class{{=}}"wikitable"
{{{!}} class{{=}}"wikitable"
! 16/9 !! 16/10 !! 5/4 !! 4/3 !! 16/9 triple screen
! 16/9 !! 16/10 !! 5/4 !! 4/3 !! 16/9 triple screen
Line 39: Line 28:
}}
}}


| [[getResolution]]
|s1= [[getResolution]]


| [[Array]] - see the description
|r1= [[Array]] - {{hl|[screenW, screenH, viewPortW, viewPortH, aspectRatio, uiScale, fovTop, fovLeft, tripleHead, textureQuality]}}
* {{hl|screenW}}: [[Number]] - width of the screen in pixels
* {{hl|screenH}}: [[Number]] - height of the screen in pixels
* {{hl|viewPortW}}: [[Number]] - width of the '''4:3''' view port in pixels
* {{hl|viewPortH}}: [[Number]] - height of the '''4:3''' view port in pixels
* {{hl|aspectRatio}}: [[Number]] - screen aspect ratio
* {{hl|uiScale}}: [[Number]] - the scale of the UI, which affects view port size:
: {{{!}} class="wikitable" style="margin-top: -0.5em"
{{!}}+ {{arma3}}
! Very Small !! Small !! Normal !! Large !! Very Large
{{!}}-
{{!}} 0.47 {{!}}{{!}} 0.55 {{!}}{{!}} 0.7 {{!}}{{!}} 0.85 {{!}}{{!}} 1
{{!}}}
* {{GVI|arma3|1.94|size= 0.75}} {{hl|fovTop}}: [[Number]] - vertical FOV in [[rad]]ians, the same as {{hl|fovTop}} value from the user profile
* {{GVI|arma3|1.94|size= 0.75}} {{hl|fovLeft}}: [[Number]] - horizontal FOV in [[rad]]ians, the same as{{hl|fovLeft}} value from the user profile
* {{GVI|arma3|1.94|size= 0.75}} {{hl|tripleHead}}: [[Boolean]] - [[true]] if user has triple head screen (see also [[safeZoneXAbs]], [[safeZoneWAbs]])
* {{GVI|arma3|2.10|size= 0.75}} {{hl|textureQuality}}: [[Number]] - current texture quality set in user preferences in 0..1 range, where 0 is lowest, 1 is highest


|x1= <code>_res = [[getResolution]]; {{cc|a 16/9 single monitor setup}}</code>
|x1= <sqf>private _res = getResolution;</sqf>
<code>[
1360, {{cc|width}}
768, {{cc|height}}
867, {{cc|2D viewport width}}
653, {{cc|2D viewport height}}
1.77778, {{cc|aspect ratio}}
0.85 {{cc|UI scale}}
]</code>
|x2= <code>_res = [[getResolution]];  {{cc|dedicated server}}</code>
<code>[
160, {{cc|width}}
120, {{cc|height}}
136, {{cc|2D viewport width}}
102, {{cc|2D viewport height}}
1.33333, {{cc|aspect ratio}}
0.85 {{cc|UI scale}}
]</code>
|x3= <code>_res = [[getResolution]]; {{cc|a triple 16/9 monitor setup}}</code>
<code>[
5760, {{cc|width}}
1080, {{cc|height}}
792, {{cc|2D viewport width}}
594, {{cc|2D viewport height}}
5.33333, {{cc|aspect ratio}}
0.55 {{cc|UI scale}}
]</code>


|x4= {{Since|arma3|1.94.145947}}:<code>_res = [[getResolution]]; {{cc|16/9 monitor setup}}</code>
Example result with a single 16:9 monitor:
<code>[
<sqf>
1920, {{cc|width}}
[
1080, {{cc|height}}
1920, // width
792, {{cc|2D viewport width}}
1080, // height
594, {{cc|2D viewport height}}
792, // 2D viewport width
1.77778, {{cc|aspect ratio}}
594, // 2D viewport height
0.55, {{cc|UI scale}}
1.77778, // aspect ratio
0.75, {{cc|fovTop}}
0.55, // UI scale
1.33333, {{cc|fovLeft}}
0.75, // fovTop
false {{cc|tripleHead}}
1.33333, // fovLeft
]</code>
false // tripleHead
]
</sqf>
Example result with a triple 16:9 monitor setup:
<sqf>
[
5760, // width
1080, // height
792, // 2D viewport width
594, // 2D viewport height
5.33333, // aspect ratio
0.55 // UI scale
]
</sqf>
Example result on a dedicated server:
<sqf>
[
160, // width
120, // height
136, // 2D viewport width
102, // 2D viewport height
1.33333, // aspect ratio
0.85 // UI scale
]
</sqf>


| [[getObjectFOV]], [[worldToScreen]], [[screenToWorld]], [[safeZoneX]], [[safeZoneY]], [[safeZoneW]], [[safeZoneH]]
|seealso= [[getObjectFOV]] [[worldToScreen]] [[screenToWorld]] [[safeZoneX]] [[safeZoneY]] [[safeZoneW]] [[safeZoneH]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Tom_48_97
<!-- Note Section BEGIN -->
|timestamp= 20101220053800
<dd class="notedate">Posted on  05:38, 20 December 2010</dd>
|text= This command can be useful to play a video (see this function [[BIS_fnc_playVideo]]) in the given format if you have compiled it for different UI scale.
<dt class="note">[[User:Tom 48 97|tom_48_97]]</dt>
}}
<dd class="note">This command can be useful to play a video (see this function [[BIS_fnc_playVideo]]) in the given format if you have compiled it for different UI scale.</dd>
<!-- Note Section END -->
</dl>
 
 
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}

Latest revision as of 18:11, 15 March 2024

Hover & click on the images for description

Description

Description:
Returns an array containing all information about current client screen resolution.
Arma 3
Render resolution is not returned by this command.
A sampling setting of 50% means half of native width and half of native height, resulting in a render resolution of 25% the original resolution.
The engine default value for fovTop is 0.75 in case it is needed to calculate difference with custom FOV.
The aspectRatio is calculated as fovLeft / fovTop and should be the same as screenW / screenH for undistorted image if the FOV is custom. Some of the common values:
16/9 16/10 5/4 4/3 16/9 triple screen
1.777777(…) 1.6 1.25 1.333333(…) 5.333333(…)
Groups:
SystemGUI Control - Positioning

Syntax

Syntax:
getResolution
Return Value:
Array - [screenW, screenH, viewPortW, viewPortH, aspectRatio, uiScale, fovTop, fovLeft, tripleHead, textureQuality]
  • screenW: Number - width of the screen in pixels
  • screenH: Number - height of the screen in pixels
  • viewPortW: Number - width of the 4:3 view port in pixels
  • viewPortH: Number - height of the 4:3 view port in pixels
  • aspectRatio: Number - screen aspect ratio
  • uiScale: Number - the scale of the UI, which affects view port size:
Arma 3
Very Small Small Normal Large Very Large
0.47 0.55 0.7 0.85 1
  • Arma 3 logo black.png1.94 fovTop: Number - vertical FOV in radians, the same as fovTop value from the user profile
  • Arma 3 logo black.png1.94 fovLeft: Number - horizontal FOV in radians, the same asfovLeft value from the user profile
  • Arma 3 logo black.png1.94 tripleHead: Boolean - true if user has triple head screen (see also safeZoneXAbs, safeZoneWAbs)
  • Arma 3 logo black.png2.10 textureQuality: Number - current texture quality set in user preferences in 0..1 range, where 0 is lowest, 1 is highest

Examples

Example 1:
private _res = getResolution;
Example result with a single 16:9 monitor:
[ 1920, // width 1080, // height 792, // 2D viewport width 594, // 2D viewport height 1.77778, // aspect ratio 0.55, // UI scale 0.75, // fovTop 1.33333, // fovLeft false // tripleHead ]
Example result with a triple 16:9 monitor setup:
[ 5760, // width 1080, // height 792, // 2D viewport width 594, // 2D viewport height 5.33333, // aspect ratio 0.55 // UI scale ]
Example result on a dedicated server:
[ 160, // width 120, // height 136, // 2D viewport width 102, // 2D viewport height 1.33333, // aspect ratio 0.85 // UI scale ]

Additional Information

See also:
getObjectFOV worldToScreen screenToWorld safeZoneX safeZoneY safeZoneW safeZoneH

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Tom_48_97 - c
Posted on Dec 20, 2010 - 05:38 (UTC)
This command can be useful to play a video (see this function BIS_fnc_playVideo) in the given format if you have compiled it for different UI scale.