Scaled up by 20%

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Scaled up by 20%

Re: Scaled up by 20%

by Graf Zahl » Tue Dec 30, 2014 1:14 pm

That should use the same scaling factor, of course

Re: Scaled up by 20%

by Nash » Tue Dec 30, 2014 12:21 pm

Hey Graf, many thanks for the moddable aspect ratio correction... just wondering if you can address the same issue for models too, in gl_models.h line 14, it seems that models are hardcoded to be squashed shorter by a factor of 1.2... can that be exported as a MAPINFO thing as well, same way as the GL aspect thing you just implemented?

Re: Scaled up by 20%

by Graf Zahl » Tue Dec 30, 2014 7:17 am

To be precise, the old code had the stretching AFTER the rotation for pitch changes, but of course it had to be done before that so that the stretched view gets rotated, not vice versa.

Re: Scaled up by 20%

by edward850 » Tue Dec 30, 2014 6:16 am

Jimmy wrote:y-shearing fixed??!! :O
He's talking about OpenGL, not software. You can't "fix" Y sharing, it's technically not broken. ;)

Re: Scaled up by 20%

by Jimmy » Tue Dec 30, 2014 6:15 am

Graf Zahl wrote:This means no more distortion when looking up and down.
Forgive me if I'm misunderstanding but... y-shearing fixed??!! :O

Re: Scaled up by 20%

by Enjay » Mon Dec 29, 2014 4:31 pm

Graf Zahl wrote:I might note that at least I managed to move the stretching factor from the projection to the view matrix.
This means no more distortion when looking up and down. And since it's no longer baked into several constant values (finding and understanding those was the big issue here that kept me from changing it earlier) it should be doable with a little work to set it per mod in the GL renderer.
That sounds promising. :)
Graf Zahl wrote:Of course nothing of this means that the original motivation of this thread has any merit whatsoever.
Very much agreed and that's certainly not why I would want it. The 1:1.2 ratio is there to ensure correct display of how 320x200 Doom looked on a 4:3 ratio monitor. Presumably the request to make the pixels square because "It's 2014 for Christ's sake" was based on an assumption that square is correct but (in this context), of course, it isn't.

FLYBAT, you might find this interesting: http://en.wikipedia.org/wiki/Mode_13h

The end of the introductory paragraph is relevant:
Given the aspect ratio of a 320×200 resolution screen, Mode 13h does not have square pixels.
Doom was very much designed for Mode 13h. So the game was created knowing that 1:1.2 would be the ratio of the pixel size. Therefore it is correct to show Doom in that ratio even on modern hardware because that's the ratio that the game was created for.

Re: Scaled up by 20%

by Gez » Mon Dec 29, 2014 4:08 pm

"VirticalResolution" :geek:

Re: Scaled up by 20%

by Blzut3 » Mon Dec 29, 2014 3:57 pm

edward850 wrote:Edit:
[00:14:27] <chungy> the status bar in his "monstrosity" image is still wrong :P
[00:14:48] <Edward850> ... what the...
[00:14:54] <Edward850> My mind!
Since correcting 320x200 to 320x240 always looks awful (simply not enough pixels for nearest scaling), ZDoom chooses to make an exception and forgo the correction in that case.

https://github.com/rheit/zdoom/blob/mas ... r.cpp#L281

Re: Scaled up by 20%

by Graf Zahl » Mon Dec 29, 2014 3:41 pm

Enjay wrote: As for how difficult it is, I know that Nash has tried it and, from memory, he was able to do it in a relatively simply manner by changing a define somewhere in gl_scene.cpp I think. How appropriate and robust this is for an actual built-into-the-engine modding feature, I have no idea.
I might note that at least I managed to move the stretching factor from the projection to the view matrix.
This means no more distortion when looking up and down. And since it's no longer baked into several constant values (finding and understanding those was the big issue here that kept me from changing it earlier) it should be doable with a little work to set it per mod in the GL renderer.
Of course nothing of this means that the original motivation of this thread has any merit whatsoever.

Re: Scaled up by 20%

by NeuralStunner » Mon Dec 29, 2014 1:25 pm

Enjay wrote:And, of course, unless it's available, mods won't be made to require it. ;)
Basically all of my mods "require" it, because it's the environment under which they were made.
Enjay wrote:I don't see it really having a place in any Doom themed and styled mods but it would potentially be a useful feature for anyone trying to mod outside that environment.
I almost don't make Doom mods, so this puts it near the top of my wishlist. Keep in mind, it wouldn't affect me directly - But it would ensure anyone else would be able to see the mod the same way I do when making it, and I won't have to deflect complaints about things looking "squished".

