Computação Gráfica. GLSL - Programação de Shaders Toon Mapping; Texturas

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

Download "Computação Gráfica. GLSL - Programação de Shaders Toon Mapping; Texturas"

Transcrição

1 Computação Gráfica GLSL - Programação de Shaders Toon Mapping; Texturas António nio Ramires Fernandes - Multimédia

2 GLSL - Programação de Shaders Resumo Toon Shading Coordenadas de Textura Lattice Stripes Texturas Stripes Planeta Terra DI-UM Multimédia 2

3 GLSL - Toon Shading O efeito de Cartoon pode ser aproximado de uma forma simples criando um shader com um número limitado de cores. Pretende-se preservar a contribuição especular. Cor escura para zonas fronteira Número reduzido de cores para os restantes casos DI-UM Multimédia 3

4 GLSL - Toon Shading Versão I: Ponto de partida - Luz dir. por pixel Aplicar cor mais clara se contribuição especular > 0 Aplicar restantes cores dependendo da cor obtida (sem contribuição especular) DI-UM Multimédia 4

5 GLSL - Toon Shading Versão I: Ponto de partida - Fragment Shader - Luz dir. por pixel... vec4 c0 = vec4(0.2); // zonas fronteira vec4 c1 = vec4(0.0,0.2,0.6,1.0); // zonas escuras vec4 c2 = vec4(0.0,0.4,0.8,1.0); // zonas claras aux = length(vec3(color)); if (contribspec > 0.0) color = vec4(0.8, 0.8, 0.8,1.0); // zonas especulares else if (aux < 0.5) color = c0; else if (aux < 0.8) color = c1; else color = c2; gl_fragcolor = color; DI-UM Multimédia 5

