我想渲染一个场景并将其显示在监视器上,同时将另一个场景渲染为纹理。我需要创建两个交换链吗?在这种情况下如何创建第二个交换链?我尝试调用 CreateSwapChainForCoreWindow 但出现内存访问异常。
交换链实际上只是用于显示东西。
要渲染某些内容,您必须通过 OMSetRenderTargets() 调用将渲染目标视图添加到设备。您可以通过 CreateRenderTargetView() 创建渲染目标视图,该视图将资源作为输入。纹理也是资源...您只需使用 D3D11_BIND_RENDER_TARGET 标志来创建它们。
这只是一些提示,应该能够为您指明正确的方向。
顺便说一句,交换链有缓冲区,它们也是用于创建渲染目标视图的资源。这就是渲染交换链的方式;它实际上与“交换链”完全没有任何关系。
| 归档时间: |
|
| 查看次数: |
3685 次 |
| 最近记录: |