Ambient Occlusion

Post on 03-Jan-2016

51 views 0 download

Tags:

description

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. - PowerPoint PPT Presentation

Transcript of Ambient Occlusion

Ambient Occlusion

Disciplina: Fundamentos de Computação Gráfica

Professor : Marcelo Gattass

Allan Carlos Avelino Rocha

Departamento de Informática

Departamento de Informática

Introdução

Iluminação Global Tradicional

• Não provoca adequado efeito Realístico

Motivação:

• Irradiação constante e adirecional

Departamento de Informática

Introdução

Ambient Environment

Motivação:

•Ambient Occlusion

• Efeito mais realístico

Método de shading usado para ajudar a adicionar realismo a modelosde reflexão local, tendo em conta a atenuação da luz devido a oclusão.

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.

Departamento de Informática

Introdução

Cinema:

Departamento de Informática

Introdução

Departamento de Informática

IntroduçãoVisualização Científica

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 longodo hemisfério .

Departamento de Informática

Ambient Occlusion

Gems 1 – “Ambient Occlusion” desenvolvido por Matt Pharr eSimon Green, 2004.

,

Informação

necessária • Acessibilidade do ponto• Média da direção unoccluded (bent normal)

Departamento de Informática

Ambient Occlusion

Abordagem inside-out X outside-in

Inside-out

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

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);

Departamento de Informática

Ambient Occlusion

,

Shadow Map - bunny

Departamento de Informática

Ambient Occlusion

Algoritmo

Departamento de Informática

Ambient Occlusion

Textura Projetiva

Projeção de imagens sobre superfícies

Exemplo: projetor de slides

Departamento de Informática

Ambient Occlusion

Projeção de um ponto

Montando a matriz de projeção

glGetFloatv(GL_MODELVIEW_MATRIX, lightViewMatrix);

glGetFloatv(GL_PROJECTION_MATRIX, lightProjectionMatrix);

Recuperar as matrizes ModelView e Projection

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]

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

Departamento de Informática

Ambient OcclusionProjeção de um ponto

Aplicando a matriz a um ponto temos:

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

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){ . . .

Departamento de Informática

Ambient OcclusionResultados na implementação

Departamento de Informática

Ambient OcclusionOutros resultados

Departamento de Informática

Ambient Occlusion

Simples difuse shading model

Ambient occlusion

Simples difuse shading model

Matt Phar

Departamento de Informática

Ambient Occlusion

Departamento de Informática

Ambient Occlusion

Departamento de Informática

Ambient Occlusion