このサンプルでは、グラフィックボードがシェーダモデル2.0をサポートしているかをチェックする方法を示します。
シェーダモデル2.0がサポートされているかを確認する方法
GraphicsAdapter.Adaptersプロパティで、システム内のグラフィックボードを得る。
GraphicsAdapter.GetCapabilities()で、任意のグラフィックボードの性能を調べる。
GraphicsDeviceCapabilities.MaxPixelShaderProfileとシェーダバージョンps_2_0をあらわすShaderProfile列挙子を比較する。デバッグモードで実行している時には、グラフィックボードがサポートしてないときには「出力」ウィンドウにメッセージを出す。
C#コード
//システム内の使用可能な全てのグラフィックボードをチェックする。
foreach (GraphicsAdapter adapter in GraphicsAdapter.Adapters)
{
//ハードウェアの性能を調べる
GraphicsDeviceCapabilities caps = adapter.GetCapabilities(DeviceType.Hardware);
if (caps.MaxPixelShaderProfile < ShaderProfile.PS_2_0)
{
// このグラフィックボードはシェーダモデル 2.0をサポートしてなかった
System.Diagnostics.Debug.WriteLine("This adapter does not support Shader Model 2.0.");
}
}
affillogo.gif