Aleksej Milovidov, co-fondatore del DBMS ClickHouse, con l'assistenza dell'assistente AI Claude, ha pubblicato un sistema di ray tracing realizzato interamente in SQL. Il rendering con simulazione dell'illuminazione basato sul tracciamento dei raggi è implementato come una singola query SQL senza funzioni utente (UDF) e senza il caricamento di codice esterno. Per l'output grafico si utilizza la capacità del DBMS ClickHouse di salvare i risultati delle query in formato PNG. Il progetto funziona completamente se eseguito nel DBMS ClickHouse, ma con alcuni errori e può funzionare 33 volte più lentamente nel DBMS CedarDB. Il progetto è distribuito con licenza Creative Commons BY-NC-SA.
Ogni pixel rappresenta una riga in una tabella, in cui sono presenti colonne con le coordinate (X, Y) e la rappresentazione del colore (R, G, B). Le operazioni matematiche necessarie per i calcoli 3D sono basate su tuple: il vettore è codificato come Tuple(Float64, Float64, Float64).
Il ciclo per simulare molteplici riflessi della luce dalle superfici è realizzato attraverso la funzione SQL arrayFold e viene eseguito all'interno di ciascuna riga per parallelizzare il rendering. I primitivi geometrici supportati includono cilindri, torri, sfere e parallelepipedi orientati, su cui vengono eseguite operazioni di unione e differenza (rimozione delle intersezioni). Il paesaggio è generato matematicamente.

In precedenza, gli sviluppatori del DBMS ClickHouse hanno creato un gioco in stile Doom scritto in SQL, un emulatore RISC-V e un sintetizzatore musicale.
Fonte: opennet.ru
