Renderização em Tempo Real utilizando Ray Marching e sua Aplicação em Jogos Digitais

Autor: Pedro Tonini Rosenberg Schneider (pedrotrschneider@usp.br)

Orientador: Prof. Dr. Márcio Lobo Netto (marcio.netto@usp.br)

Universidade de São Paulo - Instituto de Matemática e Estatística

Resumo

A maioria dos jogos digitais 3D modernos, bem como outras aplicações gráficas 3D de tempo real, utilizam algoritmos de renderização baseados na rasterização de cenas. Esses algoritmos consistem em uma série de transformações lineares sobre os elementos da cena (geralmente triângulos) para realizar a projeção de tais elementos na “tela” visualizada pelo usuário. Essa forma de renderização de cenários tridimensionais, embora extremamente eficiente como resultado de décadas de otimização, é, muitas vezes tomada como única, e acaba por impor restrições proibitivas no processo criativo em algumas aplicações.

Este trabalho busca explorar outras possibilidades de algoritmos de renderização menos utilizados. Mais especificamente, busca-se realizar uma pesquisa e desenvolvimento de um renderizador baseado em ray-marching, um algoritmo de traçamento de raios utilizando campos de distâncias de formas geométricas.

O objetivo final do trabalho é avaliar a viabilidade desta forma de renderização de gráficos para aplicações em tempo real, como jogos digitais, comparando seus benefícios e problemas quando comparado com o estado da arte.