シェーダーの種類
効果でシェーダー変数を宣言するための構文が Direct3D 9 から Direct3D 10 に変更されました。
Direct3D 10 のシェーダーの種類
シェーダーの種類の構文を使用して、(Direct3D 10 の) 効果パス内でシェーダー変数を宣言します。
SetPixelShader Compile( ShaderTarget, ShaderFunction ); SetGeometryShader Compile( ShaderTarget, ShaderFunction ); SetVertexShader Compile( ShaderTarget, ShaderFunction ); |
パラメーター
項目 | 説明 |
---|---|
SetXXXShader |
シェーダー オブジェクトを作成する Direct3D API 呼び出し。
SetPixelShader または SetGeometryShader または SetVertexShader のいずれかを指定できます。 |
ShaderTarget |
コンパイル対象のシェーダー モデル。 これは、すべての Direct3D 9 ターゲットと シェーダー モデル 4 ターゲット (vs_4_0、gs_4_0、ps_4_0) を含むすべてのターゲットに対して有効です。 |
ShaderFunction |
シェーダー エントリ ポイント関数の名前を含む ASCII 文字列。これは、シェーダーが呼び出されたときに実行を開始する関数です。 (...) はシェーダー引数を表します。これらは、シェーダー作成 API の VSSetShader または GSSetShader または PSSetShader に渡される引数と同じです。 |
例
特定のシェーダー モデル用にコンパイルされた頂点シェーダーとピクセル シェーダー オブジェクトを作成する例を次に示します。 Direct3D 10 の例では、ジオメトリ シェーダーがないため、ポインターは NULL に設定されています。
// Direct3D 10
technique10 Render
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, VS() ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, PS() ) );
}
}
Direct3D 9 のシェーダーの種類
シェーダーの種類の構文を使用して、(Direct3D 9 の場合) 効果パス内でシェーダー変数を宣言します。
PixelShader = ShaderTarget ShaderFunction(...)をコンパイルします。VertexShader = ShaderTarget ShaderFunction(...)をコンパイルします。 |
パラメーター
項目 | 説明 |
---|---|
XXXShader |
コンパイルされたシェーダーを表すシェーダー変数。
PixelShader または VertexShader のいずれかを指定できます。 |
ShaderTarget |
コンパイル対象の シェーダー モデル 。は、シェーダー変数の種類によって異なります。 |
ShaderFunction(...) |
シェーダー エントリ ポイント関数の名前を含む ASCII 文字列。これは、シェーダーが呼び出されたときに実行を開始する関数です。 (...) はシェーダー引数を表します。これらは、シェーダー作成 API の SetVertexShader または SetPixelShader に渡されるのと同じ引数です。 |
例
特定のシェーダー モデル用にコンパイルされた頂点シェーダーとピクセル シェーダー オブジェクトの例を次に示します。
// Direct3D 9
technique RenderSceneWithTexture1Light
{
pass P0
{
VertexShader = compile vs_2_0 RenderSceneVS( 1, true, true );
PixelShader = compile ps_2_0 RenderScenePS( true );
}
}