imgui で日本語が表示できないときのチェックリスト
日本語のグリフを含んだフォントを使用している
例えば、NotoSans を使用する場合はこちら https://fonts.google.com/noto/specimen/Noto+Sans ではなく NotoSansJP https://fonts.google.com/noto/specimen/Noto+Sans+JP を使っていますか?
(私は JP でない方の NotoSans を使って <?> しか出ないな~と思っていました)
ソースコードのエンコーディングは UTF-8 である
Visual Studio の場合は間違って Shift-JIS にしてしまうことが多いので
プロジェクトのプロパティ>C/C++>コマンドライン>追加のオプション
に /utf-8 を追加するといいでしょう。
エンコーディングの自動推定がオフになり、プロジェクト内のファイルに Shift-JIS のものが存在する場合警告が出るようになります。

AddFontFromFileTTF で読み込むグリフの範囲を適切に指定している
ImGui::GetIO().Fonts->GetGlyphRangesJapanese() で日本語で使用する文字範囲が取得できるということになっていますが、難しい漢字は出てきません。(薔薇とか)
初めは広い範囲を指定して、あとから絞るといいでしょう。
auto& io = ImGui::GetIO(); ImWchar const ranges[] = { 0x0020, 0xfffd, 0, }; io.Fonts->AddFontFromFileTTF("NotoSansJP-Regular.otf", 16.0f, nullptr, ranges);