I thought it would be good to have a thread about the various APIs out in the wild, what APIs actually do, and is one API better than the others.
The PlayStation uses Sony’s own APIs. There is a low level API called GNM, and a high level API called GNMX. The PlayStation has its own shader language called PSSL as well.
I have heard it said that Sony’s APIs are very close to Direct X, which makes it easier for devs to convert PC games to the PS.
The Xbox Series S and X obviously use Direct X 12 Ultimate, along with its various extensions such as Direct ML, Direct RT and Direct Storage etc. This the exact same as the Direct 12 Ultimate API used for PC, other than the fact that the Xbox DX12U API also has an even lower level of access to the GPU to get closer to the metal on console than PC.
The PC has both DX12U, Vulkan and OpenGL. Vulkan and DX12U seem to be pretty close to each other in abilities, while OpenGL seems to have fallen behind.
So questions about APIs? Do you have to use an API to make a game, or can you just access the GPU and code without one?
Idtech7 uses Vulkan on PC, how much work ot required to convert that to either DX12U or GNMX for consoles?
Do certain APIs work better on certain engines? Why is this the case?
This generation of RDNA 2 cards, the XSX and the previous versions of Nvidia cards all now have Mesh Shader, VRS and Sampler Feedback through DX12U and other APIs, so what’s next in regards to API extensions that will improve graphics into the future?