Explorando Charcoal Rendering

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

Download "Explorando Charcoal Rendering"

Transcrição

1 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, uma técnica original [Majumder e Gopi 2002] é analisada e implementada na GPU, sendo apresentados aspectos de implementação, variações da técnica e resultados. Palavras-chave: npr, renderização não-fotorealista, charcoal rendering, gpu Contato do autor lvalente@inf.puc-rio.br 1. Introdução A facilidade atual para se escrever programas que funcionem na placa gráfica tem consequências interessantes, como a oportunidade de se desenvolver aplicações para tentar obter uma visualização nãoconvencional, diferente da tradicional que visa a conseguir a imagem mais real possível. Essa linha alternativa de visualização é categorizada como visualização não-fotorealista [NPR 2007], e inclui técnicas como simulação de desenhos em quadrinhos (cartoon rendering), simulação de técnicas de pintura artística [ entre outras. Este trabalho discute uma técnica não-fotorealista para simular o desenho a carvão, com o objetivo de implementá-la na placa gráfica. A Figura 1 ilustra exemplos desse tipo de desenho. Os desenhos muitas vezes são monocromáticos; Possuem baixo dynamic range. Isso quer dizer que a variação de tons de cores é baixa, devido ao material utilizado (carvão) para se desenhar. Dessa forma, os artistas costumam usar grandes variações de constraste, para evidenciar formas; Em algumas figuras, observa-se que o traço é fraco em determinadas silhuetas, deixando-as implícitas. Segundo [Majumder e Gopi 2002], esse tipo de recurso artístico recebe o nome de efeito closure, e é usado pelo artista para deixar o observador interpretar o contorno de maneira mais subjetiva. Na Figura 1, isso está mais evidenciado no desenho do cachorro, em suas patas e focinho. A técnica discutida neste trabalho foi proposta originalmente em [Majumder e Gopi 2002]. Este trabalho demonstra uma implementação da técnica, com algumas extensões e comentários. A Seção 2 faz uma análise dos conceitos relacionados com a técnica original, e apresenta uma breve descrição de seu funcionamento. A Seção 3 apresenta a implementação e suas etapas. A Seção 4 demonstra algumas variações e resultados. Finalmente, as conclusões são apresentadas na Seção Trabalhos Relacionados Esta Seção descreve alguns conceitos definidos em [Majumder e Gopi 2002], e dá uma visão geral da técnica proposta por esses autores Conceitos Em [Majumder e Gopi 2002], são definidos alguns conceitos importantes para a implementação e entendimento da técnica Iluminação Figura 1: Exemplos de desenhos a carvão [Majumder e Gopi 2002] Analisando a Figura 1, pode-se observar algumas características: O algoritmo possui uma etapa onde é realizado um cálculo de iluminação. Nesse cálculo, é considerada apenas a contribuição de luz difusa (as outras componentes são ignoradas). As informações de cores (materiais) e texturas do modelo original são ignoradas nesse algoritmo. Assim, o algoritmo considera que o modelo possui material difuso igual a branco puro (RGB = 1.0, 1.0, 1.0). Esse também é o valor da componente difusa das fontes de luz.

2 O resultado do cálculo é uma intensidade, que é atribuída como cor ao modelo, gerando um modelo com tons de cinza Operador de melhoria de constraste O operador de melhoria de contraste (CEO, de Constrast Enhancement Operator) é uma função que é usada para se aumentar a percepção de constraste em um modelo 3D ou textura. Esse operador é usado para cores em tons de cinza. Dessa forma, um CEO é uma função que para uma dada intensidade de cor a, 0.0 a 1.0, é retornado um valor b, 0.0 b 1.0. O exemplo de CEO usado no artigo é b = am, para m > 1.0. A variável m recebe o nome de expoente de contraste. O último passo nesse pré-processamento consiste em aplicar um filtro na imagem para borrá-la, de modo a suavizá-la. Usando-se uma CET gerada com um expoente de contraste maior, é possível criar desenhos (na renderização) com menor concentração de granulados Modelo com contraste melhorado Um modelo com contraste melhorado (CEM, de Contrast Enhanced Model) é o resultado de se aplicar um CEO em um modelo 3D. As cores (originais e resultantes) desse modelo 3D são em tons de cinza. A Figura 4 exibe um exemplo de modelo com contraste melhorado Textura com contraste melhorado Uma textura com contraste melhorado (CET, de Contrast Enhanced Texture) é uma textura que foi processada com um CEO. No algoritmo, essa textura é usada para ajudar a simular o efeito granulado do desenho a carvão. Esse tipo de textura é criada em uma etapa de pré-processamento, na CPU. Para o algoritmo proposto, essas texturas são geradas proceduralmente. Inicialmente, uma textura é criada como uma textura de tons de cinza, com valores alteatórios (noise). Assim, no início desse processamento a textura é uma imagem com todos os pixels brancos, e então pixels pretos são espalhados na imagem. A Figura 2 ilustra uma textura de noise. Figura 4: Modelo com iluminação difusa (esquerda) e com contraste melhorado (direita) [Majumder e Gopi 2002] 2.2. Descrição da técnica O algoritmo proposto em [Majumder e Gopi 2002] possui estas etapas: Figura 2: Textura de noise com densidade 60 A aplicação do CEO dá-se da seguinte forma: em cada pixel preto gerado para a textura, esse operador é aplicado de modo a reposicionar esse pixel no eixo T da textura. Em outras palavras, para cada pixel de coordenadas (s, t), valores entre 0.0 e 1.0, o valor t é recalculado de acordo com um CEO, por exemplo: t' = tm, onde m é um expoente de constraste prédefinido (m > 1.0). A Figura 3 ilustra diferentes CETs. Figura 3: Três CETs com densidade 60. Esquerda: m = 1.3. Meio: m = 5.5. Direita: m = 15.0 Pré-processamento de texturas; Cálculo de iluminação difusa no modelo 3D; Aplicar o CEO no modelo 3D; Aplicar a CET (gerada em préprocessamento) no modelo 3D, para obter o efeito de granulado no desenho; Criar o efeito de um borrão no desenho (opcional); Criar o efeito do papel. Esse efeito é usado para simular o papel onde o/a artista faz o desenho. Este trabalho implementa a primeira etapa do original em CPU, enquanto as outras são executadas na GPU. Na primeira etapa, a textura usada para se simular o granulado no desenho (CET) é criada aplicando-se o CEO. Essa etapa ocorre apenas uma vez no programa. Na segunda etapa é realizado o cálculo do coeficiente de luz difusa que incide no modelo 3D. A proposta de [Majumder e Gopi 2002] não informa o número de fontes de luz usadas. O algoritmo considera apenas a componente difusa da fonte de luz, igonorando as demais. Assume-se que a cor de luz

3 difusa e a cor do modelo correspondem ao branco puro (RGB = 1.0, 1.0, 1.0). Na terceira etapa, a cor obtida na etapa anterior é usada como entrada para um CEO, de modo a aumentar o contraste do modelo 3D, gerando um CEM. Na quarta etapa, a textura pré-processada é modulada com as cores do CEM, de modo a simular o efeito de granulado. Em [Majumder e Gopi 2002], os autores descrevem que para se indexar nessa textura, os tons de cinza do CEM são usados como coordenadas de textura. Entretanto, no texto original não está muito claro como as coordenadas de textura são geradas (e usadas) a partir desses valores. A solução usada neste trabalho será descrita na Seção 3.3. O efeito de borrão (smudging effect) é descrito como um recurso usado pelo artista (passar o dedo no papel, borrando o desenho) para simular transições suavizadas entre tons de cinza. Os autores em [Majumder e Gopi 2002] propõem misturar a cor obtida até o momento (após aplicação da CET, no CEM) com a cor original do CEM (modulando-a), para alcançar esse efeito. Na prática, esse efeito faz com que os desenhos fiquem um pouco mais escurecidos. A aplicação desse efeito não é obrigatória. Finalmente, na última etapa é criado o efeito do papel usado pelo/a artista para desenhar. Esse efeito corresponde a uma textura aplicada em um quadrilátero que é desenhado em 2D, para ocupar toda a extensão da tela. Com base nessa descrição, conclui-se que os seguintes parâmetros são determinantes para a aparência final da imagem: Densidade de grãos da CET; Expoente de contraste usado na geração da CET; Expoente de constraste aplicado no modelo 3D; Quantidade e posição das fontes de luz; Coordenadas usadas para se acessar a CET, ao aplicá-la no modelo 3D; Uso ou não do efeito borrão ; Papel usado para o desenho. A Figura 5 apresenta alguns resultados obtidos pelos autores. Figura 5: Alguns resultados de [Majumder e Gopi 2002] 3. Implementação Esta Seção descreve detalhes da implementação realizada neste trabalho. A implementação foi realizada utilizando-se OpenGL, GLSL, uma placa de vídeo nvidia GeForce 7600 GT e o framework Guff [Valente 2005]. São usados apenas um programa de vértice e um programa de fragmento, visto que os efeitos desejados podem ser conseguidos em um único passo. Algumas características da implementação: São usadas duas fontes de luz, direcionais; Realce do efeito closure, usando-se um fator de saturação de cores (descrito na Seção 3.3); O wrap mode para texturas é GL_REPEAT nos dois eixos; Os filtros (redução, ampliação) para textura usados são (GL_LINEAR, GL_LINEAR). Em alguns testes, observou-se que o filtro GL_LINEAR_MIPMAP_LINEAR tende a borrar o efeito granulado obtido pela aplicação da CET Pré-processamento Durante a fase de pré-processamento, são criadas duas texturas. A primeira corresponde à CET. Essa textura foi criada distribuindo-se pixels pretos aleatoriamente pela imagem, de acordo com uma determinada densidade de grãos. Para cada pixel, é aplicado um CEO. No final do processo, a imagem é borrada com um filtro gaussiano. A segunda textura criada é uma textura de noise simples. Essa textura é usada para simular o acesso a números aleatórios. Existem dois motivos para se usála: o artigo original não é muito claro sobre como usar as cores do CEM para indexar na CET. Dessa forma, uma das componentes da coordenada será aleatória. O outro motivo é que as funções de noise da GLSL retornam sempre o valor zero (no hardware utilizado), tornando-as inviáveis para se simular números aleatórios Programa de vértices O programa de vértices recebe da aplicação as posições das duas fontes de luz, em eye-space. O cálculo de iluminação é realizado nesse espaço, pelo programa de fragmentos. Por isso, o programa de vértices possui variáveis varying para armazenar os vetores de fonte de luz, e a normal do vértice (convertida para eye-space). Esses valores serão interpolados para o programa de fragmentos. O programa de vértices também calcula a coordenada de textura que será usada para se aplicar a textura do papel. O papel é um quadrilátero desenhado com uma projeção ortográfica 2D, de modo a ocupar a tela inteira. Assim, são geradas coordenadas de textura entre 0.0 e 1.0. Essas coordenadas também

4 serão interpoladas e repassadas para o programa de fragmentos. O trecho de código a seguir corresponde ao conteúdo do programa de vértices. // posição da fonte de luz em // eye-space. uniform vec3 inputlight1; uniform vec3 inputlight2; // direção da luz e normal do vértice // em eye-space, a serem interpoladas varying vec3 lightdir1; varying vec3 lightdir2; varying vec3 normal; // coordenada para se aplicar a textura // do papel varying vec2 papercoord; void main() { // posição transformada e projetada gl_position = ftransform(); // direção da luz em eye-space lightdir1 = inputlight1; lightdir2 = inputlight2; // normal em eye space normal = gl_normalmatrix * gl_normal; // Calcular coordenadas de textura do // papel [0, 1] papercoord.st = (gl_position.xy / gl_position.w) * ; } 3.3. Programa de fragmentos O programa de fragmentos possui como entradas as variáveis interpoladas do programa de vértices, e também algumas variáveis uniform: Três texturas. Uma corresponde a uma textura de noise (colorida, em RGB), para simular números aleatórios. Uma outra corresponde à CET, e a última corresponde à textura do papel; O valor desejado para o expoente de contraste do modelo, usado para calcular a cor do CEM; Um fator de saturação de cor, para realçar o efeito closure (isso não está especificado no algoritmo original); Um valor inteiro que indica se o efeito de borrão será criado (valor diferente de zero) ou não (valor zero). O valor padrão para o fator de saturação de cor é 1.0, que indica que não há saturação. Por exemplo, para saturar a cor em 20%, esse valor seria igual a 1.2. O trecho de código a seguir demonstra a parte inicial do programa de fragmentos. // texturas usadas no programa uniform sampler2d noisetexture; uniform sampler2d contrasttexture; uniform sampler2d papertexture; // expoente de contraste uniform float contrastexp; // saturação uniform float saturationfactor; // usar borrão ou não uniform int smudge; // interpolados do vertex program varying vec3 normal; varying vec3 lightdir; varying vec2 papercoord; // função para calcular a contribuição // difusa float calcdiffuse (vec3 normal, vec3 lightdir) { // normalizar vetores vec3 L = normalize (lightdir); vec3 N = normalize (normal); // calcular componente difusa [0,1] return max (dot (L, N), 0.0); } A função calcdiffuse é responsável por calcular a intensidade de luz difusa, assumindo que é uma fonte de luz direcional e que os materiais difusos (objeto e luz) correpondem a um branco puro (1.0, 1.0, 1.0). O programa principal inicia-se calculando a intensidade de luz difusa e aplicando o CEO em seguida. O CEO calculado é guardado para posterior uso, e então aplica-se o fator de saturação no CEO. O resultado dessa operação é usado para gerar o CEM, como demonstra o trecho de código a seguir. void main() { // calcular contribuição difusa float diffuse1 = calcdiffuse (normal, lightdir); float diffuse2 = calcdiffuse (normal, lightdir); // aplicar operador de contraste float ceo = pow (diffuse1 + diffuse2, contrastexp); float origceo = ceo; ceo *= saturationfactor; clamp (ceo, 0.0, 1.0); // cor do constrast enhanced model (CEM) vec4 cem = vec4 (ceo, ceo, ceo, 1.0); A seguir, é feito um acesso à CET. Como uma das componentes da coordenadas de textura (t), usa-se o valor obtido pelo CEO (original). Para a componente s escolhe-se um valor aleatório, obtido a partir da

5 textura de noise. Após obter o valor de cor da textura, faz-se uma modulação desse valor com a cor do modelo: // pode-se usar a própria coordenada do // papel como índice para a textura de // noise vec4 random = texture2d (noisetexture, papercoord); // acessando a textura de contraste, // computando-se a coordenada de textura vec2 cetcoord; cetcoord.s = (random.r+random.g +random.b)/3.0; Figura 7: Resultado com borrão A Figura 8 apresenta como seria um resultado caso o CEO saturado fosse utilizado como componente t da coordenada de textura. cetcoord.t = origceo; vec4 cetcolor = texture2d (contrasttexture, cetcoord); // combinando a cor da textura (como no // GL_MODULATE) vec4 texturedmodelcolor = cetcolor * cem; O efeito borrão é obtido modulando-se a cor obtida até o momento com a cor do CEM: if (smudge!= 0) texturedmodelcolor *= cem; Finalmente, cria-se o efeito do papel: vec4 papercolor = texture2d (papertexture, papercoord); // cor final gl_fragcolor = texturedmodelcolor papercolor; A Figura 6 exibe um resultado obtido por esse programa (sem borrão ). Figura 8: CEO saturado como componente t da coordenada de textura 4. Sand Rendering Um dos experimentos realizados neste trabalho foi tentar utilizar um pouco da textura original (quando existir) de um modelo 3D, para o cálculo da cor final. Nesse experimento, foram usados modelos Quake 2. A cor original da textura foi convertida para um tom sépia, e misturada à cor obtida originalmente. Essa variação foi batizada de sand rendering porque nos experimentos foram usados modelos 3D de personagens, que no final ficaram com um aspecto de boneco de areia. Para que isso funcione, o programa de vértices precisa repassar a coordenadas de textura original do modelo para o programa de fragmentos. Isso pode ser feito acrescentando-se a seguinte linha ao programa: // Coordenada de textura original // do modelo gl_texcoord[0].st = gl_multitexcoord0.st; Figura 6: Resultado sem borrão A Figura 7 representa um resultado com o efeito borrão aplicado. Já o programa de fragmentos precisa de mais alterações: acesso à textura original para obtenção da cor, para poder convertê-la, e depois misturá-la à cor obtida pela implementação do desenho a carvão. O trecho de código seguinte demonstra esse processo. // Determinar cor do modelo com o papel // (original) vec4 color = texturedmodelcolor papercolor; // cor da textura original vec4 orig = texture2d (origtexture, vec2

6 (gl_texcoord[0])); float luminance = dot (vec4(0.1125, , ,1.0), orig); orig = vec4 (luminance*1.2, luminance, luminance*0.8, 1.0); // misturando a textura original gl_fragcolor = mix (color, orig, 0.6); A Figura 9 exibe um resultado dessa variação, usando um modelo Quake 2. A variável origtexture representa a textura original do modelo. Diminuir a densidade de grãos da CET; Aumentar o expoente de contraste do modelo; Aumentar o fator de saturação. É importante lembrar também que o posicionamento das fontes de luz exerce grande influência no efeito final obtido. Neste trabalho, foi usada a função rand(), disponível na biblioteca da linguagem C++, para se gerar as texturas (CET, e noise). Essas texturas poderiam ser melhoradas ao se aplicar geradores de números aleatórios melhores. Assim, poderiam ser obtidos resultados sutilmente diferentes. Outras sugestões para futuros trabalhos poderiam ser explorar outras funções para melhoria de contraste (CEO), e tentar simular traços e sombreamentos um pouco mais irregulares. As Figuras 10, 11 e 12 (ao final do artigo) ilustram renderizações de outros modelos com a técnica implementada. Agradecimentos Agradeço à Micheli Knechtel por disponibilizar alguns modelos 3ds para este trabalho. Os modelos Quake 2 foram obtidos no site PlanetQuake [ Figura 9: Sand rendering 5. Conclusões As técnicas de renderização não-fotorealistas permitem explorar outras abordagens de visualização nãoconvencionais. Podem ser usadas, por exemplo, para simular desenhos artísticos, que foi o caso deste trabalho. Este trabalho analisou uma técnica para simular desenho a carvão. Foi realizada uma implementação da técnica original, com algumas adaptações. A primeira adaptação (fator de saturação) permite realçar um dos efeitos artísticos observados (closure). A segunda adaptação ( Sand rendering ) pode vir a permitir que a técnica seja aplicada com outros materiais granulados, como areia. Entretanto, para esse caso seria necessário uma pesquisa mais detalhada nessa direção. Existem diversos parâmetros nessa técnica que podem ser variados para se simular estilos diferentes de desenho a carvão. Por exemplo, desenhos mais escuros (com traço mais forte) podem ser obtidos com uma destas abordagens (ou combinação delas): Aumentar a densidade de grãos da CET; Diminuir o expoente de contraste do modelo; Usar o efeito borrão. Para realçar o efeito closure: Referências VALENTE, L., Guff: Um sistema para desenvolvimento de jogos. Dissertação de Mestrado. Universidade Federal Fluminense, Instituto de Computação, Niterói. MAJUMDER, A. E GOPI, M., Hardware accelerated real time charcoal rendering. Em: Proceedings of the 2nd international symposium on Non-photorealistic animation and rendering, ACM Press, New York, NPR Non-Photorealistic Rendering. Disponível em: Acessado em 31/10/2007.

7 Figura 10: Mais resultados Figura 11: Detalhe de um dos modelos

8 Figura 12: Outros resultados

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

Computação Gráfica. GLSL - Programação de Shaders Toon Mapping; Texturas Computação Gráfica GLSL - Programação de Shaders Toon Mapping; Texturas António nio Ramires Fernandes - Multimédia GLSL - Programação de Shaders Resumo Toon Shading Coordenadas de Textura Lattice Stripes

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

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

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2. 1 Introdução O termo visualização corresponde, no contexto desta dissertação, aos métodos que permitem a extração de informações relevantes a partir de conjuntos de dados complexos, com o auxílio de técnicas

Leia mais

Introdução Introdução

Introdução Introdução Introdução 19 1. Introdução A criação de imagens realísticas de cenas naturais é um dos maiores desafios para a área de computação gráfica, tanto para a computação científica, quanto para a indústria de

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

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

Visualização Interativa de Modelos Massivos de Engenharia na Indústria de Petróleo com o Algoritmo de Voxels Distantes

Visualização Interativa de Modelos Massivos de Engenharia na Indústria de Petróleo com o Algoritmo de Voxels Distantes Visualização Interativa de Modelos Massivos de Engenharia na Indústria de Petróleo com o Algoritmo de Voxels Distantes Gustavo Wagner Marcelo Gattass Alberto Raposo Desafio P-50 (modelada no 3dsmax) 1.2

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

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

Técnicas de renderização com textura

Técnicas de renderização com textura Técnicas de renderização com textura INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 12 de Setembro de 2013 W. Celes Técnicas de renderização

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

4 Impostores com Relevo

4 Impostores com Relevo 63 4 Impostores com Relevo I just wish... I wish I knew what I'm supposed to do. That's all. I just wish I knew. (The Matrix) 4.1 Introdução Os objetos modelados por texturas com relevo, por corrigirem

Leia mais

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado

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

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

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010 Sistemas Gráficos INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 2 de Agosto de 2010 W. Celes Sistemas Gráficos 1 Visualização 3D Objetivo

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

Processamento de Imagens Coloridas. 35M34 Sala 3D5 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227

Processamento de Imagens Coloridas. 35M34 Sala 3D5 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 Processamento de Imagens Coloridas 35M34 Sala 3D5 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 Introdução Apesar do processo de percepção e interpretação de cores não ser completamente compreendido,

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

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

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

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

Introdução. 1 Introdução

Introdução. 1 Introdução Introdução 1 Introdução O efeito visual de sombras em uma cena 3D é muito enriquecedor. Sem ele, quando a imagem é projetada na tela bidimensional do computador para visualização, perdem-se informações

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

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

TE073 PDS II Programa de Graduação em Engenharia Elétrica

TE073 PDS II Programa de Graduação em Engenharia Elétrica TE073 PDS II Programa de Graduação em Engenharia Elétrica Prof. Alessandro Zimmer zimmer@eletrica.ufpr.br www.eletrica.ufpr.br/~zimmer/te073 Processamento Digital de Imagens PDI: Segmentação Os algoritmos

Leia mais

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho 1 Introdução I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho Os hardwares gráficos atualmente podem ser considerados como verdadeiros processadores

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão

Leia mais

6 Resultados Estratégias Consideradas

6 Resultados Estratégias Consideradas Resultados 38 6 Resultados Este capítulo mostra algumas estratégias consideradas antes de chegarmos ao sistema proposto, mostra também os resultados obtidos ilustrados por diversos experimentos computacionais,

Leia mais

Os testes foram efetuados em um processador Intel i7 de 2.8 GHz com 12Gb de memória RAM utilizando uma Nvidia GeForce GTX 480.

Os testes foram efetuados em um processador Intel i7 de 2.8 GHz com 12Gb de memória RAM utilizando uma Nvidia GeForce GTX 480. 4 Resultados O método proposto foi implementado em C++ usando OpenGL e a linguagem de Shader GLSL. A partir da implementação corrente foram realizados diversos testes visando quantificar o desempenho e

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.7. Funções 3.7.1. Introdução 3.7.2. Uso de

Leia mais

Figura 3.1 Diálogo principal do simulador 1D

Figura 3.1 Diálogo principal do simulador 1D 3 Simuladores 3.1. Simulador 1D O primeiro modelo computacional a ser desenvolvido foi o simulador 1D (figura 3.1), que mostra o comportamento da corrente gravitacional em apenas uma direção. Esse programa

Leia mais

2 Segmentação de imagens e Componentes conexas

2 Segmentação de imagens e Componentes conexas Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Informática (DAINF) Algoritmos II Professor: Alex Kutzke (alexk@dainf.ct.utfpr.edu.br) Especificação do Primeiro Trabalho Prático

Leia mais

Figura 16 Niagara - Visão de grupos de notas.

Figura 16 Niagara - Visão de grupos de notas. Conclusão 6 Conclusão 6.1 Trabalhos Relacionados Dentre as funcionalidades fornecidas pela interface gerada pelo framework, em destaque está a possibilidade do zoom livre. Disponibilizar esta funcionalidade

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

Cartoon Rendering para Inspeção de Maquetes Eletrônicas de Modelos Industriais

Cartoon Rendering para Inspeção de Maquetes Eletrônicas de Modelos Industriais Cartoon Rendering para Inspeção de Maquetes Eletrônicas de Modelos Industriais JERONIMO SILVÉRIO VENETILLO WALDEMAR CELES (orientador) Tecgraf/PUC-Rio Departamento de Informática Pontifícia Universidade

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens 1 Ciência da Computação Processamento Digital de Imagens Prof. Sergio Ribeiro Tópicos Introdução Espectro Eletromagnético Aquisição e de Imagens Sensoriamento Remoto 2 Introdução Espectro Eletromagnético

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Prof. Sergio Ribeiro Tópicos Introdução Espectro Eletromagnético Aquisição e Digitalização de Imagens Efeitos da Digitalização Digitalização Sensoriamento

Leia mais

QuadLOD: Uma Estrutura para a Visualização Interativa de Terrenos

QuadLOD: Uma Estrutura para a Visualização Interativa de Terrenos QuadLOD: Uma Estrutura para a Visualização Interativa de Terrenos Rodrigo Penteado R. de Toledo Orientador: Marcelo Gattass Co-orientador: Luiz Velho PUC-RIO - TecGraf OBJETIVO Gerar imagem a partir dos

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

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Prof. Sergio Ribeiro Tópicos Técnicas de Modificação do Histograma Compressão de Histograma 2 Veremos a definição e utilização do conceito de histograma.

Leia mais

Descritores de Imagens

Descritores de Imagens Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 18 Descritores Locais e Frameworks SIFT SURF Viola-Jones

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

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

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

Aula 11. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

Aula 11. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Programação I Aula 11 Prof. Laura Silva de Assis Engenharia da Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2 o semestre - 2015 1 Sumário

Leia mais

4 Visualização por pontos

4 Visualização por pontos 4 Visualização por pontos Uma vez gerados os pontos, estes são renderizados e recebem efeitos de profundidade e iluminação, através da definição da cor, opacidade e tamanho. Além disso, os pontos pertencentes

Leia mais

Processamento de Imagens

Processamento de Imagens Processamento de Imagens Introdução Prof. Dr. Márcio Sarroglia Pinho Histogramas Histogramas w Equalização alpha = 255 / numpixels for each pixel g(x,y) = cumulativefrequency[f(x,y)] * alpha end for http://www.generation5.org/content/24/histogramequalization.asp

Leia mais

António Costa. Paulo Roma Cavalcanti

António Costa. Paulo Roma Cavalcanti Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de

Leia mais

6 Resultados Análise de Desempenho

6 Resultados Análise de Desempenho Resultados 6 Resultados Com base em todas as técnicas e teorias estudadas nessa dissertação mais a arquitetura e detalhes de implementação utilizados para gerar a solução do módulo de renderização da pele

Leia mais

Tracking de movimentos usando marcadores circulares

Tracking de movimentos usando marcadores circulares UNIVERSIDADE FEDERAL DO RIO DE JANEIRO - COPPE INTRODUÇÃO AO PROCESSAMENTO DE IMAGENS Tracking de movimentos usando marcadores circulares Jéssica de Abreu DRE:114069619 Junho de 2014 1 INTRODUÇÃO Com a

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

5 Resultados, Conclusões e Trabalhos Futuros

5 Resultados, Conclusões e Trabalhos Futuros 47 5 Resultados, Conclusões e Trabalhos Futuros Este capítulo apresenta os resultados obtidos com a técnica proposta de chromaless, bem como são apresentadas as conclusões e as sugestões para trabalhos

Leia mais

Computação Gráfica - 12

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

Leia mais

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real Fundamentos de Computação Gráfica Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real Renato Deris Prado Tópicos principais 1. Introdução e Objetivos Sistemas de visualização em tempo

Leia mais

Tratamento da Imagem Transformações (cont.)

Tratamento da Imagem Transformações (cont.) Universidade Federal do Rio de Janeiro - IM/DCC & NCE Tratamento da Imagem Transformações (cont.) Antonio G. Thomé thome@nce.ufrj.br Sala AEP/33 Transformações Geométricas 3 Transformações Geométricas

Leia mais

Processamento digital de imagens

Processamento digital de imagens Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 30 de julho de 2015 Motivações: cor ajuda reconhecimento

Leia mais

6 Aplicações Detalhes da Implementação

6 Aplicações Detalhes da Implementação 6 Aplicações Neste trabalho, é importante implementar aplicações de interação em tempo real para que seja possível avaliar a aplicabilidade das técnicas de Visão Computacional descritas ao longo dos capítulos

Leia mais

Capítulo 3. Descrição e visualização do modelo 25

Capítulo 3. Descrição e visualização do modelo 25 3 Descrição e visualização do modelo Neste Capítulo descreveremos o processo de visualização volumétrica em malhas não estruturadas através do traçado de raio. Mostraremos como nosso dado é representado

Leia mais

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

Leia mais

Laboratório 7. Host Computer. Altera DE-series Board USB-Blaster interface. FPGA chip. JTAG UART interface. Nios II processor.

Laboratório 7. Host Computer. Altera DE-series Board USB-Blaster interface. FPGA chip. JTAG UART interface. Nios II processor. Laboratório 7 Gráficos e Animação O propósito deste laboratório é aprender a gerar imagens e realizar animação. Usaremos o sistema DE2 Media Computer e o conversor digital para analógico (DAC) do hardware

Leia mais

5 Sistema Proposto Simulação Integração Numérica

5 Sistema Proposto Simulação Integração Numérica Sistema Proposto 26 5 Sistema Proposto O sistema proposto foi construído para funcionar inteiramente no processador gráfico. Não há necessidade de transferência de dados entre a CPU e a GPU. Para isso,

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

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

Renderização em Tempo Real de Pêlos Aplicados Sobre Malhas Tridimensionais Arbitrárias Obtidas de Objetos Reais

Renderização em Tempo Real de Pêlos Aplicados Sobre Malhas Tridimensionais Arbitrárias Obtidas de Objetos Reais Renderização em Tempo Real de Pêlos Aplicados Sobre Malhas Tridimensionais Arbitrárias Obtidas de Objetos Reais Bruno Evangelista Orientador: Renato Ferreira Introdução Pêlos possuem um papel importante

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Prof. Sergio Ribeiro Tópicos Transformações de Intensidade Transformações Logarítmicas Comparação entre Diversas Técnicas 2 Transformações de Intensidade

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

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

4 Resultados. Tabela 4.1: Funções implícitas de teste.

4 Resultados. Tabela 4.1: Funções implícitas de teste. 4 Resultados Neste Capítulo serão discutidos os resultados obtidos. Todas as imagens têm realçados os pontos no bordo do domínio e os da silhueta, e as variedades são iluminadas com uma única fonte de

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

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias

Leia mais

Engenharia Informática Computação Gráfica

Engenharia Informática Computação Gráfica Computação Gráfica 11569 - Engenharia Informática Gráficos 3D - Evolução Histórica Computação Gráfica 1 Sumário! Criação de Gráficos! Criação de Modelos 3D! Pipeline Gráfico! Hardware Gráfico! Bibliotecas

Leia mais

Mapeamento de Texturas

Mapeamento de Texturas Mapeamento de Texturas André Tavares da Silva andre.silva@udesc.br Baseado no material de Rosalee Wolfe (Siggraph Education) Pesquisa recente https://www.youtube.com/watch?v=kht82-kyhrw Mapeamento de textura

Leia mais

Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais

Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais João Gabriel Lima Moraes 1 ;Victor Travassos Sarinho 2 1. Bolsista PIBIC/CNPq, Graduando em Engenharia de Computação, Universidade

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

Bolsista PIBIC/CNPq, aluno do curso de graduação de Engenharia Elétrica da UNIJUÍ. 3. Aluno do curso de doutorado em Modelagem Matemática da UNIJUÍ.

Bolsista PIBIC/CNPq, aluno do curso de graduação de Engenharia Elétrica da UNIJUÍ. 3. Aluno do curso de doutorado em Modelagem Matemática da UNIJUÍ. AQUISIÇÃO DE IMAGENS PARA COMPARAÇÃO DA DIFERENÇA DO VOLUME DO GRÃO DO MILHO ANTES E DEPOIS DO PROCESSO DE SECAGEM 1 ACQUISITION OF IMAGES TO COMPARE THE DIFFERENCE OF CORN GRAIN VOLUME BEFORE AND AFTER

Leia mais

Processamento de Imagens

Processamento de Imagens Processamento de Imagens Prof. Julio Arakaki Ciência da Computação 1 Imagem Digital Full Color Image (Matriz de Pixels) RGB (24 bits): Red (8 bits) Green (8 bits) Blue (8 bits) 2 Imagem Digital Um modelo

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

3.1 Linha de Produção Utilizada

3.1 Linha de Produção Utilizada 3 Linha de Produção Gráfica Distribuída Neste capítulo, é proposta uma extensão à linha de produção gráfica convencional (graphics pipeline) destinada à renderização distribuída. Esta apresentação inclui

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Tópicos Detecção de Pontos Isolados Detecção de Linhas Prof. Sergio Ribeiro 2 Operações lógicas e aritméticas orientadas a vizinhança utilizam o conceito

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Tópicos Abordagem Contínua da Equalização Equalização Exemplo de Equalização Prof. Sergio Ribeiro 2 Técnica que procura redistribuir os valores de

Leia mais

LISTA DE EXERCÍCIOS MÊS 04

LISTA DE EXERCÍCIOS MÊS 04 São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto

Leia mais

Iluminação. André Tavares da Silva. Capítulo 14 de Foley Capítulo 7 de Azevedo e Conci

Iluminação. André Tavares da Silva. Capítulo 14 de Foley Capítulo 7 de Azevedo e Conci Iluminação André Tavares da Silva andre.silva@udesc.br Capítulo 14 de Foley Capítulo 7 de Azevedo e Conci Introdução Roteiro Modelos de Iluminação Luz Ambiente; Reflexão Difusa; Atenuação Atmosférica;

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

Processamento Digital de Imagens. Cor

Processamento Digital de Imagens. Cor Processamento Digital de Imagens Cor Em uma descrição física a cor está associada ao seu comprimento de onda. Ao se analisar o espectro eletromagnético na região do visível, os menores comprimentos de

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

7. Color Image Processing

7. Color Image Processing Transformação de níveis de cinza para cor a idéia por trás desta técnica é executar 3 transformações independentes sobre níveis de cinza dos pixels de uma imagem de entrada. Cada cor é transformada independentemente

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

INF Fundamentos de Processamento de Imagens Projeto 01-A: Realce de imagens utilizando transformações de intensidade

INF Fundamentos de Processamento de Imagens Projeto 01-A: Realce de imagens utilizando transformações de intensidade INF01046 - Fundamentos de Processamento de Imagens Projeto 01-A: Realce de imagens utilizando transformações de intensidade Marcos Vinicius Cavinato - 00171774 Instituto de Informática Universidade Federal

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

Determinação de Superfícies Visíveis

Determinação de Superfícies Visíveis Determinação de Superfícies Visíveis 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 1 Raytracing O raytracing automaticamente incorpora a determinação de superfícies visíveis na sua execução

Leia mais

Processamento de áudio em tempo real utilizando dispositivos não convencionais:

Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto

Leia mais

Processamento Digital de Imagens Aula 06

Processamento Digital de Imagens Aula 06 exatasfepi.com.br Processamento Digital de Imagens Aula 06 André Luís Duarte A sabedoria oferece proteção, como o faz o dinheiro, mas a vantagem do conhecimento é esta: a sabedoria preserva a vida de quem

Leia mais

PROCESSAMENTO DE IMAGENS. Eduardo Ribeiro

PROCESSAMENTO DE IMAGENS. Eduardo Ribeiro PROCESSAMENTO DE IMAGENS Eduardo Ribeiro Brilho Em uma imagem em tons de cinza, cada valor de pixel representa um brilho. Brilho é definido formalmente como o atributo de uma sensação visual segundo o

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

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

Estudo Dirigido de Cap. 9 ( AlanWatt/ Fabio Policarpo) Melhoria de Contraste, Ruído, Subtração, Pseudocor e Warping

Estudo Dirigido de Cap. 9 ( AlanWatt/ Fabio Policarpo) Melhoria de Contraste, Ruído, Subtração, Pseudocor e Warping Estudo Dirigido de Cap. 9 ( AlanWatt/ Fabio Policarpo) Melhoria de Contraste, Ruído, Subtração, Pseudocor e Warping 1. Nas figuras abaixo pode-se ver vários histogramas que descrevem imagens com características

Leia mais