Saiba o que é OpenGL e conheça sua nova versão

O resultado da empreitada do executivo da PSafe e o seu dia a dia na Ásia, você lê aqui no Blog, todas as segundas e quartas-feiras, às 19h.

O OpenGL é uma API (Application Programming Interface) para criação de aplicações gráficas, definida como “um programa de interface para hardware gráfico”. Na verdade, OpenGL é uma biblioteca de rotinas gráficas e de modelagem bi (2D) e tridimensional (3D), extremamente portável e rápida. Usando OpenGL é possível criar gráficos 3D com uma qualidade visual altíssima. Entretanto, a maior vantagem na sua utilização é a rapidez, uma vez que utiliza algoritmos cuidadosamente desenvolvidos e otimizados pela Silicon Graphics Inc., líder mundial em Computação Gráfica e Animação.

O aplicativo em OpenGL é normalmente escrito em C ou C++. Com ele, você será capaz de exibir gráficos 3D realísticos com pouco esforço. Esta API é implementada na maior parte da GPU para proporcionar uma renderização diretamente pelo hardware.

Normalmente se diz que um programa é baseado em OpenGL ou é uma aplicação OpenGL, o que significa que ele é escrito em alguma linguagem de programação que faz chamadas a uma ou mais bibliotecas OpenGL.

A disputa, até alguns anos atrás, era grande entre OpenGL, Direct3D e Glide. Os três disponibilizavam funções análogas e tinham um grau de eficiência relativamente parecido, dependendo do hardware do usuário. A primeira competidora a sair da disputa acirrada foi a Glide. Isso porque ela era desenvolvida para ser compatível com as placas de vídeo da empresa 3Dfx, o que limitava demais a utilidade da API. A falência da produtora acabou por decretar seu destino.

A funcionalidade do OpenGL

Quando se está usando o OpenGL basta apenas determinar os passos necessários para alcançar a aparência ou efeito desejado, em vez de descrever a cena como ela deve parecer. Estes passos envolvem chamadas a esta API portátil que inclui aproximadamente 250 comandos e funções (200 comandos do core OpenGL e 50 da GLU – OpenGL Utility Library).

Por ser móvel, o OpenGL não possui funções para gerenciamento de janelas, interação com o usuário ou arquivos de entrada e saída. Cada ambiente, como por exemplo, o Microsoft Windows possui suas próprias funções para estes fins. Não existe um formato de arquivo OpenGL para modelos ou ambientes virtuais.

O OpenGL também fornece um pequeno conjunto de primitivas gráficas para construção de modelos, tais como pontos, linhas e polígonos. A biblioteca GLU (que faz parte da implementação OpenGL) é que fornece várias funções para modelagem, tais como superfícies quádricas e curvas, e superfícies NURBS (Non Uniform Rational B-Splines).

Nova versão tem mais atrativos

Foi lançado recentemente o OpenGL 4.5, a nova versão do API de programação 3D padrão da indústria, com uma série de novidades. Ela possui uma variedade de recursos pensados para facilitar a vida dos desenvolvedores e melhorar o desempenho de aplicações OpenGL.

O grande recurso no OpenGL 4.5 é o DSA. Ele permite que os desenvolvedores definam e organizem propriedades em objetos, como texturas, buffers de frames, programas de shader e mais. Tudo isso sem a necessidade de tornar unidades ativas ou atrelar objetos a elas. Em outras palavras, os programas podem operar nos próprios objetos.

O DSA está disponível como uma extensão já há alguns anos, mas, até o lançamento do OpenGL 4.5, não era um recurso-padrão. Os desenvolvedores não podiam confiar plenamente no DSA, o que representava um ponto fraco se comparado ao Direct3D da Microsoft, que oferece suporte ao recurso há muitos anos.