Alexey Milovidov, Mitgründer der Datenbank ClickHouse, hat mit Unterstützung des AI-Assistenten Claude ein Raytracing-System veröffentlicht, das vollständig in SQL implementiert ist. Das Rendering mit einer Lichtsimulation auf Basis der Strahlenverfolgung wird in Form einer einzigen SQL-Abfrage ohne benutzerdefinierte Funktionen (UDF) und ohne Einbindung externen Codes realisiert. Für die Ausgabe von Grafiken nutzt ClickHouse die Möglichkeit, die Ergebnisse von Abfragen im PNG-Format zu speichern. Das Projekt funktioniert vollständig, wenn es in ClickHouse ausgeführt wird, kann jedoch mit einzelnen Fehlern und 33-mal langsamer in CedarDB betrieben werden. Das Projekt wird unter der Creative Commons BY-NC-SA-Lizenz verbreitet.
Jeder Pixel entspricht einer Zeile in einer Tabelle, die Spalten mit Koordinaten (X, Y) und Farbdarstellungen (R, G, B) enthält. Die für 3D-Berechnungen erforderlichen mathematischen Operationen basieren auf Tupeln - ein Vektor wird als Tuple(Float64, Float64, Float64) codiert.
Die Schleife zur Simulation mehrfacher Lichtreflexionen von Oberflächen wird über die SQL-Funktion arrayFold realisiert und wird innerhalb jeder Zeile ausgeführt, um das Rendering zu parallelisieren. Unterstützt werden geometrische Primitiven wie Zylinder, Torus, Kugeln und orientierte Quader, an denen Vereinigungs- und Differenzoperationen (Entfernung von Überschneidungen) durchgeführt werden. Die Landschaft wird mathematisch generiert.

Früher haben die Entwickler von ClickHouse ein Doom-ähnliches Spiel in SQL, einen RISC-V Emulator und einen Musik-Synthesizer erstellt.
Quelle: opennet.ru
