ray-casting - unicamp€¦ · ray-casting • vantagens: – resolução baseada no espaço de...
TRANSCRIPT
IA369E – 2s2010 - Ting
Ray-Casting
pI(p)
s(ti)
0p
1p
raiosProxy Geometry texturizada
Geometria amostrada por raios
srcdstdstdst
srcdstdstdst CCC
ααααα
)1(
)1(
−+=−+=
IA369E – 2s2010 - Ting
Procedimento
http://www.daimi.au.dk/~trier/?page_id=98
IA369E – 2s2010 - Ting
Ray-Casting
• Vantagens:– Resolução baseada no espaço de imagens– Tipicamente, 0.2% a 4% das células são visíveis– Os traçados dos raios são independentes, propícios à
paralelização– Flexibilidade
• Desvantagens:– Não há suporte direto– Complexidade dependente da resolução da imagem
IA369E – 2s2010 - Ting
Algoritmo de 1 passo
• Volume de dados � textura 3D• 1 fragment Shader para cada raio
– Amostras• Direção: posição de pixel – posição do observador
• Primeira Amostra: Interseção (raio, face mais próxima do observador)
• Última Amostra: Interseção (raio, face mais distante do observador)
– Composição• Propriedades de opacidade das amostras frente�atrás
IA369E – 2s2010 - Ting
IA369E – 2s2010 - Ting
Ray-casting com pré-integração
scalar.xscalar.y
cor e opacidade � src
IA369E – 2s2010 - Ting
Desempenho
• Condições de parada no percurso dos raios– Truncar o percurso com condições simples
• Amostragem adaptativa– Volume auxiliar para adequar passos de
amostragem � importance volume
• “Desvio” de células vazias
IA369E – 2s2010 - Ting
Visualização da Amostragem
Imagem Original Imagem de número de amostras em cada raioPreta�512 amostrasBranca�0 amostra
Imagem de número de amostras em cada raio,
aumentando a opacidadePreta�512 amostrasBranca�0 amostra
IA369E – 2s2010 - Ting
Estimativa de espaços vaziosOctree
http://chiranjivi.tripod.com/octrav.html
Valor escalar mínimo e o máximo de cada
célula
Existência ou não de valor visível
Pula ou não a célula
IA369E – 2s2010 - Ting
Octree como textura
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter37.html
IA369E – 2s2010 - Ting
Algoritmo multi-passos
• Limitações de GPU: laços, desvios condicionais.– Diferentes shaders para computar ponto de
entrada, composição e ponto de saída aolongo de cada raio.
IA369E – 2s2010 - Ting
Reticulados Não uniformes
IA369E – 2s2010 - Ting
Malha como textura
Textura 2D
Textura 3D
Codificadoem 2 bytes
IA369E – 2s2010 - Ting
Malha como textura
http://http.developer.nvidia.com/GPUGems3/gpugems3_ch22.html
IA369E – 2s2010 - Ting
Um Exemplo
Imageamento de superfície Imageamento de volume