¿Cómo elijo el mejor SDK de OpenGL®?
Hay varios kits de desarrollo de software (SDK) de Open Graphics Library® (OpenGL®) disponibles, aunque muchos están diseñados específicamente para un uso determinado. Los desarrolladores de tarjetas gráficas y hardware generalmente proporcionan un OpenGL® SDK que es bastante completo en cuanto a muestras de código y documentación, pero que también puede incluir características específicas del hardware que produce la compañía. Algunos SDK se centran en proporcionar un fácil acceso a la interfaz de programación abstracta (API) de OpenGL®, generalmente se centran en un uso particular, como la visualización molecular, la física o el arte interactivo. Un SDK de OpenGL® más completo puede incluir un marco de trabajo o una gráfica de escena completamente funcional que amplíe la funcionalidad de la API principal, aunque también podría tener una curva de aprendizaje más pronunciada que un SDK más simple. Varios SDK de OpenGL® se centran en proporcionar gráficos y algoritmos de alto rendimiento que se utilizan mejor para animación en tiempo real, entornos tridimensionales (3D) interactivos o videojuegos.
Una distinción importante es que un SDK de OpenGL® es diferente de la API de OpenGL®. La API es la interfaz básica necesaria para escribir y compilar una aplicación OpenGL®. Un OpenGL® SDK puede ser una colección de herramientas, código fuente, documentos y bibliotecas que pueden ampliar la funcionalidad de la API, incluir controladores OpenGL® mejorados o proporcionar herramientas para facilitar el uso de la API. Los desarrolladores de OpenGL® no mantienen ningún SDK oficial de OpenGL®, por lo que todos los kits están escritos y desarrollados por comunidades individuales, programadores o empresas, independientes de la Junta de Revisión de Arquitectura de OpenGL® (ARB).
El mejor SDK de OpenGL® será uno que se adapte a la experiencia del programador y no sea demasiado complejo para el proyecto. Para proyectos simples, como mostrar los resultados de una función o algoritmo, un SDK matemático básico generalmente sería mucho más adecuado que un kit provisto por un fabricante de tarjetas gráficas para enfocarse en características especiales como renderizar cabello translúcido. Del mismo modo, en algunos casos, el mejor SDK podría no ser un SDK, porque las capacidades básicas de dibujo de OpenGL® están presentes solo con la API.
En el caso de programas grandes o interactivos que pueden requerir una buena cantidad de carga de modelos y manipulación de imágenes, se podría requerir un SDK OpenGL® con más funciones. Tanto los SDK comerciales como los de código abierto están disponibles en diferentes niveles de complejidad que pueden hacer que muchas funciones de uso frecuente, como la construcción de objetos de búfer de vértices o la animación de temporización, sean muy fáciles de acceder. Sin embargo, una complicación con un SDK que implementa algo tan grande como una escena completa es que requerirá una curva de aprendizaje empinada, porque el código para el SDK podría estar muy alejado de las técnicas básicas de OpenGL®.
Las herramientas que vienen con un SDK OpenGL® a veces pueden ser importantes para ayudar a optimizar el desarrollo. Estos pueden incluir programas de visualización para ver cómo se verá una escena o modelo cuando se procese con el SDK o los complementos para programas de modelado de uso común, lo que permitiría exportar archivos directamente a formatos utilizables por el SDK. Además de las herramientas, una característica de un buen SDK será la documentación adecuada, así como una comunidad que esté disponible para responder preguntas en caso de que surjan.