HUD is unreadable in rift mode due to scaling/aliasing.
It looks like the whole game is being rendered as if the display were 1920x1200. As a result, on the 1280x800 Rift display, the single pixel font becomes invisible in places due to aliasing.
Comments (12)
-
-
reporter - attached layout.png
I normally have my monitors arranged like this. When they are like this, the game opens a 1920x1200 fullscreen window on big monitor, and then actually renders only in the bottom left corner in a 1280x800 area. This could be mitigated by allowing windowed and/or borderless window "fake fullscreen" modes.
-
reporter - attached layout2.png
If I arrange the monitors like this then everything appears to work correctly. The fullscreen window opens on the right monitor and the font is correct. However this layout breaks other rift games/applications.
-
reporter - attached scaling.png
Note that the rift isn't scaling, the game is doing it itself.
-
Wow ok, having seen "scaling.png", i'm quite surprised. The rift does scale down from 1920 but as you say that's clearly happening before it hits the rift... and we don't have any mechanism in software to (intentionally) scale the display, so what's happening is that one of the viewport values is probably taken from the rift, while the font size is set by the window size... and the viewport it renders in is then not the same size as the window. That's an odd scenario. Can you paste me the beginning of the debug log, no more than the first 100 lines at most? Thanks!
-
-
assigned issue to
-
assigned issue to
-
reporter SoundStorm: PortAudio V19-devel (built Mar 17 2014 22:03:03) build 1899 0 HDA ATI SB: VT1708S Analog (hw:0,0) Ch 2in 8out 44100Hz 1 HDA ATI SB: VT1708S Digital (hw:0,3) Ch 0in 2out 44100Hz [out only] [fd] 2 HDA NVidia: HDMI 0 (hw:1,3) Ch 0in 8out 44100Hz [out only] [fd] 3 HDA NVidia: HDMI 1 (hw:1,7) Ch 0in 8out 44100Hz [out only] [fd] 4 HDA NVidia: HDMI 2 (hw:1,8) Ch 0in 8out 44100Hz [out only] [fd] 5 HDA NVidia: HDMI 3 (hw:1,9) Ch 0in 8out 44100Hz [out only] [fd] 6 USB Device 0x46d:0x821: Audio (hw:2,0) Ch 2in 0out 32000Hz [in only] 7 sysdefault Ch 128in 128out 48000Hz 8 front Ch 0in 8out 44100Hz [out only] [fd] 9 surround40 Ch 0in 8out 44100Hz [out only] [fd] 10 surround41 Ch 0in 128out 44100Hz [out only] [fd] 11 surround50 Ch 0in 128out 44100Hz [out only] [fd] 12 surround51 Ch 0in 8out 44100Hz [out only] [fd] 13 surround71 Ch 0in 8out 44100Hz [out only] [fd] 14 hdmi Ch 0in 2out 44100Hz [out only] [fd] 15 pulse Ch 32in 32out 44100Hz 16 dmix Ch 0in 2out 48000Hz [out only] [fd] *17 default Ch 32in 32out 44100Hz [sysdef in] [sysdef out] [apidef in] [apidef out] Initialising player... Initialising universe... Starting AdvertCity version Alpha 3.5.2709.14783 Initialising graphics... Oculus: Initialising Oculus Rift... DeviceManager - HMD Found OVR0001 - 2 Oculus: Device found DeviceManager - HMD Found OVR0001 - 2 Oculus: Sensor found DisplayDeviceName: OVR0001 ProductName: Oculus Rift DK1 Manufacturer: Oculus VR Version: 0 HResolution: 1280 VResolution: 800 HScreenSize: 0.14976 VScreenSize: 0.0936 VScreenCenter: 0.0468 EyeToScreenDistance: 0.041 LensSeparationDistance: 0.0635 InterpupillaryDistance: 0.064 DistortionK[0]: 1 DistortionK[1]: 0.22 DistortionK[2]: 0.24 aspect ratio = 0.8 field of view = 1.70272 interlens distance (ratio) = 0.424012 Monitors: 3 Monitor 0 (primary) Name: DVI-D-0 Physical size: 518 324 Position: 0 0 Mode: 1920 1200 59 Monitor 1 Name: DVI-I-0 Physical size: 338 270 Position: 1920 176 Mode: 1280 1024 60 Monitor 2 Name: HDMI-0 Physical size: 150 94 Position: 320 200 Mode: 1280 800 60 (Oculus Rift candidate) Oculus Rift mode enabled. GL_VERSION: 4.4.0 NVIDIA 331.38 GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce GTX 780/PCIe/SSE2 GL version major 4 minor 4 revision 0 API 196609 profile 0 GL antialiasing mode: 8 buffers: 1, samples: 8 Graphics initialised. New window size [1280,800] aspect ratio 1.6 Looking for input devices... 0: gnome15-digital-joystick 1: gnome15-joystick Selected input device 0: gnome15-digital-joystick 2 axes, 6 buttons DEBUG: mouse locked in mouselook Level unchanged, old 0 new 0 New window size [1920,1200] aspect ratio 1.6 ERROR: player corp is nullptr when drawing HUD data Initialisation complete. DEBUG: mouse is free Have a nice day!
-
reporter - attached 1.log
Okay pasting in logs doesn't work too well...
-
That all looks fine - it appears to correctly identify monitor 2 as the rift candidate in this situation. The key lines are:
Oculus: Sensor found ProductName: Oculus Rift DK1 HResolution: 1280 VResolution: 800 Monitor 2 Mode: 1280 800 60 (Oculus Rift candidate) Oculus Rift mode enabled.
That should full-screen the game on monitor 2, running at native 1280x800 resolution... does it not do that?
-
reporter No. It opens a window which covers all of monitor 0, and then renders into a 1280x800 viewport in the bottom left of the window. The monitor layout is as in layout.png and the result is scaling.png.
-
Hmm, this sounds like a glfw3 bug in that case, in opening the window itself. I'm abroad at the moment but when i'm back i'll put together a minimal test program to try opening a full-screen context on a monitor other than 0. I have linux test machines but no multimonitor capable ones so can't reproduce the issue here.
-
Menu adjustable font size. Re
#27, #35, #36,#68→ <<cset dfde16fe5bef>>
- Log in to comment
This is an issue with the user-end rift display setup; we currently full-screen on a dedicated display if we detect one as the rift (matching the rift's native resolution) - otherwise we fall back to full-screening on the primary monitor. If your primary display isn't at 1280x800 (or whatever the resolution will be of future versions), you'll get aliasing. The solution is to run the rift in second display mode under windows.
We could work around this by permitting the user to change full-screen resolution, which we need to do anyway, which is why i'm not marking this as "wontfix" but it's really an issue with the fact the rift allows you to send it 1920x1080 input and will alias it down silently.