OpenGL Compatible Interface 

 
 
 
A Implementação

 

* Recursos Utilizados
* Pipeline de Renderização do OpenGL



 
A biblioteca implementada foi chamada de S3D_GL e se baseia em uma estrutura chamada GLContext que guarda o estado da máquina OpenGL. Quanto à funcionalidade, as rotinas implementadas podem ser assim divididas: 
Ø  Especificação de primitivos e seus atributos
Ø  Transformação de coordenadas
Ø  Cor e iluminação
Ø  Rasterização
Ø  Operações no framebuffer
Ø  Execução


Recursos Utilizados
A biblioteca S3D_GL foi implementada em C. Ao longo da implementação estendemos o S3D, colocando essas novas rotinas em um arquivo chamado aux.c. 

Além disso, para produzir os exemplos foi preciso compilar algumas funções das bibliotecas GLUT(OpenGL Utility Toolkit) e GLU(OpenGL Utility Library) com a S3D_GL para a implementação de quádricas.

Back to top



 
Pipeline de Renderização do OpenGL 
Este é o pipeline simplificado do OpenGL que foi implementado. São funções suficientes para fazer a rasterização de pontos e polígonos.

 
 

            (I)                           (II)                       (III) 

(I) Esse estágio opera nos primitivos geométricos descritos pelos vértices: pontos, segmentos e polígonos. Aqui os vértices são transformados e iluminados, e os primitivos são recortados para um volume de visão em preparação para o próximo estágio. 
(II) A rasterização é a conversão dos dados geométricos em fragmentos (descrição bidimensional de um ponto, linha ou polígono). Cada fragmento assim produzido é passado para o próximo estágio que realiza operações em fragmentos individuais, antes deles afetarem o framebuffer
(III) Aqui é feito o teste do z-buffer e finalmente os fragmentos processados são desenhados no buffer

 
 
Com relação ao primeiro estágio ainda temos:

 

 
 

  Association of current values with a vertex. The heavy lined boxes represent GL state.


 
 
 
 

 Primitive assembly and processing.


 
 
Back to top

Previous| Home| Next