我只是想知道 DirectX 11 是否允许我设置要渲染的区域而不是渲染整个窗口。 非常感谢!
最佳答案
是的,使用 ID3D11DeviceContext::RSSetViewports
和 D3D11_VIEWPORT
结构。将 TopLeftX
、TopLeftY
、Width
和 Height
成员设置为窗口尺寸的一部分将导致渲染目标被绘制到后台缓冲区的那个部分。
值得注意的是,如果您针对应用程序的主窗口句柄创建交换链,这不会阻止 DXGI 清除整个应用程序窗口。如果您需要混合 Win32 控件和 Direct3D 内容,请专门为 Direct3D 内容创建一个子窗口,针对该窗口创建一个交换链,并将该子窗口添加到主应用程序窗口。
关于c++ - DirectX 11 渲染到特定区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53287628/