Ich arbeite mit den Microsoft-Beispielen von ihrer GitHub-Seite, und obwohl mein Code auf ihren basiert, erreiche ich nicht das gleiche Ergebnis. Beide Projekte haben diese ComPtrs, aber in meinem sind sie alle null (0x0000000000000000), während sie im Beispiel gut funktionieren.D3D12 Projekt: Dereferenzierung eines nullptr
ComPtr<IDXGISwapChain3> m_swapChain;
ComPtr<ID3D12Device> m_device;
ComPtr<ID3D12Resource> m_renderTargets[FrameCount];
ComPtr<ID3D12CommandAllocator> m_commandAllocator;
ComPtr<ID3D12CommandQueue> m_commandQueue;
ComPtr<ID3D12DescriptorHeap> m_rtvHeap;
ComPtr<ID3D12PipelineState> m_pipelineState;
ComPtr<ID3D12GraphicsCommandList> m_commandList;
Speziell diese Zeile verursacht den Debugger zu brechen.
ThrowIfFailed(m_device->CreateCommandQueue(&queueDesc, IID_PPV_ARGS(&m_commandQueue)));
Bearbeiten: Mein Code war falsch erstellen m_device, die den Fehler verursacht.
Sie haben nur die Variablendeklarationen gezeigt, gibt es keine Möglichkeit für jedermann zu wissen, warum haben sie nicht-Null-Werte nicht eingestellt. Sie müssen mehr von Ihrem Code zeigen. –
Wo ist der Code, der 'm_device' vor dem Aufruf von 'm_device-> CreateCommandQueue()' 'initialisiert? –