Система трассировки лучей, реализованная на языке SQL

Aleksiej Milowidow, współzałożyciel bazy danych ClickHouse, przy wsparciu asystenta AI Claude, opublikował system śledzenia promieni, całkowicie zrealizowany w języku SQL. Renderowanie z symulacją oświetlenia na bazie śledzenia ścieżek jest zrealizowane w formie jednego zapytania SQL bez funkcji użytkownika (UDF) i bez podłączenia zewnętrznego kodu. Do wyświetlania grafiki wykorzystano możliwość bazy danych ClickHouse do zapisywania wyników zapytań w formacie PNG. Projekt działa w pełni po uruchomieniu w bazie danych ClickHouse, ale z niesprawnościami i może działać 33 razy wolniej w bazie danych CedarDB. Projekt jest rozpowszechniany na licencji Creative Commons BY-NC-SA.

Każdy piksel reprezentuje wiersz w tabeli, w której znajdują się kolumny z współrzędnymi (X, Y) i reprezentacją koloru (R, G, B). Niezbędne do obliczeń 3D operacje matematyczne są oparte na krotkach — wektor jest kodowany jako Tuple(Float64, Float64, Float64).
Pętla do symulacji wielokrotnych odbić światła od powierzchni jest realizowana poprzez funkcję SQL arrayFold i wykonywana wewnątrz każdego wiersza w celu równoległego renderowania. Z obsługiwanych prymitywów geometrycznych dostępne są cylindry, torusy, kule oraz prostopadłościany, na których wykonywane są operacje łączenia i różnicy (usuwania przecięć). Krajobraz jest generowany matematycznie.

Wcześniej twórcy bazy danych ClickHouse przygotowali napisaną w SQL grę w stylu Doom, emulator RISC-V oraz syntezator muzyki.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster