0
我试图在DirectX 12上渲染多个模型,只使用一个图形上下文,但结果非常奇怪,我不知道是什么原因。 从外部渲染sponza模型的结果,右边的是正确的结果,左边的有问题。在DirectX 12上渲染多个模型错误
即使加载的两个网格是相同的,每个模型都有自己的顶点缓冲区,索引缓冲区和SRV。在创建图形上下文的过程中,只有一个图形上下文,并与每个模型的索引和顶点缓冲区一起设置,然后我调用drawIndexed()函数来渲染它。在创建图形上下文之后,我们每帧执行一次图形上下文。但是,如果我们为每个模型创建一个独立的图形上下文并在每个帧中执行所有图形上下文,则渲染效果不错,但帧速率下降很多。
对于您提供任何有关奇怪结果的原因的提示或提供更好的解决方案会非常有帮助。先进的非常感谢。
什么是ÿ ou调用图形上下文? d3d12中没有这样的事情,你是在谈论命令列表吗? – galop1n
是的。图形上下文是DirectX 12样本的迷你引擎中定义的结构。 –
Direct3D 12增加了许多额外的方法来渲染Direct3D 11,所以在尝试使用DX12之前,先调试图形问题非常重要。您需要一次更换一件东西,直到您将问题隔离出来为止,并且请记住,使用DX12时,您可能需要额外的屏蔽,渲染障碍或其他更改以控制重新使用资源时的情况。您还应该尝试使用WARP来确保它不是一些与驱动程序相关的问题。 –