Open Graphics Library® (OpenGL®) and DirectX® are both graphics rendering programs, but there are major differences between the two. Game programmers typically choose DirectX®, because it has many features specifically for game rendering, while OpenGL® is made for graphics processing. OpenGL® and DirectX® also run on different operating systems (OS's) because of the programs’ developers. OpenGL® only creates graphics and relies on other programs for essential functionality, while DirectX® has many of its own support features. When DirectX® is upgraded, the entire program changes; OpenGL® releases extensions that do not change the program itself but add new functions.
Of OpenGL® and DirectX®, OpenGL® is the one that does not include any tools specifically for games. DirectX® has many tools to control a game’s volume, networking and input elements. While OpenGL® can be used to create and control a game’s graphics, it does not offer any other features, and programmers usually have to use other programs in conjunction with OpenGL® to complete a game’s output.
Aside from gaming features, OpenGL® and DirectX® take different approaches to other features indirectly involved in displaying graphics. For example, a graphic may need to be controlled by hardware such as a mouse or joystick, or music may be associated with the graphic. OpenGL® is only made to create and support graphics, so it requires the support of other systems for the graphics to function correctly. Depending on what feature is required, OpenGL® may rely on DirectX®. Many of these features are included in DirectX®, so it is a stand-alone program.
OpenGL® and DirectX® are made to run on different OS's. DirectX® is developed by Microsoft®, so this program is made to work on Microsoft’s® various systems, and it often is not supported by other systems. OpenGL® is built by various members and is an open-source program, and it is able to work on many different OS's and different computing environments, such as embedded systems.
When they are upgraded, OpenGL® and DirectX® are changed in different ways. The user environment, hardware requirements and the tools drastically change when DirectX® is upgraded. This often requires users to relearn the program, and hardware for earlier DirectX® versions becomes obsolete and will not work with the new graphics. An OpenGL® upgrade is not as drastic; instead of changing the user environment and releasing an entirely new program, OpenGL® creates extensions. These add new features and, if another computer does not have the same extensions installed, then OpenGL® finds a way of displaying graphics by using older extensions.