A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Iluminação e Sombreamento

Apresentações semelhantes


Apresentação em tema: "Iluminação e Sombreamento"— Transcrição da apresentação:

1 Iluminação e Sombreamento
Computação Gráfica Iluminação e Sombreamento Guilherme Amaral Avelino

2 Agenda Iluminação e Sombreamento Natureza da Luz Emissores
Fontes de luz Refletores Sombreamento Guilherme Amaral Avelino

3 Iluminação e Sombreamento
Um modelo de iluminação em CG define a natureza da luz emanada por uma fonte e sua interação com todos os objetos em cena Sombreamento está diretamente ligado a manipulação da luz dentro de um modelo de CG Guilherme Amaral Avelino

4 Iluminação - Natureza da Luz
Ondas eletromagnéticas capazes de serem captadas pela visão humana Vermelho Laranja Amarelo Verde Azul Anil Violeta Guilherme Amaral Avelino

5 Iluminação – Natureza da Luz
Conceitos importantes A luz é uma energia eletromagnética A intensidade de uma luz emitida diminui em relação inversa ao quadrado da distância da fonte de luz Energia não se perde, se transforma Absorção da luz branca por uma superfície preta Calor: outra forma de energia com diferente comprimento de onda Guilherme Amaral Avelino

6 Iluminação - Emissores
Quanto a emissão de luz os objetos podem ser classificados como: Fontes de luz própria Lâmpadas, lanternas, fogo, sol, etc. Caracterizadas pela intensidade, freqüência e direção Refletores Objetos coloridos Propriedades de sua superfície Guilherme Amaral Avelino

7 Iluminação – Fontes de luz
Classificadas em: Ambiental Direcional Pontual Spot Guilherme Amaral Avelino

8 Iluminação – Fontes de luz
Ambiental Ilumina igualmente todas as superfícies do ambiente Posição da câmera não é importante Guilherme Amaral Avelino

9 Iluminação – Fontes de luz
Fonte Direcional Raios paralelos e com mesma intensidade Simula os raios solares Guilherme Amaral Avelino

10 Iluminação - Fontes de luz
Fonte Pontual Emite luz em todas as direções Atinge os objetos com diferentes direções e intensidades Guilherme Amaral Avelino

11 Iluminação - Fontes de luz
Fonte Spot Emite luz em forma de um cone a partir de um ponto A intensidade cai a medida que se distancia da fonte Guilherme Amaral Avelino

12 Iluminação - Refletores
Objetos Refletores Difusos Especulares Guilherme Amaral Avelino

13 Iluminação - Refletores
Refletor Difuso A luz é refletida em diferentes direções Reflexão em objeto com saliências ou foscos Objetos foscos apresentam reflexão quase Lambertiana Guilherme Amaral Avelino

14 Iluminação - Refletores
Refletor Especular O ângulo de reflexão é igual ao de incidência Superfícies polidas, lustradas ou brilhantes Gera brilho com a cor da luz, não com a do objeto Guilherme Amaral Avelino

15 Difusa x Especular Guilherme Amaral Avelino

16 Sombreamento (Shading)
Simula o efeito de diferentes intensidades de iluminação sobre um objeto Também conhecido como tonalização Utiliza as características das fontes de luz e dos objetos para o cálculo da tonalização Inviabilidade da modelagem de todos os conceitos físicos envolvidos Guilherme Amaral Avelino

17 Sombreamento (Shading) - Modelos
Sombreamento Constante(Flat) O cálculo da reflexão da luz é feito apenas uma vez por superfície Solução mais simples e rápida Resulta em uma aparência facetada Guilherme Amaral Avelino

18 Sombreamento (Shading) - Modelos
Sombreamento de Gouraud O cálculo da reflexão da luz é feita em cada vértice e cada face é resultado do gradiente entre os vértices Interpolação bi-linear para cálculo dos demais pontos Sombreamento mais suave, mais demorada Guilherme Amaral Avelino

19 Sombreamento (Shading) - Modelos
Sombreamento de Phong Adiciona o cálculo dos vetores especulares ao modelo de Gouraud Produz efeitos mais realistas e é ainda mais demorado Guilherme Amaral Avelino

20 Modelo de Iluminação OpenGL
Fornece suporte para até 8 fontes de luz Implementa os modelos de tonalização Flat e Gouraud glShadeModel(GLenum mode); GL_FLAT GL_SMOOTH A luz é dividida em quatro componentes que juntas formam o modelo de iluminação Ambiente – luz que vem de todas as direções Difusa – luz direcional que é ao atingir uma superfície é refletida em todas as direções Especular - luz direcional que é ao atingir uma superfície tende a refletir em uma única outra direção Emissiva – simula a luz que se origina em um objeto Não é interfirida nem interfere no modelo de iluminação Guilherme Amaral Avelino

