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