Vulkan 1.0 – specyfikacja OpenGL-Next gotowa

Vulkan 1.0 – specyfikacja OpenGL-Next gotowa

    przez -
    1 748
    Vulkan
    Khronos Group opublikowało finalną wersję specyfikacji Vulkan 1.0, czyli następce OpenGL. Vulkan to w pełni uniwersalne, niskopoziomowe API grafiki, mające rywalizować skutecznie z Mantle (AMD), DirectX 12 (Microsoft) i Metal (Apple). W przeciwieństwie do OpenGL i DirectX nie będzie rozdzielenia na wersje mobilną i desktopową – całe API będzie jednakowe na każdą platformę sprzętową. Warto zaznaczyć, że duży wkład w nową wersję miało API Matle od AMD, które udostępniło pełną jego specyfikację grupie Khronos Group.

    Vulkan ma być nastawiony na grafikę wielowątkową, gdzie za jednym razem wykonywane będzie więcej zadań. Programiści otrzymają o wiele większa kontrolę nad zarzadząniem pamięcią, czy wątkami, co w znaczący sposób zmniejszy narzut generowany przez sprzętowe sterowniki.

    Vulkan

    Vulkan wprowadza własny język pośredniczący dla shaderów – SPIR-V. Jego wielką zaletą ma być połączenie możliwości nowego API, jak i OpenCL. Dzięki wykorzystaniu kodu pośredniczącego będzie można programować w językach: C++, Python, Java, czy JavaScript, a kompilator zadba o wygenerowanie z tego odpowiedniego kodu. Zniknie wymóg używania jedynei hermetycznego języka C. Co najważniejsze, wcześniej pisane shadery w GLSL będzie można przekompilować do SPIR-V, co zniweluje konieczność radzenia sobie z wieloma językami programowania w sterownikach graficznych.

    • Jakub Konieczny

      Mantle umarł na starcie, ale był potrzebny by pokazać nową drogę. The Talos Principle, jedyna gra która implementuje Vulkana obecnie, działa nieco szybciej od OpenGL, ale nadal wolniej niż na DX11. Sami developerzy piszą że to nie wina Vulkana, a implementacji, której jeszcze nie zoptymalizowali (OGLa chyba też nie optymalizowali). Nie mam jak sprawdzić, bo w Linuksowej wersji (gdzie jest to najbardziej potrzebne) nie ma go jeszcze.