Aula Prática - OpenGL

Propaganda
Instituto Superior de Engenharia de Lisboa
Área Departamental de Engenharia de Electrónica e Telecomunicações e de Computadores
Licenciatura em Engenharia Informática e de Computadores
Computação Gráfica
Aula Prática - OpenGL, Semestre de Inverno de 2012/2013
Nesta aula prática os alunos desenvolvem competências na elaboração de aplicações com interface
gráfica 2D e 3D em OpenGL, usando a linguagem de programação Java e a biblioteca JOGL.
1. Aplicação 2D
Implemente uma cena 2D, em OpenGL com JOGL, que desenha a vista lateral do carro indicado na
figura 1. Os valores apresentados, nas medições do carro, são em metros.
No sítio do JOGL está disponível um tutorial [1] com instruções relativas à configuração do ambiente
de desenvolvimento Eclipse para a implementação desta aplicação.
[1] http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE#Eclipse_IDE_project
Nota: Nesta fase não é necessário redefinir a posição da câmara, mas deve ser necessário alterar a
projecção ortográfica de forma a ser possível visualizar toda a lateral do carro.
2. Aplicação 3D
Implemente a uma cena 3D com o carro indicado na figura 1 (não tem que implementar o eixo de
coordenadas, ele apenas é apresentado na figura para mostrar a orientação do carro). Nesta fase deve
usar os métodos glutSolidCylinder e glutSolidCube para a modelação geométrica do carro.
Esta versão da aplicação não tem que suportar a rotação das rodas dianteiras do carro. Nesta versão,
as rodas dianteiras devem ser desenhadas tal como indica a figura, ou seja com um ângulo de 20o.
Nota: Nesta fase deve posicionar a câmara tal como indicado na figura 1, e deve usar uma projecção
perspectiva.
CG/1213i – Carlos Guedes
1/2
Computação Gráfica
Segundo trabalho
3. Animação
Adicione suporte para movimento do carro. Assuma que o carro se desloca a uma velocidade
constante de 2m/s, e em linha recta, sem ser possível mudar de direcção.
Tenha em atenção que como o carro está em movimento, as suas rodas devem rodar!
Nota: Para auxiliar a implementação da animação sugere-se a utilização do tipo FPSAnimator do JOGL,
e do método System.currentTimeMillis() do Java.
4. Interacção
Suporte a condução do carro, com correspondente rotação (lateral) das rodas. A condução do carro
deve ser realizar por activação das teclas direccionais ( ) do teclado.
A implementação deve usar o mecanismo de eventos de teclado do AWT.
Nota: O GLCanvas tem que ter focus para receber os eventos de teclado. Use os métodos
setFocusable(true) e requestFocus().
Bom trabalho
CG/1213i – Carlos Guedes
2/2
Download