Post on 17-Apr-2015
Trabalho 2 – Imagens Panorâmicas
Andrei MonteiroFundamentos de Computação GráficaProf. 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
Segmentação: 12x12
0, 0 1, 2π
0, -π/2
1, π/2
Inverter culling (front -> back)
Implementação - Câmera
y(c)
z(c)
r
sphere
p(w)
Rotacionar apenas a câmera!
Implementação - Câmeray(c)
x(c)
ERRADO!
-zNão pode girar no eixo z da câmera!
y(c)z(c)
r
sphere
p
Implementação - Câmera
y-axis = ??
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/