差分

ナビゲーションに移動 検索に移動

GLSL

196 バイト追加, 2020年1月23日 (木) 04:57
編集の要約なし
'''DirectX Shader CompilerGLSL'''(通称:dxc)とは、(語源:OpenGL Shading Language)とは、主に[[マイクロソフトOpenGL]]が中心となりで使われる[[オープンソース]]のもとで開発が行われている[[LLVM]]/[[Clang]]の技術をベースとした[[HLSL]]の[[コンパイラーシェーディング言語]]である。
==概要互換性==DirectX12から登場したHLSL向けの新しいコンパイラである。GLSLには複数のバージョンが存在し、それらはそもそもの構文からして違うため[[互換性]]がない。一般的な[[プログラマー]]はコンパイルエラーで悩まされることになる。
このようなグダグダな状況は[[Steam]]で有名な[[Valve]]の中の人により「今週のGLSLバージョン地獄( GLSL version of the week hell)」と命名された。* https://githubcpplover.blogspot.com/2014/05/opengl.html*http://richg42.blogspot.com/microsoft2014/DirectXShaderCompiler05/things-that-drive-me-nuts-about-opengl.html
dxcを使うと==備考==あまりにGLSLがクソすぎて[[Google]]は[[Vulkan]]で[[HLSL]]を使えるようにした。[[ソースコードVulkan]])をDXIL(は実質的に[[中間コードAndroid]])にでしか使われていないので[[コンパイルGoogle]]できる。従来のfxc.exeで作られるDXBC(中間コード)とは別物である。移行期間なのかDirectX12ではdxcとfxcの両方が搭載されている。の方針がすべてになるであろう。
途中から*[[Google]]も開発に参加してきて[[Vulkan]]で動かすための[[SPIRDirectX Shader CompilerでSPIR-V]](中間コード)も吐けるようになった。こいつ[[AndroidVを出力する]]でも使えるぞ!
前述の[[互換性]]問題などを考慮すると、人間が手で書くものではなく、以下のような使い方の方が現実的である。 *[[HLSL]]で書いて*[[SPIR-V]]に[[コンパイル]]して*[[GLSL]]に[[逆コンパイル]]する [[逆コンパイラ]]は[[Vulkan]]の中の人が開発してくれている。 *[[SPIR-VからGLSLを生成する]] * [[DirectX Shader CompilerでSPIRSPIR-Vを出力するVからHLSLを生成する]]
==関連項目==
* [[MacでDirectX Shader Compilerをビルドする]]
* [[DirectX Shader CompilerでSPIR-Vを出力する]]
* [[SPIR-VからGLSLを生成する]]
* [[SPIR-VからHLSLを生成する]]
* [[MacにMoltenVKを入れてVulkanを使ってみる]]
 
==類似ツール==
* [[HLSLcc]]
* [[MojoShader]]
*[[category: HLSL]][[category: SPIR-VGLSLのversionディレクティブ一覧]]

案内メニュー