Ray casting

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Ray casting é um algoritmo utilizado em tratamento de imagem, e que tem como objectivo a sintetização de imagens 3D.

Pode-se definir como sendo o primeiro estágio do algoritmo de Raytracing, diferenciando-se deste na sua simplicidade já que o Ray casting não é um método recursivo.

Descrição[editar | editar código-fonte]

Método de Ray casting para remoção de faces ocultas

O algoritmo de Ray casting recorre ao lançamento de raios a partir do observador de forma a perceber qual a distância a que estão os objectos que compõem a cena. Tal como no Raytracing, os raios são emitidos a partir do observador, ou seja no sentido inverso do que acontece na natureza, a fim de poupar recursos computacionais. Se assim não fosse, o processamento seria incomportável e haveria grande desperdício de recursos, já que a maior parte dos raios de luz que partem da fonte de luz, não chegam ao observador.

O Ray casting é uma técnica que permite remover ou ignorar as superfícies escondidas numa imagem utilizando, para isso, as informações obtidas a partir das primeiras intersecções encontradas pelos raios lançados a partir do observador.

Ray casting não é sinónimo de Raytracing mas pode ser entendido como sendo uma versão abreviada e significativamente mais rápida do que o algoritmo de Raytracing. Ambos são algoritmos de ordenação de imagens utilizados em computação gráfica para sintetizar cenas tridimensionais em imagens a duas dimensões, pelo lançamento de raios desde o observador até à fonte de luz. Ray casting ao contrário do Raytracing não é um método recursivo, ou seja, não recorre ao lançamento de raios secundários a partir das intersecções dos raios primários com os objectos, eliminando assim o custo computacional exigido para o cálculo de reflexões, refracções e zonas de sombra. No entanto todos estes elementos podem ser simulados recorrendo a outros métodos matemáticos. Por tudo isto o Ray casting é considerado o método mais apropriado para a renderização de jogos 3D em tempo-real.

Na natureza, os raios de luz percorrem o espaço até encontrarem, eventualmente, uma superfície que interrompe o seu progresso. Durante a viagem do raio de luz uma de três coisas pode acontecer: absorção, reflexão ou refração. A superfície pode refletir toda ou apenas uma parte do raio numa ou mais direção. Também pode absorver parte deste raio de luz, resultando numa perda de intensidade do raio refletido/refratado. A soma das componentes absorvidas, refletidas e refratadas tem que ser igual ao inicial. Não podemos, por exemplo, refletir 70% da luz e absorver 50% já que assim teríamos 120%.

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]