EnglishPortugueseSpanish
publicidade

Um desenvolvedor chamado Ben Carter, que já trabalhou em jogos de séries como “Harry Potter”, “FIFA” e na versão de “Starfox 64” para o Nintendo 3DS, conseguiu algo que era considerado impossível: fazer o Super Nintendo renderizar uma cena tridimensional usando Ray-Tracing em tempo real.

Ray-Tracing é uma técnica gráfica em que uma cena é renderizada traçando o caminho de um raio de luz de uma fonte (como o Sol, uma lâmpada, flash de uma granada, etc) até os objetos ao seu redor, considerando interações como reflexos, difusão etc. Isso é repetido para todos os raios de luz emitidos por todas as fontes da cena.

publicidade

Como a iluminação é calculada em tempo real, os gráficos se tornam muito mais realistas. Poças refletem a luz de prédios ao redor, vitrines refletem o personagem em frente a elas, sombras são dinâmicas e variam de acordo com as fontes de luz ao redor, etc.

Comparação de Cyberpunk 2077 rodando em uma GeForce RTX 3070, com e sem ray-tracing

Obviamente, todo este realismo tem um custo: é uma técnica que exige um imenso poder de processamento, e atualmente é limitada aos consoles da nova geração e GPUs topo de linha da AMD ou Nvidia. Por isso, conseguir usá-la em um Super Nintendo, com seu processador de 16 Bits rodando a meros 3,58 MHz é certamente um feito e tanto.

Ray-tracing com uma “forcinha” extra

O console, lançado em 1990 no Japão, nem sequer consegue fazer gráficos tridimensionais sem um co-processador, o chip Super FX, que estreou no mercado em “Star Fox” em 1993. E mesmo assim os gráficos são bastante primitivos, com polígonos sem texturas e uma taxa de quadros que fica em 15 FPS em média.

Ou seja, fica claro que o SNES precisa de uma “forcinha”. Para isso, Ben desenvolveu uma placa de expansão para o console, que no momento ela consiste em várias placas de circuito e fios em sua bancada conectados a um cartucho “canibalizado”, mas que poderia ser condensada em um único chip em um cartucho e usada em qualquer console sem necessidade de modificação.

publicidade

A expansão, chamada SuperRT, usa um chip Altera FPGA Cyclone V, um chip “reconfigurável” que pode desempenhar as tarefas que o desenvolvedor desejar. No caso, Ben o configurou com três núcleos otimizados para os cálculos de ray-tracing, rodando em paralelo a 50 MHz cada.

Demonstraçao da SuperRT em ação

A imagem é renderizada internamente em 24 bits de cor, e é convertida para 256 cores antes de ser enviada para o SNES. Com isso é necessário transferir menos dados entre a expansão e o console, o que aumenta a taxa de quadros, que fica na casa dos 20 FPS. Outro truque para acelerar o processamento é diminuir a resolução da imagem, que é de 200 x 160 pixels.

A SuperRT é capaz de renderizar esferas e planos, e objetos podem ser combinados ou subtraídos para gerar figuras mais complexas. Para demonstrar a tecnologia, Ben criou uma cena que mostra um lago refletindo portais ao seu redor, esferas metálicas animadas que refletem dinamicamente objetos à sua volta e sombras que mudam de acordo com a posição da fonte de luz da cena, o Sol.

Apesar do hardware extra na expansão, Carter afirma ao site Ars Technica que “o Super NES está firmemente no comando”. “Acredito que não haja nada aqui que não seria tecnicamente possível na década de 90 se você realmente tentasse. Mas provavelmente seria caro demais para incluir em um jogo”.

“Star Fox é um game que eu amo desde pequeno. Literalmente comprei meu primeiro console por causa deste jogo […] construir algo vagamente similar a ele certamente me deu uma maior apreciação ao feito que os engenheiros conseguiram na época sob limitações muito mais severas do que este meu pequeno hobby!”, afirmou.

Fonte: Ars Technica