¿Qué es un motor de juego OpenGL®?
Un motor de juego Open Graphics Library® (OpenGL®) es una biblioteca de programación u otra colección de software que está destinada a facilitar la creación de videojuegos al proporcionar un marco completamente implementado que se puede construir para crear una aplicación personalizada. La base para cualquier motor de juego OpenGL® es la interfaz entre la lógica de programación de nivel superior y las bibliotecas OpenGL® que, a su vez, acceden al hardware de gráficos de bajo nivel. Algunos motores se centran principalmente en el fácil acceso a funciones gráficas especiales y algoritmos al incluir funciones optimizadas para efectos como desenfoque, mapas de luz o sombreadores personalizados. Más comúnmente, un motor de juego OpenGL® agrega niveles variables de funcionalidad a través de bibliotecas de nivel superior, lenguajes de script o incluso entornos de desarrollo personalizados. Algunas de las características de los diferentes motores de juegos OpenGL® incluyen rutinas de entrada de usuario, renderizado de sombras, un marco de interfaz gráfica de usuario (GUI), soporte de red, física y mecanismos de sincronización avanzados para animaciones fluidas.
Al crear juegos que utilicen OpenGL®, ya sean bidimensionales (2D) o tridimensionales (3D), se debe escribir una buena cantidad de código de programación para integrar las bibliotecas de código OpenGL®, en su mayoría estáticas, en un entorno de juego dinámico en el que los objetos cambian y se mueven y los usuarios pueden interactuar con el mundo virtual. Un propósito principal de un motor de juego OpenGL® es eliminar la necesidad de reescribir este tipo de código repetitivo y, en su lugar, proporcionar un marco coherente y estructurado para construir un juego. OpenGL® contiene solo funciones para mostrar o renderizar gráficos en un dispositivo, por lo que toda la lógica del juego debe ajustarse a ese núcleo, incluido el desarrollo de una forma de integrar objetos que se muevan dentro de una escena o que se puedan agregar o eliminar de una escena. Una estructura que usa OpenGL® para objetos gráficos dinámicos se conoce generalmente como un gráfico de escena y es la base de muchas implementaciones de motores de juegos OpenGL®.
Otra razón por la cual los desarrolladores pueden usar un motor de juego OpenGL® es eliminar la necesidad de integrar varios elementos dispares de un juego en un solo marco, lo que puede llevar mucho tiempo hacerlo correctamente. La entrada del usuario desde un teclado, elementos GUI como una ventana para seleccionar opciones sí o no, e incluso las optimizaciones para ciertas tarjetas gráficas populares pueden incluirse con un motor de juego OpenGL®, lo que hace innecesario que los desarrolladores clasifiquen las especificaciones de hardware para escribir El código ellos mismos. Como compensación, los motores que tienen capacidades tan complejas son generalmente muy caros o tienen licencias muy restrictivas para uso comercial, aunque existen algunos motores de juegos de código abierto.
El término "motor de juego OpenGL®" también puede referirse a un juego de computadora completo al que se le han eliminado la mayoría o la totalidad de sus archivos de datos personalizados, dejando solo el código de programación compilado. Esto permite al usuario crear gráficos personalizados, mapas y, a veces, eventos con guiones que carga el motor del juego. El juego generalmente no se puede modificar en gran medida en este tipo de motor de juego y, en cambio, sirve como plataforma para que los usuarios creen niveles y contenido personalizados en lugar de un juego original independiente.