Fotorealismo

105
Fotorealismo Marlus Souza [email protected] Samuel Arcoverde [email protected]

description

Fotorealismo. Marlus Souza [email protected] Samuel Arcoverde [email protected]. Fotorealismo (Hiper-Realismo). Movimento artístico surgido nos Estados Unidos no final dos anos 60. É um estilo baseado em fazer pinturas a partir de fotografias . - PowerPoint PPT Presentation

Transcript of Fotorealismo

Page 2: Fotorealismo

Fotorealismo (Hiper-Realismo)•Movimento artístico surgido nos Estados

Unidos no final dos anos 60.•É um estilo baseado em fazer pinturas a

partir de fotografias.▫Grande abrangência de detalhes.▫Mais explorados: reflexões e geometria.▫“Too perfect to be real.”

2

Page 3: Fotorealismo

3

Richard Estes

Page 4: Fotorealismo

4

Glennray Tutor

Page 5: Fotorealismo

5

Audrey Flack

Page 6: Fotorealismo

6

Duane H

anson

Page 7: Fotorealismo

E a computação?

Page 8: Fotorealismo

POV-Ray 3.6

Page 9: Fotorealismo

Computação Gráfica

Campo da Ciência da Computação que estuda métodos para sintetização e manipulação digital de conteúdo visual.

ISO (International Standards Organization): Conjunto de métodos e técnicas utilizados para converter dados para um dispositivo gráfico, via computador.

9

Necessidade humana de visualização de dados.

Page 10: Fotorealismo

Computação Gráfica10

Modelagem

Geométrica

Computação Gráfica

Visão Computacion

al

Processamento

de imagens

Dados Imagens

Page 11: Fotorealismo

11

Tríade Fundamental da CG

Geometria

RenderizaçãoAnimação

Page 12: Fotorealismo

Geometria

Renderizaç

ãoAnimação

•Superfícies.•Malhas.•Curvas.•Parametrização.•Reconstrução.•Processamento de malhas out-of-

core.

12

Como representar os objetos?

Page 13: Fotorealismo

•Transporte / Visibilidade.•Shading – variar cor e brilho.•Scattering – interação da luz em um

ponto.

13

Geometria

Renderizaçã

oAnimação

Como representar as cores e texturas?

Page 14: Fotorealismo

•Animação de personagens.•Simulações físicas:

▫Tecido.▫Fluidos.

14

Geometria

RenderizaçãoAnimação

Como representar o movimento?

Page 15: Fotorealismo

O Começo• Sketchpad

▫ Tese de doutorado de Ivan Sutherland (1962 – MIT).

▫ Editor gráfico▫ CAD

"A display connected to a digital computer gives us a chance to gain familiarity with concepts not realizable in the physical world. It is a looking glass into a mathematical wonderland."

http://www.youtube.com/watch?v=mOZqRJzE8xg

Page 16: Fotorealismo

Aplicações [1]• Física Computacional

Page 17: Fotorealismo

Aplicações [2]• Jogos

Page 18: Fotorealismo

Aplicações [3]• Medicina

Page 19: Fotorealismo

Aplicações [4]• CAD

Page 21: Fotorealismo

E várias outras áreas…•Biologia Computacional•Arte Digital•Educação•Design•RA/RV•Meteorologia•Análise de Dados•…

Page 22: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Goraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 23: Fotorealismo

Ray Casting• Arthur Appel, 1968.• O Termo “Ray Casting” foi usado pela primeira

vez em 1982 por Scott Roth.• Técnica de renderização que cria uma

perspectiva 3D em um mapa 2D.• Idéia:

▫ Lançamento de raios a partir do observador de forma a perceber qual a distância a que estão os objetos que compõem a cena.

• A alta velocidade de cálculo tornou este modelo muito popular na implementação de jogos 3D.

Page 24: Fotorealismo

Exemplos

http://pixellove.eu/wega/

Page 25: Fotorealismo

Exemplos

http://www.youtube.com/watch?v=C00n4rDUMNo

Page 26: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 27: Fotorealismo

Renderização Scanline•Bouknight, 1970.•Algoritmo para determinar quais

superfícies ou partes de superfícies não são visíveis de um determinado ponto de vista.▫Renderização feita linha por linha em vez de

