Por exemplo, o traçado de raios pode ser usado no filme porque as imagens podem ser feitas em pós-produção, tendo assim bastante tempo. Por outro lado, os videogames exigem uma renderização de imagem mais rápida; então ray tracing não é a melhor opção.
Um software chamado ray tracer simula a jornada de raios de luz individuais de uma fonte de luz virtual para uma lente de câmera virtual. O raio de luz virtual pode passar por atmosferas volumétricas, como neblina ou fumaça, e interagir com superfícies de materiais como metal, vidro ou água, por exemplo. Cada um desses objetos é projetado e modelado por artistas e engenheiros para afetar a aparência da cena conforme representada pelo ray tracer. Rastreadores de raio avançados podem aplicar cálculos adicionais, como interreflection, radiosity e cáusticos para simular comportamentos complexos de luz.
Quanto tempo leva?
O rastreamento de raio pode gerar imagens altamente realistas, mas é computacionalmente caro e, portanto, muito lento. Por exemplo, cada imagem parada do filme de animação de computador Monsters University, lançado pela Pixar em 2013, exigiu 29 horas para renderizar. A 24 quadros por segundo, o filme de 110 minutos tem aproximadamente 160.000 quadros. A Pixar usou uma fazenda de renderização massiva para distribuir a computação, completando-a em questão de meses. Em um único computador, o filme levaria quatro milhões e meio de horas - 524 anos - para terminar a renderização.
Nem todos os renderizadores são traçadores de raios
Como o cálculo do tempo é muito demorado, o traçado de raios é frequentemente usado para a renderização final. Os renderizadores intermediários ou de visualização geralmente são executados com renderizadores "mais baratos", que produzem rapidamente uma imagem de qualidade inferior. Por exemplo, o Blender usa o Renderizador de Ciclos para realizar o traçado de raios, ou o Renderizador Interno do Blender para renderizar rapidamente imagens não fotorrealistas.
Rastreamento de raio na GPU
Tradicionalmente, o traçado de raios é executado pela CPU, não pela GPU. O hardware de uma GPU é projetado para distribuir o máximo de FPS (quadros por segundo) possível, para aprimorar aplicativos gráficos em tempo real, como videogames. Em contraste, o traçado de raios geralmente é um processo lento, sacrificando a velocidade em tempo real pela qualidade fotorrealista. Portanto, o software de rastreamento de raios não foi projetado para rodar em hardware GPU, e o hardware GPU não foi projetado para realizar o rastreamento de raios.
No entanto, em 13 de agosto de 2018, a NVidia anunciou sua nova arquitetura de processamento de gráficos Turing, capaz de realizar o rastreamento de raios em tempo real. As primeiras GPUs a usar a arquitetura Turing, o Quadro RTX, estão programadas para serem lançadas no final de 2018.
Software de rastreamento de raios
A seguir, exemplos de software de rastreamento de raios disponível para download ou compra.
- Autodesk 3ds max - Um aplicativo proprietário de modelagem, animação e renderização em 3D, voltado principalmente para usuários de CAD, como arquitetos.
- Autodesk Maya - Semelhante ao 3ds max, mas com foco na animação de personagens.
- Blender - Um aplicativo gratuito de modelagem, animação e renderização 3D de código aberto.
- Bryce - Um gerador de paisagem fractal introduzido em 1994.
- Cinema 4D - Um aplicativo de modelagem 3D, animação e renderização com efeitos processuais para cineastas e artistas gráficos em movimento, anunciado como fácil de aprender.
- Houdini - Um aplicativo de animação 3D com recursos completos, com simulação física, dinâmica de fluidos e simulações volumétricas. Uma versão limitada chamada Houdini Apprentice está disponível para estudantes e entusiastas usarem gratuitamente.
- Lightwave - Um aplicativo 3D CGI que foi usado para criar gráficos em movimento, efeitos especiais e videogames.
- O LuxCoreRender é um renderizador de código aberto gratuito para Windows, macOS e Linux.
- O POV-Ray (Persistência do Vision Raytracer) é um renderizador de código aberto gratuito que cria imagens a partir do SDL (Scene Description Language), uma linguagem completa com suporte a macros.
- RenderMan - Um renderizador de qualidade de filme desenvolvido pela Pixar, usado em filmes como Incredibles 2 e Avengers: Infinity War .
- Visionaray - Uma biblioteca de rastreamento de raio aberto de plataforma cruzada.
- YafaRay - Um rastreador gratuito de código aberto de Monte Carlo.
Recursos adicionais
Animação 3D, CAD, Radiosidade, Simulação, Termos de Software, TurboSquid