In theory it’s entirely possible to achieve this: GStreamer uses GL from different threads using shared contexts, and then draws on the GL context provided by GtkGLArea.
You may want to look at GThree as well, if you’re looking at a 3D rendering library that integrates with GTK3 and GTK4.
Thanks a lot for the tip. I wasn’t aware of GThree, and looks very useful, and it seems fully capable of doing the kind of fancy rendering I’m looking for. I just have to figure out how to create materials for it. But I probably want to be able to create gltf files in any case for exporting, and these can already be displayed by GThree.