Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula - 007 - OpenGL PDF
Aula - 007 - OpenGL PDF
Professores:
Aula 7
Contedo:
- OpenGL
Anselmo Montenegro
Esteban Clua
OpenGL - Limitaes
- No gerencia janelas nem trata eventos produzidos
por dispositivos de interao.
- No possui comandos de alto nvel para especificao
de objetos 3D complexos.
- Objetos complexos devem ser construdos a partir de
primitivas geomtricas simples.
10
11
12
APIs relacionadas
GLU (OpenGL Utility Library)
- Parte do padro OpenGL.
- NURBS, trianguladores, qudricas, etc.
13
GLUT
Biblioteca para criao de interfaces grficas
simples para programas grficos baseados em
OpenGL.
Fornece um conjunto de primitivas para desenho
de objetos mais complexos como qudricas e etc.
14
(J inclui glut.h)
15
Callbacks
Callbacks so rotinas que sero chamadas para
tratar eventos.
Para uma rotina callback ser efetivamente chamada
ela precisa ser registrada atravs da funo.
glutXxxFunc (callback)
16
Callbacks de Desenho
a rotina chamada automaticamente sempre que a
janela ou parte dela precisa ser redesenhada (ex.:
janela estava obscurecida por outra que foi fechada)
Todo programa GLUT precisa ter uma! Exemplo:
17
Callbacks de Redimensionamento
glutReshapeFunc (Reshape);
18
Callbacks
Outras callbacks comumente usadas
Eventos de teclado
void keyboard(unsigned char key, int x, int y)
Eventos de mouse
void mouse(int button,int state,int x,int y)
void motion(int x, int y)
void passiveMotion(int x, int y)
19
20
21
22
23
24
25
26
Rendering
27
Primitivas de Desenho
glBegin ( PRIMITIVA );
especificao de vrtices, cores,
coordenadas de textura, propriedades
de material
glEnd ();
Entre glBegin() e glEnd() apenas alguns comandos
podem ser usados. Ex.:
glMaterial
glNormal
glTexCoord
28
Primitivas de Desenho
Uma vez emitido um vrtice (glVertex), este
desenhado com as propriedades (cor, material,
normal, coordenadas de textura etc) registradas
nas variveis de estado correspondentes.
Concluso: Antes de emitir um vrtice, assegurar-se
que cor, material, normal, etc tm o valor certo.
29
Primitivas de Desenho
30
Triangle Strips
Idia fundamental: minimizar volume de vrtices e
consequentemente, minimizar clculos de iluminao,
normais, clipping, etc.
31
Triangle Strips
Strips: possvel descrever um tringulo com
menos de 3 vrtices?
Problema
31
Triangle Strips
31
Triangle Strips
32
Professores:
Aula 7
Contedo:
- OpenGL
Anselmo Montenegro
Esteban Clua