Emulador do Sega Saturn avança com renderização por compute shader
Yaba Sanshiro adotou compute shaders para corrigir distorções do VDP1, melhorando a qualidade sem perda aparente de desempenho.
Atualização [sex., 15 de mai. de 2026, 09:45 (horário de Brasília)]:
A versão atualizada do emulador Yaba Sanshiro já está disponível e traz uma técnica de renderização que corrige uma das maiores peculiaridades do Sega Saturn. A mudança permite superar distorções visuais que ocorriam quando sprites e polígonos do VDP1 eram mapeados em GPUs modernas. Em vez de depender apenas de tesselação em triângulos, o novo caminho de render usa compute shaders para um mapeamento por pixel mais fiel. Isso promete melhorar a aparência de jogos, especialmente em resoluções mais altas.
Por que a mudança é relevante
O VDP1 do Saturn desenha sprites e polígonos como quads, enquanto GPUs atuais trabalham nativamente com triângulos, o que pode gerar emendas visíveis entre as metades do quad. Emuladores tradicionais contornavam o problema subdividindo os quads, mas isso não replica o rasterizador original do VDP1 de forma precisa. Segundo o desenvolvedor conhecido como devMiyax, essa aproximação ainda deixava artefatos em texturas, notadamente ao aumentar a resolução. A nova abordagem busca reproduzir o comportamento por pixel do hardware, em vez de apenas ajustar vértices.

O método implementado roda um compute shader para cada comando do VDP1, fazendo com que cada thread responda por um pixel de tela ou por um pixel de saída quando em upscale. Nesses pontos, onde a tesselação costumava ser grosseira, o processamento por pixel elimina as emendas visuais e mantém a suavidade das texturas. A técnica exige lógica por pixel simples, mas cuidadosamente aplicada a cada comando de desenho do VDP1. Assim, o resultado se aproxima mais do rasterizador original sem introduzir os artefatos anteriores.
Desempenho e impacto prático
Surpreendentemente, o novo caminho não aparenta sacrificar desempenho: testes relatados pelo desenvolvedor mantiveram 60 fps mesmo com o trabalho extra por pixel. Isso significa que jogadores podem ter gráficos mais corretos e escalados sem perda de fluidez nas sessões de jogo. A mudança também reduz a necessidade de artifícios como correções de vértice ou regiões de desenho expandidas que antes eram usadas para contornar a limitação. Para quem se interessa pelos detalhes técnicos, o desenvolvedor publicou uma explicação mais aprofundada sobre a implementação e suas motivações.
