提示コードの描画ループですが実行は出来るのですがウインドウが描画されません。これはなぜでしょうか?
##### 試したこと確認したこと
初期化のコード(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); //プログラム終了時の処理を登録 }
あなたの回答
tips
プレビュー