• Nenhum resultado encontrado

Pipeline de Visualização Câmara Virtual

N/A
N/A
Protected

Academic year: 2021

Share "Pipeline de Visualização Câmara Virtual"

Copied!
53
0
0

Texto

(1)

Licenciatura em Engenharia Informática e de Computadores

Computação Gráfica

Pipeline de Visualização

Câmara Virtual

(2)

LEIC CG

Questão 2, exame de 20/07/11

[3.0v] Considere os polígonos “A” e “B” e o ponto “P”

representados na figura abaixo.

a) calcule a matriz final que representa a transformação a aplicar

ao polígono “A” para que este se transforme no polígono “B”.

b) Calcule as coordenadas do ponto “Q” resultante da aplicação

da transformação referida anteriormente a “P”

(3)

LEIC CG

Questão 2, exame de 20/07/11

[2.0v] (…) calcular a matriz de transformação (…)

=

=

1

0

0

2

1

0

2

0

1

1

0

0

0

)

º

45

cos(

)

º

45

sin(

0

)

º

45

sin(

)

º

45

cos(

1

0

0

4

1

0

3

0

1

)

2

,

2

(

)

º

45

(

)

4

,

3

(

R

T

T

M

o

o

=

2

2

3

2

2

2

2

?

(4)

LEIC CG

Questão 2, exame de 20/07/11

[1.0v] (…) calcular as coordenadas de “Q” (…)

+

=

=

=

1

2

2

4

3

1

4

4

1

0

0

2

2

4

2

2

2

2

3

2

2

2

2

P

M

Q

?

(5)

LEIC CG

Sumário

Câmara Virtual

(6)

LEIC CG

Sistema de Visualização Geral

© 2015 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

WCS

(3D)

DC

(7)

LEIC CG

Sistema de Visualização Geral

Posição da câmara

Posição e Orientação do plano de visualização

(8)

Licenciatura em Engenharia Informática e de Computadores

Computação Gráfica

Computação Gráfica

Câmara Virtual

(9)

LEIC CG

(10)

LEIC CG

Modelo da Câmara Virtual Simples

Parâmetros:

VRP: Posição da câmara

(View Reference Point)

VPN: Direcção para onde aponta a câmara

(View Plane Normal)

VUV: Rolamento da câmara

(View Up Vector)

D: Distância de VRP ao plano de projecção

VPN

VUV

VRP

VRP

D

VPN

(11)

LEIC CG

Viewing Reference Coordinates

VPN

WCS

v

n

u

y

wcs

x

wcs

z

wcs

VRP

WCS

(12)

LEIC CG

© 2015 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Viewing Reference Coordinates

Origem em VRP

(u, v, n) sistema ortogonal “mão esquerda”.

vpn

v

n

u

y

w

x

w

z

w

VRP

u

v

n

n “sai” da câmara

(13)

LEIC CG

Determinar VRC

Determinar u, v, n (em WCS)

(u, v, n): base ortonormada

n: vector unitário na direcção VPN

VUV:

projecção de VUV´ no plano perpendicular a n

VUV’ introduzido pelo utilizador

Sequência de passos:

VUV

v

=

VUV

=

VUV´

VPN(

VPN

VUV

´)

v

n

u

=

×

VPN

VPN

n

=

,

(14)

LEIC CG

Janela de Visualização

Definida sobre o Plano de Projecção,

em VRC

por indicação das suas dimensões

2h (altura) e 2w (largura).

Variante: introduzir relação de aspecto e uma dimensão

Obrigatoriamente centrada no ponto VRP

Centro é CW (Center of Window)

CW = (0, 0, D).

Plano de Visualização Janela de Visualização

u

VRP

v

VPN

h

w

(15)

LEIC CG

Modelo da Câmara Virtual Simples

Até agora introduziram-se os parâmetros:

VRP em coordenadas WCS

Vectores orientação (VPN e VUV´) em coordenadas WCS

Dimensões h e w da janela de visualização

(16)

LEIC CG

Volume de Visualização

Contém tudo o que está visível

na direcção do observador

O que “vê” a câmara?

Definição e topologia

dependem do tipo de projecção

Volumes cónicos

Computacionalmente pesados

Sistema de equações quadráticas

para fazer o recorte

(17)

LEIC CG

Projecções Geométricas Planas

Existem dois tipos principais

Projecção Perspectiva

Projecção Ortogonal

• Determinada pelo centro de projecção (CDP)

• Distância do CDP ao plano finita

A

B

B

´

A

´

CDP

Raios

Projectores

Plano de

Projecção

• Determinada por direcção de projecção

• Distância do CDP ao plano infinita.

A

B

B

´

A

´

Direcção de

Projecção

Raios

Projectores

Plano de

Projecção

(18)

LEIC CG

© 2015 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Volume de Visualização

Projecção Perspectiva

Definido pelo tronco de pirâmide infinita

vértice no centro de projecção (VRP)

lados sobre a janela de visualização.

Recorte da cena sobre este volume antes da projecção

não ficam projectados objectos atrás do centro de projecção

vpn

v

n

u

y

w

x

w

z

w

z

v

CW

(19)

LEIC CG

Abertura do Volume Perspectivo

FOV: Field of View

Θ

V

: abertura

vertical

tg (

Θ

V

/ 2) = h / D

VRP

Jan. Vis.

CW

v

n

h

D

Θ

W

: abertura

horizontal

tg (

Θ

W

/ 2) = w / D

VRP

Jan. Vis.

CW

u

n

w

D

Vista lateral do volume

Vista topo do volume

Y

v

Z

v

Z

v

X

v

(20)

LEIC CG

Volume de Visualização

Projecção Ortogonal

Definido pelo paralelipípedo infinito

passando pelos lados da janela de visualização

de arestas paralelas à direcção VPN.

O eixo central do paralelipípedo

coincide com o eixo n.

paralelepípedo (FOV = 0)

VPN

largura

altura

u

v

Projecção e

Recorte

mais Simples

(21)

LEIC CG

Limitações do

Volume de Visualização

Consequências negativas

Utilização volume de visualização infinito

mais evidentes no caso de Projecções em Perspectiva

Objectos muito afastados

depois de transformados

podem resumir-se a um pequeno “borrão”

desperdício em tempo de computação

Projecções de objectos demasiado próximos

podem gerar um resultado gráfico caótico.

(22)

LEIC CG

Limitações do

Volume de Visualização

Solução:

Definir planos de recorte

paralelos ao plano de projecção

através da sua distância a VRP

medida ao longo da direcção de VPN

Plano anterior

distância F ao centro de projecção (VRP)

Plano posterior

distância B ao centro de projecção (VRP)

Restrições

(Referencial VRC orientado segundo “mão esquerda”):

Distância F positiva;

Distância F < Distância B

(23)

LEIC CG

Planos de Recorte

Volume entre planos de recorte

determina o que a camara vê

Posição dos planos definida por

distância na direcção do VPN

plano recorte

anterior

plano recorte

posterior

(24)

LEIC CG

Volume de Projecção Perspectiva

(Frustum)

VRP

Pl. anterior

Jan. Vis.

Pl. Posterior

z

v

Eixo central

CW

B

F

VRP

Plano anterior

Janela de

visualização

Plano posterior

CW

B

F

Eixo

central

D

D

Θ

V

Θ

H

z

v

(25)

LEIC CG

Volume de Projecção Ortogonal

z

v

largura

altura

u

v

VRP

(26)

LEIC CG

Volumes de Visualização

Resumo das características gerais

Volume ortogonal:

paralelípedo definido pelos seguintes planos

-w

x

v

w

-h

y

v

h

F

z

v

B

Volume perspectivo:

frustum definido pelos seguintes planos

- (w / D) * z

v

x

v

(w / D) * z

v

- (h / D) * z

v

y

v

(h / D) * z

v

F

z

v

B

(27)

LEIC CG

Câmara em OpenGL

Por omissão:

Câmara na origem do referencial do mundo, aponta para –z

Volume de visualização é cubo centrado na origem c/ lado 2

(28)

LEIC CG

Câmara em OpenGL

Na vista ortográfica (por omissão)

Pontos são projectados no plano z=0

© 2015 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

z=0

(29)

LEIC

CG

(30)

LEIC CG

Que Visualização?

Rendering Interactivo 3D em Tempo Real

Cenas 3D

Realismo

Tempo Real

Interactividade

(31)

LEIC CG

P

ip

el

in

e

V

is

u

al

iz

ão

3

D

(32)

LEIC CG

O que é um Pipeline?

Vídeo:

Modern Times (Charlie Chaplin, 1936) – The factory scene

(33)

LEIC CG

O que é um Pipeline?

Conceptualmente:

Conjunto de tarefas executadas sequencialmente

Pipeline é a base da linha de montagem industrial

Em computação:

Conjunto de elementos de processamento de dados ligados

em série

Os dados produzidos por um andar do pipeline são processados pelo

andar seguinte

(34)

LEIC CG

© 2015 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

Pipeline Visualização 3D

Input: Cena 3D

possibilidade de utilizar aplicações

de modelação

Autocad

3DStudioMax

Maia,

Blender,

etc…

(35)

LEIC CG

Sequência de Operações

Primeiro Andar do Pipeline

Aplicação responsável pela obtenção de tempo-real,

interactividade e incremento do realismo. Andar

implementado em software. Input: base de dados da cena.

Contemplar:

Suporte de periféricos de E/S

Navegação

Técnicas de aceleração

Detecção de colisões

(36)

LEIC CG

Sequência de Operações

Segundo Andar do Pipeline

Transformação de Visualização e Projecção

Back-Face Culling

Recorte 3D

Transformação Perspectiva

Modelo de Iluminação

Mapeamento no viewport.

(37)

LEIC CG

Sequência de Operações

Terceiro Andar do Pipeline

Rasterização

Remoção de superfícies ocultas (HSR)

Sombreamento

Texturas e outros efeitos para maior realismo

(38)

LEIC CG

Pipeline de Baixo Nível

APIs Gráficas (OpenGL, Direct3D)

realizam os andares

Transformações Geométricas

Rasterização

Input

primitivas gráficas simples

fundamentalmente polígonos

Pipeline de baixo nível em hardware

chipsets GeForce da NVídia e Radeon da ATI

Pipeline de baixo nível

(39)

LEIC CG

Desempenho

Complexidade da cena

número de polígonos

reflecte-se no número de cálculos a efectuar nos andares do

pipeline de baixo nível

FLOPs

no andar das transformações Geométricas

Operações inteiras e acessos a memória

no andar de Rasterização

relação com a resolução em pixels do dispositivo de saída

(40)

LEIC CG

Desempenho

Exemplo

Cena com 100K polígonos e resolução 1280 x 1024

25 FPS

sistema terá de processar 100K polígonos por cada 40ms

920 milhões de flops nos cálculos geométricos

1006 milhões de operações inteiras

1270 milhões de acessos à memória

Bottleneck

andar de Rasterização

(41)

LEIC CG

Definição do Problema

Objectivo

Síntese de imagem

com grande grau de realismo

em tempo real

>25 fps

para cenas complexas

> 500 000 polígonos

Cena 3D

Número Total de Polígonos

Hardware

Gráfico

Taxa de desenho de

polígonos

(42)

LEIC CG

© 2015 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

P

ip

el

in

e

V

is

u

al

iz

ão

3

D

(43)

LEIC CG

(44)

LEIC CG

Current Transformation Matrix

Matriz 4 x 4 no espaço homogéneo

A current transformation matrix (CTM) é parte do

estado do OpenGL

CTM é aplicada a todos os vértices que “passam”

pelo pipeline geométrico

A CTM é definida na aplicação e carregada na

unidade de transformação

(45)

LEIC CG

(46)

LEIC CG

Pipeline de Geometria OpenGL

MODELVIEW

matrix

PROJECTION

matrix

perspective

division

viewport

transformation

w

z

y

x

eye eye eye eye

w

z

y

x

1

dev dev dev

z

y

x

proj proj proj proj

w

z

y

x

=dev win win win

z

y

x

original

vertex

vertices in the

eye coordinate

space

Clipping Coordinates

normalized device

coordinates

(foreshortened)

final window

coordinates

(47)

LEIC

CG

Transformação de Visualização

(48)

LEIC CG

Transformação de Visualização

Mudança de Referencial WCS

VRC

M

vis

= R

rot

T

trans

=

1

0

0

0

VRP

n

n

n

n

VRP

v

v

v

v

VRP

u

u

u

u

M

z

y

x

z

y

x

z

y

x

vis

Obs: Em coordenadas cartesianas, Rotação da Translação logo R[P-VRP] = R[P] + R[-VRP]

(49)

LEIC CG

Exemplo em OpenGL

Cálculo da matriz ModelView

Comando Look-At

Especifica

posição da câmara (eye-point)

local para onde está a apontar (at-point)

Rolamento da câmara (up)

gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,

GLdouble atx, GLdouble aty, GLdouble atz,

GLdouble upx, GLdouble upy, GLdouble upz)

