• Nenhum resultado encontrado

Visibilidade Ray-Tracing

N/A
N/A
Protected

Academic year: 2021

Share "Visibilidade Ray-Tracing"

Copied!
79
0
0

Texto

(1)

Visibilidade

Ray-Tracing

Instituto Superior Técnico

Apontamentos CG + Edward Angel, Sec. 7.11 e Cap.13

Instituto Superior Técnico

Computação Gráfica

(2)

Na últimas aulas



Terminado Pipeline de Visualização 3D

(3)

Sumário



Ray-Tracing



Algoritmo



Cálculo de Intersecções

Interacção da Luz com Superfícies



Interacção da Luz com Superfícies



Estratégias de Optimização

(4)

Computação Gráfica

Ray-Tracing

Ray-Tracing

(5)

Ray-Tracing



Opera ao nível da precisão da imagem



Tem em conta efeitos ópticos

 Refracção  Reflexão



Síntese de cenas com elevado realismo



Síntese de cenas com elevado realismo



Objectivo

 Combinar num só modelo

 Remoção de superfícies ocultas

 Sombreamento devido a iluminação directa  Sombreamento devido a iluminação global  Cálculo de sombras

(6)

Centro de

Cena

Ray Tracing: Filosofia

Centro de Projecção

Janela de Visualização

(7)

Sombreamento com Ray Casting

Para(cada pixel)

Criar raio do ponto de vista Para (cada objecto na cena)

Encontrar Intersecção com o raio Manter se mais próximo

(8)

Ray-Casting

Informação para Sombreamento



Características da Superfície e da Cena

 Normal à superfície  Direcção da luz

 Ponto de vista “viewpoint”



Propriedades do Material

 Componente Difusa (matte)  Componente Especular (brilho)  ...

Esfera Matte

Esferas Brilhantes

(9)

Sombreamento com Ray-Tracing

Para(cada pixel)

Criar raio do ponto de vista Para (cada objecto na cena)

Encontrar Intersecção com o Raio Primário Criar Raios Secundários

(10)

Ray-Tracing

Tipos de Raios



Raios Primários

 raios que unem o centro de projecção com os objectos



Raios Secundários

 raios reflectidos  raios refractados  raios refractados

(11)

Ray-Tracing

Tipos de Raios



Raios secundários

 Sombras  Reflexão  Refracção

(12)

Ray-Tracing

Raios Primários

Normalmente, um raio primário não intersecta qualquer objecto ...

(13)

Ray-Tracing

Raios Primários

(14)

Ray-Tracing

Raios Primários



Neste caso são criados raios secundários

 Raios de Iluminação (Shadow Feelers)  Raios Reflectidos

 Raois Refractados

(15)

Ray-Tracing

Raios Primários



Neste caso são criados raios secundários

 Raios de Iluminação (Shadow Feelers)

 Raios Reflectidos

(16)

Ray-Tracing

Raios de Iluminação (shadow feelers)

Raio de iluminação une o ponto intersectado à fonte de luz ...

(17)

Ray-Tracing

Raios de Iluminação (shadow feelers)

… mas, às vezes, intersecta um objecto antes de atingir a fonte de luz ...

(18)

Ray-Tracing

Raios de Iluminação (shadow feelers)

… e o ponto de intersecção pode estar na sombra, só sendo iluminado pela luz ambiente ou na penumbra se o objecto for translúcido.

(19)

Ray-Tracing

Raios Reflectidos

(20)

Ray-Tracing

Raios Reflectidos

A cor local do ponto de intersecção do raio reflectido à adicionada à cor local do ponto original.

(21)

Ray-Tracing

Raios Reflectidos

Sem reflexão

(22)

Ray-Tracing

Raios Reflectidos

S e m r e fl e x ã o 1 n íve l d e r e fl e x ã o 1 n íve l d e r e fl e x ã o 2 n íve is d e r e fl e x ã o 3 n íve is d e r e fl e x ã o

(23)

Ray-Tracing

Raios Refractados

(24)

Ray-Tracing

Raios Refractados

… a cor do ponto de origem da transmissão é adicionada à cor do ponto original.

(25)

