「シェーダー」の版間の差分

imported>Katariya
imported>Katariya
47行目: 47行目:


==[[DirectX]]のシェーダー==
==[[DirectX]]のシェーダー==
DirectXでは上位シェーダーモデルとして'''HLSL(High-Level Shader Language:上位レベルシェーダ言語)'''が採用されている。
[[DirectX]]では上位シェーダーモデルとして'''HLSL(High-Level Shader Language:上位レベルシェーダ言語)'''が採用されている。


HLSLはDirectX9から実装された高級シェーダー言語であり、C言語風な書き方ができるようになっている。
HLSLはDirectX9から実装された高級シェーダー言語であり、C言語風な書き方ができるようになっている。


現在、シェーダーモデル1~5までが存在しており、それぞれでの使える機能・対応するDirectX自体のバージョンが違うため、注意が必要となる
現在、シェーダーモデル1~5までが存在しており、それぞれでの使える機能・対応する[[DirectX]]自体のバージョンが違うため、注意が必要となる


Direct3D 9の場合(シェーダーモデル1.x~3.0)は、頂点シェーダーとピクセルシェーダーの二つが提供されていた。
Direct3D 9の場合(シェーダーモデル1.x~3.0)は、頂点シェーダーとピクセルシェーダーの二つが提供されていた。
59行目: 59行目:
Direct3D 11.xの場合(シェーダーモデル5.0)では、ハルシェーダー、ドメインシェーダー、コンピュートシェーダー(計算シェーダー、演算シェーダー)が追加となった。
Direct3D 11.xの場合(シェーダーモデル5.0)では、ハルシェーダー、ドメインシェーダー、コンピュートシェーダー(計算シェーダー、演算シェーダー)が追加となった。


ただし、コンピュートシェーダーに関してはグラフィックパイプラインの機能ではなく、物理衝突演算やアニメーション計算などの計算時にGPUを使用するための機能として提供されている。
ただし、コンピュートシェーダーに関してはグラフィックパイプラインの機能ではなく、物理衝突演算やアニメーション計算などの計算時に[[GPU]]を使用するための機能として提供されている。


なお、ファイルの[[拡張子]]は'''''.fx'''''となっている
なお、ファイルの[[拡張子]]は'''''.fx'''''となっている