Система трасування променів, реалізована мовою SQL

Олексій Міловидов, співзасновник СУБД ClickHouse, за сприяння AI-помічника Claude опублікував систему трасування променів, реалізовану повністю мовою SQL. Рендеринг із симуляцією освітлення на базі трасування шляхів реалізований у вигляді одного SQL-запиту без функцій користувача (UDF) і без підключення зовнішнього коду. Для виведення графіки використовується можливість СУБД ClickHouse зберігати результат запитів у форматі PNG. Повноцінно проект працездатний при запуску в СУБД ClickHouse, але з окремими помилками і в 33 рази повільніше працюватиме в СУБД CedarDB. Проект розповсюджується під ліцензією Creative Commons BY-NC-SA.

Кожен піксель є рядком у таблиці, в якій є стовпці з координатами (X, Y) та поданням кольору (R, G, B). Необхідні для 3D-обчислень математичні операції побудовані на кортежах вектор кодується як Tuple (Float64, Float64, Float64).
Цикл для моделювання багаторазових відбиття світла від поверхонь реалізований через SQL-функцію arrayFold і виконується всередині кожного рядка для розпаралелювання рендерингу. З геометричних примітивів підтримуються циліндри, тори, сфери та орієнтовані паралелепіпеди, над якими виконуються операції об'єднання та різниці (видалення перетинів). Ландшафт генерується математично.

Раніше розробники СУБД ClickHouse підготували написані на SQL Doom-подібну гру, емулятор RISC-V та синтезатор музики.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster