Computação Gráfica. GLSL - Programação de Shaders Toon Mapping; Texturas
|
|
- Denílson Carreira Estrela
- 6 Há anos
- Visualizações:
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 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 maisComputaçã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 maisGeraçã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 maisInstituto 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 maisOpenGL 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 maisFundamentos 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 maisExplorando 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 maisTexturas. 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 maisComputaçã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 maisGLSL 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 maisComputaçã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 maisComputaçã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 maisTomá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 maisMapeamento 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 maisGPU 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 maisMapeamento 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 mais5 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 maisIntroduçã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 maisProf. 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 maisEntendendo 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 maisIntMu.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 maisGeraçã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 maisShading (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 maisOpenGL #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 maisComputaçã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 maisAnimaçã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 maisShading (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 maisTexturas. 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 maisComputaçã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 maisREFINAMENTO 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 maisTextura 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 maisMas 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 maisRendering 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 mais1. 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 maisProf. 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 maisBruno 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 maisComputaçã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 maisMapeamento 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 maisUm 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 maisModelos 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 maisCapí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 maisInstituto 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 maisComputaçã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 maisMapeamento 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 maisReal-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 maisComputaçã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 maisModelos 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 mais6 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 maisFCTUNIVERSIDADE 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 mais2º 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 maisModelo 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 maisEscrito 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 maisINF1339 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 maisIluminaçã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 maisSistemas 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 maisIluminaçã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 maisModelo 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 mais4 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 maisComputaçã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 maisUNIVERSIDADE 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 mais3 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 maisFundamentos 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 maisComputaçã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 maisIluminaçã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 maisMateriais 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 maisCG 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 maisRenderizaçã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 maisImplementaçã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 maisDetalhes 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 maisColoraçã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 maisRay-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 maisComputaçã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 maisProf. 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 maisUniversidade 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 maisCG 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 maisIluminaçã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 maisAs 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 maisCG 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 maisTó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 maisPortais 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 maisComputaçã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 mais6 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 maisVisEdu-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 maisDaniel 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 maisComputaçã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 mais2º 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 maisInstituto 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 maisdist:=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 maisVisibilidade. 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 maisIntroduçã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 maisIluminaçã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 maisIntensidade 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 maisIntroduçã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 maisOpenGL 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 maisUniversidade 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 maisCÁ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 maisTé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 maisAula 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