I assuming that DirectX and OpenGL is a different solution to the same problem. (Providing interface for graphics rendering, etc). If this assumption is wrong, then would someone kindly correct me and ignore the rest of the topic.
What I notice is that while we have to go to Microsoft to download DirectX when there are new versions, we don’t have to do that for OpenGL. Yet both are included and updated in video drivers (another assumption…).
Why is it that we even need to/can download DirectX seperately, and not needing to do so with OpenGL? Isn’t them both updated by the video drivers we strive to update all the time?
When you download DirectX components from Microsoft, you are updating the core run-time DLLs that interface to all graphics board drivers. In some cases, the DirectX installer may also install drivers specific to the board you have installed, but all those drivers are written by Microsoft and are typically intended for Windows compatibility testing rather than performance. For that reason, it is usually better to download the latest DX drivers from your board vendor for maximum performance.
In contrast, the core OpenGL32 DLL usually comes with the specific version of Windows you have installed, and if there is an updated version you would have to search for it yourself on Microsoft’s site. The hardware specific OpenGL driver always has to downloaded from your board vendor, since they are the only ones that have an interest in writing an accelerated version.
For convenience (and possibly confusion) many graphics board vendors now typically supply both DX and GL accelerated drivers in a single download package. (This might additionally include the latest Microsoft core run-time DLLs the drivers are meant to work with, but that would also be for convenience since they would be the same as the ones on Microsoft’s site.)