Pereiti prie turinio
taurasgRuošiama
LTEN
Atgal

19 rugpjūčio 2026

Vienas grafas, dvi posistemės

Kiekvienas šios svetainės šešėliuotojas parašytas vieną kartą ir sukompiliuojamas du — į WGSL WebGPU atveju ir į GLSL WebGL2 atveju.

Užduotis buvo svetainė, kuri kiekvienoje naršyklėje atrodo vienodai ir vis tiek sukasi telefone. Įprastas atsakymas — parašyti šešėliuotoją du kartus ir prisiminti abu suvienodinti, ko po antros savaitės nedaro niekas.

Todėl čia niekas nerašoma kaip šešėliuotojas. Rašomas mazgų grafas TSL kalba, o kompiliatorius išveda WGSL ten, kur yra WebGPU, ir GLSL ten, kur jo nėra. Pažadą, kad abu keliai sutampa, laiko kompiliatorius, o ne drausmė.

Tai duoda ne tiek perkeliamumą, kiek galimybę toliau viską keisti. Atstumo laukas, šviesos kūgis ir lūžis gyvena tame pačiame išraiškos medyje, tad lempos perkėlimas yra vienas skaičius, o ne du failai, kuriuos reikia redaguoti vienodai.

Vienintelė kaina, kurią verta žinoti: mazgų grafas nepasako, kur suklydai. Klaida pasirodo kaip juodas ekranas ir kompiliatoriaus pranešimas apie sugeneruotą kodą, kurio nerašei — tad derinimas yra dalijimas pusiau: ištrink pusę grafo, pažiūrėk, grąžink.

© 2026 Tauras Giedraitis · Kaunas, Lietuva · Visos teisės saugomos