Strålesporing implementeret i SQL

Alexey Milovidov, medstifter af databasesystemet ClickHouse, har i samarbejde med AI-assistenten Claude offentliggjort et ray tracing-system, helt implementeret i SQL. Rendering med belysningssimulering baseret på ray tracing er realiseret som en enkelt SQL-forespørgsel uden brugerdefinerede funktioner (UDF) og uden forbindelse til ekstern kode. For at generere grafik benytter systemet ClickHouse muligheden for at gemme resultatet af forespørgsler i PNG-format. Projektet fungerer fuldt ud, når det køres i ClickHouse, men kan køre 33 gange langsommere med enkelte fejl i CedarDB. Projektet distribueres under Creative Commons BY-NC-SA-licensen.

Hver pixel repræsenterer en række i tabellen, hvor der er kolonner med koordinater (X, Y) og farvepræsentation (R, G, B). De nødvendige matematiske operationer til 3D-beregninger er baseret på tupler — en vektor kodes som Tuple(Float64, Float64, Float64).
En cyklus til modelering af flere refleksioner af lys fra overflader er implementeret via SQL-funktionen arrayFold og udføres inden for hver række for at parallelisere rendering. Geometriske primitive understøtter cylindre, torus, sfærer og orienterede rektangulære prikker, hvor operationer for union og forskel (fjernelse af skæringspunkter) udføres. Landskabet genereres matematisk.

Tidligere har udviklerne af databasesystemet ClickHouse forberedt en Doom-lignende spil skrevet i SQL, en RISC-V emulator og en musiksyntesizer.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster