我刚开始学习DX所以我几乎一无所知,尽管我知道OpenGL(在某种程度上)。我正在遵循一个教程(http://www.rastertek.com/tutdx11.html),我有一个工作窗口只渲染一个白色背景(清晰)。
现在 - 我如何实际从窗口模式切换到全屏模式,反之亦然?我知道有很多教程,有些甚至提供了这样做的代码,但因为我是一个不太有帮助的新手。为什么?因为每个代码示例都不同,并且试图在所有代码中找到一个模式对我来说显然太难了。
所以我不要求代码 - 相反,我希望您告诉我我需要释放/重新创建/更改以正确切换(以及所有这些)。我知道我需要更改显示设置,我知道我必须改变关于交换链的一些内容并释放/重新创建一些缓冲区 - 但不确定究竟是哪一个。
答案 0 :(得分:5)
答案 1 :(得分:2)
您要做的主要事情是释放对IDXGISwapChain
的所有引用,调用ResizeBuffers
,然后重新创建所有内容。
由于Win32在窗口初始化时抛出WM_SIZE
消息,因此完全可以:
在static
函数内(除非WinMain
有一个可以调用的对象),并在触发WM_SIZE
消息时调用该函数。
您可以在此处查看DirectXTK的工作方式: https://directxtk.codeplex.com/