polígono por polígono ou pixel por pixel.•Vantagem:

▫Não é necessário traduzir as coordenadas de todos os vértices da memória principal para a memória em uso.

Page 28: Fotorealismo

Exemplos

Page 29: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e

Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 30: Fotorealismo

Flat Shading•Calcula a cor de 1 ponto e sua cor é a

mesma para toda a face.•É bastante rápido, já que elimina todos os

efeitos dos modelos de sombreamento.•Porém, os modelos ficam com uma

aparência quadrada.

Page 31: Fotorealismo

Exemplos

Page 32: Fotorealismo

Gouraud Shading• Henri Gouraud, 1971.• Suavidade na exibição de objetos com superfícies

curvas representados por polígonos.• Em cada vértice é calculado um vetor normal

estimado, que é a média das normais das faces que compartilham o vértice.

• A cor é calculada para cada vértice.▫ O cálculo da cor dos pontos internos da face é feita por

interpolação.• Problema – efeitos luminosos muito localizados:

▫ Pontos de brilho especular são atenuados.▫ Efeitos luminoso no meio do polígono podem ser

complicados.

Page 33: Fotorealismo

Exemplos

Page 34: Fotorealismo

Phong Shading•Bui Tuong Phong, 1975.•Funcionamento semelhante ao do

Gouraud Shading.•Normal da superfície é interpolada

linearmente para se obter a cor final de cada pixel.

•Melhora o modelo de Gouraud:▫Mantém o brilho especular.▫Resolve problema do meio do polígono.

•Mais custoso que os dois anteriores.

Page 35: Fotorealismo

Exemplos

Page 36: Fotorealismo

Exemplos

Outros modelos:http://www.youtube.com/watch?v=YKCyquHPidQ

Flat

Phong

Gouraud

Page 37: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 38: Fotorealismo

Mapeamento de Textura•Edwin Catmull, 1974.•Método para adicionar textura (imagem

2D) a um polígono, modelo ou gráfico 3D.•Assim promove o aumento de realismo e a

redução da complexidade do modelo.•Problema: Perspectiva.

Page 39: Fotorealismo

Exemplos

Page 40: Fotorealismo

Exemplos

Page 42: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 43: Fotorealismo

Mapeamento de Ambiente•Blinn e Newell, 1976.•Simulação de objetos refletindo o seu

arredor.•Método eficiente de simular uma superfície

espelhada através de texturas pré-calculadas.•Mais comuns:

▫Spherical E.M.▫Cubic E.M.

•Problema comum:▫O objeto não se reflete.

Page 44: Fotorealismo

Exemplos

Page 45: Fotorealismo

Exemplos

http://www.youtube.com/watch?v=uhNFiiRMOtU

Page 46: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 47: Fotorealismo

Mapeamento de Relevo•Blinn, 1978.•Técnica da CG para simulação de

superfícies irregulares.▫Superfícies com rugosidades, saliências,

etc.•É feita através da alteração do vetor

normal de cada pixel da imagem

Page 48: Fotorealismo

Exemplos

Page 49: Fotorealismo

Exemplos

http://www.youtube.com/watch?v=njFurl4uwm8

Page 50: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 51: Fotorealismo

Z-buffering•Edwin Catmull, 1974.•Gerenciamento das coordenadas de

profundidade de uma imagem em gráficos 3D.

•Geralmente implementado em hardware.•Uma das soluções para o “Problema da

Visibilidade”.•Problema:

▫Z-fighting.

Page 52: Fotorealismo

Exemplos

Page 53: Fotorealismo

Exemplos

http://www.youtube.com/watch?v=UVGdOFVbvBo

Page 54: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 55: Fotorealismo

Volumes de Sombra•Frank Crow, 1977.•Técnica utilizada em gráficos 3D para

acrescentar sombras em cenas já renderizadas.▫Sombras proporcionam maior realidade às

cenas.▫Divide o mundo virtual em dois: com

sombra e sem sombra.•“Sombra perfeita”.

Page 57: Fotorealismo

História•1968

▫Ray Casting

•Década de 70▫Renderização Scanline (Scanline Rendering) ▫Modelo de Sombreamento de Gouraud e Phong▫Mapeamento de Textura (Texture Mapping) ▫Mapeamento de Ambiente (Environment

Mapping)▫Mapeamento de relevo (Bump Mapping)▫Z-buffering ▫Volumes de Sombra (Shadow Volumes) ▫Buffer de Sombra (Shadow Buffer)

