3

我想渲染一个场景并将其显示在监视器上,同时将另一个场景渲染到纹理上。我需要创建两个交换链吗?在这种情况下如何创建第二个交换链?我试图调用 CreateSwapChainForCoreWindow 但得到内存访问异常。

4

1 回答 1

5

交换链实际上只是用于显示内容。

要渲染某些东西,您必须通过 OMSetRenderTargets() 调用向设备添加渲染目标视图。您可以通过 CreateRenderTargetView() 创建渲染目标视图,它将资源作为输入。纹理也是资源……您只需使用 D3D11_BIND_RENDER_TARGET 标志创建它们。

这只是一些提示,应该能够为您指明正确的方向。

顺便说一句,交换链有缓冲区,它们也是用于创建渲染目标视图的资源。这就是你渲染到交换链的方式;它实际上与“交换链”根本没有任何关系。

于 2012-09-04T22:47:27.637 回答