CG Aula3 1 Introdu O Ao OpenGL

911 palavras 4 páginas
1 Introdução ao OpenGL
1.1 Bibliotecas Necessárias
GLUT: elementos de interface gráfica com o usuário
OpenGL: comandos primitivos de modelagem e visualização
GLU: definição de matrizes para projeção e orientação
E outras:
FLTK
wxWidgets
Open Inventor
1.2 Padronização de nomes de funções e tipos de dados
Os nomes utilizados com o OpenGL seguem em geral um padrão:
<prefixo da biblioteca>
<comando
raiz>
<contador de argumentos (opcional)>
<tipo de argumento (opcional)>
Exemplos:
glColor3f(1,0,0) glutCreateWindow(“Primeiro Programa”)
1.2.1 Tabela de tipos de dados b = signed char i = integer f = float d = double s = short ub = unsigned char us = unsigned short ui = unsigned int
1.3 Máquina de Estados
OpenGL é uma máquina de estados.
É possível colocá-la em vários estados (ou modos) que não são alterados, a menos que uma função seja chamada para isto.
Por exemplo, a cor corrente é uma variável de estado que pode ser definida como branco. Todos os objetos, então, são desenhados com a cor branca, até o momento em que outra cor corrente é especificada.
1.4 Estrutura básica de um programa usando OpenGL
Configura e abre uma janela
Inicializa OpenGL
Registra funções callback
Render
Resize entrada: teclado, mouse, etc.
Entra no loop de processamento de eventos
1.5 Callback da biblioteca GLUT
Callback = gerencia eventos de teclado, mouse e joystick. Ou seja, quem chama uma função não é o programador e sim o GLUT
Exemplos de funções Callback:
Função
Evento que gerencia glutDisplayFunc() Redesenha ou atualizar uma janela glutReshapeFunc() Redimensiona janela glutKeyboardFunc() Pressiona teclas comuns (Tabela ASCII) glutSpecialFunc() Pressiona teclas especiais (F1, Page up, ...) glutMouseFunc() Pressiona e libera botões do mouse glutMotionFunc() Movimento dos mouses com o botão pressionado glutPassiveMotionFunc() Movimento do mouse sem botão pressionado glutIdleFunc() Controlar sempre que o sistema estiver ocioso

2 A instalação do OpenGL
2.1 Verificando os arquivos do OpenGL

Relacionados