Prof. Fernando V. Paulovich 18 de maio de SCC Computação Gráca

Tamanho: px
Começar a partir da página:

Download "Prof. Fernando V. Paulovich 18 de maio de SCC Computação Gráca"

Transcrição

1 Modelos de Iluminação SCC Computação Gráca Prof. Fernando V. Paulovich paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São Paulo (USP) 18 de maio de / 112

2 Introdução Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 2 / 112

3 Introdução Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 3 / 112

4 Introdução Introdução Imagens realísticas são criadas usando projeções perspectivas, aplicando-se efeitos de iluminação natural às superfícies visíveis por meio de um modelo de iluminação (shading model) De forma geral, modelar os efeitos da luz sobre um objeto é processo complexo que envolve princípios físicos e psicológicos 4 / 112

5 Introdução Introdução Os modelos físicos envolvem vários fatores, como propriedades dos materiais, posição do objeto em relação a luz e outros objetos, e características das fontes de luz Objetos podem ser opacos ou mais ou menos transparentes, podem ser nos ou grosseiros Fontes de luz podem ter vários formatos, cores e posições Os modelos de iluminação em computação gráca são na maioria das vezes aproximações das leis físicas que descrevem efeitos de luz sobre superfícies 5 / 112

6 Fontes de Luz Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 6 / 112

7 Fontes de Luz Fontes de Luz Qualquer objeto que emite energia brilhante é uma fonte de luz que contribui para os efeitos de luz dos outros objetos na cena Fontes de luz podem ter diferentes formas e características (posição, cor, direção de emissão, etc.), podendo emitir luz ou reetir luz Um lustre redondo de vidro ao redor de uma lâmpada vai emitir e reetir luz Em aplicações grácas de tempo real, um modelo simples de iluminação normalmente é aplicado por causa do custo computacional Propriedades da emissão de luz são denidas usando valores distintos para cada componente de cor RGB, descrevendo suas intensidades 7 / 112

8 Fontes de Luz Fontes de Luz Puntuais O modelo mais simples de emissão de luz é fonte de luz puntual com uma única cor Denida por uma posição e a cor da luz emitida Os raios de luz são gerados em direções radiais divergentes a partir do ponto de luz Indicado para aproximar efeitos de luz quando a fonte de luz é pequena em comparação com os objetos da cena 8 / 112

9 Fontes de Luz Fontes de Luz Innitamente Distantes Uma fonte de luz grande (p.ex. o sol) que está bem longe da cena pode ser aproximada como um ponto emissor bem distante dos objetos A iluminação é provida em uma única direção Uma fonte de luz distante é simulada denindo sua cor e uma direção da emissão dos raios, não é necessário especicar uma posição 9 / 112

10 Fontes de Luz Atenuação Radial da Intensidade A energia de radiação de uma fonte de luz a uma distância d l da origem tem sua amplitude atenuada por um fator 1/d 2 l Uma superfície próxima da fonte recebe uma maior intensidade de luz Para uma iluminação realística essa atenuação deve ser levada em consideração Na prática uma atenuação de 1/d 2 l para fontes de luz puntuais não produz efeitos realísticos Tende a denir uma alta variação da intensidade para objetos que estão próximos da fonte de luz e pouca variação quando d l é grande 10 / 112

11 Fontes de Luz Atenuação Radial da Intensidade Para produzir efeitos mais realísticos com fontes puntuais usamos 1 f radatten (d l ) = a 0 + a 1 d l + a 2 d 2 l Os valores de a 0, a 1 e a 2 podem ser ajustados para se produzir efeitos de atenuação desejados Valores grandes podem ser assinalados a a 0 quando d l é muito pequeno para prevenir f radatten (d l ) de car muito grande 11 / 112

