Système de ray tracing implémenté en SQL

Alexey Milovidov, co-founder of the ClickHouse DBMS, with the assistance of AI assistant Claude, published a ray tracing system fully implemented in SQL. The rendering with light simulation based on path tracing is executed as a single SQL query without user-defined functions (UDF) and without connecting external code. The ClickHouse DBMS's ability to output graphics in PNG format is utilized to save the results of queries. The project works fully when run in the ClickHouse DBMS, but with some errors and can run 33 times slower in the CedarDB DBMS. The project is distributed under the Creative Commons BY-NC-SA license.

Chaque pixel représente une ligne dans une table, contenant des colonnes pour les coordonnées (X, Y) et la représentation des couleurs (R, G, B). Les opérations mathématiques nécessaires pour les calculs 3D sont basées sur des tuples - un vecteur est codé comme Tuple(Float64, Float64, Float64).
La boucle pour simuler les réflexions multiples de la lumière sur les surfaces est implémentée via la fonction SQL arrayFold et s'exécute à l'intérieur de chaque ligne pour paralléliser le rendu. Les primitives géométriques prises en charge incluent les cylindres, les tore, les sphères et les parallélépipèdes orientés, sur lesquels des opérations d'union et de différence (suppression des intersections) sont effectuées. Le paysage est généré mathématiquement.

Auparavant, les développeurs du DBMS ClickHouse avaient préparé un jeu de type Doom écrit en SQL, un émulateur RISC-V et un synthétiseur de musique.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster