I use the native OpenGL API on all platforms.
I did make my own renderer. A renderer for PewPew is not too hard: culling is simple, no lights or shadows. Hardest part was probably drawing 3D lines :-)
What is a little bit annoying is that any new effect, like Depth of Field or Lens Flare take several hours to implement, whereas in a premade engine my understanding is that it’s one click away and the quality can be better than what I achieve.