Simple2D-17(音樂播放器)嵌入 ImGui 庫


  要把 ImGui 應用到項目中,先拷貝方框中的源文件到項目:

 

  這些文件是 ImGui 的實現源碼,可作為第三方庫新建一個文件夾進行放置。

  

  接下來是渲染部分的代碼,項目可能使用 DirectX 或 OpenGL 進行渲染。Simple2D 使用的是 OpenGL3,所以打開 examples -> opengl3_example 文件夾,找到方框中的兩個文件:

  一般情況下,拷貝這兩個文件到項目中即可。不過筆者打算使用一個類 ImGuiOpenGLContext 整理這兩個文件的代碼,做了少許的改動。最后,使用類 ImGuiOpenGLContext 即可:

    //......

    ImGuiOpenGLContext imguiContext(window);

    while ( glfwWindowShouldClose(window) == false ) {
        glClearColor(0, 0, 0.3, 1.0);
        glClear(GL_COLOR_BUFFER_BIT);

        imguiContext.BeginFrame();

        // 渲染指令
        // ImGui 繪制指令

        imguiContext.EndFrame();

        glfwSwapBuffers(window);  /* 交換顏色緩沖 */
        glfwPollEvents();         /* 檢查有沒有觸發什么事件 */
    }

  創建 ImGuiOpenGLContext  對象,然后在 BeginFrame() 和 EndFrame() 函數間進行界面繪制的指令即可。最后調試 ImGui 能否正常工作,添加以下界面繪制代碼:

        ImGui::Begin("Window");
        ImGui::Text("Hello ImGui");
        ImGui::End();

  結果顯示出一個窗口,表示 ImGui 成功嵌入到項目中了:

  詳細內容請參考源碼。

 

  源碼下載:Simple2D-14.rar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM