OpenGL permite tanto un perfil de "núcleo" como un perfil de "compatibilidad". Entonces, para la mayoría de los sistemas, no perderá ningún tipo de acceso a las funciones obsoletas o eliminadas.
Pero si quieres asegurarte de que sea compatible, es mejor que te mantengas en el núcleo. No se le garantizará un perfil de compatibilidad (incluso si la mayoría del hardware tiene uno y en el estado actual es más probable que encuentre un OpenGL desactualizado en lugar de uno solo central). También OpenGL ES ahora es un subconjunto de OpenGL, es posible escribir un programa OpenGL ES 2.x/3.x y ejecutarlo en OpenGL 4.3 casi sin cambios.
Consola de juego como las PlayStations y las de Nintendo enviadas con sus propias bibliotecas de gráficos en lugar de usar OpenGL.
Se basaban en OpenGL pero aquí se desglosaron de forma similar a ES (no creo que ES 2.0 hubiera salido). Esos sistemas necesitan escribir sus propios controladores de gráficos y bibliotecas, pedirle a un proveedor de hardware que escriba lo que es básicamente una carga completa de bibliotecas de envoltura heredadas es un poco demasiado (todas las funciones fijas terminarían siendo implementadas en sombreadores en algún momento y es probable que glBegin/glEND solo se convierta en un VBO automáticamente de todos modos).
Creo que también ha sido importante asegurarse de que los desarrolladores conozcan la forma actual en que deberían programar. Durante décadas, a las personas se les ha enseñado la forma "incorrecta" de hacer las cosas de forma predeterminada y los objetos de búfer de vértice se han enseñado como un extra.
"el tiempo de ejecución GL está creando sombreadores en su nombre." .... ¿Tiene alguna referencia para eso? – shoosh
No fuera de mi cabeza. Solo conversaciones con conductores de IHV. –
Vea también: http://developer.nvidia.com/object/opengl_driver.html – Stringer