Alexey Milovidov, co-founder of the ClickHouse DBMS, with the assistance of the AI assistant Claude, published a ray tracing system implemented entirely in SQL. The rendering with lighting simulation based on path tracing is executed as a single SQL query without user-defined functions (UDF) and without external code integration. ClickHouse's ability to save query results in PNG format is used for graphic output. The project works fully when run in ClickHouse but may operate with separate errors and is 33 times slower in CedarDB. The project is distributed under the Creative Commons BY-NC-SA license.
Cada pixel representa uma linha em uma tabela, onde existem colunas com as coordenadas (X, Y) e a representação de cor (R, G, B). As operações matemáticas necessárias para os cálculos 3D são baseadas em tuplas — um vetor é codificado como Tuple(Float64, Float64, Float64).
Um ciclo para simular múltiplos reflexos de luz nas superfícies é implementado através da função SQL arrayFold e é executado dentro de cada linha para paralelizar o processo de renderização. Os primitivos geométricos suportados incluem cilindros, toros, esferas e paralelepípedos orientados, sobre os quais são realizadas operações de união e diferença (remoção de interseções). A paisagem é gerada matematicamente.

Anteriormente, os desenvolvedores do ClickHouse DBMS prepararam um jogo estilo Doom escrito em SQL, um emulador RISC-V e um sintetizador de música.
Fonte: opennet.ru
