Я когда-то работал над видеоигрой, которая работала на windows, gamecube и PS2. Движок игры рендерил графику с помощью RenderWare. API RenderWare был одинаковым для всех платформ, но машинный код был на самом деле разным и настраивался для каждой платформы. Когда мы писали код, код, который мы писали, был связан с 3 различными библиотеками рендеринга, 1 для Windows, 1 для PS2 и 1 для GameCube.
Фактический код игры был написан на базовом C и не использовал какую-либо платформенно-зависимую библиотеку.
OpenGL доступен на большинстве платформ и является популярным выбором для кроссплатформенной графики.