Page 58: Fotorealismo

Buffer de Sombra•Lance Williams, 1978.•Buffer de sombras de forma a tornar mais

rápida a renderização de sombras.▫Garantir qualidade e/ou precisão da

imagem se torna mais caro.▫Requerem grande quantidade de memória.▫GeForce 4 e Blender.

•Self-shadowing.

Page 59: Fotorealismo

Exemplo

Page 60: Fotorealismo

História•Década de 80

▫Traçado de Raios (Ray Tracing) ▫Traçado de Raios Distribuído (Distributed

Ray Tracing) ▫Traçado de Caminhos (Path tracing)▫Radiosidade (Radiosity)

•Década de 90▫Subsurface Scattering▫Mapeamento de Fótons (Photon Mapping)

Page 61: Fotorealismo

Ray Tracing• Turner Whitted, 1980.• Algoritmo para síntese de imagens 3D.• Simulação do trajeto que a luz faria no mundo

real.▫ Algoritmo reverso:

Alto custo computacional.• Alto grau de realismo.• Método recursivo.

▫ Computação lenta: Número de interseções entre raios e objetos. Custo de cada cálculo de interseção.

▫ Ideal para aplicações em que a imagem pode ser renderizada lentamente, ou previamente.

▫ Não recomendado para aplicações em tempo real. Será?

Page 62: Fotorealismo

Exemplos

Page 63: Fotorealismo

História•Década de 80

▫Traçado de Raios (Ray Tracing) ▫Traçado de Raios Distribuído

(Distributed Ray Tracing) ▫Traçado de Caminhos (Path tracing)▫Radiosidade (Radiosity)

•Década de 90▫Subsurface Scattering ▫Mapeamento de Fótons (Photon Mapping)

Page 64: Fotorealismo

Ray Tracing Distribuído•Robert Cook, Thomas Porter e Loren

Carpenter, 1984.•Ray Tracing – Limitações:

▫Sombras bem delineadas.▫Todos os objetos em foco.▫Objetos em movimento aparecem

congelados.▫Reflexão e refração “perfeitas”.

Materiais perfeitamente lisos.

Page 65: Fotorealismo

Ray Tracing Distribuído•Ray Tracing Distribuído:

▫Evita simplificações para que a imagem se torne mais suave e real.

•Efeitos:▫Borramento por movimento (Motion Blur).▫Profundidade de Campo (Depth of Field).▫Penumbra (Soft Shadows).▫Superfícies Brilhosas (Glossy Surfaces).▫Superfícies Translúcidas.

Page 66: Fotorealismo

Borramento por movimento

http://www.youtube.com/watch?v=R9FfkIGWoC4

Page 67: Fotorealismo

Profundidade de Campo

Page 68: Fotorealismo

Penumbra

Page 69: Fotorealismo

Superfície Brilhosa

4 raios

16 raios 64 raios

30% reflexãoSem

superfície brilhosa

Page 70: Fotorealismo

Superfície Translúcida

Transparente Translúcido4 raios

Translúcido16 raios

Page 71: Fotorealismo

História•Década de 80

▫Traçado de Raios (Ray Tracing) ▫Traçado de Raios Distribuído (Distributed

Ray Tracing) ▫Traçado de Caminhos (Path tracing)▫Radiosidade (Radiosity)

•Década de 90▫Subsurface Scattering ▫Mapeamento de Fótons (Photon Mapping)

Page 72: Fotorealismo

Path Tracing•James Kajiya, 1986.

▫Apresentado no mesmo artigo da “Equação de Renderização”.

•Técnica para renderização de gráficos fotorealísticos.

•Tenta resolver a equação de renderização.•Imagem de qualidade superior às

renderizadas com RayTracing.▫Maior custo computacional.

Page 73: Fotorealismo

Exemplo

Ray-traced:Resolução: 500 x 500Tempo de renderização: 132sObjetos/Polígonos: 10 / 7Raios Primários/Secundários: 250000 / 76435Velocidade: 2470 raios/sCaminho máximo: 10 jumps

