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
3
Richard Estes
4
Glennray Tutor
5
Audrey Flack
6
Duane H
anson
E a computação?
POV-Ray 3.6
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.
Computação Gráfica10
Modelagem
Geométrica
Computação Gráfica
Visão Computacion
al
Processamento
de imagens
Dados Imagens
11
Tríade Fundamental da CG
Geometria
RenderizaçãoAnimação
Geometria
Renderizaç
ãoAnimação
•Superfícies.•Malhas.•Curvas.•Parametrização.•Reconstrução.•Processamento de malhas out-of-
core.
12
Como representar os objetos?
•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?
•Animação de personagens.•Simulações físicas:
▫Tecido.▫Fluidos.
14
Geometria
RenderizaçãoAnimação
Como representar o movimento?
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
Aplicações [1]• Física Computacional
Aplicações [2]• Jogos
Aplicações [3]• Medicina
Aplicações [4]• CAD
Aplicações [5]• Cinema
http://www.youtube.com/watch?v=5f-MYl-HzNw
E várias outras áreas…•Biologia Computacional•Arte Digital•Educação•Design•RA/RV•Meteorologia•Análise de Dados•…
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)
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.
Exemplos
http://www.youtube.com/watch?v=C00n4rDUMNo
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)
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.
Exemplos
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)
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.
Exemplos
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.
Exemplos
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.
Exemplos
Exemplos
Outros modelos:http://www.youtube.com/watch?v=YKCyquHPidQ
Flat
Phong
Gouraud
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)
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.
Exemplos
Exemplos
Exemplos
http://www.youtube.com/watch?v=CZLGsTmB3sk&feature=related
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)
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.
Exemplos
Exemplos
http://www.youtube.com/watch?v=uhNFiiRMOtU
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)
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
Exemplos
Exemplos
http://www.youtube.com/watch?v=njFurl4uwm8
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)
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.
Exemplos
Exemplos
http://www.youtube.com/watch?v=UVGdOFVbvBo
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)
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”.
Exemplos
http://www.youtube.com/watch?v=utdoRSeKg64
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)
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.
Exemplo
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)
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á?
Exemplos
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)
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.
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.
Borramento por movimento
http://www.youtube.com/watch?v=R9FfkIGWoC4
Profundidade de Campo
Penumbra
Superfície Brilhosa
4 raios
16 raios 64 raios
30% reflexãoSem
superfície brilhosa
Superfície Translúcida
Transparente Translúcido4 raios
Translúcido16 raios
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)
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.
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
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)
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.
Exemplos
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)
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.
Exemplo
http://www.youtube.com/watch?v=pLeymBNSMu8
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)
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.
Cáustica•Efeito de refração da luz em um meio
transparente.
Interreflexão Difusa•Energia luminosa atinge a superfície e
reflete em todas as direções.▫“Color Bleeding”.
Meios Participativos•Cálculos necessários para representar
imagens com vapor, fumaça, poeira, etc.
86
Renderizadores• Mental Ray• V-Ray• Kerkythea• 3Delight• Indigo• LightRay• POV-Ray• Fryrender• Brasil R/S• Light Studio
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
MENTAL RAY88
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
V-Ray
•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.
Indigo
•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
Kerkythea
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
Brazil R/S
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.
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
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.
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
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
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.▫...
103
Futuro •Uso intensivo da computação distribuída
na Computação Gráfica.
Futuro•http://www.youtube.com/watch?v=vg0lzlgu
HmE
Perguntas?
Top Related