Ray Tracing

Algoritmo



Todos os cálculos processam-se no espaço-objecto



Para cada ponto (ou pixel) do plano de imagem:

 traça-se um raio com origem no ponto de observação

em direcção à cena a representar

 em direcção à cena a representar



Se o raio intersecta um objecto

 efectuam-se cálculos locais de iluminação

 para determinar o sombreamento (ou cor) desse ponto como resultado da

(26)

Ray Tracing

O Algoritmo



Se o objecto é parcialmente reflector e/ou transparente

 cálculo de sombreamento no ponto inclui:

 contribuições luminosas de raios reflectidos e transmitidos

 O cálculo dessas contribuições implica:

traçado dos respectivos raios em sentido inverso,

 traçado dos respectivos raios em sentido inverso,  determinação das intersecções com a cena

 eventual traçado de novos raios a partir desses pontos de intersecção

 O processo termina quando:

 se atinge o fundo da cena (sai da cena) ou

 se atinge um número máximo de superfícies intersectadas ou  a contribuição é menor que um valor arbitrado

(27)

Ray Tracing

Recursividade

Plano de Visualização 1 3 4 7 10 11 12 13 14 15

Cena constituída por

1 2 4 5 6 8 9

(28)

Ray Tracing

Algoritmo Completo

Procedure TraceRay( pontoOrigem, direccao, nivel, cor){ var pontoInterseccao, direccaoReflexao;

var direccaoTransmissao, corLocal, corReflexao; var corTransmitida;

if ( nivel > nivelMaximo ) { cor = negro;

} else {

pontoInterseccao = (intersecção mais próxima de pontoOrigem); pontoInterseccao = (intersecção mais próxima de pontoOrigem); if ( !intersecção ) {

cor = corFundo; } else {

corLocal=(contribuição da iluminação directa);

(calcular direccaoReflexao);

TraceRay(pontoInterseccao, direccaoReflexao, nivel+1, corReflexao);

(calcular direccaoTransmissao);

TraceRay( pontoInterseccao, direccaoTransmissao, nivel+1, corTransmitida);

(combinar(cor, corLocal, corReflexao, pesoRefl, corTransmitida, pesoTrans));

} } }

(29)

Ray Tracing

Recursividade

Raios traçados a partir do ponto de observação A 1 Plano de Visualização 3 7 10 11 12 13 14 15 6 7 8 9 12 13 14 15 4 5 10 11 2 3 Fundo A A A B B B C C C C

Fundo Fundo Fundo

1 2 3 4 5 6 8 9

(30)

Computação Gráfica

Cálculo de Intersecções

Cálculo de Intersecções

(31)

Ray Tracing

Cálculo de intersecções



Estimativa de Whitted

 90 a 95% do tempo de processamento é gasto no cálculo das

intersecções em cenas de média complexidade



Tipo de intersecção: raio (recta) com um objecto

 esfera  polígono



Necessita calcular normal para calcular sombreamento

(32)

Ray Tracing

Cálculo de intersecções



Sugerida utilização de “volume envolvente”



para cada objecto



Se raio não intersecta o volume envolvente

não há necessidade de efectuar cálculos de intersecção



não há necessidade de efectuar cálculos de intersecção

com os vários polígonos do objecto



Esferas são volumes envolventes mais utilizados



pelas suas características isotrópicas



pela facilidade de cálculo da intersecção com um raio

(33)

Equação Paramétrica dos Raios

t

R

R

t

R

d

r

r

r

+

=

0

)

