首页 > 编程知识 正文

vue的ui框架(如何用c编一个界面)

时间:2023-05-03 14:47:08 阅读:69081 作者:2793

从事过C Windows客户端开发的人应该知道各种DirectUI,包括MFC、Qt和DuiLib。 这次,我们将向大家介绍一个超轻的c开源跨平台图形接口框架ImGUI。

ImGUI概述ImGUI主要用于游戏行业,所有控件都需要手绘实现。 当然,性能也很满。 只是通过dx/opengl直接实现。

ImGUI仓库: https://github.com/ocornut/imgui

ImGUI (又称Dear ImGui )是一种与平台无关的c轻量级跨平台图形界面库,与第三方无关,可以直接将ImGUI的源代码添加到项目中使用,也可以将dll 由于ImGUI使用DX或OpenGL进行界面渲染,因此对于客户端游戏和4k/8k视频播放时等对画面质量要求较高的Qt、MFC、DuiLib、SOUI等,ImGUI的可扩展性较好

下载ImGUI代码后,可以直接在vs2019中打开、编译和运行。 sln路径如下。

sln路径: img ui/examples/img ui _ examples.SLN

要运行win32_dx12接口,请执行以下操作:

ImGUI中没有像Qt/MFC这样可以拖动控件来构建接口的,ImGUI的所有控件都必须手写实现。 ImGUI的demo基本上提供了所有控件、图表等实现,还有源代码,可以进行对比性学习。

有关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的接口实现了基本的控制。 标签、文本、检查盒、滑动器

窗体控件:树控件、图像控件、ComboBox、列表控件、菜单栏等

根据官方提供的demo,基本满足开发要求。

技术选型在PC端技术选型时,如果公司有音视频、图形图像、4k/8k视频业务,可以考虑使用ImGUI。 只是直接使用DX/OpenGL进行渲染,其他功能直接使用c实现。

使用ImGUI参照ImGUI的示例代码的方法如下所示。

imgui github也有简单的介绍,仅供参考。 例如:

整合

在大多数平台上,使用c时,应该可以在不更改imgui_impl_xxxx后端组合的情况下使用。 例如,img ui _ impl _ win32.cppimgui _ impl _ dx11.CPP )。 如果引擎支持多个平台,则考虑使用更多的ImGui_impl_xxxx文件而不是重写:将会减少工作。 亲爱的imgui马上就能运行了。 如果需要,可以稍后决定使用自定义引擎函数复盖自定义后端。

要将ImGui集成到自定义引擎中,请执行以下操作:1)将纹理上传到GPU/渲染引擎(连接鼠标/键盘/手柄输入);3 )绑定纹理,然后可以渲染纹理三角形填充示例/文件夹的APP应用程序是这样做的。 如果是熟悉这些概念的资深程序员,将Dear ImGui集成到自定义引擎中应该用不了两个小时。 请阅读常见问题解答、评论和示例/APP应用程序。

官方维护后端/绑定(在存储库中) :

渲染器:DirectX9、DirectX10、DirectX11、DirectX12、Metal、OpenGL/ES/ES2、SDL_Renderer、Vulkan、WebGPU。 平台:GLFW、SDL2、Win32、Glut、OSX、安卓。 框架:Emscripten、Allegro5和Marmalade。 第三方后端/绑定wiki页面:

语言:C,c#和:Beef,ChaiScript,Crystal,d,Go,Haskell,Haxe/hxcpp,Java,JavaScript,bzdmz,Kotlin,lobsted Swift…框架:AGS/Adventure Game Studio,Amethyst,Blender,bsf,Cinder,Cocos2d-x,勤奋引擎,Flexiudio Godot,GTK Monogame,NanoRT,cine,niine Game Lib,任天堂3dsswitch,Ogre,OSG/openscenegraph,Orx,Photoshop,px_render,Qt/幻像引擎4、vtk和vtk c绑定(cimgui )是自动生成的,因此可以使用其json/lua输出生成其他语言的绑定。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。