Ponto de partida da iluminação global (em tempo real) [fechado]

10

Que técnicas alguém deve observar ao entrar na iluminação global em tempo real (para cenários de iluminação dinâmica)?

É difícil entender as diferentes técnicas mencionadas sem saber nada sobre o assunto. Se eu quisesse incorporar GI ao meu mecanismo gráfico, por onde começar a ler como linha de base? Quais algoritmos são implementáveis ​​em um prazo razoável por alguém novo (ou seja, não é um algoritmo altamente especializado que obtém desempenho menor por meses de trabalho) e que não estão completamente desatualizados até agora (ou seja, substituídos diretamente por algo simplesmente mais bonito e mais rápido)?

O mapeamento de fótons parece surgir muito, e eu li sobre coisas como rastreamento de cone voxel e algoritmos mais específicos, por exemplo, essa técnica usada no CryEngine 3 . No entanto, sabendo quase nada sobre o campo, é difícil decidir por onde começar.

Quais técnicas gerais valem a pena investigar?

TravisG
fonte
Você está procurando especificamente iluminação global dinâmica ? Existem muitos algoritmos bem entendidos e documentados para a iluminação global estática (também pré-computada), mas sinto que você não está procurando por eles.
precisa saber é o seguinte
1
Embora seja um tópico interessante, essa pergunta é essencialmente um "O que aprender a seguir" e realmente não tem uma resposta correta. Em vez disso, só vejo isso gerando uma lista de tópicos (que acredito ser exatamente o que você procura). Certamente é um tópico interessante, mas é um tópico de discussão e provavelmente não é adequado para o site.
MichaelHouse
1
Uma pergunta sobre qual é o estado da arte atual seria altamente localizada no tempo.
1
9 upvotes e fechado? Você está falando sério? @ Byte56
ashes999
1
@ JoshPetrie Talvez quando formulado como o estado da arte, mas essa pergunta tem o potencial de ter respostas muito úteis e a razão do fechamento parecer bastante superficial.
perfil completo de Gumball

Respostas:

6

Por que você não analisa minha tese de mestrado ?

O resultado aparentemente foi muito difícil para o SIGGRAPH aceitar (eles rejeitaram meu artigo) e eu não me submeti a nenhuma outra conferência. Mas ainda apresenta uma boa introdução à GI, escrita com a compreensão típica de bobobobo (na verdade, algumas seções têm profundidade demais, mas ei).

Você vai querer ver a seção 2.4, que muito rapidamente e com referências percorre alguns dos mais recentes algoritmos de kimono em tempo real, incluindo

  • traçado de raios em tempo real
  • radiosidade em tempo real (enlighten / bf3)
  • métodos de sombreamento diferido e espaço na tela (ssdo, ssao)
  • transferência de radiação pré-computada e harmônicos esféricos

Foi tudo o que recebi na minha pesquisa. Isenção de responsabilidade que eu possa ter perdido alguma coisa.

De qualquer forma, você realmente não tem esperança de implementar tudo isso em três meses. Eu diria que escolha um e trabalhe com ele. O rastreamento de raios em tempo real é de longe o mais emocionante para mim , porque é um verdadeiro método de kimono. Diferentemente dos métodos de espaço na tela, o rtrt não é um "hack" - não sofre efeitos estranhos que o ssdo:

insira a descrição da imagem aqui

bobobobo
fonte
De qualquer forma, você realmente não tem esperança de implementar tudo isso em três meses. Eu diria que escolha um e trabalhe com ele. <Isso é decepcionante. Não tenho certeza de como abordaria um único algoritmo de uma maneira que valha uma tese de bacharel. Acho que apenas implementá-lo para ver como fica não é suficiente. E não acho que sou capaz de apresentar minhas próprias melhorias em um algoritmo específico (simplesmente não sei nada sobre o campo). Bem, pelo menos, eu gostaria de não arriscar ter que passar mais 6 meses estudando sobre isso.
TravisG
Bem, fale com seu supervisor. Você já escreveu um raytracer antes? No cerne de qualquer um desses, geralmente está um raytracer. O mapeamento de fótons "estaciona" os fótons na cena (essencialmente lançando raios da fonte de luz para a cena) e, depois disso, a cena é rastreada. Sinceramente, acho que o RTRT é o melhor candidato, porque obter um raytracer básico não é muito difícil e você pode adicionar / cortar recursos conforme o tempo permitir. Com alguns dos algoritmos mais avançados (como o que você vinculou), eles são muito complicados e têm uma alta barreira à entrada.
bobobobo
Este exemplo feito por evan é um bom exemplo de rtrt em execução no seu navegador.
bobobobo