(

t<0 – para trás do centro de projecção (não interessa!) t=0 – Centro de projecção

t=1 – Plano de projecção

(34)

Intersecção Raio-Esfera – 1



Raio



Esfera

(x0,y0,z0) (x1,y1,z1) (xc,yc,zc)

(

)

(

)

(

z z

)

t z z t z z t y y t y y y y t x x t x x x x d d d + = − + = + = − + = + = − + = 0 0 1 0 0 0 1 0 0 0 1 0

Esfera



substituindo x, y, z do raio na equação da esfera, vem

0 2 2 − + = C t B t A

(

xxc

) (

2 + yyc

) (

2 + zzc

)

2 −r2 = 0

(

)

(

)

(

)

(

) (

) (

)

2 2 0 2 0 2 0 0 0 0 2 2 2 r z z y y x x C z z z y y y x x x B z y x A c c c c d c d c d d d d − − + − + − = − + − + − = + + =

(35)

Intersecção Raio-Esfera – 2

Normalizando o vector do raio

Podemos simplificar resolução da equação com:

1

1

2 2 2

+

+

=

=

A

z

y

x

d d d

C

B

B

t

=

±

2

B2- C Conclusão

<0 O raio não intersecta a esfera =0 O raio é tangente à esfera >0 O raio intersecta a esfera

na raiz correspondente ao ponto mais próximo (mas atenção…)

C

B

B

(36)

Em princípio queremos o mais próximo (menor):

Mas...

(a) t<0, não intersecta

(b) origem dentro da esfera (C>0): há duas soluções,

Intersecção Raio-Esfera – 3

C

B

B

t

=

2

(b) origem dentro da esfera (C>0): há duas soluções, queremos a maior, e não a menor!

(c) caso “normal”

(37)

Intersecção Raio-Esfera – 4

Não queremos calcular tudo antes de saber se há intersecção ou não... Solução: calcular

Se <0, não há intersecção possível

(outra forma: se e B<0, não intersecta)

OC R tdmin = D • 2

d

≥ Rd Rd 0 C 0C tdmin 0 C 0C tdmin

(outra forma: se e B<0, não intersecta)

2 2

r

(38)

Intersecção Raio-Plano



Equação do plano



substituindo na equação paramétrica da recta e

resolvendo em ordem a t, vem

0

D

z

C

y

B

x

A

+

+

+

=

resolvendo em ordem a t, vem



Raio paralelo ao plano se

(

)

d d d i

z

C

y

B

x

A

D

z

C

y

B

x

A

t

+

+

+

+

+

=

0 0 0 d i

R

N

D

R

N

t

+

=

0

0

=

R

d

N

(39)

Intersecção Raio-Polígono – 1



Soluções



simples com pouca precisão



mais complicada



Simples: o polígono



Simples: o polígono

contém o ponto de

intersecção ?



sim, se a soma dos ângulos

entre linhas traçadas dos

vértices para o ponto for

igual a 360 graus)

(40)

Intersecção Raio-Polígono – 2



Determinação geométrica

se o raio e o plano se intersectam, todas as projecções em (x,y), (x,z) e (y,z) contêm o ponto de intersecção

se uma das projecções do polígono não intersecta o raio, não há

intersecção

projecção por eliminação da coordenada de maior valor absoluto da normal ao plano

(41)

Intersecção Raio-Polígono – 3



Intersecção:

semi-recta com origem no ponto intersecta polígono um número ímpar de vezes

V*

V

válido para polígonos côncavos e auto-intersectantes U*

V*

(42)

Computação Gráfica

Interacção da Luz com Superfícies

Interacção da Luz com Superfícies

(43)

Cor de um Ponto – 1

A cor de cada ponto de uma superfície resulta de:



Cor local

 devido à iluminação da superfície por luz directa e luz ambiente



Cor do raio luminoso reflectido

 segundo a direcção de reflexão



Cor do raio luminoso transmitido

(44)

ponto de origem do raio

Cor de um Ponto – 2



Contribuições para a Intensidade Luminosa de um Ponto

de uma Superfície

Raio proveniente da direcção de refracção Raio proveniente da direcção de reflexão ponto da 1ª superfície

(45)



Cada vez que um raio

primário intersecta

uma superfície, há

que calcular:

N I θ θ R

Cálculo da Reflexão

que calcular:



um raio reflectido



um raio transmitido



Sendo I, N e R

vectores unitários :

N

cos

2

I

R

r

r

r

Θ

+

=

I (incidente) θ θ (reflectido)

(46)

Um raio luminoso, ao

transitar de um meio para

outro, refracta-se ou muda

de direcção devido à

diferença de velocidade da

N I θ1 n 1

Cálculo da Refracção

diferença de velocidade da

luz em cada um dos meios

(Lei de Snell)

