I’m attempting to use JUCE for some game development projects and wondered if there’s any way to change the screen resolution so that kiosk mode doesn’t have to run in the current screen resolution defined by the OS. I can’t see any API methods available that would allow me to change the screen resolution so I’m guessing it’s not supported by the library. However, I’m going to be using OpenGL for rendering all of my game content, so maybe there’s a way to set up the OpenGL context such that the resolution appears correct even though the real screen resolution is higher? Any suggestions to this end would be greatly appreciated.
Possibly render into an Image backed by an OpenGL framebuffer which is of the desired screen size and then render that Image to the screen, stretched to the real screen resolution?
It’s certainly not something I’d add support for, and I wouldn’t be surprised if OSes make it impossible in the near future anyway. Your suggestion about using an intermediate framebuffer would be the sensible way to do it if you really need to set a specific resolution (but do you really need to do that? Sounds like a very old-fashioned thing to do)
I’m developing a 2D game without any 3D components and the image assets won’t be vectorized (they could be, but assume they won’t for now). What would you suggest as an alternative to the render-to-framebuffer approach if I wanted to do something full-screen in kiosk mode? Or are you saying that full-screen mode itself in games is old-fashioned? Definitely open to alternatives.
No, I’m saying that it’s old-fashioned to write code that prefers a particular screen resolution. Vector-based code is best, or use images whose resolution is high enough to look good anywhere, but you should just work with whatever screen resolution the device gives you rather than trying to change it.
Why would you even want to do that? Wouldn’t it be more intuitive for your players to not have to deal with selecting a resolution, and just have whatever is being drawn adapt to your window resolution?
I agree… The DOS days are over.