Angelica

Angelica

9.7k Downloads

Feature request resolution scaling

PrabhieG opened this issue ยท 10 comments

commented

Your GTNH Discord Username

No response

Mod Version

1.0.0-alpha50

Java Version

Java 8

Graphics Card Vendor

NVidia

Bug Report

I have a 5th gen Ryzen 9 iGPU but have a newer 4k monitor which is really nice for everything except gaming. It's about 40FPS native 4k but windowed 1920x1080 is literally 170+. And 40 is a little hard to witness... So kinda wanted something to scale the resoltuion in game so I didn't need to set my display resolution everytime I start playing. https://github.com/LuZWCHA/Resolution-Control/tree/3.0.0 seems to be pretty close to what I want but is sadly 1.14+ (and I haven't used it). Honestly if you can recommend a different forge mod that has this too if you won't add this I'd be stoked too but I didn't find one yet. Thanks!

Mod List or GTNH Pack Version

Angelica

Final Checklist

  • I have searched the issues and haven't found a similar issue.
  • I have read the known incompatibilities and this is not related to one of those.
  • I am running an officially released version. (Or, if I've compiled it myself I plan to fix the issue)
  • This issue is not related to a feature that is disabed by default - Shaders, MCPF, etc. [They'll be enabled when they're ready for testing]
commented

From what I've read AMDs adrenalin Software supports integer scaling from 1080p to 4k. No idea if it's just for dedicated GPUs or also for the iGPU.

You can read up on it here.
https://www.amd.com/en/resources/support-articles/faqs/DH3-034.html

commented

This is definitely a neat feature, but AFAIK not part of any of the code we're currently writing/integrating. For now, you could try Gamescope (on Linux) or whatever native things your drivers have, but they're not guaranteed to work.

commented

Isn't this just rendering the game to a smaller render target (ie 1920x1080) and then stretching it to the full resolution with some nice/suitable filtering or something?

commented

Yeah - it's probably trivial if you know where to hook it up in the renderer, but I haven't checked

commented

Modern Minecraft does have this feature, as well as Optifine.

commented

Thanks for the replies! I will look into the Adrenalin software. And perhaps Gamescope in future. But a lot of other games (and maybe modern minecraft? sodium? or maybe it was modern optifine?) had the ability to select a resolution so thought it would fit nicely in this mod. Thanks for the help.

commented

Isn't this just rendering the game to a smaller render target (ie 1920x1080) and then stretching it to the full resolution with some nice/suitable filtering or something?

While it's how Unity does that, instead it's trivial to just setting the screen resolution to accommodate the render target while the game has focus, no?

commented

@eigenraven is this doable in lwjgl3ify or does it make more sense to have it be in Angelica?

commented

It's not something that I could directly do in lwjgl3ify without hooking a bunch of renderer functions, you basically need to redirect the rendering to go into a differently sized framebuffer object (FBO), then render the FBO rescaled to the window resolution. It would make more sense in angelica.

commented

Yeah scaling should be done to the game world, it's generally not done to the UI, so the world is rendered at a lower resolution, then that is scaled to the larger framebuffer via a copy, usually using FS2R/FSR3 or something else (or just linear interpolation but that tends to not look the best), then the GUI renders on top of that higher quality one so it remains sharp. (Could do GUI too but it's more noticable when scaled though)