Widescreen Guide

From QWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This guide helps you to set up your QuakeWorld client for widescreen monitors.

By default all the QW clients have been configured for the usage of 4:3 monitor and this means that objects (players, models, world) will look "fat" or "wide" when playing with 16:10 monitor for example. Usually most of the other games are somewhat different in the way that they usually need only one change to be made and that's FOV. However this does not apply to QW clients since world geometry is adjusted by conwidth and conheight variables. There are two simple steps to get QW looking proper on 16:10 monitor. Follow these steps to configure your client properly:


Changing aspect ratio

The ezQuake way

  • "Wide aspect" option is available on the option menus.
  • You can also use "vid_wideaspect 1" command


The zQuake way

  • If your widescreen monitor aspect ratio is 16:9, divide 16/9 and you get 1.77777 Put vid_screenaspect 1.777 into your config.cfg. This doesn't currently work for in window modes; pixel ratio = 1.0 is assumed. At the moment only zQuake supports vid_screenaspect.

The not so quick way (older ezQuakes, fuhquake and mqwcl)

  • For 16:10 monitor you need to change the default aspect ratio by editing vid_conwidth and vid_conheight.
  • By default vid_conwidth is 640 and vid_conheight is 480
  • Use the following formula to calculate new vid_conheight:
16/10=x/480
x=480*16/10
x=768
  • Now you have values for 16:10 aspect ratio
  • Use vid_conwidth 768 and vid_conheight 480

Important thing to be considered

  • If you want to keep the font size the same, vid_conwidth is the one that needs to be changed. Decreasing vid_conheight usually makes your font larger. What this means is: 4:3 640x480 -> 16:10 768x480.

Changing FOV to correspond the new aspect ratio

  • Changing aspect ratio only fixes your geometry. By doing it you will have correct/same width as with 4:3 resolution but you will lose information vertically.
  • To fix this, use the following formula to fix your FOV: FOV=2*atan((48/40)*tan(fov/2))
  • Let's say you have FOV 120
FOV=2*atan((48/40)*tan(120/2))
FOV=2*atan(1.2*1.732)
FOV=2*atan(2.078)
FOV=2*64.3
FOV=128.61



Resulting changes

  • vid_conwidth 768 (old value was 640)
  • vid_conheight 480 (old value was 480)
  • field of view 128.61 (old value was 120)

Aspect ratios for 5:4 and 16:9 monitors

5:4 monitors

  • For 5:4 monitor you also need to make changes
  • Resolution 1280*1024
5/4=x/480
x=480*5/4
x=600
  • vid_conwidth is 600 and vid_conheight is 480
  • FOV formula can be used, but it needs different multiplier for tangent:
5:4 / 4:3
--> 15/16
  • Formula is FOV=2*atan((15/16)*tan(fov/2))
  • We are still using FOV 120
FOV=2*atan((15/16)*tan(120/2)
FOV=2*atan(0.9375*1.732)
FOV=2*atan(1.624)
FOV=2*58.37
FOV=116.7


16:9 monitors

  • For 16:9 monitor you also need to make changes
  • Resolution 1920*1080
16/9=x/480
x=480*16/9
x=853
  • vid_conwidth is 853 and vid_conheight is 480
  • FOV formula can be used, but it needs different multiplier for tangent:
16:9 / 4:3
--> 48/36
  • Formula is FOV=2*atan((48/36)*tan(fov/2))
  • We are still using FOV 120
FOV=2*atan((48/36*tan(120/2)
FOV=2*atan(1.3333*1.732)
FOV=2*atan(2.309)
FOV=2*66.59
FOV=133.17

Resolutions

  • You can use "custom" resolutions for your ezQuake client. However the resolutions have to be supported by your gfxcard drivers or they will not work.
  • vid_customwidth 1680
  • vid_customheight 1050
  • vid_mode -1 (uses customwidth/height)
  • vid_restart

Final thoughts

Using these formulas geometry is corrected for different aspect ratios and we are trying to keep all the vertical information. For 16:10 monitors this means you get to see more horizontally but for 5:4 monitors this means you actually lose some information horizontally. If you don't change your FOV with corrected 5:4 aspect ratio, you will gain more vertical information.

See Also: TFT