Thank you for reaching out. Please find the answer below.
Debug mode is not exclusive to Visual Studio. Direct3D debug messages don’t appear in the terminal because they’re sent through OutputDebugString, not standard output. To see them, you need the Direct3D debug layer and a tool that captures debug output.
First, install the “Graphics Tools” optional feature in Windows. Go to Settings → Apps → Optional Features → Add a feature, search for “Graphics Tools,” and install it. This provides the required D3D11SDKLayers.dll for debug mode to work.
Next, use a debugger that listens for OutputDebugString. Visual Studio does this by default. In VSCode, you need to use the MSVC debugger (cppvsdbg) to capture these messages. You can also use DebugView, a free tool from Microsoft’s Sysinternals suite, which shows debug output in real time. It’s available at https://learn.microsoft.com/sysinternals/downloads/debugview.
With the debug layer installed and a proper viewer running, you’ll be able to see Direct3D debug messages when using D3D11_CREATE_DEVICE_DEBUG.