![]() |
Lic. Engenharia Informática 2000/2001 - Computação Gráfica | Filipe
Pacheco OpenGL |
![]() |
||
3 | ![]() Nesta página está disponível o código C utilizado nas aulas práticas, para obter mais demos OpenGL consulte as páginas da OpenGL ou de Computação Gráfica (ver índice OpenGL). Template básico 2D OpenGL Exercícios: - Desenhar os Eixos X, Y (comprimento 2 unidades)
![]() Template para realizar Relógio 2D em OpenGL Exercício: - Implementar um relógio analógico em OpenGL usando como base o ficheiro indicado
Exemplo de um programa simples 3D com um cubo colorido em rotação. Exercícios: - Retirar faces ao cubo
![]() Adaptação de cube.c mas agora com luzes, materiais e um sólido da GLUT.
![]() Adaptação de cube_new.c mas agora com dois viewports, múltiplas luzes, texto.
![]() Exemplo de utilização de Display Lists. Como extra um exemplo básico de transparência.
![]() Um braço robot simples com base e dois braços articulados. Utilizando o rato é possível alterar o ângulo de uma das uniões (movimento horizontal) ou selecionar a união (movimento vertical). Também tem disponível um menu pop-up.
![]() Adaptação de robot.c mas agora com picking para selecionar o braço a mover, visualização solid/wireframe, selecção de ponto de vista (perspectiva) e ainda uma zona com icons de estado. Idêntico ao anterior mas limita o
movimento do robot de forma a estar sempre acima do plano X-Z (ou seja,
Y>0). ![]() Programa que desenha uma função 3D. ![]() Pequeno mundo 3D com um objecto fixo
e outro controlado pelo utilizador
Permite trocar entre vista 2D (de cima),
e duas vistas 3D (ponto de vista do objecto
controlado pelo utilizador, e visão geral
do mundo em rotação)
Para controlar o objecto utilizar as
teclas "q", "a", "o", "p" (e ainda
"w" e "s" na vista 3D do utilizador).
![]() ![]() Programa que desenha uma função 3D. ![]() Exemplo de utilização de textura em formato PPM.
As teclas de cursor permitem rodar o cubo. "t" e "T" afastam ou aproximam o cubo do utilizador. A tecla "s" muda para modo de textura esférica.
Por questões de performance este exemplo usa Display Lists.
|
|
![]() |
22-5-2001