Initializing the OpenGL 3 core profile on Windows
OpenGL 3.0 introduced the idea of features deprecation. Some features could be marked as deprecated and could be removed from the specification in later versions. For example, immediate mode rendering via glBegin
()/glEnd
()
was marked as deprecated in OpenGL standard Version 3.0 and removed in Version 3.1. However, many OpenGL implementations retain the deprecated functionality. For example, they want to be able to provide a way for users of modern OpenGL versions to access the features from old APIs.
Starting from the OpenGL Version 3.2, a new mechanism was introduced to allow the user to create a rendering context of particular version. Each version allows backwards-compatible, or core profile contexts. A backwards-compatible context allows the use of all features marked as deprecated. The core profile context removes the deprecated functionality, making the API cleaner. Furthermore, the OpenGL 3 core profile is much closer to the mobile...