「DirectX Shader Compiler」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (→概要) |
Administrator (トーク | 投稿記録) |
||
1行目: | 1行目: | ||
− | '''DirectX Shader Compiler'''(通称:dxc)とは、[[マイクロソフト]]が中心となり[[オープンソース]]のもとで開発が行われている | + | '''DirectX Shader Compiler'''(通称:dxc)とは、[[マイクロソフト]]が中心となり[[オープンソース]]のもとで開発が行われている[[HLSL]]の新しい[[コンパイラ]]である。 |
==概要== | ==概要== | ||
6行目: | 6行目: | ||
* https://github.com/microsoft/DirectXShaderCompiler | * https://github.com/microsoft/DirectXShaderCompiler | ||
+ | |||
+ | dxcは[[LLVM]]/[[Clang]]の技術をベースとしている。 | ||
dxcを使うと[[HLSL]]から[[中間コード]](DXIL)を出力できる。 | dxcを使うと[[HLSL]]から[[中間コード]](DXIL)を出力できる。 |
2020年5月19日 (火) 03:01時点における最新版
DirectX Shader Compiler(通称:dxc)とは、マイクロソフトが中心となりオープンソースのもとで開発が行われているHLSLの新しいコンパイラである。
概要[編集 | ソースを編集]
dxcはDirectX 12から登場したHLSLの新しいコンパイラである。 dxcはWindowsだけでなくMacOSやLinuxでも動くという特徴がある。
dxcを使うとHLSLから中間コード(DXIL)を出力できる。 これは従来のfxc.exeで作られる中間コード(DXBC)とはまったくの別物である。 ちなみにDirectX12にはdxcとfxcの両方が搭載されている。
最近ではGoogleもdxcの開発に加わり、AndroidのVulkanで使用できる中間コード(SPIR-V)も出力できるようになった。
dxcで使用できるプロファイル[編集 | ソースを編集]
表向きはShader Model 6.0以降ということになっている。 しかしShader Model 4.0以降であればコンパイルは通るようだ。 なお、Shader Model 3.0より古いバージョンはは駄目なようだ。
Vertex Shader | vs_6_0, vs_6_1, vs_6_2, vs_6_3, vs_6_4, vs_6_5, vs_6_6, |
Geometry Shader | gs_6_0, gs_6_1, gs_6_2, gs_6_3, gs_6_4, gs_6_5, gs_6_6, |
Pixel Shader | ps_6_0, ps_6_1, ps_6_2, ps_6_3, ps_6_4, ps_6_5, ps_6_6, |
Hull Shader | hs_6_0, hs_6_1, hs_6_2, hs_6_3, hs_6_4, hs_6_5, hs_6_6, |
Domain Shader | ds_6_0, ds_6_1, ds_6_2, ds_6_3, ds_6_4, ds_6_5, ds_6_6, |
Library | lib_6_1, lib_6_2, lib_6_3, lib_6_4, lib_6_5, lib_6_6, |
Compute Shader | cs_6_0, cs_6_1, cs_6_2, cs_6_3, cs_6_4, cs_6_5, cs_6_6, |
Amplification Shader | as_6_5, as_6_6, |
Mesh Shader | ms_6_5, ms_6_6, |
関連項目[編集 | ソースを編集]
- MacでDirectX Shader Compilerをビルドする
- DirectX Shader CompilerでSPIR-Vを出力する
- SPIR-VからGLSLを生成する
- SPIR-VからHLSLを生成する
- MacにMoltenVKを入れてVulkanを使ってみる