Rust语言之egui库介绍(1)

1、egui库介绍

egui:纯 Rust 中易于使用的 GUI

EGUI 是一个现代化的 Immediate Mode GUI(即时模式图形用户界面)库,它使用了现代的图形 API(如 Vulkan、Metal 等)来实现高效的图形渲染。EGUI 提供了简单易用的 API,可以帮助开发者快速创建各种类型的图形界面。

egui(发音为“e-gooey”)是一个简单、快速且高度可移植的 Rust 即时模式 GUI 库。EGUI 在网络、原生和您最喜欢的游戏引擎中运行。

egui 的目标是成为最容易使用的 Rust GUI 库,也是在 Rust 中制作 Web 应用程序的最简单方法。

EGUI 可以在任何可以绘制纹理三角形的地方使用,这意味着您可以轻松地将其集成到您选择的游戏引擎中。

eframe 是官方的 egui 框架,支持为 Web、Linux、Mac、Windows 和 Android 编写应用程序。

2、egui库目标

最容易使用的 GUI 库

响应式:调试版本中的目标为 60 Hz

友好:不容易犯错,不要惊慌

可移植:相同的代码适用于 Web 和本机应用程序

易于集成到任何环境中

用于自定义绘画 (epaint) 的简单 2D 图形 API。

无回调

纯即时模式

可扩展:
模块化:您应该能够使用 egui 的小部分并以新的方式组合它们

安全:egui中没有代码unsafe

最小依赖关系

注意:EGUI 不是一个框架。EGUI 是你调用的库,而不是你为之编程的环境。

EGUI正在积极开发中。它适用于它的功能,但它缺乏许多功能,并且界面仍在不断变化。新版本将具有重大更改。

3、egui库特征

小部件:标签、文本按钮、超链接、复选框、单选按钮、滑块、可拖动值、文本编辑、颜色选择器、微调器

图像

布局:水平、垂直、列式、自动换行

文本编辑:多行、复制/粘贴、撤消、表情符号支持

窗口:移动、调整大小、命名、最小化和关闭。自动调整大小和定位。

区域:调整大小、垂直滚动、折叠页眉(部分)、面板

渲染:线条、圆圈、文本和凸多边形的抗锯齿渲染。

悬停时的工具提示

通过 AccessKit 实现的可访问性

标签文本选择

4、egui 适合谁?

当您想要一种简单的方法来创建 GUI 或想要将 GUI 添加到游戏引擎时,egui 旨在成为最佳选择。

如果你没有使用 Rust,那么 egui 不适合你。如果你想要一个看起来原生的 GUI,egui 不适合你。如果你想要一些在升级时不会损坏的东西,那么 egui 还不适合你。

但是,如果你在 Rust 中编写一些需要简单 GUI 的交互式内容,那么 egui 可能适合你。

5、egui集成

EGUI易于集成到您正在开发的任何现有游戏引擎或平台中。 egui 本身不知道也不关心它正在运行什么操作系统,也不知道如何将内容呈现到屏幕上——这就是 egui 集成的工作。

集成需要在每帧执行以下操作:

输入:收集输入(鼠标、触摸、键盘、屏幕尺寸等)并将其提供给 egui调用应用程序 GUI 代码

输出:处理 egui 输出(光标更改、粘贴、纹理分配等)

绘画:渲染 egui 生成的三角形网格(参见 OpenGL 示例))

6、这些是官方的 egui 集成:

1:eframe 用于将同一应用程序编译为 Web/WASM 和 Desktop/Native。使用和/或egui-winitegui_glowegui

2:wgpu

3:egui_glow用于在原生和 Web 上使用 Glow 渲染 egui,以及制作原生应用程序

4:用于 wgpuegui-wgpu (WebGPU API)

5:用于与 Winit 集成的 egui-winit

  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值