Os cursos de introdução a gráficos geralmente têm um projeto que solicita a criação de um traçador de raios para renderizar uma cena. Muitos estudantes de gráficos que ingressam na pós-graduação dizem que desejam trabalhar no traçado de raios. E, no entanto, parece que o traçado de raios é um campo morto em locais como o SIGGRAPH etc.
O traçado de raios é realmente a melhor maneira de renderizar uma cena com precisão com toda a iluminação desejada, etc, e é apenas o desempenho lento (não interativo) dos traçadores de raios que os torna desinteressantes ou há algo mais?
Respostas:
O Raytracing é um algoritmo muito bom e intuitivo, e é uma maneira mais realista fisicamente de descrever a iluminação de uma cena do que a rasterização, mas:
Mesmo em aplicativos não interativos, como filmes, o Raytracing é muito pouco devido às suas limitações. A Pixar começou a usar o Raytracing em carros e apenas para alguns efeitos de reflexão específicos ( Ray Tracing para o filme 'Carros' ).
Aqui está um excelente artigo que descreve mais detalhadamente o estado atual do Raytracing e suas vantagens e desvantagens: State of Ray Tracing (em jogos) .
fonte
O traçado básico de raios tem um grande problema relacionado à luz ambiente. A maioria dos modelos de iluminação trata a luz ambiente como um fator constante presente no éter. Embora o traçado de raios seja excelente para calcular reflexões, ele sofre de instabilidade numérica e testes complicados de interseção de superfície. O rastreamento de raio pode não funcionar muito bem com a renderização acelerada por hardware, já que a recursão desempenha um papel importante na determinação da iluminação para qualquer pixel específico. O traçado básico de raios é computacionalmente muito caro.
A radiosidade lida melhor com a luz ambiente, na medida em que trata todos os objetos do ambiente como fontes de luz, produzindo um modelo de iluminação que é, de certa forma, mais realista do que o traçado de raios. Com uma solução de radiosidade, há um número fixo de polígonos em uma cena, e o cálculo é passível de aceleração de hardware.
Em última análise, o ray trancing não é a melhor maneira de renderizar uma cena, mas é um componente de uma boa estratégia de renderização. O custo computacional de alto custo e a fraca iluminação ambiente são os principais ataques contra o traçado de raios. Como um tópico de pesquisa, o trabalho está em andamento , mas parece estar focado na aceleração de hardware.
fonte
Eu não diria que o traçado de raios / traçado está morto ... se alguma coisa, houve um ressurgimento do interesse popular no campo devido ao paralelismo inerente aos muitos algoritmos associados nessa área combinados com a velocidade de Sistemas baseados em GPU que permitem o cálculo de milhões de raios por segundo. Além disso, há a flexibilidade no pipeline de renderização que linguagens mais genéricas, como CUDA e OpenCL, permitem que os desenvolvedores aproveitem a funcionalidade paralela da GPU sem precisar usar explicitamente o pipeline de gráficos OpenGL, como as técnicas iniciais da GPGPU. Alguns exemplos notáveis da pesquisa principal de rastreamento de caminho incluem:
Finalmente, você tem pesquisado bastante técnicas de otimização para o problema de iluminação global, incluindo iluminação global baseada em pontos, mapeamento de fótons e otimizações relacionadas, modelagem avançada de aparência (incluindo métodos orientados a dados), cache de irradiância, etc., etc.
fonte