6 ms·
And the user interface is all OpenGL... man I can't imagine how much time it would take to write a decent user interface starting with nothing but OpenGL. Like
by i_am_a_peasant 3y ago
And the user interface is all OpenGL... man I can't imagine how much time it would take to write a decent user interface starting with nothing but OpenGL. Like just rendering text to the screen is a pain. And it's so snappy and responsive and it looks sooooo good. Definitely not a one man project, there's just no way.
- themerone 3y agoIf your choices are Motif or the Athena toolkit, rolling your own UI is an understandable choice.
- mr_sturd 3y agoThey should roll it out in to a separate library. Call it the Blender Toolkit, or BTK.
- deleted 3y ago[deleted]
- i_am_a_peasant 3y agoI think there have been attempts.. but it's too deeply married to the rest of Blender for it to be worth extracting I think.
- DonHopkins 3y agoBTK has a nice ring to it -- and it's an even more brilliant public relations disaster than the name "GIMP"! What kinds of widgets would Dennis Rader have in his "Bind, Torture, Kill" tookit? ;) It couldn't be any worse than Motif. BTK would also imply the existence of: BLIMP: Blender Image Manipulation Program Oh the humanity! BLOME Desktop: Blender Object Model Environment I would totally be down for that.
- antod 3y agoor... BIOME: Blender Interactive Object Model Environment
- panzi 3y agoWell, they basically wrote their own GUI toolkit. And IMO a very good one, with tiling windows and everything is nicely scaleable. I especially like the command search with space and little things like dragging over a column of checkboxes to toggle them all.
- whywhywhywhy 3y ago> and little things like dragging over a column of checkboxes to toggle them all Little touches like this make the world of difference in professional tools
- rabf 3y agoRolling your own UI in openGL is very doable and can make a lot of sense for any application that will require non standard custom widgets. Use your preferred truetype rendering library to generate your text textures, blender uses freetype I think. Widgets can all be done with vectors and gradients, start with functions that create primitives such as rounded boxes or different line types and build from there.
- i_am_a_peasant 3y agoYeah, it's doable in a few months of doing nothing but that. ;D But then again you may be a much more productive programmer than I. For a side project? I could never do it, not with everything else I got going on.
- arriu 3y agoHaving done both web and gl ux for a living, I think you might be overestimating the complexity of a gl implementation and underestimating the complexity of meeting the same specs using a web implementation. While not quite the same thing, if you have the time, dip your toes into some immediate mode UI, for example imgui. It is enjoyable not a grind.
- i_am_a_peasant 3y agoDo you think wasm has any chance of replacing the whole html/css stuff with just webgpu in a canvas? I have been playing a bit around with wgpu in rust and I can compile the same project either as a native binary or a .js that just renders to the browser. It seems to work pretty cool. Photoshop seems to be runable in the browser now, and I've seen a lot of other cool stuff, but things like fluid simulations seem to still be very laggy.
- dist-epoch 3y ago> webgpu in a canvas Internally that's what Chrome/Firefox are, they render much of html/css on the GPU using OpenGL/DirectX/Vulkan/Metal. > Do you think wasm has any chance of replacing the whole html/css stuff with just No, you also need the DOM to enable frameworks like React which are used by a large number of sites.
- redox99 3y agoI hate so much how it breaks many conventions. For example, when you right click, the menu opens onPress instead of onRelease. I wish they had at least a setting to change that.
- jdiff 3y agoIt makes it way faster when you can right click, hold, and release on the item in one smooth motion. I believe most pro software is like this, it's hardly breaking convention.
- redox99 3y agoI understand why some people like it, and yes a lot of software does that as well, but in my case sometimes I accidentally end up pressing some menu option because I'm not perfectly steady. That's why I'd like it to be an option.
- Manozco 3y agoI've not used blender but it seems to me that Chrome is doing that too (at least it's doing that on my machine )
- capableweb 3y agoI think it's UX that commonly works differently in consumer software vs pro software. I think parent is talking about professional software. Pro software made for speed and efficiency, you usually want to be able to do things quickly, even if sometimes people not used to the software might screw up. Holding right-click, selecting menu item and releasing I think is one of those things. In consumer software, users would be confused because maybe they long-press the right-click, drag the mouse a little while holding down then releasing, and the menu would just appear and disappear. Confusing UX for most users, I bet.
- Manozco 3y agoIt looks like Chrome is doing the pro software then. Parent said blender was opening the menu onPress, which according to your comment is OK for pro software, Chrome is also doing the menu onPress
- KittyCatCuddler 3y agoThey're actually porting everything over to Vulkan now. That, and Apple devs are also working on maintaining and developing a Metal backend.
- PaulDavisThe1st 3y agoVulkan is a drawing API, not a GUI toolkit.
- tpush 3y agoPresumably they meant porting from OpenGL to Vulkan & Metal.
- i_am_a_peasant 3y agoI wouldn't bother with vulkan and just go with wgpu, rewrite it in rust while you're at it ;D
- gosub100 3y agowhen the whole application is OpenGL it makes perfect sense. Just like how the interface to managing sql databases is done using SQL tables.