Path-traced:Resolução : 500 x 500Tempo de renderização : 2h 10mObjetos/Polígonos : 10 / 7Raios Primários/Secundários : 250000 / 1979333402Velocidade: ~254000 raios/sRaios por Pixel: 2000Caminho máximo : 30 jumps 

Page 74: Fotorealismo

História•Década de 80

▫Traçado de Raios (Ray Tracing) ▫Traçado de Raios Distribuído (Distributed

Ray Tracing) ▫Traçado de Caminhos (Path tracing)▫Radiosidade (Radiosity)

•Década de 90▫Subsurface Scattering ▫Mapeamento de Fótons (Photon Mapping)

Page 75: Fotorealismo

Radiosidade•Cindy Goral, Kenneth Torrance, Donald

Greenberg e Bennett Battaile, 1984.•Algoritmo de Iluminação Global.

▫Tenta resolver a equação de renderização.•Baseado em conceitos de transferência de

calor e conservação de energia.•Não modela reflexão especular.•Elevado realismo.

Page 76: Fotorealismo

Exemplos

http://vimeo.com/3741726

Page 77: Fotorealismo

Exemplos

Page 78: Fotorealismo

História•Década de 80

▫Traçado de Raios (Ray Tracing) ▫Traçado de Raios Distribuído (Distributed

Ray Tracing) ▫Traçado de Caminhos (Path tracing)▫Radiosidade (Radiosity)

•Década de 90▫Subsurface Scattering ▫Mapeamento de Fótons (Photon Mapping)

Page 79: Fotorealismo

Subsurface Scattering•Pat Hanrahan, Wolfgang Krueger, 1993.•Mecanismo em que a luz penetra a

superfície de um objeto translúcido em um ponto, se dispersa e deixa a superfície em outro ponto.

•Ideal para renderizar materiais como mármore, leite e pele.

•Dá ao objeto uma aparência mais leve.

Page 80: Fotorealismo

Exemplo

http://www.youtube.com/watch?v=pLeymBNSMu8

Page 81: Fotorealismo

História•Década de 80

▫Traçado de Raios (Ray Tracing) ▫Traçado de Raios Distribuído (Distributed

Ray Tracing) ▫Traçado de Caminhos (Path tracing)▫Radiosidade (Radiosity)

•Década de 90▫Subsurface Scattering ▫Mapeamento de Fótons (Photon

Mapping)

Page 82: Fotorealismo

Mapeamento de Fótons•Henrik Jensen, 1995.•Algoritmo de dois passos que resolve a

equação de renderização.•Mais rápido que o Path Tracing.•Efeitos:

▫Cáusticas.▫Interreflexões Difusas.▫Meios Participativos.

Page 83: Fotorealismo

Cáustica•Efeito de refração da luz em um meio

transparente.

Page 84: Fotorealismo

Interreflexão Difusa•Energia luminosa atinge a superfície e

reflete em todas as direções.▫“Color Bleeding”.

Page 85: Fotorealismo

Meios Participativos•Cálculos necessários para representar

imagens com vapor, fumaça, poeira, etc.

Page 86: Fotorealismo

86

Renderizadores• Mental Ray• V-Ray• Kerkythea• 3Delight• Indigo• LightRay• POV-Ray• Fryrender• Brasil R/S• Light Studio

Page 87: Fotorealismo

87

MENTAL RAY• Criado pela Mental Images, comprada pela

NVIDIA.• Tem como clientes:

▫ Audi, Honda, Renault, Volkswagen.▫ DreamWorks, SONY.

Hulk, Matrix, O dia depois de amanhã.▫ Electronic Arts.

• Scanline rendering, photon mapping, final gathering, motion blur (vários tipos), programmable shaders, shade trees…

Maya

3DS Max

SolidWorks

Houdini

Page 88: Fotorealismo

MENTAL RAY88

Page 89: Fotorealismo

89

V-RAY•Engine de Renderização criado pelo

ChaosGroup em 1997.•Iluminação global: Path Tracing, Photon

Mapping, Irradiance Cache e Light Cache.•É usado na produção de filmes, jogos e

em arquitetura.

Maya

3DS Max

Page 90: Fotorealismo

V-Ray

Page 91: Fotorealismo

