基本所有的游戏都是需要支持全屏和窗口模式的切换等特性的。根据相关文档(http://msdn.microsoft.com/en-us/library/windows/desktop/ee417025(v=vs.85).aspx)及实践,总结一些要点:
基本需求:
1. 可以支持窗口大小的改变同时改变相关的buffer(front buffer, back buffer等);
2. 可以自由的在窗口模式和全屏模式之间切换;
3. 可以在已经全屏的时候修改屏幕分辨率的切换;
4. 支持全屏模式下的游戏窗口切出焦点时的自动最小化,同时获得焦点时自动重新进入全屏模式;
相关API:
为实现上述所有的功能,需要使用到一些D3D11的API,包括:ResizeBuffers,