我想在DirectX 12中实现颜色选择。所以基本上我所要做的就是同时渲染两个渲染目标。第一个渲染目标应该包含正常渲染,而第二个应该包含objectID。C++,directx 12:颜色挑选问题
要渲染到两个渲染目标,我认为你需要做的就是用OMSetRenderTargets设置它们。
问题1:你如何指定哪个着色器或流水线状态对象应该用于特定的渲染目标?像你如何说render_target_0应该与shader_0渲染,render_target_1应该渲染shader_1?
问题2:如何在帧缓冲区被渲染后从帧缓冲区中读取像素?是否像在DirectX 11中使用CopySubresourceRegion然后使用Map?你需要使用回读堆吗?您是否需要使用资源屏障或栅栏或某种同步原语来避免CPU和GPU同时使用帧缓冲区资源?
我试着用Google搜索的答案,但没有得到很远,因为DirectX 12是相当新的,并没有很多的例子,教程或DirectX 12的开源项目。
感谢您的帮助提前。
代码示例的额外特殊奖励积分。