Don’t forget about the Kivy framework. It’s a python framework that renders openGL accelerated UIs, also headlessly on the raspberry pi if needed.
https://kivy.org
Can you really use it without a desktop env though? Would be cool if one could launch it in full kiosk mode from the headless tty.
https://mesamatrix.net v3d conformant up to OpenGL 3.1.
The Pi has always supported OpenGL ES though.