Microsoft DirectX 8.0 (C++) |
Microsoft® Direct3D® のレンダリング インターフェイスは、1 つ以上のデータ バッファに格納された頂点データからプリミティブをレンダリングするメソッドで構成される。頂点データは、頂点の成分を形成する頂点要素の組み合わせから成る。頂点要素は頂点の最小単位であり、位置座標、法線、色などのエンティティを表す。
頂点の成分とは、単一メモリ バッファ内に連続的に (頂点ごとにインターリーブされて) 格納された 1 つ以上の頂点要素である。完全な頂点は、各成分がそれぞれ個別のメモリ バッファにある 1 つ以上の成分から成る。プリミティブをレンダリングするため、複数の頂点の成分が読み出され、頂点処理で完全な頂点が利用できるように組み立てられる。次の図は、頂点の成分を使用してプリミティブをレンダリングする処理を示している。
プリミティブのレンダリングには、2 つのステップがある。まず、1 つ以上の頂点の成分ストリームを設定し、次に、これらのストリームからレンダリングするための DrawPrimitive メソッドを呼び出す。これらのコンポーネント ストリーム内での頂点要素の識別は、頂点シェーダによって指定される。詳細については、「頂点シェーダ」を参照すること。
DrawPrimitive メソッドは、描画を起動するたびに、ある頂点データ セット内の任意の連続するプリミティブ サブセットがレンダリングされるように、頂点データ ストリームにオフセットを指定する。これにより、同じ頂点バッファからレンダリングされるプリミティブのグループ間で、デバイス レンダリング ステートを変更できる。
インデックス付き描画メソッドと、インデックスなし描画メソッドの両方がサポートされている。詳細については、「頂点バッファおよびインデックス バッファからのレンダリング」を参照すること。
レンダリング インターフェイスのセカンダリ セットでは、頂点およびインデックス データをユーザー メモリ ポインタから直接レンダリングできる。詳細については、「ユーザー メモリ ポインタからのレンダリング」を参照すること。