Systems GUI

I’m having a hard time determining whether openGL would be the appropriate option for designing systems based[non game] graphical user interfaces. There appears to be limited to zero information on this topic. If it is possible to use openGL for designing the primary GUI in an OS I would really appreciate a push in the right direction with tutorials and/or articles. Thank you for you time.

Try skia or Qt, but if you want to implement you own OpenGL GUI toolkit, it is not easy at all.

Some months ago, I thought about “lifting” the blender’s GUI out of blender.

I appreciate the suggestion, and I’m sure that skia and QT are fantastic solutions but I’m interested in designing a GUI from the ground up if at all possible. Would you know of any resources that would be helpful in learning openGL tailored to this topic?

Yes, the source code of the above-mentioned libraries, especially Qt. There are a host of issues to solve and even Qt and skia are full of bugs in this regard - they don’t work in all cases and for all GL implementations.

The only GL GUIs that are more or less bug-free I know of are those of some GL games (e.g. the quakes and dooms) and blender - these GUIs are invariably simple.

I tried to do what you suggest some time ago, but I gave up. Now I just use skia, when Qt is too fat. Why not do the same?

Personally, I’m interested in systems design. At some point I would like to design my own OS. Because of that, I want to learn these products more in depth than just utilizing another’s framework. I did totally overlook reading through their libraries to learn. Thank you.

Futility. Do this:


for (;;)
{
  get a GL book, do all the exercises in it;
}

The only GL GUIs that are more or less bug-free I know of are those of some GL games (e.g. the quakes and dooms) and blender - these GUIs are invariably simple.

There’s also CeGUI.

If you want to make your own OS then GL might not be what you’re looking for. OpenGL works on top of windows, X11 (Unix and Mac - AFAIK). There’s no way to have OpenGL without an existing windowing implementation (maybe Mesa can but then you loose almost all acceleration).

If you want to make your own window manager or desktop, then you can. And I advise you to go to Linux. If so, looking for simple window managers could help you. Enlightenment can for example draw directly with using OpenGL, threw Evas (but is limited to 2D, at least for now).

OS design is still pretty far out of my reach, for now I want to design GUI for applications with the intent of migrating to systems design later. For now though, I think I will focus on learning from an openGL book then dissecting some of the libraries mentioned above. Thanks everyone for your help.