OpenGL ES (OpenGL for Embedded Systems) é uma subseção da API da biblioteca de gráficos tridimensionais OpenGL projetada para sistemas embarcados como telefones celulares, PDAs e consoles de vídeo games. OpenGL ES é mantido pelo Khronos Group.
Versões
Atualmente existem diversas especificações do OpenGL ES. A versão 1.0 foi projetada de acordo com a versão 1.3 do OpenGL, já a versão 1.1 é definida de acordo com a versão 1.5 do OpenGL e a versão 2.0 é baseada na versão 2.0 da biblioteca OpenGL.
Na criação da especificação de OpenGL ES muitas funcionalidades presentes na API original do OpenGL foram removidas e algumas poucas adicionadas. A duas maiores diferenças entre OpenGL e OpenGL ES são a remoção das chamadas glBegin
-glEnd
para desenhar primitivas (favorecendo o uso de vertex arrays) e a introdução do tipo numérico de ponto fixo para as coordenadas de vértices e atributos visando melhor suporte nos sistemas embarcados que normalmente não suportam o tipo numérico de ponto flutuante. Diversas outras funcionalidades foram removidas logo na primeira versão para produzir uma interface mais leve.
A versão 2.0 da biblioteca, lançada em Março de 2007, eliminou o pipeline convencional adotando o novo pipeline programável. Quase todo suporte a renderização utilizando funções da API em um pipeline estático foram removidas sendo então substituídas por shaders escritos pelo programador. Como resultado OpenGL ES 2.0 não é compatível com OpenGL ES 1a
.1.
Uso
- OpenGL ES 1.0 é a biblioteca de gráficos 3D padrão do sistema operacional Symbian OS.
- OpenGL ES 1.0 mais algumas funcionalidades da versão 2.0 e suporte à linguagem de shaders Cg é utilizado no Playstation 3 como uma de suas APIs oficiais (a outra é a biblioteca de baixo nível libgcm).
- OpenGL ES 1.1 é utilizada como a biblioteca de gráficos 3D do iPhone.
- OpenGL ES 2.0 será a biblioteca de gráficos 3D do console Pandora. Também existe um rumor que o Windows Mobile 7 da Microsoft suportará OpenGL ES 2.0. Esta versão também foi escolhida para o WebGL (OpenGL para browsers). Na Versão de API Android 2.2 ou maiores já está presente.
Referências
Ver Também
Ligações Externas