Idi na sadržaj

Vulkan (API)

S Wikipedije, slobodne enciklopedije
Vulkan
Programer(i)Khronos Group
Prvo izdanje16. februar 2016; prije 9 godina (2016-02-16)[1]
Centralna arhivagithub.com/KhronosGroup/Vulkan-Docs
Programski jezikC[2]
Operativni sistemAndroid, Linux, Windows, Nintendo Switch, Google Stadia, Tizen, macOS
PlatformaViše platformski
VrstaAPI za 3D grafiku
Veb-sajtwww.khronos.org/vulkan

Vulkan je višeplatformski API za 3D grafiku i računanje. Vulkan je namijenjen za visoko performansne 3D aplikacije u realnom vremenu, kao što su videoigre i interaktivni mediji. U odnosu na OpenGL i Direct3D 11, kao i Direct3D 12 i Metal, Vulkan je namijenjen pružanju većih performansi i uravnoteženoj CPU/GPU upotrebi. Vulkan je API niskog nivoa, tj. ima efikasniju komunikaciju sa hardverom i nudi paralelno obavljanje zadataka. Vulkan također ima mogućnost renderiranja 2D grafičkih aplikacija.[3] Osim manje upotrebe CPU-a, Vulkan je efikasan kod raspoređivanja posla preko više CPU jezgri.[4]

Vulkan je prvi put najavila neprofitna Khronos Group na GDC-u 2015.[5][6] Vulkan API je prvobitno nazvan "OpenGL nove generacije" ili "OpenGL next",[7] međutim nakon što je izdat, veza sa OpenGL-om više nije spominjana.[8] Vulkan je baziran i izgrađen na komponentama AMD-ovog Mantle API-a, koji je AMD donirao Khronosu s namjerom da Khronosu pruži temelj na kojem će započeti sa razvojem API-ja niskog nivoa.[9][10][11][12][13][14][15] Khronos Group je 7. marta 2018. objavio novi Vulkan 1.1.[16]

Mogućnosti

[uredi | uredi izvor]
OpenGL i Vulkan su slični API-jevi, u oba slučaja GPU izvršava shadere dok CPU izvršava sve ostalo.

Vulkan nudi direktniju kontrolu nad GPU-om i nižu upotrebu CPU-a.[6] Ukupni koncept i skup mogućnosti Vulkana sličan je drugim API-evima: Direct3D 12, Metal i Mantle.

Također, neke od drugih prednosti su:

  • Dostupnost na više operativnih sistema za razliku od Direct3D 12; poput OpenGL-a, Vulkan API nije namijenjen samo za jedan OS. Vulkan se može pokrenuti na operativnim sistemima Android, Linux, Tizen, Windows 7, Windows 8 i Windows 10, dok postoji i slobodno licencirana[17][18][19] podrška za iOS i macOS.[20]
  • Efikasnija komunikacija sa upravljačkim programima i smanjenje radnog opterećenja CPU-a.[21]
  • Bolje skaliranje na višejezgrenim procesorima.[22]
  • OpenGL koristi jezik visokog nivoa GLSL za pisanje shadera što prisiljava svaki OpenGL engine da implementira vlastiti kompajler za GLSL kako bi preveo shadere u mašinski kod GPU-a. Vulkanovi upravljački programi predkompajliraju shadere u format koji se zove SPIR-V što ubrzava proces i olakšava korištenje različitih shadera u jednoj sceni.[23]
  • Jedinstveno upravljanje računarskim kernelima i grafičkim shaderima, eliminirajući potrebu za korištenjem zasebnog API-ja za računanje u kombinaciji s grafičkim API-jem.

NVIDIA napominje da je OpenGL još uvek odlična opcija za dosta slučajeva, jer je dosta jednostavan i nema veliku potrebu za održavanjem kao Vulkan, a u isto vrijeme još uvijek daje odlične sveukupne performanse.[24]

Također pogledajte

[uredi | uredi izvor]
  • Direct3D 12 – glavni konkurent Vulkanu
  • OpenGL – prethodnik, izdavač je također Khronos
  • OpenCL – heterogeni računski okvir, izdavač je također Khronos
  • Mantle – grafički i računski API niskog nivoa, osnova Vulkana
  • Metal – grafički i računski API niskog nivoa za iOS i macOS
  • AMDGPU – AMD-ov potpuno otvoreni objedinjeni grafički pogon za Linux

