How to properly use GSK to manage 3D scenes?


My name is André Caldas. I have been using Gnome for more than 20 years, now. I used to develop software in C++, a long time ago. But I have never made software with GUI. And in particular, I have never used GTK. Now, I am a math professor at University of Brasilia, Brasil.

Right now, I am developing a software where I have geometric objects that can be placed inside containers and the containers can be nested. I guess this is just classical… not much to explain. :slight_smile:

I am trying to do things the “proper way”. So, I am using meson. I am tying to do things “test driven” using Catch2. I am trying to do things properly using the most recent features of C++… there is a lot to learn!

Some day, my software will need a GUI. I hope I have what it takes to make it a GTK application. I am very interested in using GSK4’s ContainerNode as it seems to fit very well my use case.

I really miss a step-by-step tutorial, and I am hoping someone might be nice enough to guide me a little bit. I would like to know how to properly create a GUI that uses GSK, preferably in C++.

Of course, it would also be nice to know how to handle user input (to interactively manipulate the geometric objects), but I guess this is more complicated.

To make it more concrete, ideally, I would be happy with the source code of an application that: (sorry, I do not know the correct jargon)

  1. Creates a GTK window with a “gsk tree” T.
  2. The tree root node could contain some geometric objects and a ContainerNode C that would also contain some geometric objects.
  3. Some GTK buttons/controls that would make the container C be translated and/or rotated.

Of course, it is too much to ask… and I would be happy with any kind of help. :slight_smile:

Other suggestions are welcome!