Aula Prática

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 2013/2014
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/1314i – Carlos Guedes
! /!2
1
Computação Gráfica
Aula prática - OpenGL
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/1314i – Carlos Guedes
! /!2
2
Download