IME

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

USP

Resumo

Este trabalho buscou investigar a viabilidade do uso da técnica de renderização Ray Marching, com foco no algoritmo Sphere Tracing, para aplicações interativas em tempo real, como jogos digitais. O principal objetivo foi avaliar os benefícios e as limitações dessa abordagem em comparação com os métodos tradicionais, como rasterização e Ray Tracing, amplamente utilizados na indústria de jogos. Para tal, foi desenvolvido um renderizador como prova de conceito utilizando a técnica de Ray Marching acelerado por Sphere Tracing.

A metodologia adotada envolveu uma revisão teórica das principais técnicas de renderização, explorando os fundamentos do Ray Marching, suas variantes (como marcha uniforme e Sphere Tracing) e conceitos relacionados, como funções de distância e operações de manipulação de domínios. O trabalho incluiu a implementação de algoritmos em linguagens como Slang e Rust para a definição de formas primitivas, transformações geométricas, materiais e modelos 3D.

Os resultados obtidos demonstraram que o Ray Marching, embora apresente limitações em termos de desempenho em cenas modeladas tradicionalmente com malhas de triângulos, oferece vantagens significativas no campo criativo, permitindo a renderização eficiente de superfícies implícitas e estruturas complexas, como fractais. Além disso, foi constatado que a técnica é capaz de simular efeitos avançados de iluminação, como sombras suaves e reflexões, com maior controle sobre os detalhes da cena.

Conclui-se que o Ray Marching, em particular o Sphere Tracing, é uma abordagem promissora para aplicações que buscam inovação visual e flexibilidade criativa. No entanto, seu uso em cenários comerciais ainda depende de avanços no desenvolvimento de hardware dedicado e integração com os padrões atuais da indústria. Este trabalho contribuiu para o entendimento e a exploração de novas possibilidades na renderização gráfica, destacando o potencial do Ray Marching como uma alternativa inovadora para o desenvolvimento de jogos digitais.

A figura ao lado mostra três exemplos de images renderizadas utilizando Ray Marching. A primeira mostra uma cena de caracol subindo em uma folha. Nela é possível ver alguns efeitos de iluminação como transparência e refração das gotas de chuva, e sub-surface scattering na pele do caracol. A segunda imagem mostra um fractal tridimensional renderizado na forma de planeta. A terceira imagem mostra um mundo tridimensional

Exemplos de ray marching

Pôster apresentado (clique na imagem para baixar o PDF)

Imagem do poster