Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof. Marcelo Gattass Objetivo Implementar um visualizador de imagens panorâmicas. Método Sphere Mapping Geração de doordenadas de textura automática do OpenGL Manipulação na matrix de textura; Setar coordenadas de textura por vértice da esfera. Manipulação da câmera no espaço do olho. Implementação - Esfera x = r cos( theta ) cos( alpha ); y = r sin( theta ) z = r cos( theta ) sin( alpha ); alpha [0, 2π], theta [-π/2, π/2] Implementação - Textura 1, π/2 Segmentação: 12x12 0, -π/2 0, 0 1, 2π Inverter culling (front -> back) Implementação - Câmera sphere p(w) y(c) r z(c) Rotacionar apenas a câmera! Implementação - Câmera y(c) x(c) -z Não pode girar no eixo z da câmera! ERRADO! Implementação - Câmera y-axis = ?? sphere y(c) z(c) p r Implementação - Câmera y-axis em coordenadas do olho? Utilizar ModelView P(eye) = MV * P(world) y-axis(eye) = MV * (0,1,0) Girar em torno de y-axis(eye)!!! Implementação - Câmera Restrição: ERRADO!!! Implementação - Câmera Restrição up(w) = MV-1 * (0,1,0) <up(w) . (0,1,0)> = 0 <up(w) . (0,-1,0)> = 0 Obs: (0,1,0) e (0,-1,0) escolhidos como polos. Referências Fonte de Imagens http://www.flickr.com/groups/equirectangular/