Detail práce

Easy Vulkan

Diplomová práce Student: Halás Timotej Akademický rok: 2021/2022 Vedoucí: Milet Tomáš, Ing., Ph.D.
Název česky
Snadný vulkan
Jazyk práce
anglický
Abstrakt

Zatiaľ čo staršie grafické API (Application Programming Interface) ako OpenGL alebo DirectX verzie 11 a nižšej sa v súčasnosti stále bežne používajú, novšie rozhrania API, najmä DirectX 12 a Vulkan, prinášajú mnohé vylepšenia, ako je lepší výkon, natívny Ray-tracing na podporovanom hardvéri a efektívnejšie využitie CPU a GPU. Vylepšenia výkonu a efektívnosti sú výsledkom povahy rozhraní DirectX 12 a Vulkan API. Obidve sú pomerne nízkoúrovňové API. To znamená, že GPU je možné ovládať na oveľa nižšej úrovni, čo má za následok oveľa viac kódu potrebného, aby boli dosiahlnuté podobné výsledky ako pri použití staršieho rozhrania API. Táto práca predstavuje nový framework, vkEasy, ktorý zapuzdruje Vulkan API takým spôsobom, že väčšina jeho funkcií zostáva použiteľná, ale výrazne uľahčuje používanie Vulkan API na vkresľovacie alebo výpočtové operácie. Zdrojový kód obsahuje príklady, ktoré boli implementované pomocou vkEasy, aby ukázali jednoduchosť vkEasy a porovnali ho s kódom napísaným v čistom Vulkane. Bolo pozorované priemerne 94% zníženie potrebných riadkov kódu.

Klíčová slova

Vulkan, jednoduchý, SPIR-V, GLSL, grafický, framework, knižnica, zjednodušenie, render graf, VMA, Shaderc

Ústav
Studijní program
Informační technologie a umělá inteligence, specializace Počítačová grafika a interakce
Soubory
Stav
obhájeno, hodnocení D
Obhajoba
22. června 2022
Oponent
Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm D.

Otázky u obhajoby
  1. V sekci 2.2 je psáno "...users who do not know connections between objects can be confused same as I was when I started implementing vkEasy with zero knowledge about Vulkan." - Z této věty chápu, že jste začal implementovat knihovnu bez znalosti Vulkan API, což se zdá být velmi nepravděpodobné. Prosím objasněte toto tvrzení.
  2. Jak je z implementačního hlediska vyhodnocen zmíněný "frame graph"? Stručně popište implementovaný algoritmus.
  3. Proč nebyl použit v textu doporučený zdroj o V-EZ API? Srovnejte Vaše řešení s tímto API.
  4. Vyhodnocoval jste výkonnost řešení?
  5. Jak probíhalo testování? Jaké bylo pokrytí funkcí API Vulkan?
Komise
Chudý Peter, doc. Ing., Ph.D. MBA (UPGM FIT VUT), předseda
Bařina David, Ing., Ph.D. (UPGM FIT VUT), člen
Češka Milan, doc. RNDr., Ph.D. (UITS FIT VUT), člen
Grézl František, Ing., Ph.D. (UPGM FIT VUT), člen
Milet Tomáš, Ing., Ph.D. (UPGM FIT VUT), člen
Zemčík Pavel, prof. Dr. Ing. (UPGM FIT VUT), člen
Citace
HALÁS, Timotej. Easy Vulkan. Brno, 2022. Diplomová práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2022-06-22. Vedoucí práce Milet Tomáš. Dostupné z: https://www.fit.vut.cz/study/thesis/24778/
BibTeX
@mastersthesis{FITMT24778,
    author = "Timotej Hal\'{a}s",
    type = "Diplomov\'{a} pr\'{a}ce",
    title = "Easy Vulkan",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2022,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/24778/"
}
Nahoru