Renderização e rastreamento de raios com base física

11

Tenho muita confusão e preciso esclarecer algumas terminologias e reunir o conhecimento.
Se eu disser que um mecanismo é um rastreador de raios (por isso usa o algoritmo de rastreamento de raios para renderizar a cena), ele é automaticamente um mecanismo com base física? Quero dizer, o traçado de raios é, por definição, baseado fisicamente ou pode haver alguns traçadores de raios que não sejam baseados fisicamente? (e, simetricamente, existem alguns rastreadores não-raios baseados fisicamente?)
Além disso, é verdade que "baseado fisicamente" significa também que "resolve a equação do transporte de luz"?

TodorokiM
fonte

Respostas:

16

"Fisicamente baseado" não é um termo muito bem definido, por isso é difícil responder exatamente a essa pergunta.

Em geral, "fisicamente baseado" refere-se ao fato de que o algoritmo em questão é derivado de princípios baseados fisicamente. Não é fisicamente correto (porque não podemos pagar isso) e algumas aproximações geralmente precisam ser feitas, mas é bem conhecido quais são essas aproximações e, idealmente, há alguma intuição sobre o tipo de erro que ela introduz.

Isso contrasta com os modelos ad hoc, geralmente feitos por um artista que observa um efeito na vida real e tenta escrever um sombreador ou similar que, de alguma forma, imita a aparência dele. Geralmente, os modelos ad hoc são mais simples e baratos e tendem a ser as primeiras soluções para um determinado problema, mas eles não oferecem nenhuma percepção específica sobre o que realmente está acontecendo. Também é praticamente impossível dizer com que precisão esse modelo é capaz de reproduzir o efeito que ele tenta simular.

No contexto da renderização, um "renderizador baseado fisicamente" seria, portanto, simplesmente algo que renderiza uma imagem usando princípios baseados na física, que é uma classificação muito vaga. Um traçador de raios não é inerentemente fisicamente baseado, e a maioria dos traçadores de raios antigos de fato usava modelos ad hoc para iluminação e similares. Da minha experiência pessoal, "renderização fisicamente baseada" costumava se referir à solução da equação de renderização. No entanto, parece que nos últimos anos, muitos mecanismos de jogos reivindicaram esse termo, além de significar "fazemos conservação de energia" ou "não usamos mais phong".

Então, realmente, não há uma classificação rígida do que significa "renderização com base fisicamente" e o uso do traçado de raios por si só não torna um renderizador com base física. Na renderização offline, esse termo ainda é usado principalmente para se referir aos renderizadores que resolvem a equação de renderização, enquanto na renderização em tempo real, é mais provável que se refira ao uso de modelos de microfacetos ou similares. Mas é possível que o significado desse termo mude ao longo dos anos.

Benedikt Bitterli
fonte
3
Como sugerido por @BenediktBitterli, "Renderização fisicamente baseada" não é realmente um sim ou um não. Na renderização, sempre precisamos equilibrar o realismo com o custo computacional. Alguns renderizadores terão apenas alguns recursos 'Fisicamente baseados', por exemplo, BRDFs Microfacet e destinos de renderização HDR. Enquanto outros podem ter muitos, por exemplo, BSDFs completos, espectro completo tornar alvo, traçado luz, luzes de área, etc.
RichieSams
2

Não, simplesmente:

  • A renderização baseada fisicamente não requer raytracing. Pode-se usar outros meios. *

  • O Raytracing pode ser usado para fazer outros efeitos além da renderização com base física.

Raytracing é geralmente mais fácil de implementar e pensar. Portanto, é amplamente implantado para renderização com base física. Mas, pela mesma razão, muitos renderizadores não realistas usam truques de raytracing para obter o que precisam.

* Pessoalmente, estou brincando com o MEF não estruturado para renderizar imagens

joojaa
fonte