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

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

Iluminação e Sombreamento Guilherme Amaral Avelino

Apresentações semelhantes


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

1 Iluminação e Sombreamento Guilherme Amaral Avelino

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

3  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  Ondas eletromagnéticas capazes de serem captadas pela visão humana Guilherme Amaral Avelino Vermelho Laranja Amarelo Verde Azul Anil Violeta

5  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  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  Classificadas em: ◦ Ambiental ◦ Direcional ◦ Pontual ◦ Spot Guilherme Amaral Avelino

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

9  Fonte Direcional ◦ Raios paralelos e com mesma intensidade ◦ Simula os raios solares Guilherme Amaral Avelino

10  Fonte Pontual ◦ Emite luz em todas as direções ◦ Atinge os objetos com diferentes direções e intensidades Guilherme Amaral Avelino

11  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  Objetos Refletores ◦ Difusos ◦ Especulares Guilherme Amaral Avelino

13  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  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 Guilherme Amaral Avelino

16  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 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 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 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  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  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  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 Guilherme Amaral Avelino ConstanteValor defaultSignificado 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(1.0,1.0,1.0,1.0)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_SPOTCUTOFF180.0Ângulo de corta da luz spot

23 Guilherme Amaral Avelino  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 ConstanteValor defaultSignificado 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_DIFF USE Cor ambiente e especular do material GL_SPECULAR(0.0,0.0,0.0,1.0)Cor especular do material GL_SHININESS0.0Expoente especular GL_EMISSION(0.0,0.0,0.0,1.0)Cor emissiva do material

24 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 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 // 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 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 Guilherme Amaral Avelino"

Apresentações semelhantes


Anúncios Google