A obsessão de alguns pelo Ray Tracing é desproporcionada, pois a realidade é que não interessa como se chega ao resultado, o que importa é o efeito visual. E tendo isso em conta, o RT poderá não vir a ser tão cedo um standard.
Um dos principais problemas do Ray Tracing é a performance. Apesar de muito poderem considerar que ele é superior por criar efeitos de luz foto realistas, o facto de ser extremamente penalizador nas performances é uma situação que o torna um off.
Eventualmente, um dia, em que possamos ter performances para dar e vender, o RT até se possa tornar um standard, eliminando a necessidade de outras metodologias (ou talvez não, como veremos mais à frente), mas nesta fase, o Ray Tracing torna-se um acessório que por muito que possa ser interessante é altamente penalizador nas performances.
Apesar de penalização variar de jogo para jogo, eis um caso real de de FPS num jogo com e sem RT.
Ora a questão é performances, que se traduzem não só em fps… Apesar que com a performance libertada pelo RT podemos efetivamente fazer como no caso de cima, onde os fps até podem quase duplicar, oferecendo jogos a 60 fps onde antes não era possível, tambem podemos manter os fps baixos e aumentar ainda mais a qualidade de imagem. O RT acaba por ser um compromisso grande para situações visuais que nem sempre são realmente compensadoras (vejam novamente a imagem de cima e digam de vossa justiça se para aquele resultado compensa descer os fps para cerca de 1/3).
Um outro exemplo semelhante que não envolve o RT, apesar de continuar ligado à luz e à sua qualidade é a iluminação dinâmica. Sim, todos gostamos de um motor de luz dinâmica, onde o dia vai correndo, e vamos transitando do dia para a noite. Mas um motor de luz dinâmica tem muito mais peso no processamento que a chamada luz pré cozinhada (Baked light), onde se obtêm os efeitos com luze pré preparadas.
Ora a questão é que com luzes pré cozinhadas podemos simular o efeito da luz dinâmica. Forza 7, por exemplo, simula isso na perfeição! Apesar de a luz e os seus efeitos atmosféricos serem pré cozinhados, não sendo verdadeiramente dinámicos, e ocorrendo de forma pré programada em momentos exatos da corrida, quando o carro se encontra em uma parte pré programada da corrida, a realidade é que a transição ocorre como se o motor de luz fosse dinâmico, e quem jogar despreocupadamente, nem se apercebe verdadeiramente disso.
Mas esses compromissos, apesar de não oferecerem exatamente o mesmo resultado que um motor de luz dinâmico, trazem vantagens, que nesse caso foram 60 fps. Como comparação, um jogo com as mesmas características, mas com tudo realmente dinâmico, como Driveclub, corre a 30 fps.
É este tipo de compromissos que se tem de pensar se são relevantes ou não. E nesse sentido pedia que visualizasssem, ou pelo menos dessem uma vista de olhos rápida no vídeo que se segue:
Perceberam a enorme diferença nos fps (recorda-me de ver a determinada altura 145 fps contra 47 fps)? Ela é clara! Mas vamos agora mudar a questão… perceberam realmente uma grande diferença na qualidade de imagem de ambos os casos que justifique a perda visualizada dos fps?
Naturalmente que não vos será difícil fazer perceber que um jogo com 145 fps tem muito por onde pode evoluir graficamente em futuras iterações, mas quando ele atinge 47, está muito mais limitado naquilo que pode ser a sua evolução (note-se que falamos de consolas e hardware fixo por vários anos)..
E perceba-se que os valores de cima nem precisam de ser atuais… a ideia não é mostrar aqui as atuais performances do RT, ou discutir se um Patch melhorou ou piorou as performances, mas sim fazer ver que a diferença com o seu uso existe, e muitas vezes com resultados questionáveis.
Naturalmente que há casos onde o RT é uma mais valia, e onde os seus ganhos são visualmente notórios. Eis exemplos:
O que estes exemplos possuem de particular?
Bem, nestes jogos os efeitos de Ray Tracing não estão aplicados à iluminação em geral, dado que um efeito global de RT não se revela compensador nas performances (apesar que alguns jogos como Returnal o usam).
Nestas imagens o que vemos é o efeito do Ray Tracing em dois pontos em particular, aqueles que se tem revelado verdadeiramente compensadores no seu uso. As sombras… e os reflexos.
Estes dois pontos são inegáveis que obtêm uma qualidade muito superior ao obtido pala metodologia clássica. No caso dos reflexos, são melhores que os obtidos com os “screen space reflexions” (SSR), que podem apenas refletir o que é visível no ecrã, basicamente capturando o ecrã, e invertendo a imagem no sentido do reflexo, aplicando-a ao local refletor. Algo que nunca poderia ser usado no caso da segunda imagem a contar de cima, das fotos anteriores, onde o reflexo na faca é do cenário que está do lado oposto ao que a câmara está a captar.
Da mesma forma o SSR tambem não é muito famoso com efeitos de partículas ou texturas com transparências, motivo pelo qual o fogo da explosão na terceira imagem tambem não reflete.
No capítulo das sombras as técnicas clássicas são o Screen Space Ambient Oclusion (SSAO) e o Self Shadowing (SS), que criam sombras de objetos sobre outros objetos e sobre eles mesmos, respetivamente. Convenhamos que no caso do Control estes efeitos poderiam estar melhor implementados, evitando aquele efeito tão chocante. Afinal sabemos por experiência própria que se pode conseguir muito melhor que aquilo. De qualquer maneira ressalve-se que a imagem de cima é obtida no modo foto, sendo que nas cutscenes não vemos algo assim.
Seja como for, é inegável que as sombras obtidas por Ray Tracing são desejáveis, sendo que este é um efeito extremamente leve (face ao peso do RT) e que está a ser usado com frequência em alguns jogos. E os efeitos de reflexo, ainda mais, especialmente quando há jogos que beneficiam tremendamente com eles.
Eis alguns exemplos de como estes dois efeitos mudam visualmente um jogo, sendo assim dos que mais compensam usar, combinado com técnicas de luz tradicionais, e num dos melhores exemplos de RT atualmente existentes, o Spider Man da Sony Playstation 5.
As imagens superiores são com o Ray Tracing desligado, e as inferiores com ele ligado. A diferente tonalidade da luz (amarela e azul) deve-se a ajustes efectuados entre as versões PS4 (RT off) e PS5 (RT on).
Mas se nestes casos os ganhos do Ray Tracing são inegáveis, e até desejáveis, nem todos os jogos são um verdadeiro Show off de luz e sombras. Aliás, a maior parte deles até nem apostam fortemente em cenários deste tipo, e como tal o RT não aporta os mesmos ganhos, tornando-se preferível o uso das técnicas tradicionais face aos ganhos de performance. Aliás, mesmo a Insomniac oferece modos Performance e modos fidelidade no Spider Man, permitindo assim a cada um optar pelo ganho que mais lhe agrada, os fps ou o grafismo.
Já no capítulo do uso do RT como iluminação global… a situação tem bastante que se lhe diga.
Talvez como introdução deva começar por contar uma pequena história: Nas imediações da minha casa estão a rodar um filme, e como tal tive oportunidade de, por várias vezes assistir a algumas das filmagens. E apesar de na altura não ponderar que seria interessante ter captado uma fotos, posso relatar o que verifiquei.
Mesmo de dia, mesmo com boa iluminação, existiam espalhados pelo local diversos painéis refletores para melhorar a luz. Confesso que na altura nem liguei muito a isso, considerado ser apenas uma curiosidade até ler uma conversa sobre o Ray Tracing que se desenvolveu da seguinte forma e que conjugada com esta situação, deu origem a este artigo:
Se a luz dinâmica é computacionalmente mais exigente é irrelevante, e se podes atingir os mesmos resultados, ou até algo superior, usando luzes pré rendidas e sondas de luz+ SSAO+ SS, mais outros truques baratos de luz, então o que interessa como é que a luz foi obtida?
O problema como as pessoas tem coberto o RT (como é o caso do Alex Battaglia da DF), é que eles perderam a noção do resultado global final, devido à sua fixação em meios específicos de obtenção do resultado. O objetivo das tecnologias de rendering é SEMPRE, o resultado final, pelo que perder-se essa visão, mina qualquer perspectiva que se tente partilhar.
A maior parte, se não mesmo todas as implementações de Ray Tracing em jogos acabaram por ser esteticamente piores que os melhores jogos sem Ray Tracing; A excepção são jogos com efeitos RT limitados como é o caso do Miles Morales.
E qualquer pessoa com meio cérebro esperaria isto, porque o uso de luz RT e não RT obriga sempre a sacrifícios entre a performance e a precisão; No entanto, como o RT exige um nível de performance radicalmente diferente dos jogos não RT, jogos totalmente RT requerem mais performance do que o hardware existente pode realmente entregar, mas para resultados que (com poucas exceções), são superiores.
Como tal, os maiores benefícios do atual RT é nas áreas onde as alternativas não RT tambem são pesadas (como os reflexos), assim como no lado da produção de criação e iteração em ativos de videogame.
A conversa desenvolveu então da seguinte forma:
Por várias vezes já tirei fotografias de vida real que pareciam piores e até menos realistas, do que algumas cenas rendidas em computador, com ajustes altamente controlados.
E esta frase teve uma resposta que dizia o seguinte:
A parte complexa da iluminação Ray Tracing é que mais vezes do que as que não, a luz realista não fica bem na imagem. Se assim fosse, muitos fotógrafos, diretores de fotografia, fotógrafos de moda, não seriam precisos e qualquer um com uma boa câmara fazia igual. A luz tem de ser controlada para parecer boa.
E um outro complementa com:
Eu sei disso como um facto. Tenho um mestrado em cinema, uma especialização em direção de fotografia, e sou supervisor de efeitos visuais a trabalhar com luz gerada por computador à muiiito tempo. Sempre que tentamos simular a luz tal como ela é na realidade, a imagem fica deslavada e feia. Mesmo no mesmo cenário, mudamos a luz em quase todos os takes, mesmo que tal não pareça fazer sentido, mas a realidade é que fica bem melhor, e as pessoas que visualizam nem se apercebem dessa mudança.
Basicamente este pequeno diálogo toca em quase tudo o que já abordamos até agora. O custo benefício do RT e a forma como efeitos limitados acabam por oferecer resultados equivalentes visualmente, mas que acabam por ser superiores pelo ganho na performance.
Mas a conversa introduz outro tema interessante. A forma como o RT pode estragar uma imagem ao não permitir criar os efeitos desejados. A imagem que se segue e um exemplo:
Curiosamente esta imagem até é nas duas versões obtida usando RT. A diferença é que a primeira usa muito pouco RT e a segunda usa muitas mais amostras.
Ora o segundo caso é o supostamente mais realista. As aberturas em causa, e a direção da luz, permitem perceber que a sala da esquerda está muito pouco iluminada. E perante a quantidade de luz na zona iluminada pelas frinchas, as zonas escuras não estão verdadeiramente realistas por estarem demasiadamente escuras.
Mas a realidade é que a imagem da direita tambem não está correta. E ela mostra um dos problemas criados pelo RT… a sobre-exposição. Torna-se dificil com um nível de luz daqueles, criar zonas de sombra mais intensa. E manter aquela abertura e mover a câmara para o exterior criaria um nível de luz excessiva.
Ora o que eu gostava que recordassem ao olhar para a imagem da esquerda é o DOOM 3.
O DOOM, desde a sua primeira versão, e até ao DOOM 3, altura onde o jogo modificou totalmente para algo mais de acção e tiro frenético do que verdadeiramente um jogo de horror, fez sucesso exatamente pelo misturar de zonas escuras com zonas claras. O deixar o medo e a imaginação tomar conta das mentes de cada um foi um dos fatores de sucesso do jogo. E isso foi conseguido com um efeito semelhante ao da primeira imagem.
Eis uma imagem do jogo:
Doom 3
O efeito aqui visualizado de escuridão, dificilmente seria conseguido se aplicássemos aqui uma luz realista, como a conseguida com o RT. Este é um claro caso onde a luz falsa e trabalhada à medida do desejado é usada, tal como no cinema, para a obtenção do efeito pretendido. É basicamente o que está a ser dito na discussão, sobre a luz manipulada ser o que se usa no cinema, e ser igualmente a ideal para os videojogos e os efeitos pretendidos. E para o desejado, ser melhor que a luz real!
Como curiosidade há uma história que circula sobre este tema e que origina de Hollywood. Terá acontecido durante as filmagens de um dos filmes da trilogia “Senhor dos Anéis”, e durante uma filmagem de uma cena noturna. Orlando Bloom, o actor que encarna a personagem do Elfo Legolas, terá questionado o realizador sobre a iluminação, referindo: “De onde vem esta luz numa cena noturna?”.
A resposta terá sido: “Do mêsmo sítio de onde vem a música”.
Basicamente a ideia é que a luz era necessária tal como a música, para se criar o ambiente desejado. Mesmo que a nível de realismo a coisa não fosse o mais adequado. Mas sendo o cinema uma arte, havia um objectivo visual em vista que nunca seria obtido com a penumbra da noite, e daí que o realismo tinha de ser quebrado.
Nesse sentido teremos de questionar se o Ray Tracing, alguma vez será usado como total substituto das técnicas tradicionais. Mais performance permitirá o seu uso de forma mais extensa, mas sendo o objetivo do mesmo a obtenção de efeitos realistas, seria um contra-senso se um dia o estivéssemos a usar, penalizando performances, apenas para depois se manipular o seu resultado de forma a conseguirmos o efeito desejado pelo diretor de arte. E isso quer fazer parecer que não só o mesmo nunca substituirá totalmente as técnicas tradicionais, como as mesmas serão sempre, mas mesmo sempre preferíveis pois a realidade é que estas, tal como acontece agora, serão sempre mais leves que o RT, e com margem para melhorarem, mantendo-se ainda assim mais leves.
A excepção poderá ser sempre os reflexos e as sombras, como atualmente acontece.
As sombras e o ambiente oclusion com os reflexos por RT são sim uma das melhores coisas dessa nova geração… Existe sim um grande impacto nas performances mas negar o aumento da qualidade é contraditório.. A NVidia com o DLSS está realmente um passo a frente da AMD nesse sentido não porque está poupar performance, mas sim por dar uma janela de oportunidade, para os jogos evoluírem.
Quanto mais estúdios trabalhando nesse sentido melhor.
A situação sempre foi penalizadora me lembro de um vídeo onde eram colocados 3 PS3 em cluster para render um único carro, mas lá está, as técnicas estão evoluindo junto ao hardware. O próprio Killzone Shadowfall foi uma grande janela ao mostrar algum RT na PS4 mas devido as performances nunca vimos outra tentativa e aqui onde chegamos, o DLSS permite a jogos mais complexos também usarem da tecnologia…
Ainda me lembro em muitos fóruns em que a discussão era sobre o Anti Alising… Onde que a técnica é muito penalizadora e etc… Hoje como aumento da resolução quase ninguém refere o assunto não porque está em desuso mas sim devido as técnicas de reconstrução de imagem.. o próprio Checkboard está ter seus louros depois de tanto tempo ser chamado de trapaça ao hardware mais fraco hoje é uma grande valia as performances…
Assim acredito que passado essa geração estaremos em outra discussão assim como foi nas outras como AA, o TressFx o Checkboard e agora o RT..
Muito boa analise
Muito boa a matéria, que debate interessante! Perfeita a colocação que a análise deve se focar mais no resultado. Isso vale não só para RT, mas para resolução também. Como já dissemos várias vezes aqui mais vale a demo UE5 a 30 fps 1440p do que vários jogos “nextgen” 4k 60 fps. Mas vejo o Ray tracing como uma mais valia. Não tenho RTX nem ps5, mas dos vídeos que vi e de jogar na casa de um amigo, no geral, a diferença com RT é marcante. Os reflexos são o grande chamariz, mas por exemplo, um jogo em que achei a iluminação muito melhor foi o Metro. Mas como o Mário disse, se for possível obter os mesmos, ou melhores, resultados com outras técnicas, isso não deveria caracterizar uma penalização na análise do jogo.
Mas com certeza não veremos isso, o RT já virou mais uma chatice nas guerras dos fanboys, muitas vezes alimentada por alguns da mídia.
Excelente artigo, Mario. Eu creio que o Ray tracing vai evoluir muito ainda, inclusive sendo combinado com outras técnicas… Os motores gráficos em breve devem ter soluções parecidas com o de iluminação global da Unreal 5 e assim por diante.
Legal o artigo.
O que se conclue então é que o custo benefício do Raytracing é melhor alcançado em sombras e áudio ao passo que reflexos e principalmente iluminação global pesam bastante na performance.
A citar, na Demo da Epic a mesma apresentou o Luminous, uma técnica de iluminação a qual a Epic diz ser uma alternativa poderosa ao Raytracing mas com bem menos peso a performance.
aqui o DEV, não sei qual, do Returnal falando:
usaram o RT para usar iluminação global e de alta qualidade que se adapta ao mundo gerado proceduralmente.
nada, “espelhos”
https://youtu.be/nTk2Huc2OFU
que eles escolheram 1080p logo de cara, pq 1080p com as tecnicas de up de resolução davam um aspecto “não real” ou algo como “davam uma cara de outro planeta” e até entendo, quem é retro sabe que as vezes aumentar a resolução deixa o jogo com cara de fake… e obviamente em 1080p deu para botar “tudo no ultra high”
engraçado ele falando “ahhhh as quedas para 1fps? unreal engine sendo unreal engine”
interessante notar que eles foram falar sobre isso na IGN e não com a DF sobre essas coisas.
Ótimo artigo, realmente eu nunca tira parado pra pensar que as vezes a luz real não é a ideal para criar uma cena… E no caso de jogos com RT penalizando tanto a performance as vezes não valha a pena… já que um resultado melhor pode ser obtido por outra técnica que não consuma tanto hardware …
Alguns motores de jogo já conseguiram trazer efeitos de luz foto realistas sem a utilização do ray tracing, como por exemplo a excelente iluminação baseada em física da Frostbite Engine, que foi vista em Battlefield 1, Star Wars Battlefront, Mass Effect Andromeda. E esses efeitos poderiam avançar bem mais com os novos consoles. Mas infelizmente essa em particular é uma tecnologia que não é open source, só os jogos da EA que utilizam. Mas tem outros exemplos também. A Frostbite não é a única.
A questão passa um pouco por aí. Eu estou convicto que em breve teremos motores mistos, isto é, motores que se baseiam na iluminação standard. Mas que obtêm os valores de luz com amostras de RT. Tal permite descer o número de raios emitidos e obter valores realistas para a luz. Aliás nem sei se já não é isso que o motor do Returnal faz.