Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof....

Post on 17-Apr-2015

105 views 0 download

Transcript of Trabalho 2 – Imagens Panorâmicas Andrei Monteiro Fundamentos de Computação Gráfica Prof....

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/