Vulkan: Definicija in osnovne karakteristike tehničnega okolja za programiranje aplikacij
Zgodovina in razvoj Vulkan
Vulkan je moderno, open-source tehnologijo za renderizacijo (obrazec) s področja računalniške grafike. Razvita je bila izpod pokroviteljstva organizacije Khronos Group in je namenjena prekinitvi dominacije brezplačne tehnologije OpenGL, ki se uporablja že leta 1992.
Prve specifikacije spletna igralnica Vulkan Vulkan so bile objavljene januarja 2016 z imenom “SPIR-V + Extensions” in so bile spremljajoče besedilo za standard OpenGL. Leta 2016 je Khronos Group dala možnost, da se lahko tehnologija poimenuje kot Vulkan. Konec leta 2016 sta bila objavljena prva dve verziji tehničnega specifikacije (Vulkan 1.0 in Vulkan 1.1), ki je vključevala kompletno različico standarda.
Karakteristike Vulkanja
Sestava Vulkanja temelji na štiričlenskem modelu: shaderje, framebuffer, render pass in swapchain.
- Shaderi: Področje znanosti in matematike uporabljanega v razvoju igre. S pomočjo algoritma za procesiranje je mogoče generirati obliko (obrazec).
- Framebuffer : Skupina pixelov, ki se pojavljajo na ekranu.
- Render pass: Zbiranje in kombinacija grafike v framebuffer-u. Posamezne render passes so lahko različno kompleksni procesi sestavljen iz množice algorizm za izolacijo objekta (objekte) med njimi samimi.
- Swapchain: Funkcionalnost, ki omogoča vmesniku vzajemne komunikacijske komponente z zunanjo aplikacijo.
Igralni cikel Vulkan
Proces igralnega cikla je eden izmed osnovnih elementov za razumevanje ali uporabo tehnologije Vulkan. Igralnega cikla sestavljajo številne stopnje, ki se preidejo v slednjih korakih:
- Izvedba aplikacij (Application): V tej stopni lahko izvedimo kode za pisanje aplikacije. Razred za Vulkan uporabimo za naloge delovanja igre ali prikaza.
- VkInstance: Tukaj nastavljamo možnost urejanja prostora, ki ga uporabljam in namenom (poimenovanih) procesorjev, ki se uporabljajo glede na njihove sisteme za računanje (računalnik, grafička kartica).
- VkSurfaceKHR: V tem koraku ustvarimo objekt površine Vulkan-a, z katerega bomo kasneje lahko nastavili mesto nastanitve, velikost ter druga področja povezana s tehničnim okoljem (računalnik ali grafička kartica).
- VkDevice: Ta je osnovni objekt Vulkan-a in ga uporabimo za oblikovanje objekta “device”, ki omogoči aktiviranje (aktivacija) urejenega prostora v aplikaciji.
- VkQueue: Tukaj se začne izvedevanje zapiskov. Glede na potrebe naših korakov smo lahko odločili, ali bomo uporabljali “komunicirajoči” (Communicating) ali ne “samo komunikacije (Non-communicating)” vrsto urejenega prostora.
Različice Vulkanja
Do današnjih dni obstaja več različic standarda Vulkan, ki so bile objavljene v slednji izhodi:
- Vulkan 1.0: Prva uradno publikirana verzija.
- Vulkan 1.1: Druge publikacije specifikacija je prispevala za kakovost in široke uporabe platform (programsko opremo).
- Vulkan 1.2: Razširi dostopnost, ki omogoči uporabo “prek” urejenega prostora s kombiniranim procesom podatkov (Data Processing Units) v programu za uporabniško okolje.
Z razvojem so se pokazale nove in bolj kompleksne možnosti uporabe standarda, ki omogočajo uspešno delovanje aplikacij z uporabo Vulkan-a.