0
我試圖在DirectX 12上渲染多個模型,只使用一個圖形上下文,但結果非常奇怪,我不知道是什麼原因。 從外部渲染sponza模型的結果,右邊的是正確的結果,左邊的有問題。在DirectX 12上渲染多個模型錯誤
即使加載的兩個網格是相同的,每個模型都有自己的頂點緩衝區,索引緩衝區和SRV。在創建圖形上下文的過程中,只有一個圖形上下文,並與每個模型的索引和頂點緩衝區一起設置,然後我調用drawIndexed()函數來渲染它。在創建圖形上下文之後,我們每幀執行一次圖形上下文。但是,如果我們爲每個模型創建一個獨立的圖形上下文並在每個幀中執行所有圖形上下文,則渲染效果不錯,但幀速率下降很多。
對於您提供任何有關奇怪結果的原因的提示或提供更好的解決方案會非常有幫助。先進的非常感謝。
什麼是ÿ ou調用圖形上下文? d3d12中沒有這樣的事情,你是在談論命令列表嗎? – galop1n
是的。圖形上下文是DirectX 12樣本的迷你引擎中定義的結構。 –
Direct3D 12增加了許多額外的方法來渲染Direct3D 11,所以在嘗試使用DX12之前,先調試圖形問題非常重要。您需要一次更換一件東西,直到您將問題隔離出來爲止,並且請記住,使用DX12時,您可能需要額外的屏蔽,渲染障礙或其他更改以控制重新使用資源時的情況。您還應該嘗試使用WARP來確保它不是一些與驅動程序相關的問題。 –