Learn something new every day More Info... by email
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.
One of our editors will review your suggestion and make changes if warranted. Note that depending on the number of suggestions we receive, this can take anywhere from a few hours to a few days. Thank you for helping to improve wiseGEEK!