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
() 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 ...