Rayxix
Interaktyvus Vulkan path traceris, pradėtas nuo tuščio CMake failo kaip bakalauro darbas: aparatinis spindulių sekimas, GGX BSDF ir keturi triukšmo mažinimo metodai, išmatuoti vienas prieš kitą.
- Vaidmuo
- Viskas — bakalauro baigiamasis darbas
- Metai
- 2026
- Sukurta su
- C++20
- Vulkan
- Slang
- SVGF
- ImGui
- glTF
C++20 ant Vulkan VK_KHR_ray_tracing_pipeline su ImGui darbastaliu viršuje. Kompozicijos šaknis — keturios eilutės: langas, Vulkan kontekstas, kadrų koordinatorius ir vienas įrankio sluoksnis; visa, kas įdomu, yra po jomis: pagreitinimo struktūros, deskriptorių rinkiniai, shader binding table ir vaizdai, į kuriuos path traceris kaupia rezultatą.
Visas šešėliavimas — viename Slang faile. CMake jį sukompiliuoja į keturis SPIR-V modulius: spindulių generavimo, prašovimo, artimiausio kirtimo ir skaičiavimo, skirto triukšmo mažinimui. Taip keturi etapai, kurie privalo sutarti dėl medžiagos, parašyti vienas šalia kito, o ne keturiuose išsiskiriančiuose failuose. BSDF — GGX su Smith užstojimu ir svarbos ėmimu, šviesos imamos tiesiogiai su šešėlio spinduliu, o kamera turi tikrą diafragmą: lęšio taškas yra du skaičiai, pridedami prie spindulio pradžios.
Path tracing yra vidurkis, o kelių bandinių vidurkis — triukšmas. Todėl antroji darbo pusė yra triukšmo mažinimas, ir jo čia ne vienas, o keturi: bilateralinis, A-trous, laikinė perprojekcija ir SVGF. Juos galima perjungti veikimo metu, nes darbo klausimas niekada nebuvo „kuris geriausias“, o „geriausias kam“.
Kadangi tai baigiamasis darbas, tai reikėjo išmatuoti, o ne pareikšti. Deterministinis skrydis kiekvieną triukšmo mažinimą praleidžia per tris scenarijus ir eksportuoja CSV, o atsakymas priklauso vien nuo to, kiek spindulių sekimo jau ir taip perki. Prie vieno bandinio pikseliui SVGF kainuoja 46 % daugiau GPU laiko nei jokio triukšmo mažinimo; kokybės scenarijuje, kur kadrą valdo pats sekimas, tas pats SVGF kainuoja apie 5 % ir pakelia kokybės balą iki 98. Viduryje aiškiai laimi laikinė perprojekcija — 18,16 ms prieš SVGF 19,04 ms už tris balus mažesnę kokybę, ir kompromiso vertinimas sako, kad tai geresnis mainas.
© 2026 Tauras Giedraitis · Kaunas, Lietuva · Visos teisės saugomos