Reference

[uredi | uredi izvor]
  1. "Khronos Releases Vulkan 1.0 Specification". Khronos Group Press Release.
  2. https://github.com/KhronosGroup/Vulkan-Docs/blob/1.0/src/vulkan/vulkan.h
  3. "Does Vulkan support 2D graphics?". LunarG. Pristupljeno 24. 9. 2016.
  4. Hruska, Joel. "Next-generation Vulkan API could be Valve's killer advantage in battling Microsoft". ExtremeTech. Pristupljeno 26. 6. 2015.
  5. "Vulkan: Graphics and compute Belong Together" (PDF). Khronos Group. mart 2015. Pristupljeno 5. 3. 2015.
  6. 1 2 "Vulkan – Graphics and compute belong together". Khronos Group. Pristupljeno 5. 3. 2015.
  7. Smith, Ryan. "Khronos Announces Next Generation OpenGL Initiative". Arhivirano s originala, 19. 8. 2014. Pristupljeno 24. 9. 2016.
  8. Batchelor, James (3. 3. 2015). "glNext revealed as Vulkan graphics API". Develop.
  9. Shilov, Anton. "AMD: Vulkan absorbed 'best and brightest' parts of Mantle". KitGuru. Pristupljeno 26. 6. 2015.
  10. "More on Vulkan and SPIR - V: The future of high-performance graphics" (PDF). Khronos Group. str. 10. Pristupljeno 27. 6. 2015. Thanks AMD!
  11. Mah Ung, Gordon (6. 3. 2015). "Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor". PC World.
  12. "AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs". AMD. Arhivirano s originala, 6. 3. 2015. Pristupljeno 5. 3. 2015.
  13. Hruska, Joel (4. 3. 2015). "Not dead yet: AMD's Mantle powers new Vulkan API, VR efforts". ExtremeTech. Pristupljeno 5. 3. 2015.
  14. "AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL". Wccftech. 20. 6. 2014. Pristupljeno 5. 3. 2015.
  15. Kirsch, Nathan. "Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL". Legit Reviews. Pristupljeno 5. 3. 2015.
  16. "Khronos Group Releases Vulkan 1.1". The Khronos Group (Press release) (jezik: engleski). 7. 3. 2018. Pristupljeno 21. 3. 2018.
  17. "MoltenVK, popular Vulkan development tool for macOS, goes open-source". Neowin (jezik: engleski). Pristupljeno 28. 2. 2018.
  18. "Vulkan graphics will enable faster games and apps on Apple platforms". VentureBeat (jezik: engleski). 26. 2. 2018. Pristupljeno 28. 2. 2018.
  19. "Vulkan Is Now Available On macOS/iOS By MoltenVK Being Open-Sourced, Vulkan SDK for Mac - Phoronix". www.phoronix.com (jezik: engleski). Pristupljeno 28. 2. 2018.
  20. "MoltenVK". Molten. Pristupljeno 5. 4. 2016.
  21. "Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API". Tom's Hardware. 3. 3. 2015.
  22. "Vulkan: Scaling to multiple threads". Imagination Technologies. 24. 11. 2015. Arhivirano s originala, 26. 11. 2015. Pristupljeno 21. 11. 2019.
  23. Kessenich, John. "An Introduction to SPIR-V" (PDF). Khronos Group. Pristupljeno 5. 3. 2015.
  24. "Transitioning from OpenGL to Vulkan". Nvidia. Arhivirano s originala, 25. 4. 2020. Pristupljeno 21. 11. 2019.

Dalje čitanje

[uredi | uredi izvor]
  • Vulkanski programski vodič: Službeni vodič za učenje Vulkana (OpenGL), 10. novembra 2016., Graham Sellers i John Kessenich ISBN 978-0-1344-64541
  • Uvod u računarsku grafiku i Vulkan API, 1. jula 2017., autor Kenwright ISBN 978-1-5486-16175
  • Vulkan Cookbook, 28. aprila 2017., autor Pawel Lapinski ISBN 978-1-7864-68154