Any case where you want to rotate a sprite or texture 90 degrees looks completely daft post-adjustment. Obviously square textures turn irritatingly non-square when put on a wall. Scale goes completely boneheaded when 64 units vertically to not visibly match 64 units horizontally. In GZDoom especially, things look completely loopy if you look down and turn. All problems that are entirely reasonable to want to eradicate. Entirely worht it to me, but then, I have absolutely no clue how to do it myself. (I don't think even Graf touches the software renderer often.)

Re: Scaled up by 20%

by Enjay » Mon Dec 29, 2014 12:57 pm

NeuralStunner wrote:I'd like this quite a lot as well. But probably the only way it's going to happen is for a significant number of mods to require it.
And, of course, unless it's available, mods won't be made to require it. ;)

I know, for example, that it was something that would have been liked for [wiki]Paranoid[/wiki]. It was pointed out during the testing phase that where walls had circular shapes on them (such as a fire hose reel) these were in contrast to circular models which were properly circular.

When making models that you want to match level architecture (e.g. a crate model that looks like map-made crates), you have to remember to either make the model 20% taller than its Doom map height or scale it in modeldef to be 20% taller.

Models that rotate along a horizontal axis are particularly weird. If you make them perfectly circular in end view, in game they look like ovals when they rotate unless you scale them up by 20% in the z direction.

Basically, any mod that makes heavy use of models could potentially benefit from being able to use 1:1 rather than 1:1.2 because, models, by default, use 1:1 scaling and (usually) look better that way too (IMO).

As for how difficult it is, I know that Nash has tried it and, from memory, he was able to do it in a relatively simply manner by changing a define somewhere in gl_scene.cpp I think. How appropriate and robust this is for an actual built-into-the-engine modding feature, I have no idea.


I don't see it really having a place in any Doom themed and styled mods but it would potentially be a useful feature for anyone trying to mod outside that environment. Equally, however, unlike a rotating model, I'm not going to get all bent out of shape over it. It would be great to have the feature but I understand the low priority it has.

Re: Scaled up by 20%

by NeuralStunner » Mon Dec 29, 2014 10:58 am

Enjay wrote:That being said, I would love the option to switch off the 1:1.2 scaling for mods that are not intended to be Doom-like and which do not need to rely on correcting graphics like Doom. This would be particularly useful in a mod featuring models which are not scaled in this way.
I'd like this quite a lot as well. But probably the only way it's going to happen is for a significant number of mods to require it.

Personally I've played at an unadjusted 8:5 (and not just Doom engine) for so long that anything else doesn't look right.

Re: Scaled up by 20%

by edward850 » Mon Dec 29, 2014 5:05 am

Enjay wrote:That being said, I would love the option to switch off the 1:1.2 scaling for mods that are not intended to be Doom-like and which do not need to rely on correcting graphics like Doom. This would be particularly useful in a mod featuring models which are not scaled in this way.
From what I'm capable of determining, the software rendering projection code has the 1:1.2 logic embedded into it (which would also explain the static table for resolutions?). The screen space is still 1:1, but the world is projected at the necessary ratio to compensate, which also means things like the automap don't distort with it.
You may be looking at "effort not fit for purpose" request, there.
FLYBAT wrote:I don't think it's fat. I see perfect square pixels arranged in a beautiful artwork. And the stretched one is, well, stretched. It's horrible.
The ironic part is, had you actually read the wiki article, you would see that Doom's art is not intended for your point of view at all, by any standard. Yet again, for prosperity:
Image
Left: Aspect ratio corrected status bar face, as it would appear in Vanilla Doom at VGA 320x200, stretched on a 4:3 aspect ratio monitor. Right: Status bar face without aspect ratio correction. Center: The Mona Lisa
Edit:
[00:14:27] <chungy> the status bar in his "monstrosity" image is still wrong :P
[00:14:48] <Edward850> ... what the...
[00:14:54] <Edward850> My mind!

Re: Scaled up by 20%

by Graf Zahl » Mon Dec 29, 2014 4:48 am

That's all quite irrelevant. The original was designed for a pixel ratio of 1:1.2, not 1:1, and that's what nearly all ports implement.

Re: Scaled up by 20%

by FLYBAT » Mon Dec 29, 2014 4:40 am

Gez wrote:your "eye candy" is fat, and that your "monstrosity" is how Doom is supposed to look
I don't think it's fat. I see perfect square pixels arranged in a beautiful artwork. And the stretched one is, well, stretched. It's horrible.

A problem more serious is that you have to scale all your graphics down by 20% to make them look as you intended in the game. You thus have ugly HUD graphics and disgusting actors all around.

Top