Ícone de pesquisa do Download.it
Advertisement

API livre utilizada no âmbito da computação gráfica, com o objetivo de atender a demandas de desenvolvimento de aplicativos gráficos e ambientes 3D, etc

API livre utilizada no âmbito da computação gráfica, com o objetivo de atender a demandas de desenvolvimento de aplicativos gráficos e ambientes 3D, etc

Vote: (373 votos)

licença do Programa: Grátis

Desenvolvedor: Open GL

Versão: 4.6

Funciona em: Windows

Vote:

licença do Programa

(373 votos)

Grátis

Desenvolvedor

Versão

Open GL

4.6

Funciona em:

Windows

O OpenGL (Open Graphics Library) é um programa utilizado para criar e fazer funcionar a computação gráfica de outros programas, como jogos, aplicativos gráficos e ambientes 3D. É basicamente um API (Application Programming Interface), ou em outras palavras, uma biblioteca de funções específicas para a criação e desenvolvimento de aplicativos, que possibilitam acesso a praticamente todos os recursos do hardware de vídeo.

O OpenGL é então um API de uso livre, que foi desenvolvido para linguagem C e C++, mas que também pode ser utilizado com outras linguagens com boa eficiência.

O OpenGL é responsável por ativar ou desativar recursos do hardware de vídeo conforme a programação, como por exemplo, ativar ou desativar cores, calcular luminosidade, ativar ou desativar transparência etc.

Então, todos os elementos e efeitos gráficos que enxergamos na tela durante um jogo, ou em algum aplicativo gráfico, como por exemplo mudanças de geometrias, luz e sombras, cores, texturas etc, são programados e rodam através dos recursos do OpenGL.

Atualmente sob controle do Khronos Group, foi desenvolvido pela Silicon Graphics e lançado em 1992, após todo um processo de desenvolvimento nos anos 1980, quando a indústria da computação gráfica buscava por um API padronizado que facilitasse a produção de interfaces gráficas entre os diversos fabricantes de hardware, e que fosse acessível mesmo às pequenas empresas que necessitassem desenvolver ambientes gráficos.

Desde seu lançamento o padrão OpenGL é mantido pela ARB (Architecture Review Board), um conselho formado por várias empresas do ramo como IBM, HP, Dell, Intel, NVIDIA, 3DLab e entre elas a própria Silicon Graphics.

O conselho da ARB tem a função de manter, revisar e atualizar as especificações do OpenGL conforme as mais diversas necessidades identificadas na indústria de hardware e aplicativos gráficos.

O OpenGL foi projetado para funcionar mesmo que a máquina que exibe o gráfico não seja a mesma que contém o programa gráfico. Dessa forma pode funcionar em máquinas ligadas em redes que se comunicam por protocolos também padronizados, permitindo que mesmo hardwares diferentes estabeleçam comunicação.

O núcleo do OpenGL é conhecido como "rendering pipeline", ou duto de renderização, e oferece elementos para realizar diversas operações como pré-vertices, montagem de primitivas, operações com pixels, montagens de textura, rasterização e operações sobre fragmentos por exemplo, trabalhando tanto com desenhos na forma vetorial como com mapas de bits pixel por pixel.

O OpenGL tem algumas características que são um pouco diferentes de outros API's similares, como por exemplo, trabalhar com medidas de ângulos em graus ao invés de radianos, ou definir cada componente de cor por um número flutuante variável de 0 a 1 ao invés de um número inteiro de 0 a 255.

Outras características interessantes são as coordenadas gráficas no OpenGL baseadas em eixo cartesiano, com número da linha decrescente, e as matrizes calculadas com base nas colunas, e não nas linhas.

Além disso, os comandos do OpenGL não são imediatamente enviados para o hardware, eles são primeiro agrupados para serem enviados posteriormente, o que permite melhorar o uso da rede e realizar outras otimizações. Por outro lado, isso torna mais difícil para o programador calcular o tempo dos comandos, o que exige a utilização de um software específico para isso, que é disponibilizado no próprio site da OpenGL.

Os comandos do OpenGL são restritos aos gráficos, mas o usuário pode acessar outras bibliotecas relacionadas a outros elementos como a OpenGL Utility Library (GLU), que fornece funções para auxiliar na montagem de matrizes de visualização e projeção, imagens 3D e superfícies.

Outra biblioteca disponível é a OpenGL Utility Toolkit (GLUT), que é basicamente um toolkit que ajuda o usuário a trabalhar em um ambiente de janelas, tornando a interface de trabalho mais simples.

O Open GL foi projetado com extensões que o tornam mais flexível para que os programadores e fabricantes de hardware possam aplicar seus próprios recursos ao utilizá-lo. Inclusive, se essas extensões se tornarem suficientemente interessantes, o conselho da ARB pode incluí-las no padrão oficial nas próximas versões do programa.

O OpenGL é considerado mais flexível que outros API's similares, e com maior facilidade para adaptações de jogos de PC para consoles.

Outra vantagem é que o OpenGL possui extensões de software que permitem emular determinadas funções, o que torna possível que o pacote possa ser compatível mesmo com hardwares não tão completos ou com capacidade menor.

Prós:

- Flexibilidade para aplicação em diferentes plataformas

- Compatibilidade com a maioria dos hardwares de vídeo

- Emuladores que auxiliam funcionamento dos gráficos mesmo em hardwares de menor capacidade

- Constantemente revisado e atualizado pelo conselho da ARB

Contras:

- Menos opções de recursos para desenvolvimento de efeitos visuais do que outros API's similares