O que é um OpenGL® Game Engine?
Um mecanismo de jogo da Open Graphics Library® (OpenGL®) é uma biblioteca de programação ou outra coleção de software que visa facilitar a criação de videogames, fornecendo uma estrutura totalmente implementada que pode ser construída para criar um aplicativo personalizado. A base para qualquer mecanismo de jogo OpenGL® é a interface entre a lógica de programação de nível superior e as bibliotecas OpenGL® que, por sua vez, acessam hardware gráfico de baixo nível. Alguns mecanismos concentram-se principalmente no fácil acesso a recursos gráficos e algoritmos especiais, incluindo funções otimizadas para efeitos como desfoque, mapas de luz ou sombreadores personalizados. Mais comumente, um mecanismo de jogo OpenGL® adiciona níveis variados de funcionalidade por meio de bibliotecas de nível superior, linguagens de script ou mesmo ambientes de desenvolvimento personalizados. Alguns dos recursos dos diferentes mecanismos de jogos OpenGL® incluem rotinas de entrada do usuário, renderização de sombra, uma estrutura de interface gráfica do usuário (GUI), suporte de rede, física e mecanismos avançados de tempo para animações suaves.
Ao criar jogos que utilizam o OpenGL®, sejam bidimensionais (2D) ou tridimensionais (3D), uma quantidade razoável de código de programação deve ser escrita para integrar as bibliotecas de código OpenGL®, na maioria estáticas, em um ambiente de jogo dinâmico no qual os objetos mudam e se movem e os usuários podem interagir com o mundo virtual. O principal objetivo de um mecanismo de jogo OpenGL® é remover a necessidade de reescrever esse tipo de código padrão e, em vez disso, fornecer uma estrutura consistente e estruturada para a construção de um jogo. O OpenGL® contém apenas funções para exibir ou renderizar gráficos em um dispositivo; portanto, toda a lógica do jogo precisa ser envolvida em torno desse núcleo, incluindo o desenvolvimento de uma maneira de integrar objetos que se movem dentro de uma cena ou que podem ser adicionados ou excluídos de uma cena. Uma estrutura que usa o OpenGL® para objetos gráficos dinâmicos é geralmente conhecida como gráfico de cena e é a base para muitas implementações de mecanismos de jogos OpenGL®.
Outro motivo pelo qual um mecanismo de jogo OpenGL® pode ser usado pelos desenvolvedores é remover a necessidade de integrar vários elementos díspares de um jogo em uma única estrutura, o que pode levar muito tempo para ser feito corretamente. A entrada do usuário de um teclado, elementos da GUI, como uma janela para selecionar opções sim ou não, e até otimizações para certas placas gráficas populares podem ser incluídas com um mecanismo de jogo OpenGL®, tornando desnecessário que os desenvolvedores classifiquem as especificações de hardware para escrever o próprio código. Como compensação, os mecanismos que possuem recursos tão complexos geralmente são muito caros ou possuem licenças muito restritivas para uso comercial, embora existam alguns mecanismos de jogos de código aberto.
O termo "mecanismo de jogo OpenGL®" também pode se referir a um jogo de computador completo que teve a maioria ou todos os seus arquivos de dados personalizados removidos, deixando apenas o código de programação compilado. Isso permite que o usuário crie gráficos personalizados, mapas e, às vezes, eventos com script carregados pelo mecanismo do jogo. O jogo geralmente não é modificável em grande medida nesse tipo de mecanismo de jogo e serve como uma plataforma para os usuários criarem níveis e conteúdo personalizados, em oposição a um jogo original independente.