N

I

T

sen

sen

)

cos

cos

(

1

2 1 12 12 12 1 2 2 1

η

η

θ

θ

η

η

η

θ

θ

=

=

=

+

T θ2 n2

(47)

Índice de Refracção

Meio Índice de refracção relativo ao vácuo Ar (293,15 K, 101,325 kPa) 1,00029 Água 1,33 Vidro crown 1,52 Vidro denso 1,66 Vidro cristal 2 Quartzo 1,46 Safira 1,77 Diamante 2,417 Cristais de iodo 3,34 Poliestireno 1,55 Alcool etílico 1,36

(48)

Reflexão Total





=

i t i

arcsen

η

η

θ

Meios Ângulo crítico Água - Ar 48º 46’ Vidro (crown) - Ar 41º 9’ Vidro (crown) - Água 61º 3’ Diamante – Ar 24º 27’ Safira - Ar 34º 25’

(49)

Computação Gráfica

Extensão ao

Extensão ao

Modelo de Iluminação de Phong

(50)



Objectos transparentes ou translúcidos

 acrescenta-se um novo termo à expressão de Phong para

calcular a luz que se vê através desses objectos



Define-se H´

Extensão ao

Modelo de Iluminação de Phong



Define-se H´

 normal à micro faceta perpendicular à direcção de refracção pura



Para a direcção de visualização

(

)

n t

a

transmitid

K

N

H

(51)

Extensão ao

Modelo de Iluminação de Phong

N

H’

V

L

P

(52)

Computação Gráfica

Determinação de Sombras

Determinação de Sombras

(53)

Sombras



Sombra

 ocorre quando algum objecto se interpõe entre a(s) fonte(s) de

luz e o ponto



Procedimento

traçar raios de iluminação (“shadow feelers”)

 traçar raios de iluminação (“shadow feelers”)

 entre o ponto e cada uma das fonte de luz

 raio intersecta um objecto opaco:

 a correspondente fonte de luz não contribui para a iluminação do ponto

 raio intersecta um objecto translúcido (penumbra):

 atenuar a intensidade luminosa da fonte de luz (não se fazem cálculos de refracção)

(54)

Determinação de Sombras

fonte de luz objecto translúcido objecto opaco A B C objecto translúcido

(55)

Computação Gráfica

Estratégias de Optimização

Estratégias de Optimização

(56)

Esforço de Cálculo



Exemplo:

 imagem 1024 x 1024  100 objectos

calcular 104.857.600 intersecções



Solução: optimizar o cálculo através de

 transformação segundo o raio  volumes envolventes

 hierarquização

 partição do espaço

(57)

Transformação Segundo o Raio



Transforma cada raio para que coincida com a direcção

dos ZZ



Aplica a mesma transformação aos objectos



Intersecções ocorrem em x=0 e y=0



Aplica-se transformada inversa ao ponto determinado

(58)

Volumes Envolventes – 1



Cálculo da intersecção do raio com volumes

envolventes dos objectos



esfera



elipsóide



elipsóide



paralelepípedo



poliedro convexo

(59)

Volumes Envolventes – 2



Se um raio intersectar um volume envolvente



devem ser feitos cálculos finos de intersecção entre o

raio e o objecto em causa



Os cálculos a efectuar dependem do esquema de



Os cálculos a efectuar dependem do esquema de

modelação geométrica utilizado na definição do objecto

 No caso mais usual utiliza-se um modelo de representação

pela fronteira (“boundary representation”) - objecto descrito por uma malha poligonal

(60)
(61)

Hierarquização



Organizar o espaço em árvore de volumes

envolventes



Um subespaço filho não pode ser

(62)

Partição do Espaço - 1

 O espaço é dividido em sub espaços limitados por volumes

envolventes

 Cada sub espaço contém objectos

 não é necessário que um objecto esteja totalmente contido num não é necessário que um objecto esteja totalmente contido num

subespaço

 Se um raio intersecta um sub espaço

 e no sub espaço intersecta um objecto

 processo pára, a não ser que o objecto esteja parcialmente contido no

sub espaço

(63)

Partição do Espaço - 2

Partição equitativa do

espaço

Só é necessário testar a

intersecção com os

subespaços contendo os

objectos A, B e C

(64)

Partição do Espaço - 3

Intersecção de objectos contidos em mais

do que um sub espaço

Sub espaço 2 é testado antes de 3

Encontra-se intersecção com B

Mas é necessário testar sub espaço 3 porque afinal é a intersecção com A que interessa

A B

3 2 1

(65)

Computação Gráfica

Anti-Aliasing

Anti-Aliasing

(66)
(67)

Ray-Tracing e Antialiasing - 2



Sobreamostragem simples

 muitos raios por pixel (9) ⇒ carga computacional elevada  há raios onde são mais necessários?



Sobreamostragem adaptativa



Sobreamostragem adaptativa

 mais raios onde necessário, menos onde não

 mas … grelha regular ⇒ perda de detalhe possível, ruído



Ray Tracing distribuído (estocástico)

 raios aleatoriamente localizados cobrindo área uniformemente  ruído aleatório é “perdoado” pela visão

(68)

Computação Gráfica

Radiosidade

Radiosidade

(69)

Motivação



Ray-Tracing permite bons resultados

 Mas necessita da componente “luz ambiente”  Não reproduz fielmente a realidade



Problema:



Problema:

 Reproduzir uma cena

 Sem recorrer a uma “falsa” luz ambiente



Solução:

 Recorrer a modelos físicos

(70)

Fundamentos



Princípio da Conservação da Energia



Balanço Energético Radiativo



Distribuição de luz num ambiente depende de



Distribuição de luz num ambiente depende de

 reflexões  absorções  transmissões 

Que dependem

 do comprimento de onda  do tempo

(71)

Características



Radiosidade depende unicamente da geometria



Calculada no espaço objecto



Não depende do ponto de vista



uma vez calculada uma cena

 não é necessário recalculá-la quando o ponto de vista muda



Emissão e reflexão difusas

(72)

Radiosidade

+

/

-

Grande consumo de memória



Cálculos complexos



Apenas pode considerar componente difusa



Apenas pode considerar componente difusa

 Extensão a componente especular

 necessita muita memória



Normalmente

(73)

Computação Gráfica

Fotorealismo

Fotorealismo

(74)

Fotorealismo

Exemplo

74

Christmas Baubles

(75)

Fotorealismo

(76)

Fotorealismo

Exemplo

76

Pebbles

By Jonathan Hunt 4 dias e meio a gerar

(77)

Computação Gráfica

Ray-Tracing em tempo real

Ray-Tracing em tempo real

(78)

NVIDEA Real time ray-tracing

78

4 Placas Quadro FX5800 em tandem 16 GB de memória GDDR3

Permite 30 fps Resolução HD

(79)

Referências

Documentos relacionados

Este experimento tem como finalidade mostrar o funcionamento dos para-raios, para tanto, simulou-se as descargas elétricas de um raio e a ação do para-raios em

À medida que os Raios Masculino e Feminino se reequilibram, eles se encontram no Sol de Igual Pressão no centro da Terra, o qual vai irradiar esse unificado Campo de Força da

Serão oferecidas 25 (vinte e cinco) vagas para ingresso no primeiro semestre de 2013, na área de concentração Treinamento Esportivo, assim distribuídas entre as linhas

ƒ Os parâmetros de celularidade e morfometria serão submetidos à transformada arcoseno, sendo, então, analisados por análise de variância one-way ANOVA, seguida de teste de Tukey.

A montagem da programação de abastecimento é um dos processos mais trabalhosos e complexos, pois consiste em determinar quais são os clientes que realmente precisam ser abastecidos

A cinco minutos de carro do Aeroporto Internacional de Dubai, este hotel fica próximo a um campo de golfe cinco estrelas e do Deira City Shopping Center.. Deira City Centre

O cilindro tem um raio de 1m e está centrado no ponto (. No centro do cilindro existe um intensidade necessária para que o ponto de intersecção do cilindro com o eixo real , seja

terceiro raio principal de uma lente convergente 36 terceiro raio principal no espelho esférico côncav 27 três raios principais das lentes 38. três raios principais no espelho