Hacker News new | ask | show | jobs
by grishka 5 days ago
OpenGL is the only truly cross-platform graphics API out there. Vulkan isn't on Apple platforms, unless you use MoltenVK which implements it on top of Metal. Also I don't know why, but Windows games tend to use Direct3D even though afaik GPU drivers do implement Vulkan on Windows, so there must be a good reason for that.

It's also much easier to grasp than Vulkan, Metal, or Direct3D.

2 comments

Contrary to urban myths, OpenGL never was a big thing on game consoles.

Windows official API is DirectX, OpenGL and Vulkan use a plugin API, ICD, which is nonetheless DirectX underneath.

https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

> OpenGL never was a big thing on game consoles.

I've never tried developing anything for a 3D-capable console, but I've always had the feeling that their graphics APIs are bespoke, thin abstraction layers on top of the raw graphics hardware just so you don't have to poke the GPU registers directly.

Yes, they are quite low level, hence how painful Vulkan happens to be, as its design was driven by console vendors feedback, and based on Mantle, basically AMD trying to make a PC API close to how modern consoles work.

https://github.com/sigmaco/mantle-docs

https://ir.amd.com/news-events/press-releases/detail/466/amd...

While there have some support, Playstation 3 had OpenGL ES 1.0 with Cg for shading, Wii had a GL like API with GLSL subset, and SWitch does support GL 4.6/Vulkan, they were never fully adopted by devs, rather favouring the native ones.

OpenGL is deprecated and version locked on Mac/iOS.