¿Qué es una clase OpenGL®?
Una clase OpenGL® puede referirse a una implementación orientada a objetos de partes de la interfaz de programación abstracta de OpenGL® (API), o a una clase que utiliza llamadas de función OpenGL® dentro de su propio código. La naturaleza de la biblioteca OpenGL® significa que realmente no había soporte para una versión orientada a objetos de la API, y la mayoría de los programas llamaban las funciones a medida que se escribían, fuera de una clase. A medida que los idiomas orientados a objetos se volvieron más frecuentes, las diferentes bibliotecas de clases OpenGL® parecían actuar como objetos de envoltura para la biblioteca central. Hay beneficios al usar una clase OpenGL® que se ha realizado plenamente en lugar de solo la colección de funciones proporcionadas en la biblioteca, incluida la encapsulación y una forma de derivar nuevas clases funcionales a través de la herencia mientras protege la implementación básica. No todos los desarrolladores usan una biblioteca de clases OpenGL®, ya que puede ser confuso cambiar a paradigmas de programación totalmente orientados a objetos.
en Pro orientado a objetosGramming, una clase es una colección de datos, variables y funciones, llamadas métodos, que modifican la información que contiene. Los orígenes de OpenGL® como una biblioteca de funciones para el lenguaje de programación C, que no era un lenguaje orientado a objetos, significa que algunas de las metodologías y prácticas de programación que se desarrollaron no eran adecuadas para la programación orientada a objetos. Cuando algunos sistemas operativos y otros dispositivos comenzaron a confiar más en los idiomas orientados a objetos, surgieron varias bibliotecas de clases OpenGL®.
Algunas de las bibliotecas de clase OpenGL® simplemente encapsularon las funciones básicas de OpenGL®. Esto proporcionó un marco seguro y compatible para la programación. Aunque este tipo de clase era necesario para algunos idiomas, aún requería que las clases de soporte se hicieran en una aplicación funcional. Las bibliotecas verdaderamente organizadas en realidad dividieron las funciones OpenGL® en unserie de clases, con cada una administrando un elemento diferente de la biblioteca, como la renderización.
Una serie de bibliotecas de clases OpenGL® comenzaron a expandirse en el motor Basic OpenGL® y comenzaron a incluir más funcionalidad. Esto incluyó principalmente una clase especial para manejar los objetos en una escena, llamado gráfico de escena. Estas clases actuaron como envoltorios para las bibliotecas centrales al tiempo que proporcionaban una estructura lógica que podría construirse para hacer un programa que hizo más que hacer una escena y salir sin tener que inventar un nuevo marco OpenGL® cada vez.
Casi todas las bibliotecas de OpenGL®, incluidas las bibliotecas de servicios públicos, se han traducido de una forma u otra a una forma orientada a objetos. Esto, en algunos casos, ha facilitado a los desarrolladores mantener OpenGL® actualizado sobre los diversos dispositivos que existen formando un plan mayormente uniforme sobre cómo implementar OpenGL® en un entorno orientado a objetos. Con la adición de herramientas de desarrollo orientadas a objetos, yoTambién ha permitido arrastrar y soltar una clase OpenGL® en un programa que admite el desarrollo visual, simplificando algunos de los aspectos más complicados.