El autor, profesor del Instituto SAE de Ginebra, defiende el uso de OpenGL ES 3.0 en su curso de introducción a la gráficos por computadora, a pesar de la tendencia a adoptar APIs más modernas. Su decisión se basa en la portabilidad extrema de esta versión, lanzada en 2012, que permite compilar un único código C++ para Windows, Linux, Android, Nintendo Switch y WebGL2 mediante Emscripten. Esta compatibilidad facilita la ejecución de las mismas muestras en múltiples plataformas, incluyendo la web, lo cual es un valor añadido significativo para los estudiantes.
A diferencia de las APIs modernas como Vulkan, OpenGL ES 3.0 delega la sincronización en el controlador, reduciendo la sobrecarga de inicialización, aunque introduce desafíos de rendimiento en sistemas con GPUs integradas. El curso sigue la estructura de LearnOpenGL, pero añade abstracciones propias, como la clase Pipeline para gestionar shaders y buffers de uniformes, optimizando el código para evitar errores de compilación en tiempo de ejecución. El objetivo pedagógico no es enseñar a crear un renderizador genérico, sino implementar escenas 3D específicas, fomentando la creación de abstracciones compartidas en un repositorio Git. Esta metodología permite a los estudiantes trabajar con conceptos fundamentales como el SSAO y el renderizado diferido, manteniendo la relevancia de OpenGL ES 3.0 como herramienta de enseñanza versátil y accesible.
