NPR PenandInk Helder Geovane Gomes de Lima heldergeovanegmail

  • Slides: 26
Download presentation
NPR: Pen-and-Ink Helder Geovane Gomes de Lima heldergeovane@gmail. com

NPR: Pen-and-Ink Helder Geovane Gomes de Lima heldergeovane@gmail. com

Artigo Original Computer-Generated Pen-and-Ink Ilustration ● ● ● Georges Winkenbach David H. Salesin SIGGHRAPH

Artigo Original Computer-Generated Pen-and-Ink Ilustration ● ● ● Georges Winkenbach David H. Salesin SIGGHRAPH 1994

Introdução Por que usar ilustrações? ● ● ● Omitir detalhes Focar aspectos relevantes Simplificar

Introdução Por que usar ilustrações? ● ● ● Omitir detalhes Focar aspectos relevantes Simplificar as formas Evidenciar pequenos detalhes Economia de armazenamento Fácil reprodução

Introdução ● ● Por que pen-and-Ink? – As convenções estão bem documentadas O que

Introdução ● ● Por que pen-and-Ink? – As convenções estão bem documentadas O que foi produzido? – Como implementar princípios desta técnica em um sistema automatizado

Sobre pen-and-Ink. . . ● ● ● Cor/tom: não disponíveis Grandes áreas: demorado para

Sobre pen-and-Ink. . . ● ● ● Cor/tom: não disponíveis Grandes áreas: demorado para preencher Clarear um tom: é quase impossível Para esboços: são ideais devido a expressividade de cada traço: – Pressão e regularidade Tom e textura: Expressos simultaneamente Em textos: Combinam muito bem

Pen-and-Ink: Traços ● ● ● Traços finos: clareza Traços largos: pouco detalhe Posição da

Pen-and-Ink: Traços ● ● ● Traços finos: clareza Traços largos: pouco detalhe Posição da caneta: muda frequentemente, podendo girar Não-mecânicos: é bom variar espessura Ondulações: para um desenho esquemático ou apenas um rascunho

Pen-and-Ink: Tons e texturas ● O tom: – – ● ● ● obtido com

Pen-and-Ink: Tons e texturas ● O tom: – – ● ● ● obtido com diversos traços razão entre tinta preta/papel branco Variação entre tons: é mais importante que a exatidão de um tom Forma dos traços: indica textura, geometria e a luminosidade Basta uma “indicação”: não se deve preencher toda uma superfície com o mesmo tom

Pen-and-Ink: Contornos ● Não existem contornos em imagens reais! – ● ● ● Incluídos

Pen-and-Ink: Contornos ● Não existem contornos em imagens reais! – ● ● ● Incluídos para indicar a forma, onde não houver textura, ou sua variação Basta “indicá-los”: assim como as texturas Contornos espessos: sombras e destaques Extremos: podem ser deslocados para não parecer mecânico

Implementação ● Leva em conta a relação tom x textura: – – ● Renderização

Implementação ● Leva em conta a relação tom x textura: – – ● Renderização realística: coisas independentes NPR com Pen-and-Ink: dados simultaneamente Combina informações 2 D e 3 D: – O tamanho da área projetada: determina a densidade dos traços por textura – O contraste entre regiões adjacentes: influencia o traçado dos contornos

Pipeline: parte típica ● ● Modelo: – Poligonal em 3 d Textura: – Stroke

Pipeline: parte típica ● ● Modelo: – Poligonal em 3 d Textura: – Stroke Textures em lugar de imagens Visibilidade: – BSP Tree Sombras: – BSP Tree shadow volumes (Chin & Feiner)

Pipeline: Novidades ● ● Sub-divisão espacial 2 d das superfícies visíveis usando uma estrutura

Pipeline: Novidades ● ● Sub-divisão espacial 2 d das superfícies visíveis usando uma estrutura de halfedge Ao renderizar texturas é usado um tipo de hatching em lugar de scan converting O clipping é baseado em traços em vez de pixels, para evitar uma aparência mecânica Outlining: os contornos são colocados tanto na fronteira quanto no interior dos polígonos

Uma breve descrição ● Cálculo de superfícies visíveis e sombras ● Projeção dos polígonos

Uma breve descrição ● Cálculo de superfícies visíveis e sombras ● Projeção dos polígonos para NDC ● Geração de uma BSP tree 2 D ● Renderização de cada superfície visível ● Associação das texturas procedurais com as superfícies (com o tom adequado) ● Clipping dos traços ● Contornos

O algoritmo M: modelo (uma coleção de polígonos) ● Bsp. Tree: Representação dos polígonos

O algoritmo M: modelo (uma coleção de polígonos) ● Bsp. Tree: Representação dos polígonos projetados para NDC ● Planar. Map: Uma partição de NDC em vértices, arestas e faces procedure Render. Scene(M): (Bsp. Tree, Planar. Map) <-- Visible. Surfaces(M) for each visible surface S in M do Strokes <-- Texture(S, Tone(S)) for each stroke s in Strokes do Render (Clipped. Stroke (s, Bsp. Tree)) end for Render(Construct. Minimal. Outline(S, Planar. Map)) end procedure ●

Stroke Textures ● ● Stroke texture: uma coleção de traços Traço S: definido por

Stroke Textures ● ● Stroke texture: uma coleção de traços Traço S: definido por um caminho P(u) Forma da caneta: dada pela função N(p) Ondulação e pressão: indicados através de funções Cw(u) e Cp(u)

Stroke Textures ● Uma lista de texturas é usada para obter os diferentes tons

Stroke Textures ● Uma lista de texturas é usada para obter os diferentes tons de uma textura

Resolução ● ● Texturas dependem da resolução Consegue-se evitar situações como: “Engrossamento” das linhas

Resolução ● ● Texturas dependem da resolução Consegue-se evitar situações como: “Engrossamento” das linhas “Excesso”de linhas

Resolução ● Exemplo de textura dependente da resolução:

Resolução ● Exemplo de textura dependente da resolução:

Indicação é semi-automática

Indicação é semi-automática

Indicação é semi-automática

Indicação é semi-automática

Indicação é semi-automática

Indicação é semi-automática

Indicação ● A quantidade de textura em cada ponto, é determinada pelo campo: ●

Indicação ● A quantidade de textura em cada ponto, é determinada pelo campo: ● O campo é perturbado por um pequeno valor aleatório para não parecer muito regular

Mais sobre o contorno. . . ● Cada stroke texture está associada com seu

Mais sobre o contorno. . . ● Cada stroke texture está associada com seu próprio estilo de contorno

Mais sobre o contorno. . . ● Minimiza-se o uso de contornos ● São

Mais sobre o contorno. . . ● Minimiza-se o uso de contornos ● São acentuados onde há relevos ou sombras ● Dependem da direção do observador

Resultados ● Foi usado Think. C em um Macintosh Quadra 700 ● A ilustração

Resultados ● Foi usado Think. C em um Macintosh Quadra 700 ● A ilustração consiste de 1073 polígonos ● Foi computada e impressa em 30 min. – 22 min. foram gastos para obter o mapa planar – O restante foi gasto na renderização em 600 dpi

Resultados

Resultados

Perguntas?

Perguntas?