O documento fornece uma introdução ao OpenGL, descrevendo seu histórico desde os anos 1980, arquitetura e pipeline de renderização. Explica como o OpenGL surgiu como um padrão aberto para computação gráfica após padrões proprietários.
Sociologia Contemporânea - Uma Abordagem dos principais autores
Introdução ao OpenGL
1. Computação Gráfica Aula 5 – Introdução ao OpenGL Prof. Tony Alexander Hild Documento licenciado por Creative Commons - http://creativecommons.org/licenses/by-nc-sa/2.5/br/
5. Chamado PHIGS (sigla de Programmer’s Hierarchical, Graphics System) e começou a ser adotado por grandes fabricantes da época;
6.
7.
8. Isso levou a SGI a tomar uma decisão para que a adoção de sua API fosse impulsionada: torná-la um padrão público, para que todos os fabricantes de hardware pudessem adotá-lo;
9. A API Iris continha muito código proprietário e portanto não poderia ser aberta;
10. Também lidava com questões não tão relacionadas ao desenho 2D e 3D, como gerenciamento de janelas, teclado e mouse;
11. Ainda assim, era do interesse da Silicon Graphics manter os seus antigos clientes comprando seu hardware;
12.
13. O papel desse conselho é manter a especificação e indicar quais recursos serão adicionados a cada versão;
16. Em segundo lugar, os projetistas também sabiam que muitos hardwares não seriam poderosos o suficiente para abranger todo o padrão. Por isso, também incluíram extensões de software, que permitiam emular essas funcionalidades. Isso resolvia um problema sério que ocorria com a Iris: O da aplicação simplesmente não rodar pela falta de um ou outro recurso.
17.
18. Age como uma máquina de estados, que dizem ao OpenGL o que fazer;
23. O OpenGL também foi projetado para funcionar mesmo que a máquina que esteja exibindo os gráficos não seja a mesma que contém o programa gráfico. Pode ser o caso dos dois computadores estarem conectados em rede e, sendo que nesse caso o computador que gera os comandos é chamado cliente, enquanto o que recebe e executa os comandos de desenho é chamado de servidor. O formato de transmissão desses comandos (chamado protocolo) também é padronizado, então é possível que duas máquinas com sistemas operacionais e hardwares diferentes se comuniquem dessa forma. Se o OpenGL não está sendo executado numa rede, o computador é considerado ao mesmo tempo cliente e servidor.
24.
25. Eles são agrupados para serem enviados mais tarde, o que não só otimiza o uso da rede, mas também abre margem para outras otimizações;
26. Por conseqüência, um erro comum de muitos programadores é tentar medir o tempo levado pelos comandos de desenho simplesmente adicionando funções antes e depois de um comando (ou conjunto de comandos) o que, nessa arquitetura, certamente gerará resultados inválidos;
27.
28. Nessa arquitetura, a forma mais confiável de se medir a performance é através de software especial, que pode ser baixado na própria página do OpenGL.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38. Cada ambiente de janelas tem uma biblioteca de extensão do OpenGL. Por exemplo, o sistema X possui o glx, enquanto o Windows fornece a extensão wgl;
39. OpenGL Utility Toolkit (GLUT): É um toolkit que abstrai o sistema de janelas, fornecendo uma interface simples para a criação de uma aplicação OpenGL.