HeadlinesBriefing favicon HeadlinesBriefing.com

Ray Tracer en Brainfuck

Hacker News •
×

El autor reaprendió CMake mientras se preparaba para una competencia de programación de sistemas en C++ y encontró afirmaciones sobre escribir herramientas en lenguajes de propósito general. Intrigado por la sugerencia de escribir un raytracer en CMake, el autor en cambio eligió Brainfuck (BF), un lenguaje minimalista con solo 8 operaciones y una cinta infinita unidireccional de celdas que almacenan valores u8. La simplicidad de BF parecía ideal para crear una base de código directa.

La implementación utilizó un formato de punto fijo con signo Q16.16 para la representación numérica, proporcionando suficiente resolución y rango para renderizar una escena con una esfera de radio 1000. El proyecto tuvo como objetivo renderizar la imagen exacta de la sección Metal de RIW, evitando el análisis complejo de C. El código se convirtió a un formato similar a SSA usando un LLM, con código recursivo hecho iterativo y variables con prefijo para prevenir colisiones de nombres.