(50)

LEIC CG

Exemplo em OpenGL

Cálculo da matriz ModelView

gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,

GLdouble atx, GLdouble aty, GLdouble atz,

GLdouble upx, GLdouble upy, GLdouble upz)

(51)

LEIC CG

Exemplo em OpenGL

Cálculo da matriz ModelView

gluLookAt(

GLdouble eyex, GLdouble eyey, GLdouble eyez,

GLdouble atx, GLdouble aty, GLdouble atz,

GLdouble upx, GLdouble upy, GLdouble upz)

=

1

0

0

0

VRP

n

n

n

n

VRP

v

v

v

v

VRP

u

u

u

u

M

z

y

x

z

y

x

z

y

x

vis

(52)

LEIC CG

Pipeline de Geometria OpenGL

MODELVIEW

matrix

PROJECTION

matrix

perspective

division

viewport

transformation

w

z

y

x

eye eye eye eye

w

z

y

x

1

dev dev dev

z

y

x

proj proj proj proj

w

z

y

x

=dev win win win

z

y

x

original

vertex

vertices in the

eye coordinate

space

Clipping Coordinates

normalized device

coordinates

(foreshortened)

final window

coordinates

(53)

LEIC CG

Próxima Aula

Volumes Canónicos

Transformação de Normalização

