Systém sledování paprsků implementovaný v jazyce SQL

Alexej Milovidov, spoluzakladatel databázového systému ClickHouse, ve spolupráci s AI asistentem Claude zveřejnil ray tracingovou systém, plně implementovaný v SQL. Rendering osvětlení simulovaný na základě ray tracingu byl realizován jako jeden SQL dotaz bez uživatelských funkcí (UDF) a bez zapojení externího kódu. Pro zobrazení grafiky se používá funkce databázového systému ClickHouse, která umožňuje ukládat výsledky dotazů ve formátu PNG. Projekt je plně funkční při spuštění v databázovém systému ClickHouse, ale s určitými chybami a 33krát pomalejší může fungovat v systémech CedarDB. Projekt je distribuován pod licencí Creative Commons BY-NC-SA.

Každý pixel představuje řádek v tabulce, která má sloupce s koordináty (X, Y) a reprezentací barvy (R, G, B). Potřebné matematické operace pro 3D výpočty jsou postavené na n-ticích — vektor je zakódován jako Tuple(Float64, Float64, Float64).
Cyklus pro simulaci vícenásobných odrazů světla od povrchů je realizován pomocí SQL funkce arrayFold a provádí se uvnitř každého řádku pro paralelizaci renderování. Z geometrických primitiv jsou podporovány válce, toroidy, koule a orientované paralelníky, nad kterými se provádějí operace sjednocení a rozdílu (odstranění průsečíků). Krajina je generována matematicky.

Dříve vývojáři databázového systému ClickHouse připravili na SQL napsanou Doom-podobnou hru, emulátor RISC-V a hudební syntetizátor.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster