難免還是要講一(yī)些(xiē)曆史。

OpenGL 主要是由 Khronos Group (科納斯組織)在進行維護。它最早的版本發布于 1992 年,那時(shí)候還是 OpenGL 1.0 固定渲染管線的年代,現(xiàn)在已經到了(le) OpenGL 4.6 版本,早已經是可編程渲染管線了(le)。并且為(wèi)了(le)能(néng)夠在嵌入式設備上(shàng)使用 OpenGL ,還有了(le)一(yī)個(gè)子(zǐ)集叫做 OpenGL ES ,同樣的技術還得弄兩個(gè)名字就(jiù)很不好(hǎo)(hǎo)了(le)(文章中把兩者統稱 OpenGL ,暫不做詳細區分(fēn))。

後來(lái)這(zhè)個(gè)組織在 18年3月(yuè)(yuè) 由發布了(le) Vulkan 1.1 正式版本。另外,不管是在嵌入式設備上(shàng)還是 PC 上(shàng),它都隻有一(yī)個(gè)名字了(le)。随着 Vulkan 的逐漸發展,也(yě)就(jiù)意味着 OpenGL 的維護将要停止更新(xīn)了(le),後續也(yě)是添加一(yī)些(xiē)新(xīn)的拓展在裏面。

與 OpenGL 一(yī)樣,Vulkan 也(yě)是支持跨平台的。但(dàn)不同的平台願不願意讓它跨就(jiù)又是另外一(yī)回事(shì)了(le)。在 iOS 平台上(shàng),蘋果公司主推自家的 Metal 圖形接口;在 Windows 平台上(shàng),微軟公司主推 DirectX 圖形接口。兩家大廠都有自己的脾氣,Vulkan 想要做到一(yī)統江湖還有很長的一(yī)段路(lù)要走。

但(dàn)對于 Android Developer 就(jiù)不一(yī)樣了(le),Android 從 7.0(Nougat) 開始加入了(le)對 Vulkan 的支持,可見谷歌(gē)對它還是有信心的。

至于 Vulkan 在實際中到底有哪些(xiē)用處呢(ne)?除了(le)熟知的《王者榮耀》,目前市(shì)面上(shàng)的應用中使用 Vulkan 的确實不多,如(rú)果有的話(huà),也(yě)是在遊戲中。

反觀 OpenGL ,近年來(lái)很火(huǒ)的音(yīn)視(shì)頻應用中都能(néng)看到它的身(shēn)影,比如(rú)相機濾鏡、貼紙、視(shì)頻特效、多媒體(tǐ)相關(guān)特效等等。

另外,基于 Vulkan 在渲染方面的特性,很可能(néng)在未來(lái) VR 等應用中大發光彩。總之,對于這(zhè)一(yī)門新(xīn)的技術,筆者還是很看好(hǎo)(hǎo)它的,更多地去了(le)解它的使用和原理(lǐ)。