Technology1 min read

Blender's UI and Runtime: Much Faster Than GPUI

By · Published by Everything Blog

In short

The BUI framework features an independent C runtime that handles input, drawing, layout, and presentation across both CPU and GPU backends. It maximizes system efficiency by launching in milliseconds, sleeping during idle periods, and redrawing only elements that change. Software engineers can deploy the toolkit to refresh legacy tkinter tools or build new applications using Python, Rust, C, C++, and JavaScript. Furthermore, web developers can leverage these native capabilities directly within Node.js or Bun environments using JavaScript and React.

Key points

  • The library operates completely independently without requiring a local Blender installat…: The library operates completely independently without requiring a local Blender installation or an embedded webview engine.
  • Existing Python tkinter applications can run entirely unchanged while gaining a modern gr…: Existing Python tkinter applications can run entirely unchanged while gaining a modern graphical appearance.
  • Programmers using Rust can construct desktop user interfaces using HTML-like markup paire…: Programmers using Rust can construct desktop user interfaces using HTML-like markup paired with Tailwind styling.

Sources checked by our analysis pipeline: 1

Blender's user interface, as a library you can use from Python, Rust, JavaScript/React, C, C++ and Dear ImGui.

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. It supports multiple languages and frameworks, so you won't miss a beat!

Website and full documentation: bui.preetham.top

This README is a small book. Read it front to back for the whole story, or

jump to the chapter you need. Every chapter links to a longer guide in

docs/

or on the website when there's

more to say.

- Install

- First app: tkinter

- First app: Blender components

- First app: Qt syntax

- First app: Rust, in rsx and gpui builders

- First app: JavaScript and React

- First app: Dear ImGui

- First app: C

- How it works

- Blender's widgets and interactions

- Three looks: HTML, styled and Blender components

- Rendering on the CPU and the GPU

- Damage rendering

- Window hosts

- Text…

Technology