「HLSL (High Level Shader Language)」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
7行目: 7行目:
  
 
== 扱えるパイプラインステージ ==
 
== 扱えるパイプラインステージ ==
 +
HLSLで扱えるパイプラインステージ(=使える機能)の種類は環境により異なる。「どのシェーダーが使える」という制限は大雑把に「シェーダーモデル(英語:Shader Model、通称:SM)」という言葉で表される。なお、実行環境によりさらに細かな制限がある場合もある。
 +
 
=== SM 1.x〜3.0 (Direct3D 9) ===
 
=== SM 1.x〜3.0 (Direct3D 9) ===
 
* [[バーテックスシェーダー]]
 
* [[バーテックスシェーダー]]

2018年8月30日 (木) 08:51時点における版

High Level Shading Language(読み:はいれべるしぇーでぃんぐらんげーじ、通称: HLSL)とは、マイクロソフトによってDirect3D (DirectX)向けに開発されたプログラマブルシェーダーのためのシェーディング言語である。

概要

HLSLは大雑把にいえばシェーダー特化型の汎用的なプログラミング言語である。アセンブラみたいな言語とGPUメーカー独自の言語しかない状況で颯爽と登場した高級言語である。

HLSLは環境依存が非常に低い言語であるためDirectX以外にもMonoGamePlayStationサブセットPSSL)などにも採用されている。Unityに至ってはOpenGL向けの実装であってもGLSLではなくHLSLの利用が推奨されている。

扱えるパイプラインステージ

HLSLで扱えるパイプラインステージ(=使える機能)の種類は環境により異なる。「どのシェーダーが使える」という制限は大雑把に「シェーダーモデル(英語:Shader Model、通称:SM)」という言葉で表される。なお、実行環境によりさらに細かな制限がある場合もある。

SM 1.x〜3.0 (Direct3D 9)

MonoGameなどのサブセットではほぼこれである。 iOSAndroidで幅広い機種をサポートするためには致し方ない感じである。 また、OpenGL ES系ではバーテックスシェーダーの書き戻しができないなどの制限もあり、それらは実行時にはじめてエラーになる。気をつけよう。

SM 4.x (Direct3D 10)

SM 5.x (Direct3D 11/12)

関連項目

参考文献