r_newrenderer pixel ratio support - partial implementation (for now)

Moderators: Rachael, dpJudas

dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: r_newrenderer pixel ratio support - partial implementation (for now)

Post by dpJudas »

Rats. I knew the hack of just modifying viewheight on the fly was going to break something somewhere. :)

About the upward shifting, I did wonder a bit about that. But when I switched r_newrenderer off the old renderer generated the exact same output. Maybe my viewheight patching psyched the old renderer.
User avatar
Rachael
Developer
Developer
Posts: 3639
Joined: Sat May 13, 2006 10:30

Re: r_newrenderer pixel ratio support - partial implementation (for now)

Post by Rachael »

Yes, it actually did. Start a map without the new renderer on but turn the status bar on - then switch. You'll see it break immediately.
dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: r_newrenderer pixel ratio support - partial implementation (for now)

Post by dpJudas »

Okay, got the status bar working now. Ugh, that was painful. Had to support specifying a viewport partly outside the screen to do it (the same thing as GZDoom is doing).
User avatar
Rachael
Developer
Developer
Posts: 3639
Joined: Sat May 13, 2006 10:30

Re: r_newrenderer pixel ratio support - partial implementation (for now)

Post by Rachael »

Doom is full of silly quirks like that. >_<

I know it's a pain in the ass to support us religiously play-with-the-status-bar-all-the-time folk but it's appreciated. :)
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: r_newrenderer pixel ratio support - partial implementation (for now)

Post by Gez »

dpJudas wrote:Okay, so the world is vertically scaled by 1.2 for reasons only Carmack knows. :)
320x200 logical aspect ratio of 4:3 physical monitors means that the image was stretched to the equivalent of 320x240.

So what happens when you render on square pixels, rather than stretched pixels? As long as you can't actually change the view pitch (and with Y-shearing you're not actually changing the view pitch, projection is still horizontal) then you can get away with just stretching the rendered image. But if you start getting a polygonal renderer that lets you look up and down for real, then stretching the rendered image just doesn't work anymore. Not stretching also doesn't work, though. The only solution? Stretch the world. That way things still look like they should, and you can look at them at weird angles.

TL;DR: blame Mode 13h and Mode Y; this all would have been avoided if Doom had been coded in Mode X instead.
Locked

Return to “Closed Suggestions”