Simple, Portable, Immediate mode UI with egui

  Рет қаралды 47,431

chris biscardi

chris biscardi

Күн бұрын

egui (pronounced "e-gooey") is a simple, fast, and highly portable immediate mode GUI library for Rust. egui runs on the web, natively, and in your favorite game engine (or will soon).
egui aims to be the easiest-to-use Rust GUI library, and the simplest way to make a web app in Rust.
egui can be used anywhere you can draw textured triangles, which means you can easily integrate it into your game engine of choice.
egui on github: github.com/emi...
egui demo: www.egui.rs/#demo

Пікірлер: 33
@yeetyeet7070
@yeetyeet7070 Жыл бұрын
if it can render maps, it's probably all I ever wanted. The plots already look amazing.
@JeffHanke
@JeffHanke Жыл бұрын
Lerp is a "linear interpolation" function: find the value between points "a" and "b" given a fractional distance "d" where "d = 0.0" is at "a", "d = 0.5" is halfway between "a" and "b", and "d = 1.0" is "b". Bonus fact: Bézier curves are just a bunch of lerps.
@laundmo
@laundmo Жыл бұрын
i highly recommend Freya Holmers videos about lerp, bezier curves and splines very informative and really well made
@jaysistar2711
@jaysistar2711 Жыл бұрын
@@laundmo Yeah, I hope she eventually covers NURBS. It's the best explaination for splines that I've seen.
@chris.davidoff
@chris.davidoff Жыл бұрын
I love egui!! It looks and works so well :) I use it for work and I want to make something more with it personally. The wasm part is super cool and works pretty easily
@chris.davidoff
@chris.davidoff Жыл бұрын
@You Tube No idea, never used imgui. But using the "eframe template" which uses egui, gets you up and running extremely quickly
@davidandrewthomas
@davidandrewthomas Жыл бұрын
@You Tube it’s very similar, a dear-imgui alternative written directly in Rust rather than wrapping C code like imgur-rs
@jaysistar2711
@jaysistar2711 Жыл бұрын
I think that the whole idea of "look like a (something)OS app" is limiting. I agree with dark and light mode, or a theme based on a color pallette and some requested styles, but that's about as far as I'd go. You can't make responsive apps (apps that know what screen size the should render to, and sometimes even know realworld units, like centimeters) unless you know the style and layout of your widgets. The web has a large number of different styles and layouts, and responsive apps are everywhere. Everytime Windows updates and draws buttons differently, it breaks native apps' usablity because the text is now drawn over a button edge detail that wasn't there in the previous version. I would rather purposely use a style that is consistant between platforms than use whatever the platform dictates how buttons and textboxes look. I'm all for theming; dark and light, maybe even a few things like primary, secondary, and background colors could be given by the OS, but not actual button layouts, etc. Material UI themes look good, maybe they should just copy their theme input, and leave it open ended, so if we have extra info to give the apps about how the user wants things to look, we could add it in the future.
@WouterStudioHD
@WouterStudioHD Жыл бұрын
I think it's important for an OS to have some standards and it's important for apps to be able to inherit this. On macOS this works really well, most things look like they belong on it, when they're designed with SwiftUI or AppKit. But I also agree that electron apps can also look really good, so it's not always so important for cross platform apps. But as far as Egui goes, I still have to find an app made with it that actually looks good for end users. It's all a little cold and bland from what I've seen. Works well for engineers, but not for everyday commercial customers. I'd like to see some good examples tho, so if you know any I'd love to hear!
@LifeCodeGame
@LifeCodeGame Жыл бұрын
Egui is really nice. I have made a game Ui using it.
@azzamsya
@azzamsya Жыл бұрын
Thanks for the video!
@michaelsohnen6526
@michaelsohnen6526 Жыл бұрын
How would i make the gui overlay a graphics window? I would like to draw pixels on a texture and blit it behind the egui widgets.
@jaysistar2711
@jaysistar2711 Жыл бұрын
Look at eframe. You can learn how to use render and pass input to egui from inside your own engine by looking at what eframe does.
@small-software-stoper
@small-software-stoper Жыл бұрын
I don't know if I can show off my program written using egui Super Materials
@grzegorz.bylica
@grzegorz.bylica Жыл бұрын
I love egui too
@erikjohnson9112
@erikjohnson9112 Жыл бұрын
Can anyone get the demo linked in the video description to work on latest Chrome (on Windows 11 in my case). Even after enabling all kinds of WASM and WebGPU stuff, I get: TypeError: handle.then is not a function
@phoenicianathletix2866
@phoenicianathletix2866 Жыл бұрын
Can this be used as an alternative to having JavaScript & css in the UI For a website using a Rust backend?
@chrisbiscardi
@chrisbiscardi Жыл бұрын
egui can be used on the web (see the demo here: www.egui.rs/#demo). Whether or not that's useful for your project depends on what you need it to do. It's not a replacement for dom-related technologies.
@phoenicianathletix2866
@phoenicianathletix2866 Жыл бұрын
@@chrisbiscardi lets say if tiktok or youtube used egui for the UI would the page load faster considering its not using javascript & css?
@mariocamspam72
@mariocamspam72 Жыл бұрын
@PhoenicianATHLETIX Generally yes, but you miss out on the js-centric ecosystem
@chrisbiscardi
@chrisbiscardi Жыл бұрын
​@@phoenicianathletix2866 This is not something you can determine without doing a full buildout of either of those sites with egui and comparing them directly, and even then full rewrites don't directly compare underlying technology well unless they're done explicitly to benchmark the difference. It's also important to note that KZbin doesn't work without JavaScript, so you need to fully load the relevant scripts or wasm before the site can function at all which means you have to pick a more specific metric than "page load" to measure. KZbin and TikTok are massive sites with gigantic amounts of people working on them. Simply switching from JS to Wasm or Wasm to JS is not the most important consideration for them. Either way KZbin or TikTok have an entire team of people or more dedicated to making sure their sites load quickly which means they can do things that would be out of reach for you or I to implement to impact those times.
@dot32
@dot32 Жыл бұрын
could you do iced next 👀
@chrisbiscardi
@chrisbiscardi Жыл бұрын
I put iced on the video list. Not sure when I'll get to it though.
@dot32
@dot32 Жыл бұрын
@@chrisbiscardi ooh cool!
@MasterHigure
@MasterHigure Жыл бұрын
The Rustacean Station podcast did an interview with the man behind egui half a year back.
@jaysistar2711
@jaysistar2711 Жыл бұрын
I like and use egui, but I do have a problem with it. It assumes 2D all the way down. Game engines used ScaleForm for UI for 2 decades, which is basically just Flash (now Adobe Animate). Not everything in Flash worked because ScaleForm gave you vertex and index buffers along with textures, just like egui, but it also allowed some elements to come with transforms (a 4x4 matrix), which allows some UI elements to pop out. I am making UI for VR, so 3D is pretty much required, since thing will really look flat reguardless of how much shadow you use on it.
@jaysistar2711
@jaysistar2711 Жыл бұрын
I know, I overthink things 😁, but it's how I get things to come out perfectly (meaning that I have no further complaints) when the tweeking's done.
@bubblekill2311
@bubblekill2311 Жыл бұрын
always some good stuff to see here, keep up!
@hagimo_dev
@hagimo_dev Жыл бұрын
amazing content . Keep it up !
@boredstudent9468
@boredstudent9468 Жыл бұрын
what about Iced-rs and libcosmic ?
@chrisbiscardi
@chrisbiscardi Жыл бұрын
I put iced on the list. Don't know when I'll get to it.
@boredstudent9468
@boredstudent9468 Жыл бұрын
@@chrisbiscardi no stress, while i'd apreciate that video, the comment was mostly a joke on the opening.
@chrisbiscardi
@chrisbiscardi Жыл бұрын
@@boredstudent9468 ah ok haha. It's not the first time someone has asked about iced 😆
Removing Stages from Bevy - Stageless Phase 1
9:41
chris biscardi
Рет қаралды 7 М.
HAH Chaos in the Bathroom 🚽✨ Smart Tools for the Throne 😜
00:49
123 GO! Kevin
Рет қаралды 15 МЛН
отомстил?
00:56
История одного вокалиста
Рет қаралды 7 МЛН
Make your own GUI apps in C++ (with ImGui and Vulkan)
17:48
The Cherno
Рет қаралды 183 М.
I spent six months rewriting everything in Rust
15:11
chris biscardi
Рет қаралды 430 М.
Bevy Egui - Quick Easy Developer Tools and UIs
6:35
Logic Projects
Рет қаралды 18 М.
A Tour of Iced 0.10
14:46
chris biscardi
Рет қаралды 23 М.
My favorite Rust design pattern
7:00
Let's Get Rusty
Рет қаралды 37 М.
Bevy: A quick introduction
7:20
Isaac Corbrey
Рет қаралды 15 М.
Being Competent With Coding Is More Fun
11:13
TheVimeagen
Рет қаралды 79 М.
I took the #1 Tech Exam and it was BRUTAL
18:28
Linus Tech Tips
Рет қаралды 1,2 МЛН
Why Rust is NOT a Passing Fad...
8:54
Travis Media
Рет қаралды 37 М.
"The Life & Death of htmx" by Alexander Petros at Big Sky Dev Con 2024
23:01
Montana Programmers
Рет қаралды 60 М.