Prévia do material em texto
Computação Visual FUNDAMENTOS – GRAPHICS PROCESS – RENDERING 2 2023 Graphics Process Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects Image Video 2023 Marcio Lobo NettoPSI3572 COMPUTAÇÃO VISUAL - RENDERING 2 Processo Gráfico Rendering 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo Fotografando Filmando Interagindo cena / mundo virtual PSI3572 COMPUTAÇÃO VISUAL - RENDERING 3 Rendering by Randall Rauwendaal 2023 Marcio Lobo NettoPSI3572 COMPUTAÇÃO VISUAL - RENDERING 4 https://www.researchgate.net/profile/Randall_Rauwendaal O1 O2 filme CCD observador Processo Gráfico (rendering) Síntese da Imagem/Vídeo Iluminação Local ◦ Considera apenas iluminação direta (primária) ◦ Um efeito secundário pode ser superposto como uma iluminação ambiente (geral) Iluminação Global ◦ Considera efeitos de reflexão / refração entre objetos ◦ A luz primária (vindo diretamente da fonte luminosa) se soma a secundária (vindo de indiretamente de objetos iluminados) ◦ Custoso computacionalmente 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo Raios computados primários secundários Raio não computados PSI3572 COMPUTAÇÃO VISUAL - RENDERING 5 Processo Gráfico Síntese da Imagem/Vídeo Especular Ray Tracing / Particle Tracing ◦ Ao atingir a superfície a luz é refletida (refratada) com o ângulo de incidência rebatido Difusa Ray Tracing / Particle Tracing / Radiosidade ◦ Ao atingir a superfície a luz é refletida (refratada) em todas as direções Combinada (Especular e Difusa) two pass (1 Radiosidade / 2 RT) ◦ Uma combinação entre uma direção preferencial e todas as direções 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 6 Processo Gráfico Síntese da Imagem/Vídeo Shader BRDF: fr da expressão ◦ Função de distribuição luminosa ◦ variando com o ângulo: 0º – 180º ◦ Para cada ângulo de incidência (i) e saída/reflexão (r) ◦ Uma combinação genérica entre direções mais ou menos preferenciais ◦ Em decorrência de características do material ◦ Como se comporta ao refletir (refratar) a luz ◦ Em que direções ◦ De forma homogênea ou não com relação ao espectro (cores) ◦ ... 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo Lr (ωr) = ∫fr (ωi , ωr)Li (ωi) cosqi dωi → → → → → PSI3572 COMPUTAÇÃO VISUAL - RENDERING 7 Processo Gráfico Rendering Técnicas 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo Ray Tracing Particle Tracing © nvidia Radiosity PSI3572 COMPUTAÇÃO VISUAL - RENDERING 8 Processo Gráfico Rendering Por Projeção (pipeline) ◦ & Iluminação Local ◦ & Iluminação Global Por Amostragem (ray / particle tracing) ◦ & Iluminação Local ◦ & Iluminação Global 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 9 Processo Gráfico Rendering Por Amostragem (ray / particle tracing) Por Balanço Energético (radiosidade) ◦ & Iluminação Local ◦ & Iluminação Global Dependência do Observador ◦ Ray / Particle Tracing: sim ◦ imagem do ponto de vista do observador ◦ Iluminação difusa e especular ◦ Radiosidade: não ◦ iluminação da cena, independe do observador ◦ Iluminação difusa apenas 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo ray tracing - nvidia PSI3572 COMPUTAÇÃO VISUAL - RENDERING 10 Radiosity Raytracing https://www.cs.cmu.edu/afs/cs/academic/clas s/15462-s10/www/lec-slides/lec21.pdf 2023 Marcio Lobo NettoPSI3572 COMPUTAÇÃO VISUAL - RENDERING 11 Ray Tracing GPGPU (nvidia RTX) RT Inteligente Combina rendering com deep learning para presumir onde concentrar esforços computacionais ◦ Avalia vizinhança ◦ Pixels ◦ Objetos da cena 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo © nvidia PSI3572 COMPUTAÇÃO VISUAL - RENDERING 12 Ray Tracing Amostragem da cena através da tela 2023 Marcio Lobo NettoPSI3572 COMPUTAÇÃO VISUAL - RENDERING 13 Processamento Paralelo Funcional (CG clássica) / Imagem (RT) CG Clássica: iluminação local - streaming (fluxo) ◦ Permite o uso de processadores em pipeline (sequencia) ◦ Módulos dedicados a cada etapa do processamento ◦ Permite o calculo de processamento paralelo ◦ objetos / elementos da imagem processados simultaneamente, pois são tratados independentemente RayTracing: iluminação global ◦ Incompatível com processadores em pipeline (primeiros) ◦ Flexibilizações nas arquiteturas das GPGPUs passaram a permitir o RT (nvidia RTX) – teremos uma aula sobre GPUs ◦ Processamento paralelo ◦ Elementos da imagem, tratados independentemente ◦ Computação de caráter global requer que quaisquer objetos estejam acessíveis pois podem ser necessários no cálculo 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 14 Paralelismo Funcional – subdividindo o processo em etapas Pipeline: O processo todo é subdividido em etapas sequenciais Todas são executadas simultaneamente Cada uma se ocupando de um objeto diferente a cada ciclo. 2023 Marcio Lobo Netto Model Transform View Transform PerVertex Lighting Projection Transform Homogeneous Division Viewport Transform Rasterization Fragment Processing Raster Operations Framebuffer MC WC EC EC CC NDC SC SC SC SC etapas MT VT VL PT HD VT R FP RO FB t1 Obj1 t2 Obj2 Obj1 t3 Obj3 Obj2 Obj1 t4 Obj4 Obj3 Obj2 Obj1 t5 Obj5 Obj4 Obj3 Obj2 Obj1 t6 Obj6 Obj5 Obj4 Obj3 Obj2 Obj1 t7 Obj7 Obj6 Obj5 Obj4 Obj3 Obj2 Obj1 t8 Obj8 Obj7 Obj6 Obj5 Obj4 Obj3 Obj2 Obj1 t9 Obj9 Obj8 Obj7 Obj6 Obj5 Obj4 Obj3 Obj2 Obj1 t10 Obj10 Obj9 Obj8 Obj7 Obj6 Obj5 Obj4 Obj3 Obj2 Obj1 t11 Obj11 Obj10 Obj9 Obj8 Obj7 Obj6 Obj5 Obj4 Obj3 Obj2 t12 Obj12 Obj11 Obj10 Obj9 Obj8 Obj7 Obj6 Obj5 Obj4 Obj3 Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 15 Paralelismo no Espaço de Saída (Imagem) – subdividindo a tela em partes (tiles) 2023 Marcio Lobo Netto Pixels são agrupados em células distribuídas entre os processadores disponíveis Cada processador realiza todos os cálculos daaquele conjunto de pontos da imagem Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 16 Paralelismo no Espaço de Entrada (Cena) – subdividindo a cena em partes 2023 Marcio Lobo Netto Objetos são agrupados em células distribuídas entre os processadores disponíveis Cada processador realiza todos os cálculos daquele conjunto de objetos da cena Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 17 Paralelismo no Espaço de Entrada (Cena) – subdividindo a cena em partes 2023 Marcio Lobo Netto Objetos são agrupados em células distribuídas entre os processadores disponíveis • Divisão espacial da cena • Subdivisão adaptativa (em função da distribuição de objetos na cena) Cada processador realiza todos os cálculos daquele conjunto de objetos da cena Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 18 Paralelismo no Espaço de Entrada (Cena) – subdividindo a cenaem partes 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo Objetos são agrupados em células distribuídas entre os processadores disponíveis • Divisão espacial da cena • Subdivisão adaptativa (em função da distribuição de objetos na cena) Cada processador realiza todos os cálculos daquele conjunto de objetos da cena PSI3572 COMPUTAÇÃO VISUAL - RENDERING 19 Qualidade 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 20 Desempenho 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 21 Desempenho 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 22 Cornel Box Cena para Teste de métodos computacionais 2023 Marcio Lobo Netto Fotografia Sintetizada by Randall Rauwendaal PSI3572 COMPUTAÇÃO VISUAL - RENDERING 23 https://www.researchgate.net/profile/Randall_Rauwendaal https://www.researchgate.net/profile/Randall_Rauwendaal Radiosidade Balanço energético – luz difusa Luminosidade (radiância) 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 24 Radiosidade Ajuste (Refinamento) sucessivo ◦ Detalhando mais e mais a cada ciclo Hierárquico 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo https://www.cs.cmu.edu/afs/cs/academic/class/15462-s10/www/lec-slides/lec21.pdf PSI3572 COMPUTAÇÃO VISUAL - RENDERING 25 Radiosidade Subdivisão espacial ◦ Patches ◦ Malha fina para representar as diferentes tonalidades ◦ Processo adaptativo ◦ Não se sabe a priori quais são as partes mais iluminadas ◦ Ou como se distribui a iluminação 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo Shotting Gathering PSI3572 COMPUTAÇÃO VISUAL - RENDERING 26 Radiosidade Refinamento sucessivo ◦ espaço -temporal 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 27 Radiosidade 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo http://groups.csail.mit.edu/graphics/classes/6.837/F01/Lecture20/lecture20_4up.pdf PSI3572 COMPUTAÇÃO VISUAL - RENDERING 28 Radiosidade Iluminação da cena ◦ Independe do observador Resultado pode ser aplicado na forma de texturas nas superficies E rendering em tempo real ser feito com procedimento classico ◦ Walk through (jogos) Ou usando RT (calculando só a parte specular) como segundo passo 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 29 Radiosity (+Raytracing) Aplicações ◦ Arquitetura ◦ Jogos (ambientes fechados) Permite explorar bem nuances / tons Computacionalmente custoso Cenas estáticas ◦ sem animação Radiosity (+Raytracing) ◦ Two pass 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo https://www.cs.cmu.edu/afs/cs/academic/class/15462-s10/www/lec-slides/lec21.pdf PSI3572 COMPUTAÇÃO VISUAL - RENDERING 30 Conclusão Discussão 2023 Marcio Lobo Netto Geometric Models (3D) Animation (3D) LightingMaterials Rendering Scene objects ImageVideo PSI3572 COMPUTAÇÃO VISUAL - RENDERING 31