「Vulkan」の版間の差分

編集の要約なし
編集の要約なし
1行目: 1行目:
'''Vulkan'''(読み:ゔぁるかん)とは、米国[[LunarG]]社が開発した[[3DCG]]向けの[[API]]である。
'''Vulkan'''(読み:ゔぁるかん)とは、米国[[LunarG]]社が開発した[[3DCG]]向けの[[API]]である。現在はLunarGから[[クロノスグループ]]に寄贈され表向きは同団体が管理している。
現在はLunarGから[[クロノスグループ]]に寄贈され、同団体が管理している。


[[Vulkan SDK]]は[[LunarG]]のサイトから[[ダウンロード]]できる。
[[Vulkan SDK]]は[[LunarG]]のサイトから[[ダウンロード]]できる。


==概要==
==概要==
大雑把にいえば[[DirectX 12]]や[[Metal]]の[[パクリ]]である。
大雑把にいえばVulkanは[[Direct3D 12]]や[[Metal]]と同等品である<del>の[[パクリ]]である</del>。


もともとは[[Valve]](の子会社の[[LunarG]])が[[Source Engine]]および[[SteamOS]]を開発するにあたり、あまりに[[OpenGL]]が絶望的な状況であるため、その代替品として開発を進めていたものである。
もともとは[[Valve]](の子会社の[[LunarG]])が[[Source Engine]]および[[SteamOS]]を開発するにあたり、あまりに[[OpenGL]]が絶望的な状況であるため、その代替品として開発を始めたものである。
* OpenGLでムカつくこと
*: https://cpplover.blogspot.com/2014/05/opengl.html
* OpenGLドライバー品質の実情
*: https://ezoeryou.github.io/blog/article/2014-05-19-The-Truth-on-OpenGL-Driver-Quality.html


*


後に[[Google]]が[[Android]]への[[Vulkan]]の採用を決め、[[LunarG]]から[[派遣社員]]を雇い入れたことから、現在は「Googleの意向」が非常に強く反映されている。
後に[[Google]]が[[Android]]への[[Vulkan]]の採用を決め、[[LunarG]]から[[派遣社員]]を雇い入れたことから、現在は「Googleの意向」が非常に強く反映されている。[[SteamOS]]も[[Steam Machine]]も大流行には至らなかったこともあり、実質的にVulkanは[[Android]]専用[[API]]となりつつある。


OpenGLの各種APIといえば頭文字「gl」であったがVulkanでは頭文字「vk」になった。
[[OpenGL]]の各種APIといえば頭文字「gl」であったがVulkanでは頭文字「vk」になった。


OpenGLからの大きな違いとしては[[パイプライン]]の概念が登場して、なんでもかんでも[[シェーダー]]で処理するようになっている。Vulkanでは直線や円を描くなど自前で壮大な[[シェーダー]]を用意して処理しなければならない。
[[OpenGL]]からの大きな違いとしては[[パイプライン]]の概念が登場し、なんでもかんでも[[シェーダー]]で処理するようになっている。Vulkanでは直線や円を描くなどちょっとしたことでも自前で壮大な[[シェーダー]]を用意して処理しなければならない。
 
[[DirectX12]]や[[Metal]]と比較するとアホみたいに複雑なのが特徴。
前準備、初期化処理からして嫌がらせレベル。


==シェーディング言語==
==シェーディング言語==
35行目: 34行目:


=== Linux ===
=== Linux ===
しらん。もともとは[[Linux]]ベースの[[SteamOS]]で[[OpenGL]]を置き換える目的で開発されたものなので一番まともに動くはずだが試してはいない。
しらん。もともとは[[Linux]]ベースの[[SteamOS]]で[[OpenGL]]を置き換える目的で開発されたものなので一番まともに動くはずだが試してはいない。[[Linux]]でVulkanを試すなら[[SteamOS]]を入れるのが一番手っ取り早いと思われる。
 
LinuxでVulkanを試すなら[[SteamOS]]を入れるのが一番手っ取り早いと思われる。


===Android===
===Android===
48行目: 45行目:
===macOS===
===macOS===
[[macOS]]では[[MoltenVK]]を利用する。とりあえず動くのは確認した。
[[macOS]]では[[MoltenVK]]を利用する。とりあえず動くのは確認した。
*[[MacにMoltenVKを入れてVulkanを使ってみる]]
*[[MacにMoltenVKを入れてVulkanを使ってみる]]


==関連項目==
==関連項目==
 
*[[Direct3D 12]]
*[[DirectX12]]
*[[Metal]]
*[[Metal]]
*[[Vulkan]]
*[[Vulkan]]