1. 程式人生 > >Simple2D-16(音樂播放器)ImGui 庫介紹

Simple2D-16(音樂播放器)ImGui 庫介紹

函數 src blank cnblogs microsoft imm pen 運行 音樂播放器

什麽是 ImGui


  IMGUI (Immediate Mode Graphical User interface),下載地址。

  ImGui 是一種比較新穎的 GUI 實現模式,適用於顯示區域實時刷新的程序裏面。在 Simple2D 上實現 GUI,如果要自己編寫一個 GUI 庫,這是一件很困難的事。比較簡單的方法就是使用第三方的庫,而 ImGui 就是一個 GUI 庫。

  之所以使用 ImGui,是因為很簡單地將它嵌入到 Simple2D 中,非常簡單!!

ImGui 項目簡析


  點擊上面的鏈接下載好 ImGui 後,解壓得到一個 imgui-master 的文件夾。進入 examples 文件夾後,點擊 imgui_examples_msvc2010.sln 用 VS 打開項目。在資源管理器面板有 5 個項目:

技術分享

分別是 OpenGL 和 DirectX 使用 ImGui 的例子項目,主要是告訴你如何使用 ImGui。Simple2D 使用的是 OpenGL3,所以將 opengl3_example 設為啟動項目,最後編譯運行,得到下面的窗口:

技術分享

ImGui Demo 窗口中包含了所有關於如何使用 ImGui 的演示,通過這些演示可以快速的上手 ImGui。

技術分享

技術分享

  那麽如何將 ImGui 嵌入到項目中呢?展開項目 opengl3_example:

技術分享

  圖中分為三個部分:

  1、第一個方框是 ImGui 的實現,可以閱讀 imgui_demo.cpp 源碼學習 ImGui 的使用。

  2、第二個方框是則是渲染代碼,你可以使用 DirectX 進行渲染,或是使用 OpenGL 進行渲染,ImGui 的渲染底層就在這裏實現。也就是說,要想將 ImGui 嵌入到項目中,就要實現這部分的渲染代碼。其實 ImGui 都幫你準備好了,沒有額外需求的話,直接將這兩個文件搬進項目即可。

  3、最後一部分是主函數,就是窗口的實現部分,而 ImGui 使用的是 GLFW 庫,這在前一篇文章中已經說了。

  後續將對第二個方框的代碼進行一些小小的改動,以便 ImGui 能夠簡易的嵌入到 Simple2D 中。

  源碼下載:Simple2D-14.rar

Simple2D-16(音樂播放器)ImGui 庫介紹