Lic. Engenharia Informática 2000/2001 - Computação Gráfica | Filipe
Pacheco OpenGL |
3 | Programas
Exemplo
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
cube_new.c Adaptação de cube.c mas agora com luzes, materiais e um sólido da GLUT.
cube_new2.c Adaptação de cube_new.c mas agora com dois viewports, múltiplas luzes, texto.
casa.c Exemplo de utilização de Display Lists. Como extra um exemplo básico de transparência.
robot_2.c 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.
pick.c 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). 3dfunc.c Programa que desenha uma função 3D. 3dmaze.c 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).
3dfunc.c Programa que desenha uma função 3D. texture.zip 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