Uma nova metodologia para renderização híbrida a taxas interativas combinando reflexões em espaço de tela com Ray Tracing em GPU - Macedo, Daniel Valente de (2017)
Motores de renderização são softwares especializados, construídos sobre bibliotecas gráficas, cuja responsabilidade é gerar cenas tridimensionais realistas, contendo uma descrição robusta da geometria, cor, textura e efeitos visuais (reflexos, sombras, tonalização, etc.). A representação por computador dos raios de luz do mundo real não é uma tarefa trivial. Na realidade, é um processo extremamente custoso e geralmente inviável de ser feito em tempo real. Uma técnica bastante realista para a renderização, normalmente, de cenas estáticas é o ray tracing. Embora existam outros algoritmos de renderização em nível de GPU, estes objetivam a velocidade em detrimento da qualidade, gerando artefatos visuais indesejáveis para atingir taxas interativas (aproximadamente, 30 quadros por segundo) em cenas dinâmicas. Esta tese apresenta VTracer, um motor de renderização híbrido capaz de gerar efeitos visuais realistas a taxas interativas, através de uma nova solução para a síntese de reflexos que combina Screen Space Reflection (SSR) em espaço de tela com ray tracing em GPU (em duas versões, uma usando a biblioteca OptiX e outra integralmente em CUDA) e, para a síntese de sombras, usando shadow maps e/ou ray tracing. Em particular, para o ray tracer em CUDA, uma Linear Bounding Volume Hierarchy (LBVH) foi usada como estrutura de dados aceleradora. Além disso, VTracer foi integrado com sucesso ao motor da Física Bullet, para também gerar efeitos visuais realistas em simulações dinâmicas de corpos rígidos e deformáveis. Os resultados mostram que é possível combinar rasterização e ray tracing para a síntese de efeitos visuais realistas (sombras e, particularmente, reflexos) a taxas interativas, tanto em cenas estáticas contendo objetos planos e curvos (côncavos e convexos, com ou sem normal maps), quanto em cenas dinâmicas, sejam estes objetos rígidos ou deformáveis. Para verificação e validação da proposta, estudos de caso variados e sistemáticos foram conduzidos, focados na análise de desempenho do VTracer quanto à qualidade, taxas de quadros por segundo e escalabilidade. Duas métricas foram aplicadas para a análise objetiva da qualidade, as quais comprovaram o nível de realismo de todas as imagens sintetizadas nos testes. Adicionalmente, os testes mostraram que VTracer é capaz de gerar reflexos híbridos e sombras a taxas interativas e com boa escalabilidade, à medida que os níveis de complexidade geométrica e de movimento dos vértices dos objetos aumentam, mesmo em cenas de alto custo computacional, como as dinâmicas com objetos deformáveis. Finalmente, é possível concluir que, para a maior parte dos casos de teste investigados, o módulo do VTracer em OptiX foi mais recomendado para cenas estáticas e, o em CUDA, para dinâmicas. Com relação à aplicação deste trabalho, há várias possibilidades vislumbradas, por exemplo, a criação de um plugin que possibilitasse a geração dos efeitos visuais do VTracer em motores de jogos comerciais. Palavras-chave: Motor de renderização. Sombras. Reflexos. Rasterização. Ray tracing. Realismo. FPS interativo. Cenas estáticas e dinâmicas. Corpos rígidos e deformáveis.