Shadow map
Shadow map ou Mapeamento de sombra é uma técnica para criar sombras adicionada em imagens 3D produzidas por computação gráfica. Esse conceito foi introduzido por Lance Williams em 1978, em um paper com o título "Casting curved shadows on curved surfaces". Desde então vem sendo usada em cenas pré-renderizadas ou tempo-real em diversos consoles ou jogos de PC. As Sombras são criadas testando quando um pixel está visível a partir fonte de luz comparando isso com o z-buffer ou com a visão de profundidade da imagem segundo a fonte de luz, guardada na form de textura.
Princípio da sombra e do mapeamento de sombra(shadow map)
Se for olhado de fora da fonte de luz, todos os objetos que você veria apareceriam iluminados. Qualquer coisa atrás desses objetos, portanto, estariam na sombra. Esse é o princípio básico usado para criar o mapeamento da sombra(shadow map). A visão que temos da parte iluminada é renderizada, guardando a profundidade de cada superfície que é vista(o shadow map). Depois, as cenas regulares são renderizadas comparando a profundidade de cada pixel desenhado(como se fosse visto pela luz e não apenas pelo vista) para esse mapeamento de profundidade.
Conceito
Com a técnica shadow map cria-se uma imagem vista da posição da luz que se deseja projetar a sombra. Ao contrário de uma imagem qualquer, cujos pixels armazenam cores, a imagem gerada armazena as distancias dos respectivos pixels em relação à luz.
Depois de criada essa imagem o processo de aplicar a sombra consiste em renderizar a cena vista da posição da câmera, e para cada pixel criado, o mesmo é transformado para a visão da luz. Então é feita uma comparação da distancia desse pixel com a luz e o valor armazenado no shadow map. Se a distância pixel-luz for maior que o valor armazenado no shadow map então o pixel está sombreado, pois existe um outro pixel com uma distância menor em relação a luz na frente dele projetando uma sombra; caso contrário, o pixel estará iluminado.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.