Advertisement

glut only runs at hd? can it run at 4k?

Started by July 03, 2017 02:42 AM
12 comments, last by nickme 7 years, 5 months ago

My win10 is set at 225% scale and my monitor is 4k.  however, when i open a window in glut, the window is covered almost half of the screen.  is glut only capable of display hd only?

thanks

The more interesting question is if your Graphics Card supports a native 4K resolution! Setting up Windows on 225% scale dosent seems so and GLUT uses the Windows API to get native capable display resolutions. At the end it sounds that you have a monitor that your GC is only running at HD resolution naturally but you might test it by yourself using WinAPI EnumDisplaySettings to get a list of possible resolution/refreshrate/color mode combinations

Advertisement
10 hours ago, Shaarigan said:

The more interesting question is if your Graphics Card supports a native 4K resolution! Setting up Windows on 225% scale dosent seems so and GLUT uses the Windows API to get native capable display resolutions. At the end it sounds that you have a monitor that your GC is only running at HD resolution naturally but you might test it by yourself using WinAPI EnumDisplaySettings to get a list of possible resolution/refreshrate/color mode combinations

thanks for your reply.

My GPU is radeon rx 480, so I am sure that it support 4k.

 

DId you try resizing the window ? If so, did it resize to the maximum size of the desktop? Are you assuming that GLUT will open up a fullscreen window by default ?

4 hours ago, cgrant said:

DId you try resizing the window ? If so, did it resize to the maximum size of the desktop? Are you assuming that GLUT will open up a fullscreen window by default ?

no, I can not resize the window.  I can't because when I coded it so that it will not run in full screen. When I resized it, it just shrink the graphic but the window would still in its original size and in black background.  When it re-rendered, it's back to the original window size.  The following image in the middle of the screen is 1280x720 resolution but almost covered the whole 4k screen.

Screenshot (16).png

On 3.7.2017 at 4:42 AM, nickme said:

My win10 is set at 225% scale and my monitor is 4k

 

I'm sorry but this dosent sound very 4k native resolution kind to me so you should urgently check what EnumDisplaySettings gives you as result

Advertisement

Hi nickme,

You're probably missing a call to SetProcessDPIAware. You'll want to call this as early as possible in your program, or in a manifest as the link suggests.

MSDN Link

When I ran it at 4k, it just fit the whole screen, but when I ran it at 1080p, it still covered the whole screen.  Why is that?  Is vs c++ auto upscale?

thanks for all your help

 

The hardware can automatically upscale if you open as full screen. If you set the graphics device into a resolution other than the maximum most devices will automatically upscale. Some devices will not upscale specific resolutions, but that depends on the hardware.

Also, in some situations for compatibility the drivers or OS will automatically upscale your program. 

I don't believe GLUT will automatically pick a different window size for you, but it has been nearly two decades since I've used it, so I've no idea what it does any more.  Perhaps it automatically does it.

C++ by itself would not do it. That's not part of the language, nor something the language can directly control. (You can use the language to send commands to drivers and libraries such as Direct3D or OpenGL, and those libraries might in turn can take action, but the language itself does not.)

3 minutes ago, frob said:

The hardware can automatically upscale if you open as full screen. If you set the graphics device into a resolution other than the maximum most devices will automatically upscale. Some devices will not upscale specific resolutions, but that depends on the hardware.

Also, in some situations for compatibility the drivers or OS will automatically upscale your program. 

I don't believe GLUT will automatically pick a different window size for you, but it has been nearly two decades since I've used it, so I've no idea what it does any more.  Perhaps it automatically does it.

C++ by itself would not do it. That's not part of the language, nor something the language can directly control. (You can use the language to send commands to drivers and libraries such as Direct3D or OpenGL, and those libraries might in turn can take action, but the language itself does not.)

thanks

This topic is closed to new replies.

Advertisement