BUI - BlenderUserInterface

Just wanted to get this out, that if at some point we manage to extract the blenders user interface and we can subsequently manage to plug in the blender’s DNA, RNA, operators, python api, …

I would suggest we call it the “BUI”

But hat is just a thought!



I thought long and very hard before I did push the ‘submit reply’ button of this post, but “sometimes your whole life boils down to this one insane move” Jake Sully, Avatar


I have trolled the BA website, the developer pages, the wiki pages, cg cookie, youtube, google, everywhere; hundreds and hundreds of post of how to do this and maybe do that, comment after comment saying we do not need another layout proposal and this is good and this is bad; I have read books and pdf’s and online articles and … OMG I need no more. it is endless

I found out the best way of checking if your interface layout works is by looking at tuts and time-lapses of colleague blender artists and developers and see how they use it and how they have laid out their interface.

I boiled it down to some basic assumptions for myself:

  • the blender interface is a very interesting basis because of its design principles
  • Blender functionality needs to be (and will be and can be) fully detached from the BUI
  • still all points and proposals made out by everybody, user, not user, artist, developer (and even Ton’s ;)) need to be taken into consideration as these are very valuable and an unmistakable representation of how the interface should look like
  • the BUI needs to be intuitive, rock-solid and extremely flexible
  • it is now time to stop the discussion and start developing (at least for me)

All of the above resulted in attached sketch

Please preferably reply with comments on the wiki.blender.org

Next Step == step 2: define rules, conventions and guidelines

!! Left click == select
!! right click == active specials menu
!! Double click == activate (like move or scale or)
!! front view X is to the right, Y is up and Z is towards you


Hi, again.

I just updated the github of my GUI toolkit.
Here some points:

  • True-type font rendering using Cairo library. An OpenGL texture is create for each character. Some functions need to be implemented to give more support to the developer (get text width, height…). But I’m having difficulties to implement unicode…
  • Started the development of the treeview/listview widget. The listview/treeview is very abstract, it does not draw the items by default, the idea is to provide an signal where you connect your function to draw the way you want. The signal gives already the position of the item, size, and others parameters. This abstraction was a decision I made because of the difficulties of working with a simple treeview using Gtk+, wich wants to take all the control over the drawing.
  • Created the splitter widget.
  • Need some OpenGL refactoring in the library core!
  • Improving the alignment system (W.I.P.).


That is it. I plan to keep a flat theme. Later, I will improve the theme based on some concepts found on Dribbble.


Dear FilipeFS,

Somewhere you have indicated the GitHub repository you have currently created, I can’t seem to trace it any more. Could you here indicate again where this can be found?

ps: are you still actively developing the GUI toolkit?



Hi, I’m developing a similar GUI toolkit, is anyone interested?

It’s my personal open-source project. I liked Blender’s UI very much at the first time I used this applicaiton. So 10 months ago, I decided to develop a lightweight GUI toolkit for building Blender-like application, just for fun :slight_smile:

The project is hosted on Bitbucket: https://bitbucket.org/zhanggyb/blendint
Please be noted that it’s still uner development: very buggy, logic error in the code, some basic widgets like ListView, TreeView haven’t started programming. (My original plan was open this project to public when most common widgets are complete).

The GUI toolkit is written in C++, here’re some examples in current code:



A 3D viewport:
(very simple and ugly, I will improve this later)

If you have any comments, please email me or post issues on https://bitbucket.org/zhanggyb/blendint.

By the way, my name is Freeman Zhang, I live in Shanghai, and I develop this project in my spare time, so the progress may not be as fast as you expect.

Best regards

@FelipeFS are you still with us and actively developing the UI?