OpenGL Mac开发-如何使用imgui(1.89.4)插件进行调试
为了调试我们的OpenGL Demo,可以尝试使用一个成熟的开源GUI插件imgui。
1,首先进入imgui在github上的地址。
在Release中下载最近的版本,可以得到一个Zip压缩包。
现在是2023年的4月1日,我下载到的版本是1.89.4,与Cherno的OpenGL教程中的代码略微有些区别。如果你看的是Cherno的教程,也可以尝试下载1.60版本,并按照Cherno的代码来。
2,Zip包解压后,首先将根目录的代码文件全部复制加入项目中(imconfig.h, imgiu_demo.cpp, imgui.draw_cpp, imgui_internal.h...)。
3,进入example目录,由于我这边用的GLFW库,因此进入example_glfw_opengl3目录。这里我们看到和Cherno教程不同的地方,这里只有一个main.cpp的代码文件。其实所有的实现文件已经转移到backends文件夹里了。注意这里需要拷贝五个文件到工程目录下,分别是imgui_impl_glfw.h,imgui_impl_glfw.cpp,imgui_impl_opengl3_loader.h,imgui_impl_opengl3.h和imgui_impl_opengl3.cpp。example目录下的main文件可以作为参考代码方便一会的测试。
4,进入自己工程的main方法,引用头文件
然后在mainLoop前初始化imgui

5,在渲染循环,调用GLClear后,我们需要开启imgui的frame

6,接下来就可以开始渲染绘制imgui的内容,我们可以看到example的main.cpp文件中,提供了三个窗口的demo,直接抄就行

7,在swap buff前,我们需要提交imgui的渲染数据

8,最后在销毁窗口前我们需要销毁imgui

9,运行程序可以看到

OpenGL Mac开发-如何使用imgui(1.89.4)插件进行调试的更多相关文章
- GLFW+GLAD OpenGL Mac开发环境搭建
前言 OpenGL 是什么?The Industry Standard for High Performance Graphics 这是官方解释.说白了他就是一套标准接口.对,是接口,并没有实现具体的 ...
- 1.OpenGL mac开发环境搭建记录
1.安装GLEW 和GLFW,转摘至:https://www.cnblogs.com/pretty-guy/p/11357793.html 2.开始测试,整个工程报错,关键信息如下: code sig ...
- 中文 iOS/Mac 开发博客列表
中文 iOS/Mac 开发博客列表 博客地址 RSS地址 OneV's Den http://onevcat.com/atom.xml 一只魔法师的工坊 http://blog.ibireme.com ...
- 中文 iOS/Mac 开发博客列表(转)
转自https://github.com/tangqiaoboy/iOSBlogCN 中文 iOS/Mac 开发博客列表 本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息. 本博客列表 ...
- Android OpenGL ES 开发教程 从入门到精通
感谢,摘自:http://blog.csdn.net/mapdigit/article/details/7526556 Android OpenGL ES 简明开发教程 Android OpenGL ...
- iOS 非ARC基本内存管理系列 -手把手教你ARC——iOS/Mac开发ARC入门和使用(转)
手把手教你ARC——iOS/Mac开发ARC入门和使用 Revolution of Objective-c 本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流 ...
- iOS/mac开发的一些知名个人博客
王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒. http://onevca ...
- 【OpenGL游戏开发之二】OpenGL常用API
OpenGL常用API 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数.它采用C语言风格,提供大量的函数来进行图形的处理和显示.OpenGL库函数的命名方式非常有规律.所有OpenGL ...
- MAC开发环境安装
MAC开发环境安装 安装sancha cmd: 安装: https://www.sencha.com/products/extjs/cmd-download/ cmd运行 $ open .bash_p ...
- Android OpenGL ES 开发(三): OpenGL ES 定义形状
在上篇文章,我们能够配置好基本的Android OpenGL 使用的环境.但是如果我们不了解OpenGL ES如何定义图像的一些基本知识就使用OpenGL ES进行绘图还是有点棘手的.所以能够在Ope ...
随机推荐
- entries
let arr = [1,2,3,4,5,6,7]; for (let [index, leaflet] of arr.entries()){ console.log(index,leaflet) }
- jekyll+github pages
写在前面 这篇文章记录了我折腾jekyll,github pages的过程,看到别人的 xxxx.github.io,于是我也想搞一个,了解到大都使用的jekyll来生成的.最开始我还不知道可以直接f ...
- vue3.0+vite按需引入element plus
1.安装vite-plugin-style-import yarn add vite-plugin-style-import -D 2.在项目根目录下的vite.config.js中配置 import ...
- Javascript 事件派发 dispatcher
基本使用 基础事件 let event = new Event("click") //新建click事件 node.addEventListener("click&quo ...
- CentOS7带图形界面不能扫描网卡。
CentOS7在带有图形界面,在配置/sysconfig/network-script/ifcfg-ens*后不能识别到网卡,有可能是NetworkManager打开导致,可以使用systemctl ...
- 西电oj245 成绩统计 结构体数组使用
#include<stdio.h> struct student{ //定义一个结构体数组 int num; char name[11]; float g1; float g2; floa ...
- word多级标题自动编号设置
1.选择段落 ->多级列表 ->定义新的多级列表 2.级别设置 ,这里操作比较繁琐,要多注意[输入编号的格式]要通过[包含的级别编号来自]这一项目来设定 标题1: 标题2 标题3: 标题4 ...
- [Unity移动端]真机调试
一.Android Studio 1.log打印 打开AS,新建一个工程,点击左下角的Logcat,如下图,1是设备(支持模拟器,如果是真机的话,需要usb连接电脑,真机要是usb调试模式),2是包名 ...
- Keil 报错解决方法:Cannot link object xxx.o as its attributes are incompatile with the image attributes
链接其他人的lib库时报错:Cannot link object xxx.o as its attributes are incompatile with the image attributes 解 ...
- 01. vim入门
0. 前言 我打算写一个系列文章,用来详细介绍vim的使用技巧,我会从头开始,从vim入门,到vim的各种配置,这是第一篇 1. vim 的三种模式 Normal mode (正常模式) Inster ...