「HLSL (High Level Shader Language)」の版間の差分
imported>Administrator 編集の要約なし |
|||
| 2行目: | 2行目: | ||
== 概要 == | == 概要 == | ||
HLSLは大雑把にいえば[[シェーダー]]特化型の汎用的な[[プログラミング言語]]である。 | HLSLは大雑把にいえば[[シェーダー]]特化型の汎用的な[[プログラミング言語]]である。[[アセンブラ]]みたいな[[言語]]とGPUメーカー独自の言語しかない状況で颯爽と登場した[[高級言語]]である。 | ||
[[アセンブラ]]みたいな[[言語]]とGPUメーカー独自の言語しかない状況で颯爽と登場した[[高級言語]]である。 | |||
HLSLは環境依存が非常に低い言語であるため[[DirectX]]以外にも[[MonoGame]]や[[PlayStation]]([[サブセット]]の[[PSSL]])などにも採用されている。 | HLSLは環境依存が非常に低い言語であるため[[DirectX]]以外にも[[MonoGame]]や[[PlayStation]]([[サブセット]]の[[PSSL]])などにも採用されている。[[Unity]]に至っては[[OpenGL]]向けの実装であっても[[GLSL]]ではなくHLSLの利用が推奨されている。 | ||
[[Unity]]に至っては[[OpenGL]]向けの実装であっても[[GLSL]]ではなくHLSLの利用が推奨されている。 | |||
== 扱えるパイプラインステージ == | == 扱えるパイプラインステージ == | ||
=== SM 1.x〜3.0 (Direct3D 9) === | |||
* [[バーテックスシェーダー]] | |||
* [[ピクセルシェーダー]] | |||
[[MonoGame]]などのサブセットではほぼこれである。 | |||
[[iOS]]や[[Android]]で幅広い機種をサポートするためには致し方ない感じである。 | |||
また、[[OpenGL ES]]系では[[バーテックスシェーダー]]の書き戻しができないなどの制限もあり、それらは実行時にはじめてエラーになる。気をつけよう。 | |||
=== SM 4.x (Direct3D 10) === | |||
* [[ジオメトリシェーダー]] | |||
=== SM 5.x (Direct3D 11/12) === | |||
* [[ハルシェーダー]] | |||
* [[ドメインシェーダー]] | |||
* [[コンピュートシェーダー]] | |||
== 関連項目 == | == 関連項目 == | ||
2018年8月30日 (木) 08:36時点における版
High Level Shading Language(読み:はいれべるしぇーでぃんぐらんげーじ、通称: HLSL)とは、マイクロソフトによってDirect3D (DirectX)向けに開発されたプログラマブルシェーダーのためのシェーディング言語である。
概要
HLSLは大雑把にいえばシェーダー特化型の汎用的なプログラミング言語である。アセンブラみたいな言語とGPUメーカー独自の言語しかない状況で颯爽と登場した高級言語である。
HLSLは環境依存が非常に低い言語であるためDirectX以外にもMonoGameやPlayStation(サブセットのPSSL)などにも採用されている。Unityに至ってはOpenGL向けの実装であってもGLSLではなくHLSLの利用が推奨されている。
扱えるパイプラインステージ
SM 1.x〜3.0 (Direct3D 9)
MonoGameなどのサブセットではほぼこれである。 iOSやAndroidで幅広い機種をサポートするためには致し方ない感じである。 また、OpenGL ES系ではバーテックスシェーダーの書き戻しができないなどの制限もあり、それらは実行時にはじめてエラーになる。気をつけよう。