HeadlinesBriefing favicon HeadlinesBriefing.com

Ray Tracer in Brainfuck

Hacker News •
×

Der Autor hat CMake neu gelernt, während er sich auf ein C++-Systemprogrammierwettbewerb vorbereitete, und stieß auf Behauptungen über das Schreiben von Werkzeugen in Allzwecke-Sprachen. Neugierig auf den Vorschlag, einen Raytracer in CMake zu schreiben, wählte der Autor stattdessen Brainfuck (BF), eine minimalistische Sprache mit nur 8 Operationen und einem einseitig unendlichen Band von Zellen, die u8-Werte speichern. Die Einfachheit von BF schien ideal für die Erstellung eines direkten Codebasis zu sein.

Die Implementierung verwendete ein signiertes Q16.16-Festkommaformat für die numerische Darstellung, was eine ausreichende Auflösung und einen ausreichenden Bereich für das Rendern einer Szene mit einer Kugel mit einem Radius von 1000 bot. Das Projekt zielte darauf ab, das genaue Bild aus dem Metal-Abschnitt von RIW zu rendern und komplexe C-Analysen zu vermeiden. Der Code wurde mit einem LLM in ein SSA-ähnliches Format konvertiert, wobei rekursiver Code iterativ und Variablen mit Präfixen zur Verhinderung von Namenskollisionen gemacht wurden.