I would like to draw reference frame to see how my camera moves around scene. I want these arrows to always be on the top of other geometry. How can I achieve it?
I think I need to disable depth test for this draw calls. Should I use just another PSO with changed DepthStencilState
?
EDIT: Well, it works for me like that.
// opaquePsoDesc defined somewhere above
D3D12_GRAPHICS_PIPELINE_STATE_DESC opaqueHudPsoDesc = opaquePsoDesc;
opaqueHudPsoDesc.DepthStencilState.DepthEnable = false;
THROW_IF_FAILED(g_device->CreateGraphicsPipelineState(&opaqueHudPsoDesc, IID_PPV_ARGS(&psos_["opaque_HUD"])));
And then before drawing your HUD you can:
commandList->SetPipelineState(psos_["opaque_HUD"].Get());
I'll leave this answer here, in case someone will need it.
Well, that works fine if you don't want depth test for the HUD objects.