「SPIRV-Cross」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''SPIRV-Cross'''とは、オープンソースのもとで開発されているVulkanで使われるSPIR-VGLSL(OpenGL)やHLSL(DirectX)、[…」)
 
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
'''SPIRV-Cross'''とは、[[オープンソース]]のもとで開発されている[[Vulkan]]で使われる[[SPIR-V]]を[[GLSL]]([[OpenGL]])や[[HLSL]]([[DirectX]])、[[MSL]]([[Metal]])、[[C++]]などの[[高級言語]]に戻す[[逆コンパイラ]]である。
+
'''SPIRV-Cross'''とは、[[オープンソース]]のもとで開発されているVulkan SDKに含まれる公式ツールのひとつで、[[Vulkan]]で使われる[[SPIR-V]]を[[GLSL]]([[OpenGL]])や[[HLSL]]([[DirectX]])、[[MSL]]([[Metal]])、[[C++]]などの[[高級言語]]に戻す[[逆コンパイラ]]である。
  
Vulkan SDKに公式ツールのひとつとして含まれている。
+
シェーダー内で使用されている変数などを[[JSON]]形式で列挙するリフレクション機能もある。
 +
Vulkan SDKにはリフレクション専用の「[[SPIRV-Reflect]]」というツールも含まれているが、ぶっちゃけSPIRV-Crossのリフレクションの方が扱いやすいと思う。
  
 
== 概要 ==
 
== 概要 ==
[[SPIR-V]]とSPIRV-Crossを使うと、さまざまなシェーディング言語間で相互変換が可能になる。
+
[[SPIR-V]]とSPIRV-Crossを使えば様々な[[シェーディング言語]]間で相互変換が可能になる。
  
 
ぶっちゃけ[[シェーディング言語]]は[[HLSL]]([[Cg言語]])が圧倒的な勢力を誇る。[[DirectX]]はもとより[[Unity]]が採用しているため、この勢いが衰えない限りは主流であり続けるであろう。[[GLSL]]はどんなに頑張っても[[WebGL]]のちょっとしたデモくらいにしか使われない。
 
ぶっちゃけ[[シェーディング言語]]は[[HLSL]]([[Cg言語]])が圧倒的な勢力を誇る。[[DirectX]]はもとより[[Unity]]が採用しているため、この勢いが衰えない限りは主流であり続けるであろう。[[GLSL]]はどんなに頑張っても[[WebGL]]のちょっとしたデモくらいにしか使われない。
  
 
ならばすべての環境で[[HLSL]]を使えばいい。SPIR-VとSPIRV-Crossがあれば何でもできる。
 
ならばすべての環境で[[HLSL]]を使えばいい。SPIR-VとSPIRV-Crossがあれば何でもできる。
<br />
 
  
 
== 関連項目 ==
 
== 関連項目 ==
 
 
* [[SPIR-VからGLSLを生成する]]
 
* [[SPIR-VからGLSLを生成する]]
 
* [[SPIR-VからHLSLを生成する]]
 
* [[SPIR-VからHLSLを生成する]]
  
 
== 外部リンク ==
 
== 外部リンク ==
 +
* https://github.com/KhronosGroup/SPIRV-Cross
  
* https://github.com/KhronosGroup/SPIRV-Cross
+
[[category: Vulkan]]

2022年11月28日 (月) 06:54時点における最新版

SPIRV-Crossとは、オープンソースのもとで開発されているVulkan SDKに含まれる公式ツールのひとつで、Vulkanで使われるSPIR-VGLSL(OpenGL)やHLSL(DirectX)、MSL(Metal)、C++などの高級言語に戻す逆コンパイラである。

シェーダー内で使用されている変数などをJSON形式で列挙するリフレクション機能もある。 Vulkan SDKにはリフレクション専用の「SPIRV-Reflect」というツールも含まれているが、ぶっちゃけSPIRV-Crossのリフレクションの方が扱いやすいと思う。

概要[編集 | ソースを編集]

SPIR-VとSPIRV-Crossを使えば様々なシェーディング言語間で相互変換が可能になる。

ぶっちゃけシェーディング言語HLSLCg言語)が圧倒的な勢力を誇る。DirectXはもとよりUnityが採用しているため、この勢いが衰えない限りは主流であり続けるであろう。GLSLはどんなに頑張ってもWebGLのちょっとしたデモくらいにしか使われない。

ならばすべての環境でHLSLを使えばいい。SPIR-VとSPIRV-Crossがあれば何でもできる。

関連項目[編集 | ソースを編集]

外部リンク[編集 | ソースを編集]