Vertical stretching

Discuss anything ZDoom-related that doesn't fall into one of the other categories.

Vertical stretching

Postby Iniquitatis » Mon Sep 23, 2019 1:06 pm

Question to the developers: is there any reason to keep this 1:1.2 aspect ratio as of today, given the fact that GZDoom already became a completely modern source port, which uses shaders, supports Vulkan, has no 320x200 video mode, etc.?

To illustrate the problem:
  1. This is the default aspect ratio. The BFG ball looks like an egg, the doors are a little bit tall, and so on.

  2. And I can prevent it by setting Force aspect ratio to 16:10, so everything will look perfectly fine.

  3. ... Until I look up/down, where the level geometry will be distorted by X-axis.

  4. And if I set the Force aspect ratio back to Off, the level geometry becomes normal, but the sprites are going to be stretched vertically again.

Or, at least, how can I prevent it, for example, in a new TC/game, which is built on top of GZDoom?
User avatar
Iniquitatis
 
Joined: 24 Oct 2009
Github ID: Iniquitatis
Operating System: Windows Vista/7 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: Vertical stretching

Postby Hellser » Mon Sep 23, 2019 2:14 pm

You might want to give this a read, then. It'll explain why GZDoom has vertical scaling. As for an option to remove it, you might want to try and request it as a feature.
User avatar
Hellser
Remember Citadel
 
Joined: 25 Jun 2006
Location: Citadel Station
Discord: Hellser#8156
Operating System: Windows 10/8.1/8 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Vertical stretching

Postby Iniquitatis » Mon Sep 23, 2019 3:25 pm

Well, thanks, but I'm already aware of why (and how) the image is being stretched. :)
Point of this thread is a little bit more "abstract": what's the reason of keeping this behavior? I mean, I don't think that GZDoom is still targeting to be visually comparable to vanilla Doom (see above).
User avatar
Iniquitatis
 
Joined: 24 Oct 2009
Github ID: Iniquitatis
Operating System: Windows Vista/7 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: Vertical stretching

Postby Hellser » Mon Sep 23, 2019 4:01 pm

I think the reason is that it's a standard among all other source ports and all players and modders are expecting this behavior. Otherwise, there will be a lot of bug reports that GZDoom doesn't look like PrBoom, EDGE, Zandronum, ZDoom, Vavoom, Eternity and that everything's squished / doesn't look right / there's no aspect ratio correction. (am I missing any other? :P)

I can see this being an option for modders through an GAMEINFO flag.
User avatar
Hellser
Remember Citadel
 
Joined: 25 Jun 2006
Location: Citadel Station
Discord: Hellser#8156
Operating System: Windows 10/8.1/8 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Vertical stretching

Postby Iniquitatis » Mon Sep 23, 2019 5:49 pm

Hellser wrote:I think the reason is that it's a standard among all other source ports and all players and modders are expecting this behavior. Otherwise, there will be a lot of bug reports that GZDoom doesn't look like PrBoom, EDGE, Zandronum, ZDoom, Vavoom, Eternity and that everything's squished / doesn't look right / there's no aspect ratio correction. (am I missing any other? :P)

I can see this being an option for modders through an GAMEINFO flag.


Ouch, now I feel stupid. I'm always forgetting that original Doom assets made with this "correction" in mind. This egg-like BFG projectile always confuses me. :mrgreen:

Anyway, yeah, there's already PixelRatio property for the MAPINFO lump, but it doesn't prevent, for example, PSprites from being aspect corrected. What I'm looking for is an option to prevent engine from doing any kind of vertical stretching, be it the HUD, PSprites, world sprites, models, level geometry, etc., so every asset that I made looks in-game just as intended.
User avatar
Iniquitatis
 
Joined: 24 Oct 2009
Github ID: Iniquitatis
Operating System: Windows Vista/7 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: Vertical stretching

Postby Hellser » Mon Sep 23, 2019 6:14 pm

Probably a combination of PixelRatio and some ZScriptery that scales actors and psprites vertically down by 0.8 if you want a 1:1 ratio. As for the ZScript part - I don't know anything about it. But given that there's already so much that ZScript can do, I won't be surprised if this is doable.
User avatar
Hellser
Remember Citadel
 
