Blender's UI and Runtime: Much Faster Than GPUI

(github.com)

Comments

munksbeer 8 hours ago
Can I please congratulate you on your README. It rapidly tells me what I'm looking at, and why I might be interested in the project. There are so many READMEs around that ... just don't do that. They ramble about technical implementation details, how their language choice is amazing, and a third of the way through the README, I'm still left wondering, "but what does this project do?".
dev0p 12 hours ago
I love the general idea behind Blender's UI.

And I do appreciate the effort that goes into it, especially in the latest versions as it got much better,

But I really really really REALLY don't want that UI in anything else other than Blender.

Please don't.

lukebitts 9 hours ago
That's really cool! I burned some tokens trying to develop something similar but gave up halfway. A lot of people criticize Blender's UI but as someone who has been using blender for more than a decade now I just find it so elegant. Just the customizability itself is something I miss on most 3D software, if not all of them. Being able to just split screens and change their functionality, paired with the tabs for different workflows, it is a really good solution for a very complex software. I'd like to see a game engine with this much UI freedom.
nicoburns 9 hours ago
For anyone looking at Rust GUI: don't expect GPUI to be the fastest. From what I've heard, Iced, Slint, Dioxus Native, Freya, etc are all faster. Despite claims of being blazingly fast, GPUI isn't that optimized. Zed gets away with it because it's UI is simple.
felixthehat 12 hours ago
It would be such a boon if GIMP and Inkscape could adopt blender's fantastic GUI
cultofmetatron 12 hours ago
Ive been thinking this would be amazing to do for ages. happy someone finally did it. its the perfect system for interfaces where speed matters. hope to see more 3d modellers, video editors, daws and simulation systems built on this.
xlii 8 hours ago
Others have noted that GPLv3 is required (which is a show stopper for many) but I'd like to mention that I find the pill saying "GPLv2 or Later" in the project itself misleading.

Especially since v2 and v3 have vastly different consequences.

xiange 11 hours ago
It looks good, but the GPL license restricts the use cases
panzi 9 hours ago
Be aware of the license. You can only use it in GPLv3 programs.
bvrmn 11 hours ago
I have a python "DSL" which allows to create a simple UI for synth parameters you also make in python. It uses Tk and looks like, mmm, Tk with all other Tk issues. Project was abandoned because of it. Looks like it's time to revive!
pythonRon 11 hours ago
I gave it a quick try (Fedora 44/Python/pyenv) with some Tkinter code which is supposed to just work... It doesn't.
bobajeff 6 hours ago
This looks like a nice quick option for python scripts. I've made a web interface using fastapi for my python script because that seemed the most sane choice at the time but I would've used tkinter but for my lack of familiarity with tk/tcl and it's retro look.
mixmastamyk 3 hours ago
This looks great, are the docs mostly complete?

Was recently trying to learn a desktop toolkit again and was disappointed that the docs of pygtk and rust/iced end around page three. Many projects, little follow up. Probably should pick a toolkit from the 90s instead.

This seems different. Also, tabs that look like tabs! Love it.

petterroea 11 hours ago
The readme suggests it's a port of the blender code, at least the renderer is claimed to be so:

> The drawing code is a C port of Blender's own widget code

How can we guarantee BUI is still performant?

phillc73 11 hours ago
It'd be awesome if kitty[1] and calibre[2] adopted the Blender UI.

[1] https://github.com/kovidgoyal/kitty

[2] https://calibre-ebook.com/

xixixao 6 hours ago
Love Blender, but it’s GUI, especially anything that could use native OS components, is not what I love about it (judged on macOS).
hn_submit 11 hours ago
This is excellent. I thought about this years ago for an OpenGL based desktop UI. Apple's UI is using something similar I believe. And the Windows UI too is mostly rendered using Direct3D (which is comparable to OpenGL) since Vista.

I hope someone else uses this for a new Linux distro.

