That's what libraries do. glibc converts application calls to Linux syscalls. libgl converts application calls to driver calls.
It depends on where you draw the line at "native". Unless you're writing assembly you're using some sort of 'compatibility layer'.
Lol, it's a .ml account. Of course not