网站首页 > 博客文章 正文
一、ImGui简介
Dear ImGui 是一个适用于 C++ 的无膨胀图形用户界面库。
Dear ImGui 旨在实现快速迭代,并使程序员能够创建内容创建工具和可视化/调试工具(而不是面向普通最终用户的 UI)。
ImGUI自身不能创建窗口,需要使用Win32API或glfw或SDL等工具来创建窗口,另外需要使用OpenGL或DirectX、vulkan用于渲染图形等,glfw、OpenGL等均被称为后端(backends)
glfw负责创建窗口对象,处理用户输入等
OpenGL负责绘制图形,设置着色器,更新uniform变量等
imgui负责创建和渲染GUI元素,如文本,按钮,颜色选择器等
ImGui的使用方法很简单,只需要将ImGui的源码文件添加到自己的项目中,然后选择一个合适的后端(例如glfw或SDL,OpenGL或DirectX),就可以开始绘制各种控件和窗口了。
下载地址为 https://github.com/ocornut/imgui
二、ImGUI目录结构
ImGui的目录结构如下:
imgui/
backends 后端文件夹,包含了不同平台和渲染器的实现代码
examples 示例文件夹,包含了各种使用ImGui的示例程序
misc 杂项文件夹,包含了一些辅助工具和扩展模块
imconfig.h 配置文件,可以用来修改ImGui的一些默认设置
imgui.cpp/imgui.h ImGui的核心源码文件,必须添加到你的项目中
imgui_demo.cpp/imgui_demo.h ImGui的演示源码文件,包含了各种控件和窗口的示例代码
imgui_draw.cpp/imgui_draw.h ImGui的绘制源码文件,负责渲染各种图形元素
imgui_internal.h ImGui的内部头文件,包含了一些高级功能和实现细节
imgui_tables.cpp/imgui_tables.h ImGui的表格源码文件,提供了创建和管理表格的功能
imgui_widgets.cpp/imgui_widgets.h ImGui的控件源码文件,提供了创建和管理各种控件的功能
imstb_rectpack.h/imstb_textedit.h/imstb_truetype.h 第三方库文件,用于矩形打包、文本编辑和字体渲染
三、准备工作
3.1 安装编译器
下载网址 WinLibs - GCC+MinGW-w64 compiler for Windows
下载完成后将mingw64放到硬盘上的某个位置,例如D:\mingw64,然后把D:\mingw64 添加到系统的PATH变量中。
3.2 安装CMake
下载网址 https://cmake.org/download/
可以直接下载安装程序,省事
也可以下载ZIP文件并解压到硬盘里,例如D:\cmake-3.29.3-windows-x86_64,然后把D:\cmake-3.29.3-windows-x86_64\bin添加到系统的PATH变量里。
3.3 下载glfw
下载地址 https://github.com/glfw/glfw/releases 或 https://www.glfw.org/download.html 我使用的是glfw-3.4.bin.WIN64.zip
3.4 下载imgui
下载地址 https://github.com/ocornut/imgui ,下载
四、项目准备
4.1 项目目录
在D:\\CMakeTest目录里建立 imgui目录
并在imgui目录里建立lib 和 src 两个目录
4.2 复制glfw文件
把glfw-xx.bin.WIN64.zip压缩包中的include 和 lib-mingw-w64 解压到lib\glfw目录中去
4.3 复制 imgui 文件
4.3.1把imgui-x.xx.zip 压缩包中的.h .cpp文件解压到lib\imgui 目录中去
4.3.2 在lib\imgui目录中建立backend目录,
把imgui-x.xx.zip 压缩包backends里的
imgui_impl_glfw.h
imgui_impl_glfw.cpp
imgui_impl_opengl3
imgui_impl_opengl3
imgui_impl_opengl3
等5个文件复制到 lib\imgui\backends目录里。
4.4 复制示例文件
把imgui-x.xx.zip 压缩包examples\example_glfw_opengl3里的 main.cpp文件复制到D:\CMakeTest\imgui\src目录里。
4.5 建立CMakeLists.txt文件
文件内容如下 :
cmake_minimum_required(VERSION 3.10)
project(imguiTmpl)
set(CMAKE_CXX_STANDARD 11)
include_directories(lib//glfw//include
lib//imgui
lib//imgui//backends
)
link_directories(lib//glfw//lib-mingw-w64)
file(GLOB_RECURSE IMGUI_SRCS lib//imgui//*.cpp)
add_executable(imguiTest WIN32 src//main.cpp ${IMGUI_SRCS}) #添加WIN32参数就不会显示控制台界面了
target_link_libraries(imguiTest glfw3.a opengl32) # 链接库文件
五、构建编译
5.1 打开CMD命令窗口,并定位到d:\CmakeTest\Test1目录
5.2 配置并构建系统
cmake -
S . -B ./build -G “MinGW Makefiles”
5.3 编译链接项目
cmake --build ./build
5.4 运行测试
进入build目录,双击imimguitest.exe 运行测试即可
猜你喜欢
- 2024-10-12 FLAC 1.4相隔近十年发布新版 包含AArch64优化及更快的x86_64 FMA
- 2024-10-12 Qt6重磅更新:新版本的Qt 6 将通过包管理器提供附加库
- 2024-10-12 Centos7.4 如何使用cmake编译安装mysql
- 2024-10-12 CMake中find_path / find_library对于cache变量的选择
- 2024-10-12 热更新再牛,也少不了Android 增量更新
- 2024-10-12 C/C++开发工具CLion V2022.1正式发布——增强了远程开发
- 2024-10-12 「Linux」Makefile以及cmake(linux make makefile)
- 2024-10-12 CentOS8下YUM升级gcc(centos8 gcc版本)
- 2024-10-12 基于MSYS2的MINGW64 GCC和CMake在Win下VSCode里搭建SDL2开发环境
- 2024-10-12 cmake 的兄弟:xmake应用(cmake mdk)
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)