boguscoder 3 hours ago
Curious what’s the plan to keep it in sync with blender changes, if any? GUI layer doesn’t change often but still
actinium226 38 minutes ago
Love this.
gen2brain 7 hours ago
But, can it work without GPU? All native toolkits have fallback to software rendering. I do not uderstand what is gained, cpu was good enough for that since Windows 95 era? Just do not redraw every frame like in games but retain instead?
mwkaufma 2 hours ago
Feels like intentional brand-confusion with Blender.
hollowonepl 8 hours ago
Nice. I have my own GPU GUI toolkit I'm satisfied with and developed because I did not want to have yet another imgui looking app that required gpu accelerated UI toolkit.

But, if I did not invest last two years into my own toolkit, I'd definitively consider.

the__alchemist 7 hours ago
I'm excited, and will try this! Its provenance speaks loads, as Blender is a beacon of software design, open-source or otherwise.

I'm an EGUI fanboy, but am looking to truly compare it to other things, especially non-immediate mode. I have no gripes with EGUI, other than it seems to create an application size floor, and I suspect memory use could be better. It has never blocked me, including for complex applications with GPU rendering etc.

Blender is peak OSS. I'm in! Will give this a shot for my next limited-scope application. I'm also experimenting with GPUUI.

I will try Slint if I ever do embedded with a full GUI.

I will poke at this, because I saw the same sentiment in a HN thread yesterday: >" You write Rust or React and want a native desktop UI without shipping a browser." You don't need to ship a browser to do GUIs in rust. Some people do, and justify it through comparisons to Electron (Tauri) - I suspect this is a pushback against that?

Another thing I will poke at from comments: If you're going to dismiss this as a non-native UI and therefor inferior: Post specifically what features your OS-native toolkit or OS conventions have that won't work here. (Is it hotkeys, color scheme, a Je-ne-sais quoi? What OS specifically? My pet theory is these are all MacOS users, but I'm not sure)

mariocesar 7 hours ago
I have the same idea 10 years ago. :D I am so happy seeing that somebody was capable of making it. I always admire blenders UI and all the work developers did on making it.
lp92 4 hours ago
Why should I consider this over say PySide6 for Python apps?
mapcars 5 hours ago
Those numbers look very impressive, I'll try it in some projects
bita_nidir 9 hours ago
Nice! I've been waiting for someone to do this for a long time. Now I'll just need to wait a bit longer for someone to apply this to FreeCAD. Boy oh boy!
andsoitis 6 hours ago
> The GPU renderer is opt-in: Direct3D 11 on Windows (gpu/intern/gpu_d3d11.c) and OpenGL 3.3 core on Linux (gpu/intern/gpu_gl.c).

Direct3D is at version 12 on Windows[1].

What tech on macOS? OpenGL?

[1] https://en.wikipedia.org/wiki/Direct3D

Washuu 11 hours ago
I have been remaking a Blender style UI in Kotlin for my Umamo project because I love Blender's UI that much.

I think I will keep going with my own efforts, but this looks nice!

scotty79 12 hours ago
That sounds like an amazing idea. I've been using a lot of Rust+GPUI and sometimes behaviors that I'm expecting to be there just aren't.

Swapping it for UI that's as battle tested as Blender might improve things.

gostsamo 11 hours ago
not a single mention of a11y or accessibility, so please be careful before using it for general purpose applications.
pjankiewicz 7 hours ago
I don’t buy arguments like much faster than X. Take X let claude work on it for 2 days and it will be fast. In case of gpui I took the community version as a part of my project and it is quite fast because it is optimized for my app.
cute_boi 2 hours ago
Yea, but UI/UX looks very bad.
Groxx 12 hours ago
>Who wrote it?

>The repository is built entirely using LLMs, with no human-written code. ...

e-topy 45 minutes ago
Why does the Rust example look so much different than Blender? Or the other examples?

Why are the progress bars gradients? Blender doesn't use a single foreground gradient. Why is there a shadow on the thick status bars in the middle? Why are headings different colors? Why are there badges? The fuck is this, tailwind? The icon on the dropdown menu top right isn't centered properly. Right to jail, right away

parasti 9 hours ago
"Decoupled from project by external developer" generally means "with a very high chance of immediate bitrot".
rao-v 3 hours ago
"People spent decades building and optimizing Blender's GUI. It's battery and memory efficient, and super duper fast. We decoupled it, to give everyone a chance to build their own products with it."

Is it just me, or is this late stage token-utopia derangement? It took me quite a few tries before I could put Blender to any actual use because of how ... unusual ... the UI was.

creata 9 hours ago
If you're going to ask Claude to write a library with a web version, can you also ask Claude to write a web playground?
p-e-w 11 hours ago
I’ve thought many times “Man, those widgets look terrible!”

I’ve not once thought “Man, those widgets are slow!”

IshKebab 12 hours ago
Definitely a worthy goal but they've gone down a super weird route by providing clones of other GUI toolkit APIs on top of this. Your target audience is people that are ok with vibe coding. They don't care about switching to a proper Blender-style API.

Just because you can...

keyle 11 hours ago
It's obviously vibe coded, but it's quite well done by the look of the ideas and implementation.
mempko 2 hours ago
I have been using blender since 1998. In the mid 2000s I pulled out the blender UI for a project but never published it and the project died. I have been waiting for a project like this for 28 years! Amazing job.

Question, is there an effort to have blender use the library? Avoiding drift would be really important.

brcmthrowaway 3 hours ago
This is cool. But can I write the UI in an XML file?
samiv 7 hours ago
But is there a UI editor?

Is it retained mode UI?

pmkary 6 hours ago
Amazing Amazing Project
quotemstr 7 hours ago
No system theme matching? No system fonts? A fast UI toolkit is great, but so is one that matches the rest of my desktop.
gigel82 3 hours ago
That README is the most uncanny thing I've seen recently. I still have no idea what this thing actually is, what the layers are if any... it's talking about C, Rust, HTML, CSS, node, bun, react, Python, Qt, QuickJS, DearIMGUI, etc.

But what is actually in that project? All of those things? Just a C runtime? Why not talk about what the barebones C runtime gives you first (memory, runtime), then add whatever layer on top? Or is it all-in-one always?

chiroyce 12 hours ago
always liked blenders design language, looks cool!
Lockal 7 hours ago
The project is dishonest. Maybe AI agent was instructed to split Blender UI code, but what happened instead is AI implemented a classic immediate UI, not even reading the code.

I just tried few very standard operations that every Blender user knows:

1) Drag vertically across multiple number inputs to enter multiedit mode - failed (even though main page advertises this: "Drag down across X, Y and Z to edit all three at once")

