c++ - DirectX 11 渲染到特定区域

标签 c++ render directx-11

我只是想知道 DirectX 11 是否允许我设置要渲染的区域而不是渲染整个窗口。 非常感谢!

最佳答案

是的,使用 ID3D11DeviceContext::RSSetViewportsD3D11_VIEWPORT结构。将 TopLeftXTopLeftYWidthHeight 成员设置为窗口尺寸的一部分将导致渲染目标被绘制到后台缓冲区的那个部分。

值得注意的是,如果您针对应用程序的主窗口句柄创建交换链,这不会阻止 DXGI 清除整个应用程序窗口。如果您需要混合 Win32 控件和 Direct3D 内容,请专门为 Direct3D 内容创建一个子窗口,针对该窗口创建一个交换链,并将该子窗口添加到主应用程序窗口。

关于c++ - DirectX 11 渲染到特定区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53287628/

相关文章:

C++ 模板和 STL vector 问题

将自删除推回 vector 时 C++ 崩溃

reactjs - React native 重新渲染导致 View 滚动到顶部 - 我的键在渲染之间会改变吗?

opengl - Direct3D 11.1 的目标独立光栅化 (TIR) 等效于 OpenGL(包括扩展)

windows - DirectX 11 视频播放

c++ - 将 boost::dynamic_bitset<> 插入 boost::bimap

c++ - 我可以在 System C(或 Plain Vanilla C++)的运行时设置数据断点吗?

javascript - 使用ajax并行页面加载

javascript - 是否可以获取一个已抓取的 html 文件,并获取有关浏览器如何呈现它的信息?

c++ - d3dx11.h 不见了?