亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++輕量級界面開發(fā)框架ImGUI介紹小結(jié)

 更新時間:2021年11月22日 10:15:11   作者:令狐掌門  
如果從事過C++?Windows客戶端開發(fā),大家對MFC、Qt、DuiLib等各種DirectUI應(yīng)該有了解,本篇給大家介紹一個超級輕量級的C++開源跨平臺圖形界面框架ImGUI,感興趣的可以了解一下

??如果從事過C++ Windows客戶端開發(fā),大家對MFC、Qt、DuiLib等各種DirectUI應(yīng)該有了解,本篇給大家介紹一個超級輕量級的C++開源跨平臺圖形界面框架ImGUI.

ImGUI簡介

??ImGUI主要用于游戲行業(yè),所有的控件都需要手繪實現(xiàn),當然性能也是滿滿的,畢竟是直接用dx/opengl來實現(xiàn)。
ImGUI倉庫:https://github.com/ocornut/imgui

??ImGUI又稱為Dear ImGui,它是與平臺無關(guān)的C++輕量級跨平臺圖形界面庫,沒有任何第三方依賴,可以將ImGUI的源碼直接加到項目中使用,也可以編譯成dll, ImGUI使用DX或者OpenGL進行界面渲染,對于畫面質(zhì)量要求較高,例如客戶端游戲,4k/8k視頻播放時,用ImGUI是很好的選擇,當然,你得非常熟悉DirectX或者OpenGL,不然就是寶劍在手,屠龍無力。相對于Qt、MFC、DuiLib、SOUI等,ImGUI的拓展性更好,也更輕量級,當然對于開發(fā)者的要求也更高.

??下載ImGUI代碼后,用vs2019可以直接打開,編譯,運行,sln路徑如下:

在這里插入圖片描述

sln路徑:imgui/examples/imgui_examples.sln

??運行win32_dx12界面如下:

在這里插入圖片描述

ImGUI沒有類似于Qt/MFC這種,可以拖拽控件進行搭建界面,ImGUI的所有控件都必須手寫實現(xiàn)。ImGUI的demo基本提供了所有控件、圖表等的實現(xiàn),源碼也有,可以對照的學(xué)習(xí)。
關(guān)于ImGUI的詳細介紹,可以參考github.

??注意這段話

This library is available under a free and permissive license, but needs financial support to sustain its continued improvements. In addition to maintenance and stability there are many desirable features yet to be added. If your company is using Dear ImGui, please consider reaching out.

ImGUI的界面實現(xiàn)

??基本控件:label、text、checkbox、slider

在這里插入圖片描述

窗體控件:樹形控件、圖片控件、ComboBox、列表控件、菜單欄等

在這里插入圖片描述

根據(jù)官方提供的demo來看,基本滿足開發(fā)要求。

技術(shù)選型

??在PC端技術(shù)選型時,如果公司有音視頻、圖形圖像、4k/8k視頻業(yè)務(wù),可以考慮一下使用ImGUI,畢竟是直接使用DX/OpenGL來進行繪制渲染,其它功能就直接使用C++來實現(xiàn)。

如何使用ImGUI

??參考imgui的示例代碼,如下所示:

在這里插入圖片描述

imgui github也有一些簡單的介紹,可以參考,例如:集成

在大多數(shù)平臺上,當使用c++時,你應(yīng)該能夠使用imgui_impl_xxxx后端的組合而不需要修改(例如imgui_impl_win32.cpp + imgui_impl_dx11.cpp)。如果你的引擎支持多個平臺,考慮使用更多的imgui_impl_xxxx文件,而不是重寫它們:這將為你減少工作,你可以讓親愛的ImGui立即運行。如果您愿意,可以稍后決定使用自定義引擎函數(shù)重寫自定義后端。
將ImGui整合到你的自定義引擎中需要1)連接鼠標/鍵盤/手柄輸入2)將紋理上傳到你的GPU/渲染引擎3)提供能夠綁定紋理并渲染紋理三角形的渲染功能。示例/文件夾中填充的應(yīng)用程序就是這樣做的。如果你是熟練掌握這些概念的資深程序員,那么將Dear ImGui集成到定制引擎中應(yīng)該不需要2個小時。請務(wù)必花時間閱讀FAQ、評論和一些示例/應(yīng)用程序!

官方維護的后端/綁定(在存儲庫中):

  • 渲染器:DirectX9, DirectX10, DirectX11, DirectX12, Metal, OpenGL/ES/ES2, SDL_Renderer, Vulkan, WebGPU。
  • 平臺:GLFW, SDL2, Win32, Glut, OSX, Android。
  • 框架:Emscripten, Allegro5, Marmalade。

