Alexei Milovidov, co-fondator al SGBD-ului ClickHouse, cu ajutorul asistentului AI Claude, a publicat un sistem de trasare a razelor realizat în întregime în limbajul SQL. Redarea cu simularea iluminării pe baza trasării razelor este implementată sub forma unei singure interogări SQL, fără funcții utilizator (UDF) și fără a conecta cod extern. Pentru generarea graficii, se folosește funcționalitatea SGBD-ului ClickHouse de a salva rezultatele interogărilor în format PNG. Proiectul funcționează corect în SGBD-ul ClickHouse, dar cu erori separate și poate fi de 33 de ori mai lent în SGBD-ul CedarDB. Proiectul este distribuit sub licența Creative Commons BY-NC-SA.
Fiecare pixel reprezintă un rând într-un tabel, în care există coloane cu coordonatele (X, Y) și reprezentarea culorii (R, G, B). Operațiile matematice necesare pentru calculele 3D sunt construite pe tuple - un vector este codificat ca Tuple(Float64, Float64, Float64).
Un ciclu pentru modelarea reflexiilor multiple ale luminii de la suprafețe este realizat prin funcția SQL arrayFold și este executat în interiorul fiecărui rând pentru a permite paralelizarea redării. Printre primitivele geometrice se suportă cilindri, toruri, sfere și paralelipipede orientate, asupra cărora se execută operații de unire și diferență (eliminarea intersecțiilor). Peisajul este generat matematic.

Anterior, dezvoltatorii SGBD-ului ClickHouse au pregătit un joc similar cu Doom scris în SQL, un emulator RISC-V și un sintetizator de muzică.
Sursa: opennet.ro
