三大操作系统Linux、Windows和Mac是否支持在全屏模式和窗口模式之间切换而不重新创建窗口?重新创建是有问题的,因为它也意味着重新创建OpenGL上下文,或者至少重新创建一些OpenGL对象。
在这些平台上有哪些API函数可用于执行任务?
发布于 2014-09-02 22:26:54
窗户:是的
X11/GLX:是
MacOS-X:很复杂。
首先,简单的东西:在windows和X11中没有特殊的全屏模式OpenGL窗口。它们都是普通的图层窗口,您可以随时添加或删除窗口装饰(标题栏、边框)。如果您移除窗口装饰并将窗口大小设置为最大,您基本上可以得到一个全屏OpenGL窗口;实际上,图形驱动程序足够聪明,可以检测到这种情况,然后切换到快速通道。
现在,MacOS X在MacOS X中明确区分了加窗和全屏 ( IMHO非常恼人)。
好消息是,您可以访问底层上下文对象,该对象允许实现某些资源共享,因此不必重新创建包含OpenGL对象的数据。
Big免责声明:我从来没有像其他操作系统那样深入MacOS X,所以我对MacOS X这个特定主题的实践经验只是理论上的。
https://stackoverflow.com/questions/25631608
复制相似问题