directx-12

    1熱度

    2回答

    我對ID3D12GraphicsCommandList::SetGraphicsRootSignature方法的存在有點困惑。根據我所瞭解的this MSDN page,似乎它的唯一有效用法是始終在SetPipelineState之後調用它,給它創建與創建管道狀態對象時提供的相同的根簽名。如果是這樣,那麼它有什麼好處,而不是隱含的?還有其他方法可以使用這種方法嗎?

    0熱度

    1回答

    我知道這個問題的術語一定是錯的,但請耐心等待,並且從我的外行人的角度來看待事情(我沒有計算機技術的形成,我是一個自學成才的愛好者。從編程語言的正規教育中獲得我的學校的機器人俱樂部)。 我想要的是能夠使用託管DirectX 12作爲我的應用程序的「背景」,帶有遊戲循環和全部。並且,如果可能的話,可以在實際的directX遊戲周圍使用WPF控件,例如功能區或工具箱或菜單。我一直在尋找互聯網,我發現所有

    1熱度

    1回答

    我正在使用DirectX 12,試圖使用無人機進行渲染。這裏是我的像素着色器代碼: struct PSInput { float4 position : SV_POSITION; float4 color : COLOR; }; struct FragmentDataStruct { float4 color; float depth; };

    -2熱度

    1回答

    WaitForSingleObject函數導致以下錯誤 拋出異常的0x00007FFA02794AD0(d3d12warp.dll)在DrawTexturedCube.exe:0000005:訪問衝突讀取位置0x0000000000000000 同時等待前一幀完成。該代碼取自MSDN DirectX12示例代碼(https://msdn.microsoft.com/en-us/library/wi

    0熱度

    1回答

    我想知道如果在將幀傳遞到ID3D12GraphicsCommandList之前爲其創建着色器資源視圖的「好的」做法,並且在幀完成之後銷燬該視頻資源視圖ID3D12Resource? 請注意,我只爲所述資源創建描述符視圖一次。

    1熱度

    1回答

    我將Windows 10更新到版本1607,其中包括額外的D3D調試層檢查。我的頂點緩衝區更新代碼的工作沒有更新之前警告/錯誤,但調用時CopyBufferRegion現在我得到一個錯誤: Resource state (0xAC3: D3D12_RESOURCE_STATE_GENERIC_READ) of resource (0x000001DB301B9750:'') (subresourc

    0熱度

    1回答

    我試圖在DirectX 12上渲染多個模型,只使用一個圖形上下文,但結果非常奇怪,我不知道是什麼原因。 從外部渲染sponza模型的結果,右邊的是正確的結果,左邊的有問題。 從內側呈現左側sponza(有問題)的結果。 即使加載的兩個網格是相同的,每個模型都有自己的頂點緩衝區,索引緩衝區和SRV。在創建圖形上下文的過程中,只有一個圖形上下文,並與每個模型的索引和頂點緩衝區一起設置,然後我調用dra

    3熱度

    1回答

    深度模板緩衝區資源定義爲DXGI_FORMAT_D24_UNORM_S8_UINT格式。 我會假定來創建着色器資源視圖(SRV)到該資源將需要將要描述的圖格式或者作爲: DXGI_FORMAT_R24_UNORM_X8_TYPELESS其中紅色通道訪問深度值 DXGI_FORMAT_R24G8_TYPELESS其中紅色通道訪問深度和綠色通道的模板值 然而,建立這樣SRV失敗,並以下錯誤: D3D1

    2熱度

    1回答

    我剛開始學習新的DirectX 12 API。我想在dx12之上編寫一種渲染引擎,並且在初始化期間我應該創建描述符堆。問題是,在這個時候,我不知道我將來會創建多少資源視圖。例如如果我想包含某些需要渲染紋理方法的後期處理效果,我必須爲要渲染的紋理創建渲染目標視圖。這些RTV的數量可能會有所不同。那麼,你如何創建足夠大的描述符堆來應對每種情況? 有什麼建議嗎?

    1熱度

    1回答

    如何將資源綁定到D3D12中的不同着色器階段? 我寫了兩個着色器,一個vertexshader和一個pixelshader: 這裏是頂點着色器: //VertexShader.vs float4 main(float3 posL : POSITION, uniform float4x4 gWVP) : SV_POSITION { return mul(float4(posL, 1.