•Free, “physically based renderer”.•Renderização em rede (TCP/IP).•Spectral sky e sunlight.•Horas do dia realísticas (pôr do sol,

nascer do sol, etc).•Algumas bibliotecas usadas:

▫TinyXML, Intel Jpeg library, Lib3ds, Libpng.

Page 92: Fotorealismo

Indigo

Page 93: Fotorealismo

•Primeira versão em 2005, depois de 8 meses de trabalho.

•Freeware.•Kernel e bibliotecas do Phos (render

engine antigo).•Bump mapping, Clip mapping e Edge

Outlining.•Path Tracing, Photon Maps/Mesh Maps.

3DS Max

SketchUp

Page 94: Fotorealismo

Kerkythea

Page 95: Fotorealismo

Brazil R/S•Brazil Rendering System criado pela

SplutterFish.•Photon Mapping, Irradiance Cache,

Cartoon Shading, Skin Shader, Sub-surface Scattering, Rendertime Displacement Mapping, 3D Motion Blur.

•Hulk, Os incríveis, Sin City, Aeon Flux, Van Helsing, X-Men 2, Minority Report.

3DS Max

Page 96: Fotorealismo

Brazil R/S

Page 97: Fotorealismo

Hardwares Gráficos•Retirando o processamento de imagens do

processador, ganha-se em velocidade.•Mais fácil de fazer Pipeline e de

Paralelizar.•No começo: Rasterização. Depois,

Geometria.

Page 98: Fotorealismo

Evolução dos Hw Gráficos• IBM(87’): Controladores VGA (Video Graphics Array).

▫ Processamento ainda na CPU. VGA é usado como frame buffer.• 90’: GPU (Graphics Processing Unit).

▫ Termo introduzido pela NVIDIA: “VGA” já era inapropriado.• 91’: Super Nintendo, Neo Geo.

▫ Rasterização de 1 triângulo 3D por frame.• 1ª Geração de GPUs.

▫ 94-98 (NVIDIA TNT2, ATI Rage, 3dfx Voodoo).▫ Rasterização de triângulos pré-transformados.

• 2ª Geração de GPUs.▫ 1999-2000 (GeForce).▫ Transformação de vértices (OpenGL e DirectX 7).▫ Cálculo de Iluminação por vértice.

GEOMETRIA

Page 99: Fotorealismo

Evolução dos Hw Gráficos• 3ª Geração de GPUs.

▫ 2001 (GeForce 3, GeForce 4 Ti, Radeon 8500).▫ 600-800 estágios de pipeline.▫ Programação ao nível de vértice/fragmento.▫ DirectX 8.x e diversas extensões proprietárias do OpenGL.

• 4ª Geração de GPUs.▫ 2002-2003(GeForce FX, ATI Radeon 9700).▫ Programação ao nível do pixel.▫ Introdução das linguagens de alto nível para placas gráficas

Cg (C for graphics), GLSL.▫ Número de instruções por programa (vértice/fragmento)

aumenta drasticamente.▫ DirectX 9.x, OpenGL 2.0.

Page 100: Fotorealismo

Evolução dos Hw Gráficos•MULTI-GPU/SLIs (Scalable Link

Interface).•NVIDIA, 2004.•Split Frame Rendering, Alternate Frame

Rendering e SLI Antialiasing.

ATI Crossfire

Page 101: Fotorealismo

Evolução dos Hw Gráficos•Physics Processing Units (PPUs).

▫Unidades de processamento dedicadas a cálculos de física.

•AGEIA, criou a Physx, e foi comprada pela NVIDIA em Fevereiro/08.▫Age of Empires III, Gears of War.

•Havok FX.▫Crossfire e SLI.▫Half-Life 2, Dead Rising.▫Depois da compra pela Intel, sumiu.

Ageia Physx PPU

Page 102: Fotorealismo

102

Futuro•Avanços de hardware trazem, cada vez

mais, o fotorealismo a vários segmentos.▫Medicina.▫Arquitetura.▫Indústria de Games.▫Indústria do Cinema.▫...

Page 103: Fotorealismo

103

Futuro •Uso intensivo da computação distribuída

na Computação Gráfica.

Page 104: Fotorealismo

Futuro•http://www.youtube.com/watch?v=vg0lzlgu

HmE

Page 105: Fotorealismo

Perguntas?