View Full Version : Widescreen Aspect Ratios
Kung Fu Jesus
January 12th, 2009, 16:50
I remember reading a while back that there was some intent to support widescreen aspect ratios by somehow altering the game's perspective a little. I am very much for this idea now that I have my 1080p 50" Kuro. I noticed however that there are still only 4:3 resolutions. Now when I pick 1920x1440 I just get a pretty hefty cropping from the top and bottom. How far away are we from widescreen aspect ratios and what would it take? Do you need a tester? I'm a novice when it comes to low level C, but I'm more than willing to be walked through or stumble through a debugger (haven't tried the new mupen one yet, but it sounds like a pretty basic visual debugger). I'm running this on Linux by the way, have been grabbing the svn trunk for over a year now and am loving the progress.
January 31st, 2009, 14:56
I don't think all of the current video plug-ins are being actively worked on. I assume that eventually one or two will have widescreen support but I sort of doubt that it's a priority. I think something with the viewport has to be modified to avoid distortion but I'm no expert. Hope it comes eventually though.
February 7th, 2009, 13:28
How far away are we from widescreen aspect ratios and what would it take? Do you need a tester?
I've a port of the Glide64 widescreen support in the GlideHQ branch at http://repo.or.cz/w/Glide64.git. It lacks GUI configuration support and I think it just puts black stripes on the side - I haven't tested because I've lost my patience with the fglrx driver and the mesa driver doesn't support GLSL on radeons, so I've put Majoras Mask back on my list of the games I'll play some day. (Glide64 needs GLSL for some special effects.)
But maybe the Glide64 upstream developers have added support for true widescreen viewports by now?
February 7th, 2009, 15:04
The newest version of Glide64 does have widescreen resolution support, but only the Windows binary has been released. I'm guessing it just adds black bars on the sides. Currently the author is working on making the code portable (http://www.emuxhaven.net/forums/showpost.php?p=80260&postcount=4) to different operating systems. Until he is done with that we're stuck with the current version.
February 7th, 2009, 18:08
Well, this thread inspired me to start playing around with widescreen aspect ratios, and I was actually able to get it to work! I have a patch at http://groups.google.com/group/mupen64plus/files for the ricevideo plugin that lets you play games in widescreen.
After patching and building, you need the following setting in your RiceVideo.cfg:
You will now see the full area of the screen that you could before, plus whatever else is needed on the sides to fill out your aspect ratio. This works well enough for regular geometry, but the flat elements on the screen, such as the HUD, don't always look great when they are supposed to make a border around a 4:3 screen. Thus, I have a second option that you can toggle:
This will cause anything that gets drawn flat to be stretched instead of centered on the screen. A HUD will get stretched so that it stays around the edges of the screen. More importantly, some skies (Super Smash Bros is a good example) also get drawn in this way and they won't fill up the entire background if this isn't turned on. Fade to black/white effects also look better with this turned on as well, otherwise only the middle 4:3 section of the screen fades.
WidescreenStretchHUD is turned on by default for these reasons, but in games with very minimalistic HUDs that also use skyboxes to draw the sky, you could turn it off so your HUD isn't stretched.
Unfortunately, there are some games where this won't work very well. If you try to play Mario Kart, you will find that the sky is just a 4:3 square that won't get stretched even with WidescreenStretchHUD turned on. You will also notice that in games that combine flat objects with polygons, things might be out of place. For example, the arrows over players in Smash Bros don't quite line up.
This should work for any widescreen aspect ratio you throw at it, although if you get too wide (as in span it across 3 monitors) you'll start to see a fish-eye effect.
If I could find a way to figure out which polygons always move with the camera, I might be able to improve support for more games. I don't know if this is even possible, but let me know if you have any ideas.
I think I'll attempt do do the same thing with Glide64 next, I just found the appropriate sections of code in Rice first.
February 8th, 2009, 00:14
You might want to track the flat polygons. If there position is always drawn to the same location in the original N64 coordinates then it's likely to be part of a GUI.
February 10th, 2009, 05:30
If anyone wants to follow along with my progress, I'm continuing my development in the Rice video GUI refactoring branch. Since my patch, I've also gotten the overlay position more accurate (but not perfect yet) and a fix for some skies.
Powered by vBulletin® Version 4.1.11 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.