Joined: 25 Jun 2006
Location: Citadel Station
Discord: Hellser#8156
Operating System: Windows 10/8.1/8 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Vertical stretching

Postby Rachael » Mon Sep 23, 2019 8:46 pm

The BFG ball - what an odd asset to focus on.

I wonder if you've looked at some of the others? The BFG is more of the exception than the rule.

I suggest you take a look at this: https://doomwiki.org/wiki/Aspect_ratio

I very much disagree with Hellser about why GZDoom does 1:1.2. It isn't because we'd get reports about it not looking like PrBoom or other source ports - it is because it is the correct way to render Doom. Doom was designed for a canvas where each pixel was stretched 1:1.2. Even if not every asset doesn't fit this perfectly (the BFG and Doom Imp projectiles are good examples of this), many more assets were.

For example: The status bar mug shot was very clearly designed with the stretched aspect ratio in mind. The Soul/Mega/Invulnerability spheres will look out of place if they get squashed, too.

Remember first and foremost: This is a source port for a very old DOS game. And while there are many features that allow it to be used as a game engine for more modern games, it still has its roots in that very game - and that is something that it cannot cut away from, without losing its actual purpose.

That being said though, HUD sprite scaling is something that, in my opinion, should be there as a modder option similar to PixelRatio, and therefore, as Hellser said - should be suggested.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Graphics Processor: nVidia with Vulkan support

Re: Vertical stretching

Postby Nash » Tue Sep 24, 2019 2:08 am

As Rachael might already know - I was ranting about the HUD sprite scaling thing in our private Discord the other day. I think it's an oversight. Yes, it should be customizable, because my project doesn't use 1.2 pixel ratio, and every currently-available solution is work-around-ey (and doesn't even work on a practical scale). :)

PixelRatio already works to scale the 3D view, but HUD weapon sprites seem to remain hard-coded to be drawn at 1.2 ratio.


User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: Vertical stretching

Postby Iniquitatis » Tue Sep 24, 2019 2:24 am

Not only the BFG ball, but pretty much every round thing and projectile, and it's getting much more visible in various mods, where the creators didn't bother to scale their assets according to the aspect ratio correction.
(Also, it's just getting on my nerves, when my precious sprites are being distorted by some cruel correction. :3: )

Sure, it's a source port for an old game, but it's also already evolved into some kind of a customizable game engine for the sprite-based projects (judging by the count of mods/TCs), and it seems reasonable to take such usage into consideration.

Well, anyway, thanks for the answer.

UPDATE:
Missed the Nash's message.

Nash wrote:... my project doesn't use 1.2 pixel ratio, and every currently-available solution is work-around-ey (and doesn't even work on a practical scale).

This. I'm on the same boat, unfortunately.
User avatar
Iniquitatis
 
Joined: 24 Oct 2009
Github ID: Iniquitatis
Operating System: Windows Vista/7 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: Vertical stretching

Postby Rachael » Tue Sep 24, 2019 9:35 am

Iniquitatis wrote:
Nash wrote:... my project doesn't use 1.2 pixel ratio, and every currently-available solution is work-around-ey (and doesn't even work on a practical scale).

This. I'm on the same boat, unfortunately.

The first step is usually making a thread here.

Iniquitatis wrote:Sure, it's a source port for an old game, but it's also already evolved into some kind of a customizable game engine for the sprite-based projects (judging by the count of mods/TCs), and it seems reasonable to take such usage into consideration.

Such usage already *is* taken into consideration. But it's not the default behavior, and it never will be, it's up to you to manually set it. As for the HUD sprites though - I assume you know what must be done about this?
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Graphics Processor: nVidia with Vulkan support

Re: Vertical stretching

Postby Gez » Wed Sep 25, 2019 6:57 am

in the original Doom assets, pure pixel art spheres tend not to have been made with ARC in mind, because the spherical outline was just done using Deluxe Paint's circle tool, which itself didn't take the screen aspect ratio into account and assumed square pixels. However, all digitalized art -- be they scan from paper or captured photos from their little action figure studio -- does take ARC into account and require it to look right.

Titlescreen, mugshot, and monster sprites will trump BFG ball 100% of the time.
Gez
 
 
 
Joined: 06 Jul 2007


Return to General

Who is online

Users browsing this forum: AFADoomer, Ahrefs [Bot] and 0 guests