2) Hover on field, press Ctrl+C, hover on another field - press Ctrl+V - failed

3) Press shift while dragging - it glitched

4) Scale UI - failed

5) Collapse collapsible block - failed

6) Right click - reset to default - failed

7) Jump to next field with Tab (while editing) - failed

8) Automatic alt accelerators - failed

9) Tooltips - N/A

10) AI slop: funny cursors, focus outline

So basically it is more like styled imgui (less polished than Blender), rather than Blender's UI.

I'm not saying that it is impossible to do a honest implementation, but one needs to kick agent much more to prevent cheating, and actually know how Blender UI works.

kitkarl 8 hours ago
Blender continues being the GOAT
antman 12 hours ago
License of GPUI is Apache and BlenderUI is GPL, which is limiting for adoption.
anthk 8 hours ago
Cool but Blender's interface is not a general purpose UI. EGUI/GPUI and the rest are.
Aeolun 6 hours ago
But is it built in Rust?
contingencies 9 hours ago
OK who's gonna burn the tokens rewriting a whole Linux system with BUI? You know you want to...
luckydata 11 hours ago
This project would benefit from a longer Readme.
dogleash 3 hours ago
>People spent decades building and optimizing Blender's GUI. It's battery and memory efficient, and super duper fast. We decoupled it, to give everyone a chance to build their own products with it.

Who is "we," and what's the long term plan?

It's a shiny presentation, but I don't see anything on offer more than a solo dev who pointed AI at the Blender codebase. I could do that myself, and many of the reasons I don't do that apply directly to why I'd never use this project.

I think the GitHub readme and the docs site are dishonestly presenting the state of the project.

andsoitis 12 hours ago
Use the native widget toolkit if the platform you target; your users will love you more.