6 GLSL - Toon Shading Utilização de variáveis Uniform para as cores e thresholds no fragment shader uniform vec4 cs,c0,c1,c2; uniform float t1,t2; void main(void) {... aux = length(vec3(color)); if (contribspec > 0.0) color = cs; // zonas especulares else if (aux < t1) color = c0; else if (aux < t2) color = c1; else color = c2; } gl_fragcolor = color; DI-UM Multimédia 6

7 GLSL - Toon Shading Código para a aplicação OpenGL: GLint loc; loc = glgetuniformlocationarb(p, "cs"); gluniform4farb(loc, 0.8,0.8,0.8,1.0); loc = glgetuniformlocationarb(p, "c0"); gluniform4farb(loc, 0.2,0.2,0.2,1.0); loc = glgetuniformlocationarb(p, "c1"); gluniform4farb(loc, 0.0,0.2,0.6,1.0); loc = glgetuniformlocationarb(p, "c2"); gluniform4farb(loc, 0.0,0.4,0.8,1.0); loc = glgetuniformlocationarb(p, "t1"); gluniform1farb(loc, 0.5); loc = glgetuniformlocationarb(p, "t2"); gluniform1farb(loc, 0.8); DI-UM Multimédia 7

8 GLSL - Toon Shading Versão II - Através da análise das normais Calcula-se o coseno entre a direcção do olhar e a normal. Em função do resultado aplica-se a cor: Se cos > 0.98 cor especular Se 0.98 <=cos > 0.5 cor clara Se cor <= 0.5 cor escura DI-UM Multimédia 8

9 GLSL - Toon Shading Versão II - Através da análise das normais // Vertex Shader varying vec3 Normal; void main(void) { // Fragment Shader } Normal = gl_normalmatrix * gl_normal; Normal = normalize(normal); gl_position = ftransform(); Author: Philip Rideout, 3Dlabs varying vec3 Normal; void main (void){ } vec3 color = vec3(0.0,0.25,1.0); vec3 n = normalize(normal); float f = dot(vec3(0,0,1),n); if (abs(f) < 0.5) color = vec3(0.0); if (abs(f) > 0.98) color = vec3(0.75,0.75,1.0; gl_fragcolor = vec4(color, 1.0); DI-UM Multimédia 9

10 GLSL - Programação de Shaders Resumo Toon Shading Coordenadas de Textura Lattice Stripes Texturas Stripes Planeta Terra DI-UM Multimédia 10

11 GLSL - Coordenadas de Textura As coordenadas de textura podem ser utilizadas para obter alguns efeitos, sem aplicação de texturas. Atributos acessíveis no Vertex Shader. attribute vec4 gl_multitexcoord0; attribute vec4 gl_multitexcoord1; attribute vec4 gl_multitexcoord2; attribute vec4 gl_multitexcoord3; attribute vec4 gl_multitexcoord4; attribute vec4 gl_multitexcoord5; attribute vec4 gl_multitexcoord6; attribute vec4 gl_multitexcoord7; uniform mat4 gl_texturematrix[gl_maxtexturecoords]; DI-UM Multimédia 11

12 GLSL - Coordenadas de Textura O Vertex Shader utiliza a variável varying vec4 gl_texcoord[]; para comunicar com o fragment shader. Por exemplo, num vertex shader pode-se escrever: gl_texcoord[0] = gl_multitexcoord0; para definir a coordenada de textura do vértice. O fragment shader ao aceder a gl_texcoord[0] estará a aceder à coordenada de textura interpolada para o fragmento actual. DI-UM Multimédia 12

13 GLSL - Coordenadas de Textura Lattice Shader Utilização do comando discard para não desenhar certos pixels. Ambas as coordenadas (s,t) são inicialmente escaladas para obter mais tiras horizontais e verticais. Os fragmentos com coordenadas de textura não inteiras (dentro de uma certa tolerância) são eliminados. DI-UM Multimédia 13

14 GLSL - Coordenadas de Textura Lattice Shader Vertex Shader void main(void) { gl_texcoord[0]= gl_multitexcoord0; gl_position = ftransform(); } Fragment Shader uniform vec2 Scale; uniform vec2 Threshold; uniform vec3 SurfaceColor; void main (void) { float ss = fract(gl_texcoord[0].s * Scale.s); float tt = fract(gl_texcoord[0].t * Scale.t); if ((ss > Threshold.s) && (tt > Threshold.t)) discard; } gl_fragcolor = vec4 (SurfaceColor, 1.0); Author: Randi Rost, 3Dlabs (simplificado) DI-UM Multimédia 14

15 GLSL - Coordenadas de Textura Stripes Shader Utilização da coordenada de textura t para definir tiras de cores alternadas A coordenada t é inicialmente escalada para obter mais tiras. DI-UM Multimédia 15

16 GLSL - Coordenadas de Textura Stripes Shaders Vertex Shader void main(void) { gl_texcoord[0]= gl_multitexcoord0; gl_position = ftransform(); } Fragment Shader uniform vec3 StripeC; uniform vec3 BackC; uniform float Scale; void main(void) { float scaled_t = fract(gl_texcoord[0].t * Scale); float fract1 = fract(scaled_t); if (fract1 > 0.5) fract1 = 1.0; else fract1 = 0.0; } vec3 finalcolor = mix(backcr, StripeC,fract1); gl_fragcolor = vec4 (finalcolor, 1.0); DI-UM Multimédia 16

17 GLSL - Coordenadas de Textura Stripes Shader A imagem apresenta aliasing devido ao uso de uma função binária de intensidade. binário transições mais suaves DI-UM Multimédia 17

18 GLSL - Coordenadas de Textura Stripes Fragment Shader II void main(void) { float scaled_t = fract(gl_texcoord[0].t * Scale); if (scaled_t < 0.025) fract1 = *fract1; else if (scaled_t > 0.975) fract1 = (fract )*20.0; else if (scaled_t > && scaled_t < 0.525) fract1 = (fract )*20.0; else if (scaled_t > 0.5) fract1 = 1.0; else fract1 = 0.0; } vec3 finalcolor = mix(backcolor, StripeColor,fract1); gl_fragcolor = vec4 (finalcolor, 1.0); DI-UM Multimédia 18

19 GLSL - Coordenadas de Textura Stripes Shader simples suave DI-UM Multimédia 19

20 GLSL - Programação de Shaders Resumo Toon Shading Coordenadas de Textura Lattice Stripes Texturas Stripes Planeta Terra DI-UM Multimédia 20

21 GLSL - Texturas Acesso aos valores de texturas a partir de GLSL. Em OpenGL iniciam-se as texturas da mesma forma que utilizando a funcionalidade fixa. A aplicação OpenGL só tem de efectuar um passo adicional: passar ao shader o(s) índice(s) da(s) unidade(s) de textura(s) DI-UM Multimédia 21

22 GLSL - Texturas Código OpenGL ilgenimages(1,images); glgentextures(1,texnames); glbindtexture(gl_texture_1d, texnames[0]); gltexparameteri(gl_texture_1d, GL_TEXTURE_WRAP_S, GL_REPEAT); gltexparameteri(gl_texture_1d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameteri(gl_texture_1d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glteximage1d(gl_texture_1d, 0, GL_RGB, ilgetinteger(il_image_width), 0, GL_RGB, GL_UNSIGNED_BYTE, ilgetdata()); GLint loc; loc = glgetuniformlocationarb(p, "Scale"); gluniform1farb(loc, 10.0); loc = glgetuniformlocationarb(p, "tex"); gluniform1iarb(loc, 0); Indice da unidade de textura (0-7) DI-UM Multimédia 22

23 GLSL - Texturas: Stripes Stripes shader com cor em textura Neste caso vamos aplicar uma textura 1D: O valor da coordenada de textura t do objecto, depois de escalado é utilizado para aceder à textura 1D. DI-UM Multimédia 23

24 GLSL - Texturas: Stripes Fragment Shader uniform float Scale; uniform sampler1d tex; void main(void) { float scaled_t = gl_texcoord[0].t * Scale; vec3 finalcolor = vec3(texture1d(tex,scaled_t)); } gl_fragcolor = vec4 (finalcolor, 1.0); DI-UM Multimédia 24

25 GLSL - Texturas: Stripes Desta forma o fragment shader fica mais simples mas perde-se a liberdade de alterar as cores em run-time, excepto se a textura for substituída. Uma outra alternativa é codificar a função de intensidade numa textura, e usar o valor do texel para efectuar a mistura de cores. As cores continuam a ser passadas como variáveis Uniform, logo controláveis a partir da aplicação OpenGL. DI-UM Multimédia 25

26 GLSL - Texturas: Stripes Fragment Shader uniform vec3 StripeColor; uniform vec3 BackColor; uniform float Scale; uniform sampler1d tex; void main(void) { float scaled_t = fract(gl_texcoord[0].t * Scale); } float fract1 = length(vec3(texture1d(tex,scaled_t))); vec3 finalcolor = mix(backcolor, StripeColor, fract1); gl_fragcolor = vec4 (finalcolor, 1.0); DI-UM Multimédia 26

27 GLSL - Programação de Shaders Resumo Toon Shading Coordenadas de Textura Lattice Stripes Texturas Stripes Planeta Terra DI-UM Multimédia 27

28 GLSL - Texturas: Terra 1º Passo: Colocar uma textura numa esfera. + = DI-UM Multimédia 28

29 GLSL - Texturas: Terra 1º Passo: Shaders Vertex Shader void main() { gl_texcoord[0] = gl_multitexcoord0; gl_position = ftransform(); } Fragment Shader uniform sampler2d earth; void main() { gl_fragcolor = texture2d(earth,gl_texcoord[0].st); } DI-UM Multimédia 29

30 GLSL - Texturas: Terra 2º Passo: Adicionar Iluminação Calcular a intensidade da luz I = N.L Sendo N a normal da superfície e L a direcção da luz Modular a cor da textura com a intensidade da luz C = T*I Adicionar a intensidade especular C = C + max( HV.N, 0) shininess DI-UM Multimédia 30

31 GLSL - Texturas: Terra 2º Passo: Vertex Shader varying vec3 normal, lightdir, ecpos; void main() { lightdir = normalize(gl_lightsource[0].position.xyz); normal = normalize(gl_normalmatrix * gl_normal); ecpos = vec3(gl_modelviewmatrix * gl_vertex) ; } gl_texcoord[0] = gl_multitexcoord0; gl_position = ftransform(); DI-UM Multimédia 31

32 GLSL - Texturas: Terra 2º Passo: Fragment Shader uniform sampler2d earth; varying vec3 normal, lightdir, ecpos; void main() { float intensity,spec; vec3 n,hv,ec; n = normalize(normal); intensity = dot(lightdir,n); if (intensity > 0.0) { ec = normalize(-ecpos); hv = normalize(ec+lightdir); spec = pow(max(dot(hv,n),0.0),128); } } gl_fragcolor = texture2d(earth,gl_texcoord[0].st) * intensity + spec; DI-UM Multimédia 32

33 GLSL - Texturas: Terra 3º Passo: Adicionar Textura para a "noite" A noite será utilizada sempre que a intensidade seja negativa. DI-UM Multimédia 33

34 GLSL - Texturas: Terra 3º Passo: Fragment Shader uniform sampler2d earth,night; varying vec3 normal, lightdir, ecpos; void main() { vec4 spec,color; float intensity,shininess;... (Cálculo da intensidade e componente especular) if (intensity > 0.0) color = texture2d(earth,gl_texcoord[0].st) * intensity + spec; else if (intensity < 0.0) color = texture2d(night,gl_texcoord[0].st); } gl_fragcolor = color ; DI-UM Multimédia 34

35 GLSL - Texturas: Terra 4º Passo: Suavizar transição entre o dia e a noite DI-UM Multimédia 35

36 GLSL - Texturas: Terra 4º Passo: Fragment Shader void main() {...(Cálculo da intensidade e componente especular) earthcolor = texture2d(earth,gl_texcoord[0].st) * intensity + spec; nightcolor = texture2d(night,gl_texcoord[0].st); if (intensity > threshold) color = earthcolor; else if (intensity < -threshold) color = nightcolor; else color = mix(nightcolor, earthcolor,(intensity +0.1) * 5.0); } gl_fragcolor = color ;//+ color; DI-UM Multimédia 36

37 GLSL - Texturas: Terra 5º Passo: Só permitir reflexões especulares no mar DI-UM Multimédia 37

38 GLSL - Texturas: Terra 5º Passo: Fragment Shader uniform sampler2d earth,night,gloss; void main() {... g = texture2d(gloss,gl_texcoord[0].st).g; earthcolor = texture2d(earth,gl_texcoord[0].st) * intensity + spec * g; nightcolor = texture2d(night,gl_texcoord[0].st); if (intensity > threshold) color = earthcolor; else if (intensity < -threshold) color = nightcolor; else color = mix(nightcolor, earthcolor,(intensity +0.1) * 5.0); } gl_fragcolor = color ;//+ color; DI-UM Multimédia 38

39 GLSL - Texturas: Terra 6º Passo: Nuvens DI-UM Multimédia 39

40 GLSL - Texturas: Terra 6º Passo: Nuvens Tanto as nuvens como o mapa de reflexão especular ocupam somente um canal de cor: combinar numa única textura + = DI-UM Multimédia 40

41 GLSL - Texturas: Terra 6º Passo: Nuvens O acesso às componentes da textura faz-se da seguinte forma vec2 cgcolor = texture2d(cloudgloss,gl_texcoord[0].st).xy; cloud = cgcolor.r; gloss = cgcolor.g; Uniform sampler2d DI-UM Multimédia 41

42 GLSL - Texturas: Terra 6º Passo: Nuvens As nuvens devem inibir o aparecimento de luzes á noite. nightcolor = texture2d(night,gl_texcoord[0].st) * (1.0-cloud) ; DI-UM Multimédia 42

43 GLSL - Texturas: Terra 6º Passo A opacidade das nuvens deve afectar a combinação entre a cor do planeta e as nuvens. earthcolor = (texture2d(earth,gl_texcoord[0].st) * intensity + spec*gloss) * (1.0 - cloud) + cloud*intensity; Intensidade da terra depende da opacidade das nuvens Adicionar as nuvens tendo em conta a intensidade da luz e a opacidade das nuvens DI-UM Multimédia 43

44 GLSL - Texturas: Terra Fragment Shader completo uniform sampler2d earth,night,cloudgloss; varying vec3 normal, lightdir, ecpos; void main() { vec4 color,earthcolor,nightcolor; float intensity,spec,cloud,gloss, threshold=0.1; vec3 n,hv,ec; vec2 cgcolor; n = normalize(normal); intensity = dot(lightdir,n); if (intensity > 0.0) { ec = normalize(-ecpos); hv = normalize(ec+lightdir); spec = pow(max(dot(hv,n),0.0),gl_frontmaterial.shininess); } DI-UM Multimédia 44

45 GLSL - Texturas: Terra Fragment Shader completo (2) cgcolor = texture2d(cloudgloss,gl_texcoord[0].st).xy; cloud = cgcolor.r; gloss = cgcolor.g; earthcolor = (texture2d(earth,gl_texcoord[0].st) * intensity + spec*gloss) * (1.0 - cloud) + cloud*intensity; nightcolor = texture2d(night,gl_texcoord[0].st)* (1.0-cloud) ; if (intensity > threshold) color = earthcolor; else if (intensity < -threshold) color = nightcolor; else color = mix(nightcolor, earthcolor,(intensity +0.1) * 5.0); } gl_fragcolor = color; DI-UM Multimédia 45

46 Referências OpenGL 2.0 Specification, GLSL Specification, "OpenGL Shading Language", Randi Rost, Addison Wesley Texturas para Planeta Terra DI-UM Multimédia 46

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Computação Gráfica. GLSL - Programação de Shaders Iluminação Computação Gráfica GLSL - Programação de Shaders Iluminação António nio Ramires Fernandes - Multimédia Resumo Tipos de Dados, Funções e Controle de Fluxo GLSL - Minimal GLSL - Cores GLSL - Iluminação Direcional

Leia mais

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Computação Gráfica. GLSL - Programação de Shaders Iluminação Computação Gráfica GLSL - Programação de Shaders Iluminação António Ramires Fernandes - Computação Gráfica 07/08 Resumo Tipos de Dados, Funções e Controle de Fluxo GLSL - Minimal GLSL - Cores GLSL - Iluminação

Leia mais

Geração de Geometria - Terrenos

Geração de Geometria - Terrenos Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Geração de Geometria - Terrenos Imagens e Texturas António Ramires Fernandes Computação Gráfica 09/10 Mapas de Alturas Intensidade

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

OpenGL Shading Language

OpenGL Shading Language OpenGL Shading Language Guilherme S. Moura (gsm@cin.ufpe.br) Saulo A. Pessoa (sap@cin.ufpe.br) Vladimir Alves (vap2@cin.ufpe.br) Felipe Maia O que é? High Level Shading Language para OpenGL Descreve shaders

Leia mais

Fundamentos de Computação Gráfica. Texturas

Fundamentos de Computação Gráfica. Texturas Fundamentos de Computação Gráfica Texturas Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira, granito, tijolo Reduzir complexidade geométrica Simulação

Leia mais

Explorando Charcoal Rendering

Explorando Charcoal Rendering Explorando Charcoal Rendering Luis Valente Departamento de Informática PUC-Rio Abstract Este trabalho explora uma aplicação de renderização não-fotorealista, que é simulação de desenho a carvão. Para isso,

Leia mais

Texturas. Aula 7. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa

Texturas. Aula 7. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa Texturas (introdução) Aula 7 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Conteúdo Configuração de texturas Utilização de texturas

Leia mais

Computação Gráfica. Texturas

Computação Gráfica. Texturas Computação Gráfica Texturas António nio Ramires Fernandes - Multimédia Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira, granito, tijolo Reduzir complexidade

Leia mais

GLSL Programação de Shaders

GLSL Programação de Shaders Universidade do Minho Mestrado em Informática UCE - Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline

Leia mais

Computação Gráfica. GLSL - Introdução e Programação da Aplicação OpenGL

Computação Gráfica. GLSL - Introdução e Programação da Aplicação OpenGL Computação Gráfica GLSL - Introdução e Programação da Aplicação OpenGL António nio Ramires Fernandes - Multimédia Evolução do Hardware Gráfico PCs Controladores VGA (Video Graphics Array) Introduzido em

Leia mais

Computação Gráfica. GLSL Programação de Shaders

Computação Gráfica. GLSL Programação de Shaders Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes - Computação Gráfica 07/08 GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline Gráfico Programável Processador

Leia mais

Tomás Antônio Costa Badan. Mapa de Textura: O Básico

Tomás Antônio Costa Badan. Mapa de Textura: O Básico Tomás Antônio Costa Badan Mapa de Textura: O Básico Introdução De acordo com o www.thefreedictionary.com: Textura Aparência e impressão de uma superfície Superfície de uma material, principalmente sentida

Leia mais

Mapeamento de Texturas

Mapeamento de Texturas Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Mapeamento de Texturas Texturas Quando o resultado começa a parecer real Superfícies no mundo real são muito complexas Não se

Leia mais

GPU and GLSL. Prof. João Madeiras Pereira 2008/2009

GPU and GLSL. Prof. João Madeiras Pereira 2008/2009 GPU and GLSL Prof. João Madeiras Pereira 2008/2009 1 Tópicos Evolução do hardware gráfico Pipeline gráfico fixo Pipeline gráfico programável Processador de vértices Processador de fragmentos GLSL Invocação

Leia mais

Mapeamento de Texturas

Mapeamento de Texturas Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Mapeamento de Texturas Texturas Quando o resultado começa a parecer real Superfícies no mundo real são muito complexas Não se

Leia mais

5 Detalhamento de superfícies com tesselação em GPU

5 Detalhamento de superfícies com tesselação em GPU 5 Detalhamento de superfícies com tesselação em GPU Este capítulo descreve o procedimento realizado para a geração de detalhes em GPU usando tesselação em hardware. Inicialmente, será dada uma visão geral

Leia mais

Introdução à Computação Gráfica Texturas

Introdução à Computação Gráfica Texturas Introdução à Computação Gráfica Texturas Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Detalhes de Superfícies Modelos de iluminação não são apropriados para

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

Entendendo a geometria

Entendendo a geometria No artigo entitulado Um quadrado com Index Buffer propusemos um desafio: o de construir uma malha quadriculada para o desenho de um chão. A função de construção da malha deveria receber como parâmetro

Leia mais

IntMu.Lab5. Importe os ficheiros disponibilizados em

IntMu.Lab5. Importe os ficheiros disponibilizados em IntMu.Lab5 0. Importe os ficheiros disponibilizados em http://www.dee.isep.ipp.pt/~jml/intmu/lab5: wget http://www.dee.isep.ipp.pt/~jml/intmu/lab5/makefile make getall Analise detalhadamente o programa

Leia mais

Geração Procedural de Terrenos em GPU

Geração Procedural de Terrenos em GPU Geração Procedural de Terrenos em GPU Felipe Gomes Sampaio Universidade Federal de Juiz de Fora Departamento de Ciência da Computação Orientadora: Jesuliana Nascimento Ulysses Agenda Introdução GPU Terrenos

Leia mais

Shading (sombreamento) & Smooth Shading

Shading (sombreamento) & Smooth Shading Shading (sombreamento) & Smooth Shading Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Shading & Smooth Shading Objectivo: calcular a cor de cada ponto das superfícies visíveis. Solução brute-force:

Leia mais

OpenGL #2: Brincando com Pixels

OpenGL #2: Brincando com Pixels OpenGL #2: Brincando com Pixels Presented by the Case Tradução e adaptação: Túlio C. Continuando Previously on the OpenGL: Algebra Liner, Matemática 3D Submissão de vértics, primitivas, interpolação de

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

Animação e Visualização Tridimensional

Animação e Visualização Tridimensional Animação e Visualização Tridimensional Mestrado em Engenharia Informática e de Computadores Alameda º mini-teste 22 de Outubro de 204 O mini-teste tem a duração máxima de 45 minutos, tolerância incluída.

Leia mais

Shading (sombreamento) & Smooth Shading

Shading (sombreamento) & Smooth Shading Shading (sombreamento) & Smooth Shading Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Shading & Smooth Shading Objectivo: calcular a cor de cada ponto das superfícies visíveis. Solução brute-force:

Leia mais

Texturas. André Tavares da Silva. Baseado no material de Claudio Esperança e Paulo Roma Cavalcanti

Texturas. André Tavares da Silva. Baseado no material de Claudio Esperança e Paulo Roma Cavalcanti Texturas André Tavares da Silva andre.silva@udesc.br Baseado no material de Claudio Esperança e Paulo Roma Cavalcanti Detalhes de Superfícies Modelos de iluminação não são apropriados para descrever todas

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

REFINAMENTO DE MALHA

REFINAMENTO DE MALHA TEXTURAS A utilização de luzes e tonalização conferem um certo realismo ao cenário porém nem sempre são suficientes para transmitir um visual natural ou um aspecto áspero ao material, por exemplo. A aspereza

Leia mais

Textura e Iluminação

Textura e Iluminação e Iluminação SCC0250/0650 - Computação Gráfica Prof a. Rosane Minghim https://edisciplinas.usp.br/course/view.php?id=61213 https://edisciplinas.usp.br/course/view.php?id=61210 rminghim@icmc.usp.br P.A.E.

Leia mais

Mas essas alternativas podem ser inviáveis para superfícies imprevisíveis e muito. Podemos aumentar o nível de detalhes da

Mas essas alternativas podem ser inviáveis para superfícies imprevisíveis e muito. Podemos aumentar o nível de detalhes da Mapeamento de Texturas Foley: Chapters 16.3 e 17.4 Mount: Lectures 9 e 10 O que fazer para superfícies mais complexas? Podemos aumentar o nível de detalhes da superfície ou definir uma função matemática

Leia mais

Rendering 2D com OpenGL e interface gráfica em Qt

Rendering 2D com OpenGL e interface gráfica em Qt Rendering 2D com OpenGL e interface gráfica em Qt Qt Framework multiplataforma para desenvolvimento de interfaces gráficas em C++ https://www.qt.io/ 2 Ferramentas Qt Creator IDE (Ambiente Integrado de

Leia mais

1. Evolução do OpenGL

1. Evolução do OpenGL Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica Avançada pozzer@inf.ufsm.br 04/12/2012 OpenGL Shading Language 1. Evolução

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

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais Bruno Pereira Evangelista Pontifícia Universidade Católica de Minas Gerais 2/60 Apresentação Introdução Pipeline de renderização Efeitos utilizando GPUs Shaders Como utilizar shaders Ferramentas Demos

Leia mais

Computação Gráfica. Iluminação

Computação Gráfica. Iluminação Computação Gráfica Iluminação António nio Ramires Fernandes - Multimédia Iluminação Tópicos: Fundamentos de iluminação Aplicação em OpenGL Modelos de Shading Materiais em OpenGL Iluminação em OpenGL DI-UM

Leia mais

Mapeamento de Texturas

Mapeamento de Texturas Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Mapeamento de Texturas Questão Teste 19/11/2014 Y 1 =20, Y 0 = 0, Y 2 = -5 e Y 3 =-20 P 1, P 2 e P 3 tem Z=10, 5 e 14 d(p c,

Leia mais

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Aluno: Gabriel Malizia Orientador: Professor Marcelo Gattass Co-Orientador: Professor Paulo Cezar Carvalho

Leia mais

Modelos de Iluminação Métodos de surface-rendering

Modelos de Iluminação Métodos de surface-rendering Modelos de Iluminação Métodos de surface-rendering VI / CG 2012/2013 Beatriz Sousa Santos, J. Madeira 1 As imagens realistas obtêm-se : usando projecções perspectivas da cena aplicando efeitos de iluminação

Leia mais

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal... Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24

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 1 Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 121 IEC Luiz Felipe Simões Hoffmann Tópicos da Aula - OpenGL - Histórico - OpenGL Moderno

Leia mais

Computação Gráfica. Iluminação

Computação Gráfica. Iluminação Computação Gráfica Iluminação António Ramires Fernandes + Luís Paulo Santos - Computação Gráfica 08/09 Iluminação Tópicos: Fundamentos de iluminação Aplicação em OpenGL Modelos de Shading Materiais em

Leia mais

Mapeamento de Texturas

Mapeamento de Texturas Mapeamento de Texturas Leandro Tonietto Computação Gráfica Jogos Digitais ltonietto@unisinos.br http://professor.unisinos.brltonietto/jed/cgr/textura.pdf Abr-2012 04/12/2011 Leandro Tonietto Sumário Introdução

Leia mais

Real-time High Dynamic Range Image-based Lighting

Real-time High Dynamic Range Image-based Lighting Real-time High Dynamic Range Image-based Lighting cpalomo@inf.puc-rio.br Renderização em Tempo Real Depto. de Informática - PUC-Rio Dezembro de 2007 Outline 1 IBL HDR Objetivo do trabalho 2 3 Definição

Leia mais

Computação Gráfica. Texturas

Computação Gráfica. Texturas Computação Gráfica Texturas António Ramires Fernandes + Luís Paulo Santos- Computação Gráfica 08/09 Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira,

Leia mais

Modelos de Iluminação Métodos de surface-rendering. Beatriz Sousa Santos, J. Madeira

Modelos de Iluminação Métodos de surface-rendering. Beatriz Sousa Santos, J. Madeira Modelos de Iluminação Métodos de surface-rendering Beatriz Sousa Santos, J. Madeira 1 As imagens realistas obtêm-se : usando projecções perspectivas da cena aplicando efeitos de iluminação naturais às

Leia mais

6 A GPU. 6.1 Introdução

6 A GPU. 6.1 Introdução 6 A GPU These machines are keeping us alive, while other machines are coming to kill us. Interesting, isn't it? Power to give life, and the power to end it. (The Matrix) 6.1 Introdução Há poucos anos,

Leia mais

FCTUNIVERSIDADE NOVA DE LISBOA!

FCTUNIVERSIDADE NOVA DE LISBOA! Sumário Arquitectura básica Renderização de primiovas Transformações INTRODUÇÃO AO OPENGL Animação e buffer de profundidade Mapeamento de texturas 44 Mapeamento de texturas 45 MoOvação Simulação de materiais

Leia mais

2º Exame. Computação Gráfica

2º Exame. Computação Gráfica 2º Exame Computação Gráfica LEIC-A/T Prof. Mário Rui Gomes Prof. João Pereira Prof. Daniel Gonçalves 19 de Julho 2008 Nº Nome: A O exame tem a duração de 2 horas, tolerância incluída. Responda às questões

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

Escrito por Vinícius Godoy de Mendonça Dom, 15 de Fevereiro de :00 - Última atualização Ter, 31 de Maio de :55

Escrito por Vinícius Godoy de Mendonça Dom, 15 de Fevereiro de :00 - Última atualização Ter, 31 de Maio de :55 No artigo passado, vimos que é possível posicionar o triângulo da forma que quisermos. Neste artigo, vamos explorar outro atributo do vértice: as cores. Porém, as cores tem uma característica diferente

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. Aula 6. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa

Iluminação. Aula 6. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa Iluminação Aula 6 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Conteúdo Tipos de iluminação Materiais Luzes Modelos de iluminação

Leia mais

Sistemas de coordenadas

Sistemas de coordenadas No artigo passado explicamos como desenhar um simples triângulo na tela. Entretanto, isso foi feito usando o sistema de coordenadas padrão, que mapeia a tela em intervalos de 1 até 1 em cada eixo. Esse

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

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

4 Técnicas de Renderização HDR

4 Técnicas de Renderização HDR 4 Técnicas de Renderização HDR Após a apresentação, nos capítulos anteriores, dos conceitos fundamentais e dos trabalhos sobre HDR que influenciaram esta dissertação, esse capítulo tem como objetivo a

Leia mais

Computação Gráfica 5385: Licenciatura em Engenharia Informática. Chap. 10 Texturas. Texturas

Computação Gráfica 5385: Licenciatura em Engenharia Informática. Chap. 10 Texturas. Texturas Computação Gráfica 5385: Licenciatura em Engenharia Informática Chap. 10 Texturas Texturas Sumário : Objectivos Noção de textura Motivação Mapeamento de textura, padrões de textura e texels Mapeamento

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: COMPUTAÇÃO GRÁFICA - Semestre 2009/1 CÓDIGO: INF01009 PRÉ-REQUISITO: INF01047 Fundamentos

Leia mais

3 Fundamentos. 3.1 Pipeline de renderização em OpenGL

3 Fundamentos. 3.1 Pipeline de renderização em OpenGL 3 Fundamentos Este capítulo apresenta uma visão geral do pipeline de renderização da versão 4.0 da API OpenGL, tendo como foco os recém-introduzidos estágios de tesselação. Em seguida, é realizada uma

Leia mais

Fundamentos de Computação Gráfica. Iluminação

Fundamentos de Computação Gráfica. Iluminação Fundamentos de Computação Gráfica Iluminação Iluminação Tópicos: Fundamentos de iluminação Aplicação em OpenGL Modelos de Shading Materiais em OpenGL Iluminação em OpenGL 2 Iluminação Em CG a iluminação

Leia mais

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Terceiro Teste 19 de Maio de 2012

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Terceiro Teste 19 de Maio de 2012 CG / Terceiro Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Terceiro Teste 9 de Maio de O teste tem a duração de h, tolerância

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

Materiais e UVW Map Renderizar com Rhino parte #03

Materiais e UVW Map Renderizar com Rhino parte #03 Materiais e UVW Map Renderizar com Rhino parte #03 Os Materiais. Selecionando uma superfície, no lado direito da interface gráfica aparece o painel das propriedade do objeto. Esse painel possui um menu

Leia mais

CG 2015/2016 Segundo Teste LEIC Alameda/Taguspark. Segundo Teste. 18 de Novembro de 2015

CG 2015/2016 Segundo Teste LEIC Alameda/Taguspark. Segundo Teste. 18 de Novembro de 2015 CG 015/016 Segundo Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Segundo Teste 18 de Novembro de 015 O teste tem a duração

Leia mais

Renderização não fotorealista

Renderização não fotorealista Renderização não fotorealista INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 7 de Outubro de 2015 W. Celes Renderização não fotorealista

Leia mais

Implementação do algoritmo Marching Cubes usando shaders. Luiz Fernando Oliveira Corte Real lreal@ime.usp.br

Implementação do algoritmo Marching Cubes usando shaders. Luiz Fernando Oliveira Corte Real lreal@ime.usp.br Implementação do algoritmo Marching Cubes usando shaders Luiz Fernando Oliveira Corte Real lreal@ime.usp.br Marching Cubes Textura 3D Isosuperfície 3 9 8 7 6 8 5 4 9 9 7 6 10 6 4 2 Marching Cubes Textura

Leia mais

Detalhes de Superfícies. Introdução à Computação Gráfica Texturas. Propriedades Mapeáveis. Mapeamento de Textura

Detalhes de Superfícies. Introdução à Computação Gráfica Texturas. Propriedades Mapeáveis. Mapeamento de Textura Detalhe de Superfície Introdução à Computação Gráfica Textura Claudio Eperança Paulo Roma Cavalcanti Modelo de iluminação não ão apropriado para decrever toda a diferença de cor obervávei em uma uperfície

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

Ray-Tracing. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 13 Apontamentos CG

Ray-Tracing. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 13 Apontamentos CG Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Ray-Tracing Edward Angel, Cap. 13 Apontamentos CG Questões Teste O método de "bump mapping" estudado nas aulas teóricas usa:

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

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

Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação. Shader Não Fotorrealístico para Desenho de Mangás

Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação. Shader Não Fotorrealístico para Desenho de Mangás Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação Shader Não Fotorrealístico para Desenho de Mangás Johnny Ahrens Monografia apresentada como requisito parcial

Leia mais

CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark

CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Primeiro Teste 6 de Outubro de 013 O teste tem a duração de 1h00, tolerância incluída. Responda às questões

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

As GPU no processamento de vídeo em tempo real

As GPU no processamento de vídeo em tempo real As GPU no processamento de vídeo em tempo real Daniel Oliveira Dantas e Junior Barrera (orientador) Universidade de São Paulo (USP), Brasil ddantas,jb@ime.usp.br 1. Introdução Nos últimos anos, as Unidades

Leia mais

CG 2013/2014 Segundo Teste LEIC Alameda/Taguspark

CG 2013/2014 Segundo Teste LEIC Alameda/Taguspark CG 03/04 Segundo Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Segundo Teste 0 de Novembro de 03 O teste tem a duração de

Leia mais

Tópicos Especiais em Engenharia de Software (Jogos II)

Tópicos Especiais em Engenharia de Software (Jogos II) Tópicos Especiais em Engenharia de Software (Jogos II) Aula 02 Iluminação, Materiais e Shaders Edirlei Soares de Lima Unity 3D: Graphics A Unity oferece diversos elementos para a

Leia mais

Portais Renderizáveis em 3D

Portais Renderizáveis em 3D Portais Renderizáveis em 3D Alunos: Omar Mahmoud Abou Ajoue Otávio Moura do Nascimento Orientador: Marcel P. Jackowski Introdução Inspirado no jogo Portal da produtora Valve A idéia consiste em permitir

Leia mais

Computação Gráfica - 07

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

Leia mais

6 Aspectos computacionais

6 Aspectos computacionais 6 Aspectos computacionais 6.1 Edição de filtros Nesta seção detalhamos como é feito o mapeamento das frequências do som às frequências da malha em ambos os métodos. 6.1.1 Filtros em Harmônicos de Variedade

Leia mais

VisEdu-MAT: Visualizador de material educacional, módulo de matemática

VisEdu-MAT: Visualizador de material educacional, módulo de matemática VisEdu-MAT: Visualizador de material educacional, módulo de matemática José Ricardo Krauss Orientador: Dalton Solano dos Reis FURB Universidade Regional de Blumenau DSC Departamento de Sistemas e Computação

Leia mais

Daniel Pereira prof. Dalton S. dos Reis

Daniel Pereira prof. Dalton S. dos Reis Daniel Pereira prof. Dalton S. dos Reis FURB - Universidade Regional de Blumenau DSC - Departamento de Sistemas e Computação Grupo de Pesquisa em Computação Gráfica e Entretenimento Digital 2012/I1 - http://www.inf.furb.br/gcg/

Leia mais

Computação Gráfica. Desempenho

Computação Gráfica. Desempenho Computação Gráfica Desempenho António Ramires Fernandes - Computação Gráfica 07/08 Desempenho Tópicos: Display Lists Vertex Buffer Objects DI-UM Computação Gráfica 07/08 2 Display Lists As DL são um mecanismo

Leia mais

2º Exame de Animação e Visualização Tridimensional

2º Exame de Animação e Visualização Tridimensional 2º Exame de Animação e Visualização Tridimensional Mestrado Bolonha em Eng. Informática e de Computadores - Alameda Prof. responsável João Madeiras Pereira 26 Janeiro 2010 Nº Nome: Responda às questões

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 2 Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 121 IEC Luiz Felipe Simões Hoffmann Tópicos da Aula - Índices - Transformações Geométricas

Leia mais

dist:=distance(pos); ou seja, o somatório dos erros mínimos, que advém do cálculo da distância mínima, uma vez, que o erro é função da distância.

dist:=distance(pos); ou seja, o somatório dos erros mínimos, que advém do cálculo da distância mínima, uma vez, que o erro é função da distância. Implementação das funções do algoritmo De seguida são demonstradas as derivadas de primeira e de segunda ordem, paras as variáveis necessárias, notar que apenas são demonstradas, não é explicado aqui para

Leia mais

Visibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG

Visibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Visibilidade Edward Angel, Cap. 7 Apontamentos CG Pipeline de Visualização 3D Pipeline de Visualização 3D LEIC CG Sombreamento

Leia mais

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti Introdução à Computação Gráfica Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Ênfase na parte prática Avaliação através de trabalhos de implementação C / C++ OpenGL c/ GLUT Grau (nota) baseado

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

Intensidade determina qual o brilho que uma luz provoca na superfície de um objecto (Multiplier).

Intensidade determina qual o brilho que uma luz provoca na superfície de um objecto (Multiplier). Universidade Lusófona Filipe Costa Luz Jul 2003 Iluminação em 3DStudioMAX Existem diversos sistemas de iluminação digital (ver tutorial sobre Plug-in Brazil) que ajudam a criar um cenário visualmente mais

Leia mais

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 09 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação A linguagem C, como qualquer outra linguagem de programação, permite

Leia mais

OpenGL 3.* INF Rendering em Tempo Real. Waldemar Celes Departamento de Informática, PUC-Rio

OpenGL 3.* INF Rendering em Tempo Real. Waldemar Celes Departamento de Informática, PUC-Rio OpenGL 3.* INF2610 - Rendering em Tempo Real Waldemar Celes Departamento de Informática, PUC-Rio celes@inf.puc-rio.br OpenGL API para interface com hardware gráfico Independente de plataforma (e de sistema

Leia mais

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática Transformações 2D Computação Visual Beatriz Sousa Santos, Joaquim Madeira Transformações 2D Posicionar, orientar e escalar

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

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Operadores aritméticos Operadores Unários (um só operando) Incremento

Leia mais

Aula Teórico-Prática nº 2

Aula Teórico-Prática nº 2 Aula Teórico-Prática nº 2 OpenGL e GLUT António nio Ramires Fernandes - Multimédia Bibliotecas OpenGL (Open Graphics Library) Funcionalidade Gráfica GLU (GL Utilities) Funcionalidade Extra, ao nível gráfico

Leia mais