12 Fontes de Luz Atenuação Radial da Intensidade Esse cálculo de atenuação não pode ser empregado quando a fonte puntual estiver no innito porque a distância à fonte é indeterminada Outro problema é que quase todos os pontos da cena cariam quase a mesma distância da fonte de luz (baixo realismo) Para resolver esses problemas podemos usar { 1.0, se a fonte está no innito f l,radatten = 1 a 0+a 1d l +a 2d, se a fonte é local 2 l 12 / 112

13 Fontes de Luz Fontes de Luz Direcional e Efeitos de Holofote Uma fonte de luz local pode ser modicada para produzir uma fonte direcional ou holofote Se um objeto está fora dos limites direcionais ele é eliminado da iluminação Uma fonte de luz direcional pode ser denida por meio de uma posição, da cor da luz, um vetor de direção e um limite angular θ l a partir desse vetor 13 / 112

14 Fontes de Luz Fontes de Luz Direcional e Efeitos de Holofote Podemos usar um vetor unitário V light na direção da fonte de luz e um vetor unitário V obj na direção da posição da luz para um objeto Considerando que cos α = V light V obj e limitando 0 0 θ l 90 0, então o objeto está dentro da região de luz se cos α cos θ l 14 / 112

15 Fontes de Luz Atenuação Angular de Intensidade Para uma fonte de luz direcional a atenuação ocorre angularmente e radialmente a partir da posição da fonte Permite simular cones de luz que são mais intensos ao longo do eixo do cone Uma função usual de atenuação é f angatten (φ) = cos a l φ, 0 0 φ θ Onde a l > 0 é um expoente de atenuação e φ é o ângulo medido a partir do eixo do cone Ao longo do eixo do cone φ = 0 0 e f angatten(φ) = 1.0 Quanto maior o valor de a l, menor o valor de f angatten(φ) dado φ > / 112

16 Fontes de Luz Atenuação Angular de Intensidade Considerando os vetores V light e V obj e assumindo que 0 0 < θ l 90 0 a equação geral para atenuação angular é denida por 1.0, se a fonte de luz não é direcional 0.0, se V f l,angatten = light V obj = cos α < cos θ l (objeto está fora do cone de luz) (V light V obj ) a l, caso contrário 16 / 112

17 Fontes de Luz Fontes de Luz Estendidas e o Modelo de Warn Para se incluir uma fonte de luz grande em uma posição próxima aos objetos da cena, podemos aproximar esse efeito como uma superfície que emite luz Podemos fazer isso modelando a superfície de luz como um grid de fontes direcionais 17 / 112

18 Efeitos de Luz em Superfícies Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 18 / 112

19 Efeitos de Luz em Superfícies Efeitos de Luz em Superfícies Um modelo de iluminação computa os efeitos de luz para uma superfície usando várias propriedades óticas Quando a superfície é opaca, parte da luz é reetida e parte absorvida A quantidade de luz reetida depende do tipo de material da superfície Para uma superfície transparente, alguma luz é também transmitida através da mesma 19 / 112

20 Efeitos de Luz em Superfícies Efeitos de Luz em Superfícies Reexão Difusa Superfícies irregulares tendem a reetir a luz em todas as direções, parecendo igualmente brilhantes a partir de qualquer ponto de vista A cor de um objeto é a cor da reexão difusa com uma iluminação de luz branca Objetos azuis reetem a componente azul da luz branca Um objeto azul sobre luz vermelha cará preto pois toda luz é absorvida 20 / 112

21 Efeitos de Luz em Superfícies Efeitos de Luz em Superfícies Reexão Especular Alguma parte da luz reetida é concentrada em uma região mais brilhante O efeito de realce é mais pronunciado em superfícies de materiais brilhantes 21 / 112

22 Efeitos de Luz em Superfícies Efeitos de Luz em Superfícies Luz de Fundo ou Ambiente Efeito de iluminação produzido pela luz reetida de várias superfícies na cena A luz total reetida de uma superfície é a soma das contribuições da luz reetida pelas outras superfícies 22 / 112

23 Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 23 / 112

24 Modelos precisos de iluminação computam toda a interação entre a radiação de luz e o material dos objetos Esses efeitos podem ser aproximados usando modelos empíricos com bons resultados Essa interação normalmente é computacionalmente muito cara, então aproximações para a iluminação ambiente são denidas 24 / 112

25 Luz Ambiente Luz de fundo pode ser incorporada denindo um nível de brilho geral para a cena Produz luz ambiente uniforme para todos os objetos, aproximando as reexões difusas de todas superfícies da cena A quantidade de luz reetida dependerá das propriedades óticas (material) das superfícies O nível de luz ambiente em uma cena é denido por um parâmetro de intensidade I a 25 / 112

26 Reexão Difusa A reexão difusa pode ser modelada assumindo que a luz incidente é espalhada com igual intensidade em todas as direções independente da direção de visão Essas superfícies são chamadas de reetores difusos ideais (reetores Lambertinianos) 26 / 112

27 Reexão Difusa Assumindo que toda superfície é um reetor difuso ideal (Lambertiniano), um parâmetro k d (coeciente de reexão difusa) pode ser usado para determinar a fração da luz incidente que será espalhada como reexões difusas A reexão difusa é constante, igual a luz incidente multiplicada por k d Para fontes de luz monocromáticas, 0.0 k d 1.0 Superfícies brilhantes apresentam valores de k d altos intensidade de reexão próxima da incidente Valores de k d próximos de 0 denem superfícies que absorvem a luz 27 / 112

28 Reexão Difusa Para efeitos de luz de fundo, as superfícies são completamente iluminadas pela luz ambiente I a denida para a cena, e a contribuição dessa para reexão difusa é I ambdiff = k d I a Se somente luz ambiente é considerada, o efeito de iluminação obtido em uma cena é pouco interessante 28 / 112

29 Reexão Difusa Quando uma superfície é iluminada com intensidade I l, a quantidade de luz incidente depende da orientação da superfície relativa a direção da luz O número de raios intersectando a superfície é proporcional a área da projeção perpendicular da superfície na direção da luz incidente 29 / 112

30 Reexão Difusa Considerando um ângulo de incidência θ entre a direção da luz incidente e a normal da superfície A área projetada é proporcional a cos θ 30 / 112

31 Reexão Difusa Assim podemos modelar a quantidade de luz incidente de uma fonte com intensidade I l como I l,incident = I l cos θ Com isso podemos modelar a reexão difusa de uma fonte de luz com intensidade I l como I l,diff = k d I l,incident = k d I l cos θ 31 / 112

32 Reexão Difusa Conforme o ângulo de incidência aumenta, a iluminação a partir da fonte de luz diminui Uma superfície somente será iluminada quando 0 0 θ 90 0, quando cos θ < 0.0, a luz estará atrás da superfície 32 / 112

33 Reexão Difusa Considerando N como o vetor unitário normal a superfície e L o vetor unitário de direção da luz, então cos θ = N L E a equação de reexão difusa para uma única fonte de luz puntual ca { kd I I l,diff = l (N L), se N L > 0 0.0, se N L 0 33 / 112

34 Reexão Difusa O vetor unitário L é calculado usando a posição da superfície e a posição da fonte de luz L = P source P surf P source P surf Uma fonte de luz no innito não tem posição, somente a direção de propagação Emprega-se o negativo da direção de emissão para a direção do vetor L 34 / 112

35 Reexão Difusa Exemplo de iluminação difusa variando k d entre 0 e 1 Uma única fonte de luz puntual Sem luz ambiente 35 / 112

36 Reexão Difusa Podemos combinar cálculos de fonte de luz ambiente e puntual para se obter a reexão difusa em uma posição da superfície Introduz o coeciente de reexão ambiente k a para cada superfície para modicar a intensidade I a da luz ambiente Podemos escrever a equação de reexão difusa total de uma única fonte puntual como { ka I I diff = a + k d I l (N L), se N L > 0 k a I a, se N L 0 Onde k a e k d dependem das propriedades do material da superfície 36 / 112

37 Reexão Difusa Exemplo de iluminação difusa variando k d e k a 37 / 112

38 Reexão Especular e Modelo de Phong A reexão especular vista em uma superfície brilhante é o resultado da reexão total (ou quase) da luz incidente em uma área concentrada ao redor de um ângulo de reexão especular O ângulo de reexão especular θ é igual ao ângulo de incidência da luz, opostos a normal da superfície N O vetor unitário R representa a direção de reexão especular O vetor unitário L aponta na direção da fonte de luz puntual O vetor unitário V aponta na direção do visualizador 38 / 112

39 Reexão Especular e Modelo de Phong Em um reetor ideal (espelho perfeito), a luz incidente é reetida somente na direção de reexão especular, e será visível somente quando V e R coincidirem (φ = 0 0 ) Objetos que não são reetores ideais exibem reexão especular ao redor de R em uma região nita Superfícies brilhantes tem um campo menor de reexão especular Superfícies foscas tem um campo maior de reexão especular 39 / 112

40 Reexão Especular e Modelo de Phong O Modelo de Phong dene a intensidade da reexão especular proporcional a cos ns φ, com 0 0 φ 90 0 O expoente de reexão especular n s é determinado pelo tipo de superfície Superfícies brilhantes apresentam valores altos de n s (p.ex. 100 ou mais) Para reetores perfeitos n s 40 / 112

41 Reexão Especular e Modelo de Phong Diferentes grácos de cos ns φ usando diferentes valores de expoente especular n s 41 / 112

42 Reexão Especular e Modelo de Phong A intensidade da reexão especular depende das propriedades dos materiais da superfície e do ângulo de incidência (θ) É possível aproximar as variações da intensidade especular usando o coeciente de reexão especular W (θ) A variação da intensidade especular é descrita pela Lei de Reexão de Fresnel 42 / 112

43 Reexão Especular e Modelo de Phong Usando a função W (θ) podemos escrever o modelo de Phong de reexão especular I l,spec = W (θ) I l cos ns φ Onde I l é a intensidade da fonte de luz e φ é o ângulo de visão relativo a R 43 / 112

44 Reexão Especular e Modelo de Phong Para a maioria dos materiais opacos, a reexão especular é quase constante para todos os ângulos de incidência (θ) Podemos substituir W (θ) pelo coeciente de reexão especular k s O mesmo não ocorre para materiais transparentes 44 / 112

45 Reexão Especular e Modelo de Phong Como V e R são vetores unitários, então cos φ = V R Se V e L estiverem do mesmo lado da normal N efeitos especulares não precisam ser calculados Assumindo que o coeciente de reexão especular é constante para qualquer material, podemos calcular I l,spec = { ks I l (V R) ns, se V R > 0 0.0, se V R 0 A direção de R pode ser obtida a partir de L e N 45 / 112

46 Reexão Especular e Modelo de Phong A projeção de L na direção de N é (N cos θ) (projeção escalar), então R S R L + S S = N cos θ = N cos θ + S = N cos θ = N cos θ L De forma que o vetor de reexão especular é obtido fazendo R = N cos θ + N cos θ L = N 2 cos θ L = N(2N L) L 46 / 112

47 Reexão Especular e Modelo de Phong Exemplos de reexão especular variando k s e n s em uma superfície esférica iluminada por uma única fonte de luz puntual 47 / 112

48 Reexão Especular e Modelo de Phong O vetor V é calculado usando a posição da superfície e a posição de visão da mesma forma como o vetor L foi obtido Se apenas uma direção de visão é usada para todas as posições na tela, o cálculo da iluminação especular é acelerado mas o resultado nal é pior 48 / 112

49 Reexão Especular e Modelo de Phong Uma simplicação do modelo de Phong é obtida usando o vetor intermediário H entre L e V H = L + V L + V Se N H for usado no lugar de V R então trocamos o cálculo de cos φ pelo de cos α Se V for coplanar a L e R entre α = φ/2 49 / 112

50 Reexão Especular e Modelo de Phong Para superfícies não planares, N H requer menos cálculos do que V R porque o cálculo de R em cada ponto da superfície envolve o vetor N Se a posição de visão e a fonte de luz forem distantes da superfície, V e L são constantes, então H é constante para todos os pontos da superfície H é a direção da superfície que produzirá a reexão especular máxima na direção de visão 50 / 112

51 Reexão Especular e Difusa Combinadas Para uma única fonte de luz puntual, podemos modelar a combinação das reexões difusa e especular como I = I diff + I spec = (k a I a + k d I l (N L)) + k s I l (N H) ns 51 / 112

52 Reexão Especular e Difusa Combinadas Para uma única fonte de luz puntual, podemos modelar a combinação das reexões difusa e especular como I = I diff + I spec = (k a I a + k d I l (N L)) + k s I l (N H) ns A superfície será iluminada somente pela luz ambiente quando a fonte de luz estiver atrás da superfície (N L 0) 52 / 112

53 Reexão Especular e Difusa Combinadas Para uma única fonte de luz puntual, podemos modelar a combinação das reexões difusa e especular como I = I diff + I spec = (k a I a + k d I l (N L)) + k s I l (N H) ns A superfície será iluminada somente pela luz ambiente quando a fonte de luz estiver atrás da superfície (N L 0) Não existirá efeitos especulares se V e L estiverem do mesmo lado de N (N H 0) 53 / 112

54 Reexão Especular e Difusa Combinadas Figura: Cena wire-frame (a), usando somente luz ambiente (b), reexão difusa com luz ambiente e uma única fonte de luz puntual (c) e reexão difusa e especular com luz ambiente e uma única fonte de luz puntual (d). 54 / 112

55 Reexões Difusa e Especular de Múltiplas Fontes de Luz É possível usar a quantidade de fontes de luz que se deseja, para isso soma-se as contribuições de reexão difusa e especular de cada fonte I = I ambdiff + n l=1 [I l,diff + I l,spec ] = k a I a + n l=1 I l[k d (N L) + k s (N H) ns ] 55 / 112

56 Superfícies Emissoras de Luz Em uma cena algumas superfícies podem emitir e reetir luz Podemos modelar esse efeito adicionando um termo de emissão I surfemission a iluminação de fontes diferentes e a iluminação ambiente Podemos simular esse efeito colocando uma fonte de luz atrás da superfície ou por meio de um conjunto de pontos sobre a superfície Na prática superfícies emissoras de luz não são usadas devido o custo computacional alto 56 / 112

57 Modelo de Iluminação Básico com Atenuação da Intensidade e Holofotes É possível formular uma modelo de iluminação monocromático geral como n I = I surfemission + I ambdiff + f l,radatten f l,angatten (I l,diff + I l,spec ) l=1 57 / 112

58 Modelo de Iluminação Básico com Atenuação da Intensidade e Holofotes Onde 0.0, se N L l 0.0 I l,diff = (fonte de luz atrás do objeto) k d I l (N L l ), caso contrário E 0.0, se N H l 0 I l,spec = (fonte de luz atrás do objeto) k s I l max{0.0, (N H l ) ns }, caso contrário 58 / 112

59 Considerações sobre Cor RGB Para cores RGB, as intensidades são modeladas com vetores de 3 elementos que designam os componentes vermelho, verde e azul I l = (I lr, I lg, I lb ) Similarmente os coecientes de reexão são também especicados para as 3 componentes de cor k a = (k ar, k ag, k ab ) k d = (k dr, k dg, k db ) k s = (k sr, k sg, k sb ) Assim cada componente de cor da superfície é calculada separadamente 59 / 112

60 Considerações sobre Cor RGB Para denir a cor de uma superfície, os coecientes de reexão são usados Por exemplo, para a denição de uma superfície azul, um valor diferente de zero para a componente k db deve ser escolhido enquanto as outras componentes são zeradas k dr = k dg = 0.0 Somente a luz azul é reetida, as outras são absorvidas pela superfície 60 / 112

61 Considerações sobre Cor RGB No modelo original de Phong, k s tinha valor constante Reexão especular tem a mesma cor da luz incidente Pouco realismo, superfícies parecem plástico Para maior realismo a cor da reexão especular é função do material da superfície Pode ser diferente da cor da luz incidente e da reexão difusa I l,spec = k sb I lb max{0.0, (N H l ) ns } 61 / 112

62 Modelos de Iluminação Considerações sobre Cor RGB Exemplos de re exão considerando diferentes materiais e múltiplas fontes (coloridas) de luz 62 / 112

63 Programação OpenGL (Iluminação) Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 63 / 112

64 Programação OpenGL (Iluminação) Funções de Iluminação e Rendering OpenGL As rotinas de iluminação são ativadas usando 1 gl.glenable(gl.gl_lighting); Múltiplas fontes de luz podem ser adicionadas a uma cena e várias propriedades podem ser associadas a cada fonte usando 1 gl.gllight*(light_name, light_property, property_value); Um suxo i, iv, f ou fv é adicionado ao nome da função dependendo do tipo de dado do valor da propriedade 64 / 112

65 Programação OpenGL (Iluminação) Funções de Iluminação e Rendering OpenGL O parâmetro light_name recebe um identicador GL.GL_LIGHT0, GL.GL_LIGHT1, GL.GL_LIGHT2,...,GL.GL_LIGHT7 Depois de todos os parâmetros de uma luz terem sido denidos, essa deve ser ligada usando 1 gl.glenable(light_name); 65 / 112

66 Programação OpenGL (Iluminação) Especicando a Posição e Tipo de uma Fonte de Luz Para designar a posição de uma fonte de luz usa-se o ag GL.GL_POSITION e passa-se um vetor de 4 elementos Os primeiros 3 elementos do vetor denem sua posição em coordenadas do mundo Esse também é usado para denir o tipo de fonte de luz Fonte próxima da cena (posição) Quarto elemento do vetor diferente de 0.0 Fonte distante da cena (direção) Quarto elemento do vetor igual a / 112

67 Programação OpenGL (Iluminação) Especicando a Posição e Tipo de uma Fonte de Luz O seguinte exemplo dene duas fontes de luz, uma local e uma distante 1 float light1_pos[] = {2.0f,0.0f,3.0f,1.0f}; //fonte local 2 float light2_pos[] = {0.0f,1.0f,0.0f,0.0f}; //fonte distante 3 4 gl.gllightfv(gl.gl_light1,gl.gl_position,light1_pos,0); //dene posição da luz 5 gl.glenable(gl.gl_light1); 6 7 gl.gllightfv(gl.gl_light2,gl.gl_position,light2_pos,0); //dene direção da luz 8 gl.glenable(gl.gl_light2); Os valores padrão de uma fonte de luz são (0.0, 0.0, 1.0, 0.0) Fonte de luz distante e luz na direção negativa de z 67 / 112

68 Programação OpenGL (Iluminação) Especicando a Posição e Tipo de uma Fonte de Luz A posição da luz é incluída na descrição da cena, sendo transformada em coordenadas de visão junto com a descrição dos objetos 68 / 112

69 Programação OpenGL (Iluminação) Especicando as Cores da Fonte de Luz A luz é denida especicando as diferentes cores RGBA A componente alpha só é usada quando se ativa a transparência na cena Para cada fonte de luz especica-se sua contribuição para efeitos de luz ambiente, difusa e especular 1 float white[] = {1.0f,1.0f,1.0f,1.0f}; 2 float black[] = {0.0f,0.0f,0.0f,1.0f}; 3 4 gl.gllightfv(gl.gl_light1,gl.gl_ambient,black,0); //contribuição ambiente 5 gl.gllightfv(gl.gl_light1,gl.gl_diffuse,white,0); //contribuição difusa 6 gl.gllightfv(gl.gl_light1,gl.gl_specular,white,0); //contribuição especular Por padrão, para a luz 0 a propriedade de luz ambiente é preta e branca as propriedades difusa e especular Para as outras luzes todas as propriedades são pretas 69 / 112

70 Programação OpenGL (Iluminação) Especicando as Cores da Fonte de Luz 1 public class IluminacaoFonteLuz implements GLEventListener { 2 3 public void init(glautodrawable drawable) { 4 GL gl = drawable.getgl(); 5 GLU glu = new GLU(); 6 7 gl.glclearcolor(1.0f, 1.0f, 1.0f, 1.0f); //dene a cor de fundo 8 gl.glenable(gl.gl_depth_test); //habilita o teste de profundidade 9 10 gl.glmatrixmode(gl.gl_modelview); //dene que a matrix é a model view 11 gl.glloadidentity(); //carrega a matrix de identidade 12 glu.glulookat(0.0, 0.0, 1.0, //posição da câmera , 0.0, 0.0, //para onde a câmera aponta , 1.0, 0.0); //vetor view up gl.glmatrixmode(gl.gl_projection); //dene que a matrix é a de projeção 17 gl.glloadidentity(); //carrega a matrix de identidade 18 gl.glortho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0); lighting(drawable); //deninido os parâmetros de iluminação 21 } } 70 / 112

71 Programação OpenGL (Iluminação) Especicando as Cores da Fonte de Luz 1 public class IluminacaoFonteLuz implements GLEventListener { 2 3 public static void main(string[] args) { 4 //cria o painel e adiciona um ouvinte GL 5 Renderer pp = new Renderer(); 6 GLCanvas canvas = new GLCanvas(); 7 canvas.addgleventlistener(pp); 8 9 //cria uma janela e adiciona o canvas 10 JFrame frame = new JFrame("Aplicacao JOGL Simples"); 11 frame.add(canvas); 12 frame.setsize(400, 400); 13 frame.setdefaultcloseoperation(jframe.exit_on_close); //inicializa o sistema e chama display() a 60 fps 16 Animator animator = new FPSAnimator(canvas, 60); 17 frame.setlocationrelativeto(null); 18 frame.setvisible(true); 19 animator.start(); 20 } public void display(glautodrawable drawable) { 23 GL gl = drawable.getgl(); 24 GLUT glut = new GLUT(); //limpa o buer 27 gl.glclear(gl.gl_color_buffer_bit GL.GL_DEPTH_BUFFER_BIT); //dene que a matrix é a model view 30 gl.glmatrixmode(gl.gl_modelview); 31 glut.glutsolidsphere(1.5, 40, 40); //força o desenho das primitivas 34 gl.glflush(); 35 } } 71 / 112

72 Programação OpenGL (Iluminação) Especicando as Cores da Fonte de Luz 1 private void lighting(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 4 //dene a posição e parâmetros da luz 0 5 float position[] = {2.0f, 2.0f, 2.0f, 1.0f}; 6 float white[] = {1.0f, 1.0f, 1.0f, 1.0f}; 7 float black[] = {0.0f, 0.0f, 0.0f, 1.0f}; 8 9 gl.gllightfv(gl.gl_light0, GL.GL_POSITION, position, 0); 10 gl.gllightfv(gl.gl_light0, GL.GL_AMBIENT, black, 0); 11 gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, white, 0); 12 gl.gllightfv(gl.gl_light0, GL.GL_SPECULAR, white, 0); //ativa a iluminação 15 gl.glenable(gl.gl_lighting); 16 gl.glenable(gl.gl_light0); 17 } 72 / 112

73 Programação OpenGL (Iluminação) Especicando as Cores da Fonte de Luz 73 / 112

74 Programação OpenGL (Iluminação) Especicando os Coecientes de atenuação Radial É possível especicar os coecientes de atenuação radial a 0, a 1 e a 2 usando 1 gl.gllightf(gl.gl_light0, GL.GL_CONSTANT_ATTENUATION, 0.5f); //dene a0 2 gl.gllightf(gl.gl_light0, GL.GL_LINEAR_ATTENUATION, 0.15f); //dene a1 3 gl.gllightf(gl.gl_light0, GL.GL_QUADRATIC_ATTENUATION, 0.1f); //dene a2 Os valores dos coecientes podem ser inteiros ou de ponto utuante positivos Os valores padrão para a atenuação radial são a 0 = 1, a 1 = 0 e a 2 = 0 (atenuação desativada) 74 / 112

75 Programação OpenGL (Iluminação) Especicando as Cores da Fonte de Luz 1 private void lighting(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 4 //dene a posição e parâmetros da luz 0 5 float position[] = {2.0f, 2.0f, 2.0f, 1.0f}; 6 float white[] = {1.0f, 1.0f, 1.0f, 1.0f}; 7 float black[] = {0.0f, 0.0f, 0.0f, 1.0f}; 8 9 gl.gllightfv(gl.gl_light0, GL.GL_POSITION, position, 0); 10 gl.gllightfv(gl.gl_light0, GL.GL_AMBIENT, black, 0); 11 gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, white, 0); 12 gl.gllightfv(gl.gl_light0, GL.GL_SPECULAR, white, 0); //ativa a atenuação 15 gl.gllightf(gl.gl_light0, GL.GL_CONSTANT_ATTENUATION, 0.5f); //dene a0 16 gl.gllightf(gl.gl_light0, GL.GL_LINEAR_ATTENUATION, 0.5f); //dene a1 17 gl.gllightf(gl.gl_light0, GL.GL_QUADRATIC_ATTENUATION, 0.1f); //dene a //ativa a iluminação 20 gl.glenable(gl.gl_lighting); 21 gl.glenable(gl.gl_light0); 22 } 75 / 112

76 Programação OpenGL (Iluminação) Especicando as Cores da Fonte de Luz 76 / 112

77 Programação OpenGL (Iluminação) Fontes de Luz Direcionais (Holofotes) É possível especicar efeito de holofote denindo o cone onde a luz direcional atua Para isso dene-se o vetor de direção da luz O valor θ l do espalhamento angular a partir do eixo do cone O valor do exponente de atenuação angular a l 1 float direction[] = {1.0f, 0.0f, 0.0f}; 2 gl.gllightfv(gl.gl_light1, GL.GL_SPOT_DIRECTION, direction, 0); //vetor direção 3 gl.gllightf(gl.gl_light1, GL.GL_SPOT_CUTOFF, 45.0f); //espalhamento angular 4 gl.gllightf(gl.gl_light1, GL.GL_SPOT_EXPONENT, 0.5f); //atenuação angular O valor de θ l deve estar entre 0 0 e 90 0, fazendo igual a luz emite raios em todas as direções O valor de a l é um inteiro ou ponto utuante no intervalo de 0 a / 112

78 Programação OpenGL (Iluminação) Fontes de Luz Direcionais (Holofotes) 1 private void lighting(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 4 //dene a posição e parâmetros da luz 0 5 float position0[] = {2.0f, 2.0f, 2.0f, 1.0f}; 6 float white[] = {1.0f, 1.0f, 1.0f, 1.0f}; 7 float black[] = {0.0f, 0.0f, 0.0f, 1.0f}; 8 9 gl.gllightfv(gl.gl_light0, GL.GL_POSITION, position0, 0); 10 gl.gllightfv(gl.gl_light0, GL.GL_AMBIENT, black, 0); 11 gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, white, 0); 12 gl.gllightfv(gl.gl_light0, GL.GL_SPECULAR, white, 0); //dene a posição e parâmetros da luz 1 15 float position1[] = {-2.0f, 0.0f, 0.0f, 1.0f}; 16 gl.gllightfv(gl.gl_light1, GL.GL_POSITION, position1, 0); 17 gl.gllightfv(gl.gl_light1, GL.GL_DIFFUSE, white, 0); 18 gl.gllightfv(gl.gl_light1, GL.GL_SPECULAR, white, 0); float direction[] = {1.0f, 0.0f, 0.0f}; 21 gl.gllightfv(gl.gl_light1, GL.GL_SPOT_DIRECTION, direction, 0); //vetor direção 22 gl.gllightf(gl.gl_light1, GL.GL_SPOT_CUTOFF, 45.0f); //espalhamento angular 23 gl.gllightf(gl.gl_light1, GL.GL_SPOT_EXPONENT, 0.5f); //atenuação angular //ativa a iluminação 26 gl.glenable(gl.gl_lighting); 27 gl.glenable(gl.gl_light0); 28 gl.glenable(gl.gl_light1); 29 } 78 / 112

79 Programação OpenGL (Iluminação) Fontes de Luz Direcionais (Holofotes) 79 / 112

80 Programação OpenGL (Iluminação) Parâmetros de Iluminação Global Vários parâmetros de luz podem ser denidos globalmente usando 1 gl.gllightmodel*(param_name, param_value); O suxo pode ser i, iv, f ou fv dependendo do tipo de parâmetro Podemos denir globalmente O nível de luz ambiente Como os brilhos especulares são calculados Se o modelo de iluminação deve ser aplicado na parte de trás dos polígonos 80 / 112

81 Programação OpenGL (Iluminação) Parâmetros de Iluminação Global Por exemplo, para denir uma luz ambiente independente das fontes de luz existentes usamos 1 float global_ambient[] = {0.9f, 0.9f, 0.9f, 1.0f}; 2 gl.gllightmodelfv(gl.gl_light_model_ambient, global_ambient, 0); Por padrão essa cor é branca de baixa intensidade (0.2, 0.2, 0.2, 1.0) 81 / 112

82 Programação OpenGL (Iluminação) Parâmetros de Iluminação Global 1 private void lighting(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 4 //dene a posição e parâmetros da luz 0 5 float position[] = {2.0f, 2.0f, 2.0f, 1.0f}; 6 float white[] = {1.0f, 1.0f, 1.0f, 1.0f}; 7 float black[] = {0.0f, 0.0f, 0.0f, 1.0f}; 8 9 gl.gllightfv(gl.gl_light0, GL.GL_POSITION, position, 0); 10 gl.gllightfv(gl.gl_light0, GL.GL_AMBIENT, black, 0); 11 gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, white, 0); 12 gl.gllightfv(gl.gl_light0, GL.GL_SPECULAR, white, 0); //ativando luz ambiente global 15 float global_ambient[] = {0.9f, 0.9f, 0.9f, 1.0f}; 16 gl.gllightmodelfv(gl.gl_light_model_ambient, global_ambient, 0); //ativa a iluminação 19 gl.glenable(gl.gl_lighting); 20 gl.glenable(gl.gl_light0); 21 } 82 / 112

83 Programação OpenGL (Iluminação) Parâmetros de Iluminação Global 83 / 112

84 Programação OpenGL (Iluminação) Parâmetros de Iluminação Global Para o cálculo da reexão especular é necessário determinar o vetor V (da superfície para a posição de visão) Podemos acelerar o processamento fazendo V constante independente da posição da superfície O valor padrão para V é a direção de z (0.0, 0.0, 1.0), mas podemos usar a posição de visão corrente fazendo 1 gl.gllightmodeli(gl.gl_light_model_local_viewer, GL.GL_TRUE); Isso tornará o processo computacionalmente mais caro, mas o resultado será mais realístico Para desabilitar o cálculo de V fazer essa função igual a GL.GL_FALSE 84 / 112

85 Programação OpenGL (Iluminação) Parâmetros de Iluminação Global Por padrão somente as faces frontais dos polígonos são iluminadas, para se habilitar os cálculos de iluminação para ambas as faces usamos 1 gl.gllightmodeli(gl.gl_light_model_two_side, GL.GL_TRUE); As normais das faces traseiras serão o reverso das faces frontais Para desligar essa opção usar GL.GL_FALSE, que é o padrão 85 / 112

86 Programação OpenGL (Iluminação) Propriedades da Superfície As propriedades óticas das superfícies são denidas usando 1 gl.glmaterial*(surface_face, surface_property, property_value); O suxo pode ser i, iv, f ou fv dependendo do tipo de parâmetro O parâmetro surface_face indica a qual face o material se designa e pode ser GL.GL_FRONT, GL.GL_BACK e GL.GL_FRONT_AND_BACK O parâmetro surface_property identica o parâmetro da superfície e pode ser I surf, k a, k d, k s ou n s 86 / 112

87 Programação OpenGL (Iluminação) Propriedades da Superfície Por exemplo, os valores RGBA para uma superfície emissora de luz (I surf ) podem ser especicados usando 1 float surface_emission[] = {0.25f, 0.25f, 0.25f, 1.0f}; 2 gl.glmaterialfv(gl.gl_front, GL.GL_EMISSION, surface_emission, 0); Por padrão o valor de emissão é (0.0, 0.0, 0.0, 1.0) A emissão de luz de uma superfície não é usada para iluminar outras superfícies 87 / 112

88 Programação OpenGL (Iluminação) Propriedades da Superfície 1 public void display(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 GLUT glut = new GLUT(); 4 5 //limpa o buer 6 gl.glclear(gl.gl_color_buffer_bit GL.GL_DEPTH_BUFFER_BIT); 7 8 //supercie vai emitir luz 9 float surface_emission[] = {0.25f, 0.25f, 0.25f, 1.0f}; 10 gl.glmaterialfv(gl.gl_front, GL.GL_EMISSION, surface_emission, 0); //dene que a matrix é a a model view 13 gl.glmatrixmode(gl.gl_modelview); 14 glut.glutsolidsphere(1.5, 40, 40); //força o desenho das primitivas 17 gl.glflush(); 18 } 88 / 112

89 Programação OpenGL (Iluminação) Propriedades da Superfície 89 / 112

90 Programação OpenGL (Iluminação) Propriedades da Superfície Os ags GL.GL_AMBIENT, GL.GL_DIFFUSE e GL.GL_SPECULAR são usados para denir os coecientes de reexão da superfície Normalmente os valores dos coecientes difuso e ambiente são os mesmos, para isso usamos GL.GL_AMBIENT_AND_DIFFUSE Os valores padrão para os coecientes são Luz ambiente (k a) (0.2, 0.2, 0.2, 1.0) Luz difusa (k d ) (0.8, 0.8, 0.8, 1.0) Luz especular (k s) (1.0, 1.0, 1.0, 1.0) Para denir o expoente de reexão especular (n s ) usamos GL.GL_SHININESS entre 0 e 128 O valor padrão é 0 90 / 112

91 Programação OpenGL (Iluminação) Propriedades da Superfície Por exemplo, para denir os coecientes de reexão ambiente, difusa e especular podemos fazer 1 float diffuse[] = {0.65f, 0.65f, 0.0f, 1.0f}; 2 float specular[] = {0.9f, 0.9f, 0.9f, 1.0f}; 3 float shininess = 65.0f; 4 5 gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT_AND_DIFFUSE, diffuse, 0); 6 gl.glmaterialfv(gl.gl_front, GL.GL_SPECULAR, specular, 0); 7 gl.glmaterialf(gl.gl_front, GL.GL_SHININESS, shininess); 91 / 112

92 Programação OpenGL (Iluminação) Propriedades da Superfície 1 public void display(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 GLUT glut = new GLUT(); 4 5 //limpa o buer 6 gl.glclear(gl.gl_color_buffer_bit GL.GL_DEPTH_BUFFER_BIT); 7 8 //dene material da superfície 9 float kd[] = {0.65f, 0.65f, 0.0f, 1.0f}; 10 float ks[] = {0.9f, 0.9f, 0.9f, 1.0f}; 11 float ns = 65.0f; gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT_AND_DIFFUSE, kd, 0); 14 gl.glmaterialfv(gl.gl_front, GL.GL_SPECULAR, ks, 0); 15 gl.glmaterialf(gl.gl_front, GL.GL_SHININESS, ns); //dene que a matrix é a a model view 18 gl.glmatrixmode(gl.gl_modelview); 19 glut.glutsolidsphere(1.5, 40, 40); //força o desenho das primitivas 22 gl.glflush(); 23 } 92 / 112

93 Programação OpenGL (Iluminação) Propriedades da Superfície 1 private void lighting(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 4 //dene a posição e parâmetros da luz 0 5 float position[] = {2.0f, 2.0f, 2.0f, 1.0f}; 6 float white[] = {1.0f, 1.0f, 1.0f, 1.0f}; 7 float black[] = {0.0f, 0.0f, 0.0f, 1.0f}; 8 9 gl.gllightfv(gl.gl_light0, GL.GL_POSITION, position, 0); 10 gl.gllightfv(gl.gl_light0, GL.GL_AMBIENT, black, 0); 11 gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, white, 0); 12 gl.gllightfv(gl.gl_light0, GL.GL_SPECULAR, white, 0); //ativando luz ambiente global 15 float global_ambient[] = {0.7f, 0.7f, 0.7f, 1.0f}; 16 gl.gllightmodelfv(gl.gl_light_model_ambient, global_ambient, 0); //ativa a iluminação 19 gl.glenable(gl.gl_lighting); 20 gl.glenable(gl.gl_light0); 21 } 93 / 112

94 Programação OpenGL (Iluminação) Propriedades da Superfície 94 / 112

95 Superfícies Transparentes Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 95 / 112

96 Superfícies Transparentes Luminância Superfícies Transparentes Objetos transparentes (como vidro) devem permitir que seja possível ver outros objetos através desses, o contrário são os objetos opacos Objetos intermediários, onde a luz é transmitida e difundida em todas as direções são conhecidos como translúcidos (p.ex. plástico) 96 / 112

97 Superfícies Transparentes Refração da Luz Imagens realísticas de materiais transparentes são obtidas modelando o caminho de refração de um raio de luz através do material Parte da luz é reetida e parte é refratada Como a velocidade da luz depende do material, o caminho da luz refratada é diferente da luz incidente 97 / 112

98 Superfícies Transparentes Refração da Luz A direção da refração, dada pelo ângulo de refração (θ r ), é função do índice de refração do material e da direção da luz incidente O índice de refração é a razão da velocidade da luz no vácuo sobre a velocidade da luz no material 98 / 112

99 Superfícies Transparentes Refração da Luz O ângulo de refração θ r é calculado usando a lei de Snell sen θ r = η i η r sen θ i Onde θ i é o ângulo de incidência, η i é o índice de refração do material incidente e η r é o índice de refração do material refratado 99 / 112

100 Superfícies Transparentes Refração da Luz Por exemplo, luz incidindo em θ i = 30 0 sobre um vidro espesso (η r 1.61) a partir do ar (η i 1.0), será refratada em um ângulo de θ r / 112

101 Superfícies Transparentes Refração da Luz O efeito da refração é mudar o caminho da luz incidente para um caminho um pouco diferente mas paralelo ao original A equação de refração é computacionalmente cara de ser avaliada, então normalmente aproximações são empregadas 101 / 112

102 Superfícies Transparentes Refração da Luz O vetor de transmissão T na direção de refração θ r é calculado como ( ) ηi T = cos θ i cos θ r N η i L η r η r Onde N é a normal a superfície, L é a direção da fonte de luz T pode ser usado para localizar intersecções do caminho de refração com objetos atrás da superfície transparente 102 / 112

103 Superfícies Transparentes Modelo Básico de Transparência Um modelo simples de refração pode ignorar a mudança do caminho da luz Não existe mudança de índice de refração entre materiais diferentes O ângulo de incidência será igual ao ângulo de refração Acelera o processamento e produz bons resultados para superfícies nas 103 / 112

104 Superfícies Transparentes Modelo Básico de Transparência Podemos combinar a intensidade transmitida I trans através da superfície transparente de um objeto de fundo com a intensidade reetida I refl usando um coeciente de transmissão k t I = (1 k t ) I refl + k t I trans Onde o temos (1 k t ) é o fator de opacidade 104 / 112

105 Superfícies Transparentes Modelo Básico de Transparência Esse procedimento pode ser usado com qualquer quantidade de objetos transparentes e opacos Processa primeiro os objetos de trás e depois os da frente 105 / 112

106 Superfícies Transparentes Programação OpenGL (Transparência) Sumário 1 Introdução 2 Fontes de Luz 3 Efeitos de Luz em Superfícies 4 Programação OpenGL (Iluminação) 5 Superfícies Transparentes Programação OpenGL (Transparência) 106 / 112

107 Superfícies Transparentes Programação OpenGL (Transparência) Funções de Transparências O uso de transparência não é direto na OpenGL, é necessário combinar a cor dos objetos e usar um parâmetro de alpha blending Efeitos de refração serão ignorados Em cenas complexas com várias fontes de iluminação pode ser difícil Não existe suporte para materiais translúcidos (refração e reexão) Para simular esse efeito funções devem ser providas 107 / 112

108 Superfícies Transparentes Programação OpenGL (Transparência) Funções de Transparências Materiais transparentes são denidos usando o parâmetro alpha RGBA em comandos como gl.glmaterial(...) e gl.glcolor(...) Por exemplo, usando a função 1 gl.glcolor4f(r, G, B, A) O valor A = k t, onde uma superfície transparente terá A = 1.0 e opaca A = / 112

109 Superfícies Transparentes Programação OpenGL (Transparência) Funções de Transparências Uma vez denido os valores de transparência essa deve ser ativada 1 gl.glenable(gl.gl_blend); 2 gl.glblendfunc(gl.gl_one_minus_src_alpha, GL.GL_SRC_ALPHA); Todas as componentes de cor da superfície corrente (o objeto origem) são multiplicadas por (1 A) = (1 k t ) e todas as componentes de cor da posição correspondente no frame buer (o destino) são multiplicadas por A = k t 109 / 112

110 Superfícies Transparentes Programação OpenGL (Transparência) Funções de Transparências 1 private void lighting(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 4 //dene a posição e parâmetros da luz 0 5 float position[] = {2.0f, 2.0f, 2.0f, 1.0f}; 6 float white[] = {1.0f, 1.0f, 1.0f, 1.0f}; 7 float black[] = {0.0f, 0.0f, 0.0f, 1.0f}; 8 9 gl.gllightfv(gl.gl_light0, GL.GL_POSITION, position, 0); 10 gl.gllightfv(gl.gl_light0, GL.GL_AMBIENT, black, 0); 11 gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, white, 0); 12 gl.gllightfv(gl.gl_light0, GL.GL_SPECULAR, white, 0); //ativa a iluminação 15 gl.glenable(gl.gl_lighting); 16 gl.glenable(gl.gl_light0); //ativa transparência 19 gl.glenable(gl.gl_blend); 20 gl.glblendfunc(gl.gl_one_minus_src_alpha, GL.GL_SRC_ALPHA); 21 } 110 / 112

111 Superfícies Transparentes Programação OpenGL (Transparência) Funções de Transparências 1 public void display(glautodrawable drawable) { 2 GL gl = drawable.getgl(); 3 GLUT glut = new GLUT(); 4 5 //limpa o buer 6 gl.glclear(gl.gl_color_buffer_bit GL.GL_DEPTH_BUFFER_BIT); 7 8 //dene que a matrix é a de modelo 9 gl.glmatrixmode(gl.gl_modelview); //desenho a esfera de dentro 12 float diffuse1[] = {0.0f, 0.65f, 0.0f, 0.25f}; 13 float specular1[] = {0.9f, 0.9f, 0.9f, 0.25f}; 14 float shininess1 = 65.0f; 15 gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT_AND_DIFFUSE, diffuse1, 0); 16 gl.glmaterialfv(gl.gl_front, GL.GL_SPECULAR, specular1, 0); 17 gl.glmaterialf(gl.gl_front, GL.GL_SHININESS, shininess1); 18 glut.glutsolidsphere(0.75, 40, 40); //desenho a esfera de fora 21 float diffuse2[] = {0.0f, 0.0f, 0.65f, 0.5f}; 22 float specular2[] = {0.9f, 0.9f, 0.9f, 0.5f}; 23 float shininess2 = 65.0f; 24 gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT_AND_DIFFUSE, diffuse2, 0); 25 gl.glmaterialfv(gl.gl_front, GL.GL_SPECULAR, specular2, 0); 26 gl.glmaterialf(gl.gl_front, GL.GL_SHININESS, shininess2); 27 glut.glutsolidsphere(1.5, 40, 40); //força o desenho das primitivas 30 gl.glflush(); 31 } 111 / 112

112 Superfícies Transparentes Programação OpenGL (Transparência) Funções de Transparências 112 / 112

Prof. Fernando V. Paulovich 26 de maio de 2015

Prof. Fernando V. Paulovich  26 de maio de 2015 Modelos de Iluminação SCC0250 - Computação Gráfica Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Prof. Fernando V. Paulovich 25 de abril de SCC Computação Gráca

Prof. Fernando V. Paulovich  25 de abril de SCC Computação Gráca Determinação de Superfícies Visíveis SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC)

Leia mais

Sumário. Traçado de Retas. Antialiasing e OpenGL. 1 Introdução. 2 Conversão Segmento de Reta. 3 Algoritmo DDA. 4 Algoritmo de Bresenham

Sumário. Traçado de Retas. Antialiasing e OpenGL. 1 Introdução. 2 Conversão Segmento de Reta. 3 Algoritmo DDA. 4 Algoritmo de Bresenham Conversão Matricial SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de

Leia mais

Prof. Fernando V. Paulovich 12 de março de SCC Computação Gráca

Prof. Fernando V. Paulovich  12 de março de SCC Computação Gráca Transformações Geométricas 2D SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Prof. Fernando V. Paulovich 3 de maio de SCC Computação Gráca

Prof. Fernando V. Paulovich  3 de maio de SCC Computação Gráca Transformações Geométricas 2D SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Visualização por Computador: Teoria, Prática e Aplicações

Visualização por Computador: Teoria, Prática e Aplicações Visualização por Computador: Teoria, Prática e Aplicações Iluminação Claudio Esperança Programa de Engenharia de Sistemas e Computação COPPE / UFRJ Master of Information Management, 2008 Sumário 1 Introdução

Leia mais

Introdução ao Processamento e Síntese de imagens Rendering 2016

Introdução ao Processamento e Síntese de imagens Rendering 2016 Introdução ao Processamento e Síntese de imagens Rendering 2016 Fontes: Rogers, D. F. Procedural Elements for Computer Graphics Modelos de Iluminação A Computação Gráfica simula como os objetos refletem

Leia mais

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 16 de maio de 2011. SCC0250 - Computação Gráca

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 16 de maio de 2011. SCC0250 - Computação Gráca Métodos para Rendering de Superfície SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC)

Leia mais

Computação Gráfica Conf. 6: Iluminação e materiais. ISUTIC Eng. Alexander Rodríguez Bonet

Computação Gráfica Conf. 6: Iluminação e materiais. ISUTIC Eng. Alexander Rodríguez Bonet Conf. 6: Iluminação e materiais. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje 1. Cor. 2. Modelos de Iluminação. 3. Hachura poligonal. 4. Iluminação em OpenGL. 5. Vetores Normais. 6. Materiais.

Leia mais

Computação Gráfica - 13

Computação Gráfica - 13 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 13 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Preenchimento de Polígonos

Preenchimento de Polígonos Preenchimento de Polígonos SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca Transformações Geométricas 3D SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

ILUMINAÇÃO E. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ILUMINAÇÃO E. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR LUMNAÇÃO E SOMBREAMENTO Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Mar/2016 mportância da luminação em CG A posição, orientação, características da luz e seus efeitos

Leia mais

Iluminação e Sombreamento

Iluminação e Sombreamento Iluminação e Sombreamento Soraia Musse 1 Introdução Objetivo/Motivação Realismo nas imagens Fotorealismo 2 Sumário Introdução Modelos de Iluminação Luz Ambiente Reflexão Difusa Atenuação Atmosférica Reflexão

Leia mais

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca Introdução à Opengl com Java SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Iluminação e Sombreamento

Iluminação e Sombreamento Iluminação e Sombreamento 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 1 Introdução Na produção de uma imagem deveria se considerar a luz que atinge o observador vinda de todos os pontos

Leia mais

Computação Gráfica II

Computação Gráfica II Computação Gráfica II Iluminação e Textura Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Introdução Determinação da cor envolve Além das propriedades da superfícies Cor,

Leia mais

Iluminação e Sombreamento

Iluminação e Sombreamento Iluminação e Sombreamento Soraia Musse https://www.youtube.com/watch?v=qx_amlzxzvk 1 Introdução Objetivo/Motivação Realismo nas imagens Fotorealismo 2 Sumário Introdução Modelos de Iluminação Luz Ambiente

Leia mais

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 10 de Agosto de 2010

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 10 de Agosto de 2010 Iluminação INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 10 de Agosto de 2010 W. Celes Iluminação 1 Iluminação e Shading Iluminação Interação

Leia mais

Iluminação e Sombreamento

Iluminação e Sombreamento Iluminação e Sombreamento Leandro Tonietto Computação Gráfica Unisinos ltonietto@unisinos.br http://professor.unisinos.br/ltonietto/jed/cgr/iluminacao.pdf ago-11 Baseado no material do prof. Christian

Leia mais

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas Prof. Dr. Rodrigo Provasi e-mail: provasi@usp.br Sala 09 LEM Prédio de Engenharia Civil Iluminação Para a compreensão do funcionamento da

Leia mais

Iluminação (lighting) e Sombreamento (shading)

Iluminação (lighting) e Sombreamento (shading) Iluminação (lighting) e Sombreamento (shading) Cap 16: Foley Cap 5: OpenGL Aula 11: Notas do Dave Revisão Coordenadas padrão Ponto Coordenadas da janela Matriz Modelview Transformação p/ Viewport Coordenadas

Leia mais

Pipeline Gráfico Cluter & Durand, MIT

Pipeline Gráfico Cluter & Durand, MIT INF 1366 Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/inf1366/index.htm Modeling Transformations Illumination

Leia mais

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

Prof. Fernando V. Paulovich  3 de agosto de SCC Computação Gráca Dispositivos de Saída e SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Resumo. Ray Tracing. Introdução. Ray Casting Básico. Idéia

Resumo. Ray Tracing. Introdução. Ray Casting Básico. Idéia Resumo Leandro Paganotti Brazil Danilo Medeiros Eler Rosane Minghim Computação Gráfica ICMC USP 2010 Introdução Ray Casting Básico Intersecção Raio-Cena Caminhos de Reflexão e Refração Ray-Tracing Tree

Leia mais

Rendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling.

Rendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling. Determinação de Superfícies Visíveis M.C.F. de Oliveira Fontes: Hearn & Baker, Cap. 9 Curso CG, University of Leeds (Ken Brodlie): http://www.comp.leeds.ac.uk/kwb/gi21/lectures.html Rendering de Polígonos

Leia mais

Iluminação e Sombreamento

Iluminação e Sombreamento luminação e Sombreamento Computação Gráfica Carlos Guedes @ 2006 SEL/DEETC/SP Computação Gráfica 1 Computação Gráfica Carlos Guedes @ 2006 SEL/DEETC/SP Computação Gráfica http://www.oyonale.com/ldc/english/classroom.htm

Leia mais

1º Teste Computação Gráfica

1º Teste Computação Gráfica 1º Teste Computação Gráfica LEIC-Alameda Prof. João Brisson Lopes Prof. Mário Rui Gomes 19 de Abril de 25 Nome: Responda às questões seguintes justificando adequadamente todas as respostas. O Teste tem

Leia mais

Conversão Matricial. Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 20 de maio de 2011. SCC0250 - Computação Gráca

Conversão Matricial. Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 20 de maio de 2011. SCC0250 - Computação Gráca Conversão Matricial SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de

Leia mais

Física. Leonardo Gomes (Arthur Vieira) 27 e Refração da Luz

Física. Leonardo Gomes (Arthur Vieira) 27 e Refração da Luz Refração da Luz Refração da Luz 1. Um raio de luz monocromática passa do meio 1 para o meio 2 e deste para o meio 3. Sua velocidade de propagação relativa aos meios citados é v 1, v 2 e v 3, respectivamente.

Leia mais

Interferência de ondas: está relacionada com a diferença de fase entre as ondas. A diferença de fase entre duas ondas pode mudar!!!!

Interferência de ondas: está relacionada com a diferença de fase entre as ondas. A diferença de fase entre duas ondas pode mudar!!!! Interferência de ondas: está relacionada com a diferença de fase entre as ondas. Construtiva: em fase Destrutiva: fora de fase A diferença de fase entre duas ondas pode mudar!!!! Coerência: para que duas

Leia mais

Raytracing. 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102

Raytracing. 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102 Raytracing 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 1 Introdução Raytracing é um método de iluminação global, baseado em física que descreve a transferência de energia e radiação

Leia mais

Aula 2 Reflexão da luz e espelhos planos e esféricos

Aula 2 Reflexão da luz e espelhos planos e esféricos Aula 2 Reflexão da luz e espelhos planos e esféricos 1 Última aula Propagação retilínea Refração da luz Lei de Snell-Descartes 2 Princípio da preguiça mínima ação A B * Ar Espelho θ i θ r Suponha a seguinte

Leia mais

CONCEITOS FUNDAMENTAIS

CONCEITOS FUNDAMENTAIS CONCEITOS FUNDAMENTAIS 05 REFLEXÃO, TRANSMISSÃO E ABSORÇÃO DA LUZ REFLEXÃO, TRANSMISSÃO E ABSORÇÃO DA LUZ A MANIPULAÇÃO CONVENIENTE DA LUZ SE OBTÉM COM O CONTROLE DE SUA DISTRIBUIÇÃO FENÔMENOS ENVOLVIDOS:

Leia mais

Viewing 3D. SCC Computação Gráfica. Prof. Fernando V. Paulovich

Viewing 3D. SCC Computação Gráfica. Prof. Fernando V. Paulovich Viewing 3D SCC0250 - Computação Gráfica Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São Paulo

Leia mais

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. Luiz Felipe Simões Hoffmann

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. Luiz Felipe Simões Hoffmann CCI 36 Computação Gráfica OpenGL Parte 3 Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 121 IEC Luiz Felipe Simões Hoffmann Tópicos da Aula - Texturas - Modelos de Iluminação

Leia mais

Coloração (Shading)e Iluminação global

Coloração (Shading)e Iluminação global Coloração (Shading)e Iluminação global Computação Gráfica Modelos de Iluminação Dependentes da Luz! Modelos dependentes da luz! Ambiente! Normais à superfície não são importantes! Difusa! Ângulo entre

Leia mais

Objetos definidos no seu próprio sistema de coordenadas

Objetos definidos no seu próprio sistema de coordenadas Transformações Modelagem Última aula Iluminação (Shading) Transformação Câmera Recorte Projeção Rasterização Visibilidade Adaptação e melhoramentos de uma aula sobre o mesmo assunto (MIT - EECS 6.837 Durand

Leia mais

Fundamentos da Computação Gráfica

Fundamentos da Computação Gráfica Fundamentos da Computação Gráfica Trabalho 3 Rendering. Ray Tracing Manuel Alejandro Nodarse Moreno (1322198) Introdução Ray Tracing (traçado de raios) é um algoritmo, de computação gráfica, usado para

Leia mais

Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003

Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003 Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003 I. Introdução 1) Qual a diferença entre Processamento de Imagens, Visão Computacional

Leia mais

Rendering. Processo Físico de Geração de uma Imagem. Rendering

Rendering. Processo Físico de Geração de uma Imagem. Rendering Rendering Modelos de Iluminação Rendering de Modelos Poligonais Métodos de Tonalização 2010 Rendering (onde estamos no pipeline) Geração da imagem (matriz de pixels) a partir de uma descrição da cena.

Leia mais

c= m/s Aula 9 Ótica Por Leonardo Alfonso Schmitt.

c= m/s Aula 9 Ótica Por Leonardo Alfonso Schmitt. Aula 9 Ótica Por Leonardo Alfonso Schmitt. A ótica pode ser tratada a partir de dois conceitos, como um feixe de luz, tratada na ótica geométrica, ou como uma onda eletromagnética, ambas com o mesmos comportamentos

Leia mais

Técnicas de rendering. Realismo

Técnicas de rendering. Realismo Realismo O que é? É o efeito da interação da luz com os objetos Onde usar? Simulação Projeto Entretenimento Pesquisa Educação Controle Multimídia e Hipermídia Técnicas de rendering Plantas Projeções Depth

Leia mais

Por favor, notar que o PRO100 V5 exige uma placa gráfica do tipo: NVidia GeForce 9600, ATI Radeon X 1700 ou mais recentes

Por favor, notar que o PRO100 V5 exige uma placa gráfica do tipo: NVidia GeForce 9600, ATI Radeon X 1700 ou mais recentes Pro100 V5 1.1. Recursos Houve mudanças radicais na nova versão do Pro100, o PRO100 V5. A maioria dos melhoramentos dizem respeito ao mecanismo de visualização e exibição, embora haja outros recursos também

Leia mais

Comunicações Ópticas. Profº: Cláudio Henrique Albuquerque Rodrigues, M. Sc.

Comunicações Ópticas. Profº: Cláudio Henrique Albuquerque Rodrigues, M. Sc. Comunicações Ópticas Profº: Cláudio Henrique Albuquerque Rodrigues, M. Sc. Corpos luminosos e Corpos iluminados O Sol, as estrelas, uma lâmpada ou uma vela, acesas, são objetos que emitem luz própria,

Leia mais

REFLEXÃO DA LUZ. i = r. PRIMEIRA LEI DA REFLEXÃO RI, N e RR são coplanares (pertencem ao mesmo plano). SEGUNDA LEI DA REFLEXÃO

REFLEXÃO DA LUZ. i = r. PRIMEIRA LEI DA REFLEXÃO RI, N e RR são coplanares (pertencem ao mesmo plano). SEGUNDA LEI DA REFLEXÃO REFLEXÃO DA LUZ RI = raio incidente N = reta normal RR = raio refletido i = ângulo de incidência r = ângulo de reflexão S = superfície refletora PRIMEIRA LEI DA REFLEXÃO RI, N e RR são coplanares (pertencem

Leia mais

Refração e Dispersão. Parte A A Lei da Refração

Refração e Dispersão. Parte A A Lei da Refração Refração e Dispersão Neste experimento observaremos os fenômenos de refração e dispersão com luz visível. Na primeira etapa, vericaremos a validade da lei de Snell para a refração, e calcularemos o índice

Leia mais

Física IV Aula 3 Sandro Fonseca de Souza Helena Malbouisson

Física IV Aula 3 Sandro Fonseca de Souza Helena Malbouisson Física IV uerj-fisica-iv-quimica@googlegroups.com Aula 3 Sandro Fonseca de Souza Helena Malbouisson 1 Aula Anterior Pressão de radiação; Polarização. 2 Aula de Hoje Óptica Geométrica; Reflexão e Refração;

Leia mais

CÁLCULOS DE ILUMINAÇÃO E SOMBREAMENTO

CÁLCULOS DE ILUMINAÇÃO E SOMBREAMENTO CÁLCULOS DE ILUMINAÇÃO E SOMBREAMENTO Prof. João Carlos Bernardo Prof. João Madeiras Pereira Instituto Superior Técnico 1998/1999 MODELOS DE ILUMINAÇÃO E REFLEXÃO Essencial na construção de representações,

Leia mais

Medidores Eletrônicos de Distâncias (MED)

Medidores Eletrônicos de Distâncias (MED) 13 de Setembro de 2016 A medição de distâncias na Topograa e na Geodésia, sempre foi um problema devido ao tempo; precisão; 1948 surgimento dos Geodímetros, baseados no princípio RADAR; 1957 surgimento

Leia mais

1678: teoria ondulatória para a luz (anterior e menos completa que o eletromagnetismo de Maxwell)

1678: teoria ondulatória para a luz (anterior e menos completa que o eletromagnetismo de Maxwell) Christian Huygens (1629 1695) 1678: teoria ondulatória para a luz (anterior e menos completa que o eletromagnetismo de Maxwell) Vantagens da teoria: explicar as leis de reflexão e refração em termos de

Leia mais

use um cast para byte, como, por exemplo, gl.glcolor3ub((byte)0, (byte)0, (byte)255);

use um cast para byte, como, por exemplo, gl.glcolor3ub((byte)0, (byte)0, (byte)255); Universidade Estadual da Paraíba Campus VII Gov. Antônio Mariz CCEA Centro de Ciências Exatas e Sociais Aplicadas Licenciatura em Computação Computação Gráfica - Noturno Exercício 2 Nome: Inicialmente,

Leia mais

Comunicação de informação a longas distâncias

Comunicação de informação a longas distâncias APSA Fenómenos ondulatórios Questão 1: Considere as seguintes superfícies onde incide a luz: espelho, parede, vidro muito polido, folha de papel. Indique em qual predomina a reflexão especular e a reflexão

Leia mais

Terceiro Trabalho Ray Tracing

Terceiro Trabalho Ray Tracing Pontifícia Universidade Católica do Rio de Janeiro PUC-RJ Fundamentos da Computação Gráfica Prof. Marcelo Gattass Aluno: Bruno Rodrigues Froz Terceiro Trabalho Ray Tracing Rio de Janeiro 2014 Sumário 1.

Leia mais

Algoritmos de Iluminação Global

Algoritmos de Iluminação Global Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Objetivo: calcular a cor de cada ponto a partir da iluminação direta de uma fonte de luz, mais a soma de todas as reflexões das superfícies próximas.

Leia mais

ESCOLA SECUNDÁRIA FERREIRA DIAS, AGUALVA - SINTRA

ESCOLA SECUNDÁRIA FERREIRA DIAS, AGUALVA - SINTRA ESCOLA SECUNDÁRIA FERREIRA DIAS, AGUALVA - SINTRA CURSOS PROFISSIONAIS Disciplina: FÍSICA E QUÍMICA Módulo (*) : F3 Luz e fontes de luz - * Ótica Geométrica (*) e extensão do módulo, se aplicável. Matriz

Leia mais

Nº Nome: Relação de aspecto é o quociente entre a altura e a largura de uma janela ou um viewport.

Nº Nome: Relação de aspecto é o quociente entre a altura e a largura de uma janela ou um viewport. 1º Teste Computação Gráfica LEIC/LERCI/LCI Prof. João Brisson Lopes Eng. Carlos Martinho 8 de Abril de 26 Nº Nome: Antes de começar: Identifique todas as folhas com o seu número. Responda às questões seguintes

Leia mais

Prof. Fernando V. Paulovich 3 de maio de SCC Computação Gráca

Prof. Fernando V. Paulovich  3 de maio de SCC Computação Gráca Transformações Geométricas 3D SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Cap 23 - Ótica Geométrica

Cap 23 - Ótica Geométrica Cap 23 - Ótica Geométrica Ótica Geométrica Descreve o comportamento da luz em situações onde sua natureza ondulatória (efeitos de interferência/difração) não fica evidente, e onde ela pode ser modelada

Leia mais

Universidade Federal do Rio Grande do Sul. Instituto de Física Departamento de Física. FIS01184 Física IV-C Área 1 Lista 1

Universidade Federal do Rio Grande do Sul. Instituto de Física Departamento de Física. FIS01184 Física IV-C Área 1 Lista 1 Universidade Federal do Rio Grande do Sul Instituto de Física Departamento de Física FIS01184 Física IV-C Área 1 Lista 1 1.A luz do Sol no limite superior da atmosfera terrestre tem uma intensidade de

Leia mais

Computação Gráfica e Processamento de Imagens. - Sistemas 3D (conceitos básicos) Prof. Julio Arakaki

Computação Gráfica e Processamento de Imagens. - Sistemas 3D (conceitos básicos) Prof. Julio Arakaki Computação Gráfica e Processamento de Imagens - Sistemas 3D (conceitos básicos) Prof. Julio Arakaki Sistemas tri-dimensionais (3D) Conceitos de sistemas tri-dimensionais Os objetos são construídos através

Leia mais

Iluminação. Módulo 10. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 186. Instituto Superior de Engenharia do Porto

Iluminação. Módulo 10. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 186. Instituto Superior de Engenharia do Porto Módulo 10 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Iluminação SGRAI 2017/18 DEI-ISEP 186 Conteúdo Tipos de iluminação Fontes de Luz Modelos

Leia mais

Física. Óptica. Professor Alexei Muller.

Física. Óptica. Professor Alexei Muller. Física Óptica Professor Alexei Muller www.acasadoconcurseiro.com.br Física ÓPTICA Introdução à Óptica Óptica Geométrica A óptica geométrica estuda a geometria dos raios de luz, sem buscar explicações

Leia mais

REFLEXÃO E REFRAÇÃO DA LUZ

REFLEXÃO E REFRAÇÃO DA LUZ Experiência 7 REFLEXÃO E REFRAÇÃO DA LUZ Reflexão e refração da luz 103 Natureza da luz A luz tem uma natureza ondulatória, i.e., ondas eletromagnéticas com uma gama de c.d.o. entre os 400 nm (vermelho)

Leia mais

1 Fibra óptica e Sistemas de transmissão ópticos

1 Fibra óptica e Sistemas de transmissão ópticos 1 Fibra óptica e Sistemas de transmissão ópticos 1.1 Introdução Consiste de um guia de onda cilíndrico, conforme Figura 1, formado por núcleo de material dielétrico ( em geral vidro de alta pureza), e

Leia mais

Aula 3 - Ondas Eletromagnéticas

Aula 3 - Ondas Eletromagnéticas Aula 3 - Ondas Eletromagnéticas Física 4 Ref. Halliday Volume4 Sumário - Transporte de Energia e o Vetor de Poynting; Polarização; Reflexão e Refração; Reflexão Interna Total; Situação a ser analisada...

Leia mais

Iluminação. André Tavares da Silva. baseado nos materiais de aula de Marcelo Walter, Claudio Esperança e Paulo Cavalcanti

Iluminação. André Tavares da Silva. baseado nos materiais de aula de Marcelo Walter, Claudio Esperança e Paulo Cavalcanti Iluminação André Tavares da Silva andre.silva@udesc.br baseado nos materiais de aula de Marcelo Walter, Claudio Esperança e Paulo Cavalcanti Puntiforme Omnidirecional Direcional/Paralela Fontes de Luz

Leia mais

Modelo gráfico do VTK: fundamentos e aplicações

Modelo gráfico do VTK: fundamentos e aplicações Modelo gráfico do VTK: fundamentos e aplicações J. Barbosa J. Tavares 1 Modelo gráfico do VTK Principais classes do modelo gráfico do VTK: Render Window Renderer Light Camera Actor Protected Attributes:»

Leia mais

Modelo gráfico do VTK: fundamentos e aplicações

Modelo gráfico do VTK: fundamentos e aplicações Modelo gráfico do VTK: fundamentos e aplicações J. Barbosa J. Tavares 1 Visualização Científica Modelo gráfico do VTK Principais classes do modelo gráfico do VTK: Render Window Renderer Light Camera Actor

Leia mais

3 - Na figura a seguir, está esquematizado um aparato experimental que é utilizado. 1 - Dois raios de luz, um vermelho (v) e outro

3 - Na figura a seguir, está esquematizado um aparato experimental que é utilizado. 1 - Dois raios de luz, um vermelho (v) e outro 1 - Dois raios de luz, um vermelho (v) e outro azul (a), incidem perpendicularmente em pontos diferentes da face AB de um prisma transparente imerso no ar. No interior do prisma, o ângulo limite de incidência

Leia mais

ONDAS ELETROMAGNÉTICAS:3 CAPÍTULO 33 HALLIDAY, RESNICK. 8ª EDIÇÃO. Revisão: Campos se criam mutuamente. Prof. André L. C.

ONDAS ELETROMAGNÉTICAS:3 CAPÍTULO 33 HALLIDAY, RESNICK. 8ª EDIÇÃO. Revisão: Campos se criam mutuamente. Prof. André L. C. ONDAS ELETROMAGNÉTICAS:3 Prof. André L. C. Conceição DAFIS CAPÍTULO 33 HALLIDAY, RESNICK. 8ª EDIÇÃO Ondas eletromagnéticas Revisão: Campos se criam mutuamente Lei de indução de Faraday: Lei de indução

Leia mais

Interbits SuperPro Web

Interbits SuperPro Web 1. (Ulbra 016) Um objeto está à frente de um espelho e tem sua imagem aumentada em quatro vezes e projetada em uma tela que está a,4 m do objeto, na sua horizontal. Que tipo de espelho foi utilizado e

Leia mais

8.2. Na extremidade de uma corda suficientemente longa é imposta uma perturbação com frequência f = 5 Hz que provoca uma onda de amplitude

8.2. Na extremidade de uma corda suficientemente longa é imposta uma perturbação com frequência f = 5 Hz que provoca uma onda de amplitude Constantes Velocidade do som no ar: v som = 344 m /s Velocidade da luz no vácuo c = 3 10 8 m/s 8.1. Considere uma corda de comprimento L e densidade linear µ = m/l, onde m é a massa da corda. Partindo

Leia mais

Física B Extensivo V. 3

Física B Extensivo V. 3 Extensivo V. Exercícios 0) D 0) C h espelho h pessoa I. Falsa. II. Verdadeira. III. Verdadeira. 05) C sen L n menor nmaior n n sen 45 o. n sen 0 o. n.. n Logo, L 45o. n 06) D sen L n menor nmaior n 07)

Leia mais

Prof. Dr. Lucas Barboza Sarno da Silva

Prof. Dr. Lucas Barboza Sarno da Silva Prof. Dr. Lucas Barboza Sarno da Silva A luz uma onda eletromagnética Equações de Maxwell S S C C q E. ds 0 B. ds 0 db E. dr dt B. dr i 0 0 0 de dt Velocidade da luz: 1 8 c 310 m / s 0 0 03/09/2015 Prof.

Leia mais

Transformações 3D. Soraia Raupp Musse

Transformações 3D. Soraia Raupp Musse Transformações 3D Soraia Raupp Musse 1 Transformações 3D Translação gltranslatef(dx, dy, dz) T(dx, dy, dz): 1 1 1 dz dy dx 2 Escala glscalef(sx, Sy, Sz) S(Sx, Sy, Sz): 1 1 Sz Sy Sx Transformações 3D Rotação

Leia mais

A15 Materiais para dispositivos ópticos

A15 Materiais para dispositivos ópticos A15 Materiais para dispositivos ópticos reflexão refracção Interacção de materiais e radiação Materiais interactuam com a radiação através da sua reflexão, absorção, transmissão ou refracção O espectro

Leia mais

Processamento de Imagens Coloridas. Prof. Adilson Gonzaga

Processamento de Imagens Coloridas. Prof. Adilson Gonzaga Processamento de Imagens Coloridas Prof. Adilson Gonzaga 1 Aparência de um Objeto A aparência de um objeto é o resultado de uma complexa interação da luz incidente sobre este objeto, suas características

Leia mais

Assunto última aula. Flat Shading

Assunto última aula. Flat Shading Assunto última aula Modelos de Iluminação para Sombreamento de Polígonos 1 Flat Shading Pixar Shutterbug sequence 2 1 Gouraud Shading 3 Phong Shading 4 2 Iluminação Local O cálculo de iluminação num ponto

Leia mais

O que é? Como funciona?

O que é? Como funciona? A ideia deste trabalho é explicar como funciona a técnica de traçado de raios (raytracing), falando sobre os tipos de estratégias que podem ser tomadas, bem como iluminação, sombra e visibilidade. Será

Leia mais

Iluminação. Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho

Iluminação. Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Iluminação Modelos de Iluminação em Tempo Real; Iluminação e Materiais em OpenGL António Ramires Fernandes Computação Gráfica

Leia mais

Feixe de luz: É um conjunto de infinitos raios de luz; um feixe luminoso pode

Feixe de luz: É um conjunto de infinitos raios de luz; um feixe luminoso pode ÓPTICA Luz - Comportamento e princípios Prof. Patricia Caldana A luz, ou luz visível como é fisicamente caracterizada, é uma forma de energia radiante. É o agente físico que, atuando nos órgãos visuais,

Leia mais

ÓPTICA GEOMÉTRICA: Parte da Física que descreve fenômenos luminosos a partir da noção de raio de luz, alguns princípios fundamentais e Geometria.

ÓPTICA GEOMÉTRICA: Parte da Física que descreve fenômenos luminosos a partir da noção de raio de luz, alguns princípios fundamentais e Geometria. ÓPTICA Introdução ÓPTICA GEOMÉTRICA: Parte da Física que descreve fenômenos luminosos a partir da noção de raio de luz, alguns princípios fundamentais e Geometria. LUZ: Dependendo do fenômeno estudado

Leia mais

REFRAÇÃO DA LUZ PROFESSOR RODRIGO PENNA PRODUÇÃO E DESENVOLVIMENTO

REFRAÇÃO DA LUZ PROFESSOR RODRIGO PENNA PRODUÇÃO E DESENVOLVIMENTO REFRAÇÃO DA LUZ PROFESSOR RODRIGO PENNA PRODUÇÃO E DESENVOLVIMENTO RODRIGO RODRIGO PENNA: PENNA: o quadradinho quadradinho branco branco é um um ângulo ângulo reto. reto. Mostrar Mostrar os os ângulos

Leia mais

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas Júlio Kiyoshi Hasegawa 26 Fontes: Rogers, D. F. Procedural Elements for Computer Graphics Introdução Linhas e superfícies

Leia mais

1 Vetores no Plano. O segmento de reta orientada P Q tem P como ponto inicial, Q como ponto nal e

1 Vetores no Plano. O segmento de reta orientada P Q tem P como ponto inicial, Q como ponto nal e Vetores no Plano Resumo 1 - Vetores no Plano 2. Componentes de um vetor; 3. Vetor nulo e vetores unitários; 4. Operações algébricas com vetores; 5. Exercícios; 6. Questões de Revisão 1 Vetores no Plano

Leia mais

Sensoriamento Remoto I Engenharia Cartográfica. Prof. Enner Alcântara Departamento de Cartografia Universidade Estadual Paulista

Sensoriamento Remoto I Engenharia Cartográfica. Prof. Enner Alcântara Departamento de Cartografia Universidade Estadual Paulista Sensoriamento Remoto I Engenharia Cartográfica Prof. Enner Alcântara Departamento de Cartografia Universidade Estadual Paulista 2016 Interações Energia-Matéria na Atmosfera Energia Radiante Ao contrário

Leia mais

Leandro Paganotti Brazil Rosane Minghim Computação Gráfica ICMC USP

Leandro Paganotti Brazil Rosane Minghim Computação Gráfica ICMC USP Ray Tracing Leandro Paganotti Brazil Rosane Minghim Computação Gráfica ICMC USP 2007-2012 Resumo Introdução Ray Tracing Básico Intersecção Raio-Cena Sombra Reflexão Transparência Antialiasing Volumes Limitantes

Leia mais

Forma de energia radiante capaz de sensibilizar nossos órgãos visuais. Compreende a região do espectro eletromagnético do vermelho até o violeta.

Forma de energia radiante capaz de sensibilizar nossos órgãos visuais. Compreende a região do espectro eletromagnético do vermelho até o violeta. Forma de energia radiante capaz de sensibilizar nossos órgãos visuais. Compreende a região do espectro eletromagnético do vermelho até o violeta. Propaga-se, no vácuo, com velocidade de 3.10 5 km/s.(ou

Leia mais

Cor SCC0251 Processamento de Imagens

Cor SCC0251 Processamento de Imagens Cor SCC0251 Processamento de Imagens Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2012/1 Moacir Ponti Jr. (ICMCUSP) Cor 2012/1 1 / 39 Sumário 1 Introdução

Leia mais

Prof. Fernando V. Paulovich 25 de julho de SCC Programação Orientada a Objetos

Prof. Fernando V. Paulovich   25 de julho de SCC Programação Orientada a Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São

Leia mais

Motivação. Iluminação. Modelo de Iluminação = aproximação da iluminação do mundo real. Sensação da 3-dimensionalidade, percepção da profundidade

Motivação. Iluminação. Modelo de Iluminação = aproximação da iluminação do mundo real. Sensação da 3-dimensionalidade, percepção da profundidade Iluminação Computação Gráfica Motivação Modelo de Iluminação = aproximação da iluminação do mundo real wireframe Sensação da 3-dimensionalidade, percepção da profundidade sem iluminação Na maior parte

Leia mais

aula 21 Tecnicas de Iluminação Global IC/UFF 2017 Aura

aula 21 Tecnicas de Iluminação Global IC/UFF 2017 Aura aula 21 Tecnicas de Iluminação Global IC/UFF 2017 Aura Modelos de iluminação globais Ao contrario dos modelos locais que consideram a superfície a luz e o observador, os globais consideram todos os objetos

Leia mais

Física IV P1-1 de setembro de 2016

Física IV P1-1 de setembro de 2016 Questão 1 Física IV - 4323204 P1-1 de setembro de 2016 (I) Considere um conjunto de duas fendas de largura l, espaçadas por uma distância de 5l. Sobre estas duas fendas incide uma onda plana monocromática,

Leia mais

Refração da luz. Prof.: Luiz Felipe. Ciências da Natureza Física

Refração da luz. Prof.: Luiz Felipe. Ciências da Natureza Física Refração da luz Fenômeno que ocorre quando há a passagem da luz de um meio de propagação para outro, necessariamente mudando de velocidade. Incidência oblíqua: refração com desvio; Incidência perpendicular:

Leia mais

Capítulo 9: Transferência de calor por radiação térmica

Capítulo 9: Transferência de calor por radiação térmica Capítulo 9: Transferência de calor por radiação térmica Radiação térmica Propriedades básicas da radiação Transferência de calor por radiação entre duas superfícies paralelas infinitas Radiação térmica

Leia mais

Cap Ondas Eletromagnéticas

Cap Ondas Eletromagnéticas Cap. 33 - Ondas Eletromagnéticas Espectro EM; Descrição de onda EM; Vetor de Poynting e Transferência de energia; Polarização; ; Polarização e Reflexão. Espectro EM Onda: flutuação/oscilação de alguma

Leia mais