HeadlinesBriefing favicon HeadlinesBriefing.com

Ray Tracer em Brainfuck

Hacker News •
×

O autor reaprendeu CMake enquanto se preparava para uma competição de programação de sistemas em C++ e encontrou alegações sobre escrever ferramentas em linguagens de propósito geral. Intrigado pela sugestão de escrever um raytracer em CMake, o autor em vez disso escolheu Brainfuck (BF), uma linguagem minimalista com apenas 8 operações e uma fita infinita unidirecional de células que armazenam valores u8. A simplicidade de BF parecia ideal para criar uma base de código direta.

A implementação usou um formato de ponto fixo com sinal Q16.16 para representação numérica, fornecendo resolução e faixa suficientes para renderizar uma cena com uma esfera de raio 1000. O projeto visou renderizar a imagem exata da seção Metal de RIW, evitando análise complexa de C. O código foi convertido para um formato semelhante a SSA usando um LLM, com código recursivo tornado iterativo e variáveis com prefixo para prevenir colisões de nomes.