/* This file is part of Magnum. Copyright © 2010, 2011, 2012, 2013, 2014 Vladimír Vondruš Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /** @page opengl OpenGL @brief State of OpenGL support, version and extension requirements. The following table maps OpenGL function names to %Magnum API, useful for developers with existing OpenGL background. Note that, as reverse mapping, each function documentation also contains list of OpenGL functions used. - @subpage opengl-mapping State of implementation of particular OpenGL versions and extensions is in the following table. - @subpage opengl-support @section opengl-required-extensions Version and extension requirements The engine requires at least OpenGL 2.1 or OpenGL ES 2.0, but some specific functionality has greater requirements. Following are lists of features requiring specific OpenGL version. In most cases it is also specified which extension is required, so if given hardware supports required extension, it doesn't need to have required OpenGL version too (e.g. `APPLE_vertex_array_object` is supported on older Intel GPUs even if they are capable of OpenGL 2.1 only). - @subpage requires-gl30 - @subpage requires-gl31 - @subpage requires-gl32 - @subpage requires-gl33 - @subpage requires-gl40 - @subpage requires-gl41 - @subpage requires-gl42 - @subpage requires-gl43 - @subpage requires-gl44 - @subpage requires-extension - @subpage requires-gl - @subpage requires-gles20 - @subpage requires-gles30 - @subpage requires-es-extension @see @ref building, @ref cmake, @ref MAGNUM_TARGET_GLES, @ref MAGNUM_TARGET_GLES2 @page requires-gl30 Functionality requiring OpenGL 3.0 @page requires-gl31 Functionality requiring OpenGL 3.1 @page requires-gl32 Functionality requiring OpenGL 3.2 @page requires-gl33 Functionality requiring OpenGL 3.3 @page requires-gl40 Functionality requiring OpenGL 4.0 @page requires-gl41 Functionality requiring OpenGL 4.1 @page requires-gl42 Functionality requiring OpenGL 4.2 @page requires-gl43 Functionality requiring OpenGL 4.3 @page requires-gl44 Functionality requiring OpenGL 4.4 @page requires-extension Functionality requiring specific OpenGL extension @page requires-gl Functionality requiring desktop OpenGL (not available on OpenGL ES) @see @ref MAGNUM_TARGET_GLES @page requires-gles20 Functionality requiring OpenGL ES 2.0 (not available on desktop or ES 3.0) @see @ref MAGNUM_TARGET_GLES2 @page requires-gles30 Functionality requiring OpenGL ES 3.0 @see @ref MAGNUM_TARGET_GLES3 @page requires-es-extension Functionality requiring specific OpenGL ES extension @see @ref MAGNUM_TARGET_GLES2 */