Posted on 2023-09-24 19:33
eryar 阅读(992)
评论(0) 编辑 收藏 引用 所属分类:
2.OpenCASCADE
[开源]-OpenCASCADE-IMGUI
1 IMGUI
ImGui 是一个用于C++的用户界面库,跨平台、无依赖,支持OpenGL、DirectX等多种渲染API,是一种即时UI(Immediate Mode User Interface)库,保留模式与即时模式的区别参考保留模式与即时模式。ImGui渲染非常快,但界面上有大量的数据集需要渲染可能会有一些问题,需要使用一些缓存技巧。缓存只是避免数据的更新逻辑耗时太久影响渲染,实际渲染过程不存在瓶颈。
IMGUI很轻量,还支持跨平台,对于小的测试程序IMGUI是理想的GUI。
2 OcctImgui
基于opencascade的glfw sample加入IMGUI,这样就可以开发一些带有GUI的程序。这些程序小巧且能方便跨平台,看上去效果也不错。

现在将OcctImgui开源,开源地址:https://github.com/eryar/OcctImgui
使用Premake来生成解决方案,只需要将premake5.lua中的相关第三方库的路径修改一下,即可以直接编译运行。
3 Next
目前occt的视图作为整个背景,下一步可以做成像CADRays中那样,将occt的视图作为视图的一部分,这样就可以使用IMGUI的Docking功能。
使用IMGUI也可以开发出很Cool的界面,最后放两个基于IMGUI开发的图形界面:
https://github.com/adriengivry/Overload

https://github.com/sasobadovinac/CADRays

https://github.com/MeshInspector/MeshLib
