Thursday, January 12, 2012

Aspect ratio in crossview 3D

 Let's say we're playing a game in 1920x1080 resolution. This is 16:9 aspect ratio, probably the most common for displays nowadays. If we want to play in crossview 3D at this resolution without changing anything else, the resulted resolution will be 3840x1080. As an example, Dirt 2:


Nice looking picture indeed, but on which display? The aspect ratio is 32:9. There are 2 possibilities:
          1. two 16:9 identical displays, but this is already expensive and difficult to crossview 3D
          2. shrink to fit on a single display.
 The second variant is what Iz3D driver does in crosseye side-by-side mode. Both perspectives appear on display at 32:9 aspect ratio, with upper and lower black bars by default. The resulted image height will be halved, and in crosseye mode, by overlapping the two perspectives, the width is also reduced to half. So, the resulted 3d viewport will be half width x half height. The equivalent resolution in 3d would be 960x540, centered on display. This is small, very small for a decent gameplay.

Here's where the tweaking comes. We need to fill the screen. Let's stretch it to fill the whole screen:

The Iz3D SBS (side-by-side) is stretching the image. But the original aspect ratio has been altered (normal for SBS mode). It works, but the 16:9 has become 8:9 and everything looks squashed. I liked the old picture to be honest. Well, at least this was a step ahead.

Next step, we need to fix the aspect ratio. We need an 8:9 ratio. To keep the display's native resolution (1920x1080 in this case), we have (2x960)x1080, so each perspective will appear in 960x1080 resolution.

By default, graphics drivers don't have any resolution for 8:9 aspect ratio, so we need to create a custom 8:9 resolution, like 960x1080 in this case, in Windows. The graphics drivers offer the custom resolution options, both AMD and nVidia (use with care, read the warnings). Many games usually recognize the new resolution, and if their aspect ratio is defined by resolution, then we have a fast result:

 Dirt 2 was set up on 960x1080 with aspect ratio set to "NORMAL". The HUD was completely deactivated in options for a crystal clear 3d screenshot. Sadly, the HUDs gain terrain on such an aspect ratio.

 This is one way of maximizing the crosseye 3D viewport size. Shortly, the steps are:
1. Have a 3d driver installed (3rd party like Iz3D or DDD), set it in side-by-side mode
2. Create a custom resolution in Windows, matching a vertical half of your display's native resolution (e.g. for a native res. 1680x1050, the custom resolution will be 840x1050).
3. Apply the new custom-made resolution ingame
4. If needed, tweak the 3d driver's settings to stretch the viewport - normally not needed

Here, Unreal Tournament 3, working normally, in 8:9 resolution:


NFS: Hot Pursuit (2010) - works normally with 8:9 resolution, too bad the 3D isn't perfect in all cases, this game could have been a 3D jewel:

Unfortunately, not all games have pixel ratio 1:1 (resolution-dependent aspect ratio).

For example, NFS: Pro Street will always start in current desktop's aspect ratio. Not extremely bad after all, the workaround is sweet: set Windows desktop resolution to the newly created custom value (the desktop will be "double fat") then start the game in 3D. NFS Pro street will look properly, regardless of the ingame resolution. The chick should convince you this is the right aspect ratio:

The same workaround applies to NFS: Undercover.
Sadly, not the same solution applies to other games from NFS series. In NFS: Most Wanted, I managed to obtain the 8:9 resolution in the game, but the resulted aspect ratio is incorrect; cars and environment became "fat", but with squashed HUD and menu. However, I not ready to give up yet.

I've reduced the amount of technical detail, but if needed, I will make a specific post.

More games to be tested/fixed...
...to be continued...

10 comments:

  1. Thanks a lot for this, unfortunately for me, tridef driver shrink the size of the panel to a small 16/9 rectangle containig both images in 8:9. do you have any solution for this matter ?

    ReplyDelete
  2. Thanks a lot, I understand the process, and I very much appreciate this. But unfortunately, as EVD said,it is not working for Tridef driver. Please help us out.

    ReplyDelete
  3. Tridef is stubborn indeed. Iz3D driver is discontinued, no one cares about it and that's sad. The good part in this is that you can download a last version from Iz3D's forum (a good guy uploaded the last version and Trial Reset software with a reset profile for Iz3D)

    ReplyDelete
  4. Tridef is working properly for the purpose now

    ReplyDelete
    Replies
    1. Does it work with the Tridef Ignition 6.7 version ?
      So you're saying that all I need to do now to get the proper aspect ratio in Tridef is to set the in-game resolution to 960 x 1080 (in case of a 1920 x 1080 tv) ? Are you sure that there won't be any stretching or pixel loss ? Thanks.

      Delete
    2. I just tried Half Life 2 with Tridef 6.7 and it doesn't work. If the in-game resolution is set to 960x1080 it just crops the rest and runs the whole image inside a 960x1080 space. Were you referring to the 7.0 version ?

      Delete
  5. Here's the solution for Tridef users: http://www.mtbs3d.com/phpBB/viewtopic.php?f=120&t=21174&sid=38c6627987cc921caa4acfb3a7667a9d&start=40#p161456
    I set registry override to 1920 x 1080 then set game resolution to 960 x 1080. Then in game in Tridef menu (open it with "0") in "Output" change "Image Stretch" to 100

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Sorry, link for the solution is not very accurate. Just read post by "asprind" on the linked page.

    ReplyDelete
  8. Very informative and It was an awesome post. I love reading your fantastic content. Thanks for sharing it with us. We are so greatful to your sharing. TriDef 3D 7.0

    ReplyDelete