第三方后端/綁定wiki頁面:

  • 語言:C, c#和:Beef, ChaiScript, Crystal, D, Go, Haskell, Haxe/hxcpp, Java, JavaScript, Julia, Kotlin, Lobster, Lua, Odin, Pascal, PureBasic, Python, Ruby, Rust, Swift…
  • 框架:AGS/Adventure Game Studio, Amethyst, Blender, bsf, Cinder, Cocos2d-x,勤奮引擎,F(xiàn)lexium, GML/Game Maker studi2, GLEQ, Godot, GTK3+OpenGL3, Irrlicht引擎,L?VE+LUA, Magnum, Monogame, NanoRT, cine, niine Game Lib,任天堂3DS & Switch (homebrew), Ogre, openFrameworks, OSG/OpenSceneGraph, Orx, Photoshop, px_render, Qt/QtDirect3D,SDL_Renderer, sml, Sokol, Unity,虛幻引擎4,vtk, VulkanHpp, VulkanSceneGraph, Win32 GDI, WxWidgets。
  • 注意,C綁定(cimgui)是自動生成的,你可以使用它的json/lua輸出來生成其他語言的綁定。

到此這篇關(guān)于C++輕量級界面開發(fā)框架ImGUI介紹小結(jié)的文章就介紹到這了,更多相關(guān)C++ ImGUI框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用C語言如何輸出逆序數(shù)

    使用C語言如何輸出逆序數(shù)

    逆序數(shù)的就是把一個數(shù)倒過來,例如:1234那么它的逆序數(shù)就為4321,我們該如何是實現(xiàn)呢?下面這篇文章主要給大家介紹了關(guān)于使用C語言如何輸出逆序數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • C++ SOCKET多線程實現(xiàn)聊天小程序

    C++ SOCKET多線程實現(xiàn)聊天小程序

    這篇文章主要為大家詳細介紹了C++ SOCKET多線程實現(xiàn)聊天小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 解析四方定理的應(yīng)用

    解析四方定理的應(yīng)用

    所有自然數(shù)至多只要用四個數(shù)的平方和就可以表示
    2013-05-05
  • Qt定時器和隨機數(shù)詳解

    Qt定時器和隨機數(shù)詳解

    在前一篇中我們介紹了鍵盤和鼠標事件,其實還有一個非常常用的事件,就是定時器事件,如果要對程序?qū)崿F(xiàn)時間上的控制,那么就要使用到定時器。而隨機數(shù)也是很常用的一個功能,在我們要想產(chǎn)生一個隨機的結(jié)果時就要使用到隨機數(shù)。本文我們就來簡單介紹一下定時器和隨機數(shù)。
    2015-06-06
  • C++ OpenCV實戰(zhàn)之標記點檢測的實現(xiàn)

    C++ OpenCV實戰(zhàn)之標記點檢測的實現(xiàn)

    這篇文章主要介紹了如何利用C++ OpenCV實現(xiàn)關(guān)鍵點的檢測,文中的示例代碼講解詳細,對我們學(xué)習(xí)OpenCV有一定幫助,感興趣的小伙伴可以了解一下
    2022-03-03
  • C++ 如何判斷四個點是否構(gòu)成正方形

    C++ 如何判斷四個點是否構(gòu)成正方形

    這篇文章主要介紹了C++ 如何判斷四個點是否構(gòu)成正方形的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • c++ 頭文件<cwchar>中常見函數(shù)的實現(xiàn)代碼

    c++ 頭文件<cwchar>中常見函數(shù)的實現(xiàn)代碼

    本文記錄了c++ 頭文件<cwchar>中常見函數(shù)的實現(xiàn),本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • C語言字符串原地壓縮實現(xiàn)方法

    C語言字符串原地壓縮實現(xiàn)方法

    這篇文章主要介紹了C語言字符串原地壓縮實現(xiàn)方法,包含了字符串的遍歷與轉(zhuǎn)換等操作,是很實用的操作技巧,需要的朋友可以參考下
    2014-09-09
  • c++利用windows函數(shù)實現(xiàn)計時示例

    c++利用windows函數(shù)實現(xiàn)計時示例

    這篇文章主要介紹了c++利用windows函數(shù)實現(xiàn)計時示例,需要的朋友可以參考下
    2014-05-05
  • C++實現(xiàn)單例模式的方法

    C++實現(xiàn)單例模式的方法

    這篇文章主要為大家介紹了C++實現(xiàn)單例模式的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論