如何使用Win32 API的开发模式扩展OpenGL全屏应用程序?

How to stretch OpenGL fullscreen app with Win32 API's DEVMODE?

本文关键字:OpenGL 应用程序 扩展 模式 Win32 何使用 API 开发      更新时间:2023-10-16

我试图将800x600的屏幕拉伸到全屏的尺寸。我目前在800x600部分周围得到黑色边框。我正在使用Win32 API与OpenGL。

当进入全屏时调用:

    DEVMODE dmScreenSettings;
    memset(&dmScreenSettings, 0, sizeof(dmScreenSettings));
    dmScreenSettings.dmSize = sizeof(dmScreenSettings);
    dmScreenSettings.dmPelsWidth = win->width;
    dmScreenSettings.dmPelsHeight = win->height;
    dmScreenSettings.dmBitsPerPel = SCREEN_BPP; 
    dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;

是否有办法与DEVMODE拉伸?

注意:有一个。dmscale成员,但我没有运气。

请勿更改显示设备模式。这样做会改变进入屏幕的物理信号,可能会打乱用户桌面的图标排列。用户不喜欢这样,不要冒犯用户。

如果你想要拉伸显示,调整窗口大小以覆盖全屏,并使用glViewport和投影矩阵的适当值。我可以给你更多的建议,如果你张贴你的绘图功能的源代码。