1 / 25

Ambient Occlusion

Departamento de Informática. Ambient Occlusion. Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass. Allan Carlos Avelino Rocha. Departamento de Informática. Introdução. Motivação:. Iluminação Global Tradicional. Não provoca adequado efeito Realístico.

Download Presentation

Ambient Occlusion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Departamento de Informática Ambient Occlusion Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha

  2. Departamento de Informática Introdução Motivação: • Iluminação Global Tradicional • Não provoca adequado efeito Realístico • Irradiação constante e adirecional

  3. Departamento de Informática Introdução Motivação: • Ambient Environment • Efeito mais realístico • Ambient Occlusion Método de shading usado para ajudar a adicionar realismo a modelos de reflexão local, tendo em conta a atenuação da luz devido a oclusão.

  4. Departamento de Informática Introdução Ambient Occlusion • Primeiro apresentado por Zhukov, Iones e Kronin em “An ambient light illumination model” , em 1998. • Landis and Christensen, em “RenderMan in Production”, em 2002.

  5. Departamento de Informática Introdução Cinema:

  6. Departamento de Informática Introdução

  7. Departamento de Informática Introdução Visualização Científica

  8. Departamento de Informática Ambient Occlusion Definição:Ambient occlusion refere-se a atenuação da luz ambiente devido a oclusão de uma geometria próxima: onde, Visibilidade de um ponto p ao longo do hemisfério .

  9. Departamento de Informática Ambient Occlusion • Gems 1 – “Ambient Occlusion” desenvolvido por Matt Pharr e Simon Green, 2004. Informação necessária • Acessibilidade do ponto • Média da direção unoccluded (bent normal) ,

  10. Departamento de Informática Ambient Occlusion Abordagem inside-out X outside-in Inside-out

  11. Departamento de Informática Ambient Occlusion Outside-in • Menor custo computacional • Obtém bons resultados quando comparado ao ray tracing • Pode ser mapeada para implementação em Gpu ,

  12. Departamento de Informática Ambient Occlusion Shadow Mapping glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); gluLookAt(eyex,eyey,eyez, atx,aty,atz, upx,upy,upz); bunny->Draw(); glReadPixels(0,0,width,height,GL_DEPTH_COMPONENT,GL_FLOAT,shadowMap);

  13. Departamento de Informática Ambient Occlusion Shadow Map - bunny ,

  14. Departamento de Informática Ambient Occlusion Algoritmo

  15. Departamento de Informática Ambient Occlusion Textura Projetiva • Projeção de imagens sobre superfícies Exemplo: projetor de slides

  16. Departamento de Informática Ambient Occlusion Projeção de um ponto Montando a matriz de projeção • Recuperar as matrizes ModelView e Projection glGetFloatv(GL_MODELVIEW_MATRIX, lightViewMatrix); glGetFloatv(GL_PROJECTION_MATRIX, lightProjectionMatrix); • Alinhamento do plano de projeção do espaço de Clipping para o espaço de Textura Espaco de clipping varia de [-1,1] Espaco de textura varia de [0, 1]

  17. Departamento de Informática Ambient Occlusion Projeção de um ponto Montando a matriz de projeção • Correção Então tem-se que a matriz de projeção é dada por

  18. Departamento de Informática Ambient Occlusion Projeção de um ponto temos: Aplicando a matriz a um ponto onde é ponto projetado no espaço de textura. Feito isso para obter o ponto em coordenadas cartesianas basta fazer: P(s/q,t/q,r/q,1). • s/q e t/q posição x,y de um texel • r/q distância do ponto ao plano de projeção

  19. Departamento de Informática Ambient Occlusion Implementação VECTOR4D point(x,y,z,w); VECTOR4D result = textureMatrix*point; double s = result.GetX()/result.GetW(); double t = result.GetY()/result.GetW(); double p = result.GetZ()/result.GetW(); int newx = width*s; int newy = height*t; float depth = bunny->shadowMap[index(newx,newy,width)]; if ( p <= depth+1e-3){ . . .

  20. Departamento de Informática Ambient Occlusion Resultados na implementação

  21. Departamento de Informática Ambient Occlusion Outros resultados

  22. Departamento de Informática Ambient Occlusion Matt Phar Ambient occlusion Simples difuse shading model Simples difuse shading model

  23. Departamento de Informática Ambient Occlusion

  24. Departamento de Informática Ambient Occlusion

  25. Departamento de Informática Ambient Occlusion

More Related