Microsoft DirectX 8.0 (C++)

頂点シェーダの作成

頂点シェーダは、シェーダの宣言と機能を指定する 2 つのトークン配列によって定義される。トークン配列は、1 つ以上の DWORD トークンで構成されており、配列の末尾は値 0xFFFFFFFF のトークンで示される。

シェーダの宣言はシェーダの静的な外部インターフェイスを定義しており、頂点レジスタ入力に対するストリーム データのバインドや、シェーダの定数メモリにロードされる値などが含まれる。シェーダ関数は、シェーダの処理を命令の配列として定義する。これらの命令は、シェーダがデバイスにバインドされているときに処理される各頂点に対して、適切な順序で実行される。機能配列を指定しないでシェーダを作成すると、そのシェーダがカレント シェーダのときには、固定機能頂点処理が適用される。

Microsoft® DirectX® 8.0 で頂点シェーダを作成するには、IDirect3DDevice8::CreateVertexShader メソッドを使用する。このメソッドには、使用されるパラレル DMA ストリームを定義する宣言、およびブレンディング処理を定義する関数を渡す。Direct3D は、シェーダのハンドルを返す。シェーダは、CreateVertexShader が呼び出されるときに妥当性が検証される。