关于OpenGL游戏全屏模式的设置

使用DirectX的API的话可以给游戏窗口设置指定的显示器和全屏独占模式,但是如果使用OpenGL的API就比较遗憾不能直接设置。

以下内容基于Windows系统。

如果使用OpenGL渲染,第一步当然是创建窗口,如果想要设置全屏模式,需要做以下几步操作:

一、把窗口设为无边框

二、把窗口坐标设置到屏幕左上角,窗口大小设为跟屏幕同样大小

三、如果有必要调整屏幕刷新率,要需要调用 ChangeDisplaySettingsEx 函数

四、窗口必须有焦点并且是激活的。

关于OpenGL全屏独占模式,经过我在某404网站的努力搜索,得到如下的结论:

一、如果OpenGL窗口要使用全屏独占模式,首先得按上面的几步来做。

二、不断调用 wglSwapBuffers 之后,显卡驱动可能就会认为你的全屏OpenGL窗口需要加速渲染,然后把你的窗口设置为全屏独占模式。

三、能不能用全屏独占还得看显卡驱动的心情。

以下是多显示器测试的一点代码:

// ConsoleApplication1.cpp : This file contains the ‘main’ function. Program execution begins and ends there.
//

#include “pch.h”
#include
#include
#include

struct UsableMode
{
// 分辨率宽度(像素)
DWORD dmPelsWidth;
// 分辨率高度(像素)
DWORD dmPelsHeight;
// 颜色深度(位)
DWORD dmBitsPerPel;
// 刷新率(Hz)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值