21 Modelo de Iluminação OpenGL
A iluminação é resultado das propriedades especificadas para as fontes de luz e das propriedades dos materiais que constituem os objetos Fontes de Luz void glLightfv(GLenum light, GLenum pname, TYPE *param); Objetos void glMaterialfv(GLenum face, GLenum pname, TYPE *param); Guilherme Amaral Avelino

22 Modelo de Iluminação OpenGL
void glLightfv(GLenum light, GLenum pname, TYPE *param); ligth – fonte de luz desejada. GL_LIGHT0 a GL_LIGHT7 pname – característica da luz a ser especificada param – vetor Glfloat com os valor a ser especificado Constante Valor default Significado GL_AMBIENT (0.0,0.0,0.0,1.0) Cor ambiente da luz GL_DIFFUSE (1.0,1.0,1.0,1.0) Cor difusa da luz GL_SPECULAR Cor especular da luz GL_POSITION (0.0,0.0,1.0,0.0) Posição da luz GL_SPOT_DIRECTION (0.0,0.0,-1.0) Direção da luz spot GL_SPOTCUTOFF 180.0 Ângulo de corta da luz spot Guilherme Amaral Avelino

23 Modelo de Iluminação OpenGL
void glMaterialfv(GLenum face, GLenum pname, TYPE *param); face – quais faces do objeto estão sendo especificadas. GL_FRONT, GL_BACK ou GL_FRONT_AND_BACK pname – propriedade do material a ser especificada param – vetor Glfloat com os valor a ser especificado Constante Valor default Significado GL_AMBIENT (0.2,0.2,0.2,1.0) Cor ambiente do material GL_DIFFUSE (0.8,0.8,0.8,1.0) Cor difusa do material GL_SPECULAR_AND_DIFFUSE Cor ambiente e especular do material GL_SPECULAR (0.0,0.0,0.0,1.0) Cor especular do material GL_SHININESS 0.0 Expoente especular GL_EMISSION Cor emissiva do material Guilherme Amaral Avelino

24 Exemplo void Inicializa (void) { // Habilita a definição da cor do material a partir da cor corrente glEnable(GL_COLOR_MATERIAL); //Habilita o uso de iluminação glEnable(GL_LIGHTING); // Habilita a luz de número 0 glEnable(GL_LIGHT0); // Habilita o depth-buffering glEnable(GL_DEPTH_TEST); // Habilita o modelo de colorização de Gouraud glShadeModel(GL_SMOOTH); ... } Guilherme Amaral Avelino

25 Exemplo void DefineIluminacao (void) { GLfloat luzAmbiente[4]={0.2,0.2,0.2,1.0}; GLfloat luzDifusa[4]={0.7,0.7,0.7,1.0}; // "cor" GLfloat luzEspecular[4]={1.0, 1.0, 1.0, 1.0};// "brilho" GLfloat posicaoLuz[4]={0.0, 50.0, 50.0, 1.0}; // Capacidade de brilho do material GLfloat especularidade[4]={1.0,1.0,1.0,1.0}; ‘ GLint especMaterial = 60; Guilherme Amaral Avelino

26 Exemplo // Define a refletância do material glMaterialfv(GL_FRONT,GL_SPECULAR, especularidade); // Define a concentração do brilho glMateriali(GL_FRONT,GL_SHININESS,especMaterial); // Ativa o uso da luz ambiente glLightModelfv(GL_LIGHT_MODEL_AMBIENT, luzAmbiente); // Define os parâmetros da luz de número 0 glLightfv(GL_LIGHT0, GL_AMBIENT, luzAmbiente); glLightfv(GL_LIGHT0, GL_DIFFUSE, luzDifusa ); glLightfv(GL_LIGHT0, GL_SPECULAR, luzEspecular ); glLightfv(GL_LIGHT0, GL_POSITION, posicaoLuz ); } Guilherme Amaral Avelino

27 Exemplo void Desenha(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); DefineIluminacao(); glColor3f(0.0f, 1.0f, 0.0f); glutSolidSphere(50,20,20); glFlush(); } Guilherme Amaral Avelino

28 Guilherme Amaral Avelino


Carregar ppt "Iluminação e Sombreamento"

Apresentações semelhantes


Anúncios Google