質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

1190閲覧

ImGUI ウインドウが描画されない。

退会済みユーザー

退会済みユーザー

総合スコア0

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/12/13 07:41

提示コードの描画ループですが実行は出来るのですがウインドウが描画されません。これはなぜでしょうか?

##### 試したこと確認したこと
初期化のコード(new Frame類)を描画ループに記述
ウインドウサイズを指定
テキスト設定

参考サイト: https://qiita.com/maaiikanji/items/46df315e09a47743bb36

描画ループ
void Game::Renderer() const { camera->setView(ui); camera->setView(canvas); camera->setView(control); ImGui::SetNextWindowSize(ImVec2(320, 100)); ImGui::StyleColorsLight(); ImGui::Begin("config 1"); ImGui::Text(u8"今日は天気が良いです"); ImGui::End(); // ImGui::Render(); //ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); camera->Renderer(); }
初期化
// ##################################### コンストラクタ ##################################### FrameWork::Window::Window(glm::ivec2 size, const char* title) { windowSize = size; window = std::make_shared<GLFWwindow*>(glfwCreateWindow(size.x, size.y, title, NULL, NULL)); glfwMakeContextCurrent(*window); //コンテキストを作成 glfwSwapInterval(1); //垂直同期 if (glewInit() != GLEW_OK) { std::cerr << "GLFW 初期化失敗" << std::endl; exit(1); } IMGUI_CHECKVERSION(); ImGui::CreateContext(); ImGui_ImplOpenGL3_Init(); ImGui_ImplGlfw_InitForOpenGL(*window, true); ImGui_ImplOpenGL3_NewFrame(); ImGui_ImplGlfw_NewFrame(); ImGui::NewFrame(); //変数を初期化 std::fill(std::begin(keyBoard), std::end(keyBoard), 0); //キーボード入力配列を初期化 std::fill(std::begin(key), std::end(key), 0); //キーボード入力配列を初期化 std::fill(std::begin(mouseButton), std::end(mouseButton), 0); //マウス入力配列を初期化 mouseWheel = 0; //マウスホイール mousePrevWheel = 0.0f; inputKey = 0; //文字入力 //フレーム管理 count = 0; //現在のフレーム startCount = 0; //最初の時間 //コンテキストの作成に失敗 if (*window == NULL) { std::cerr << "ウインドウ生成失敗" << std::endl; exit(1); //異常終了 } else { //std::cout << "ウインドウコンテキスト初期化" << std::endl; } //イベント処理 glfwSetWindowUserPointer(*window, this); //このインスタンスのthis glfwSetWindowSizeCallback(*window, Resize); //ウインドウサイズを変更する時に呼び出す処理 glfwSetDropCallback(*window,DragAndDrop); //ドラック&ドロップ glfwSetScrollCallback(*window,MouseScroll); //マウスのホイール glfwSetCharCallback(*window,KeyInputChar); //テキスト入力 glfwSetKeyCallback(*window,KeyInput); //キー入力 glfwSetInputMode(*window, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE); Resize(*window, size.x, size.y); //リサイズ atexit(glfwTerminate); //プログラム終了時の処理を登録 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問