Transformação de Projecção

Referências

Documentos relacionados

I- UBS com ou sem saúde da família, inscritas no cadastro nacional de estabelecimentos de saúde do ministério da saúde, de acordo com as normas sanitária exigentes. II- UBS com ou

Como fizemos uma fuga e havia uma integração tão grande, os militares ficaram com medo de que voltássemos para buscar o resto dos presos ou que houvesse

2 Utilize os botões apontadores  para seleccionar o item pretendido e, em seguida, prima o botão SELECT para visualizar a caixa de diálogo de ajuste.. Utilize os

O controle cervical após 12 meses foi de 59% para os pacientes com recidiva cervical unilateral submetidos a tratamento de resgate, sendo 43% nas recidivas ipsilaterais e 65%

Avaliamos, portanto, que dar visibilidade a essa criação cotidiana dos operadores pode fornecer pistas e indicar caminhos mais efetivos para as mudanças que são necessá- rias

Os objetivos do Estágio Supervisionado - Alfabetização é observar o cotidiano da escola e da turma estagiada, ou seja, é refletir sobre o processo educacional, e as possíveis

Mário Luiz Neves de Azevedo, Coordenador Adjunto do Programa de Pós- Graduação em Educação do Centro de Ciências Humanas, Letras e Artes da Universidade Estadual

Assim, para a partição de uma dada espécie “i” entre as duas fases de um SAB, no qual i está presente em ambas as fases do sistema, a condição de equilíbrio