Platform SDK: DirectX

DrawPrimitive メソッド

[C++]

Direct3D には、1 回の呼び出しでプリミティブおよびインデックス付きプリミティブをレンダリングできるいくつかのメソッドがある。IDirect3DDevice7 インターフェイスにあるすべてのレンダリング メソッドは、アプリケーションで使用する頂点の種類を記述する柔軟な頂点フォーマット フラグの組み合わせを受け取る。このフラグは、システムが適用するジオメトリ パイプラインの部分も決定する (これは IDirect3DDevice2 のメソッドとは異なり、この場合のメソッドは、D3DPRIMITIVETYPE 列挙のメンバによって識別する具体的な頂点フォーマットのみ受け取る)。これらの詳細については、「頂点フォーマット」を参照すること。

DrawPrimitive ファミリのレンダリング メソッドには、以下のようにグループ分けできるレンダリング メソッドがある。

基本的なレンダリング
IDirect3DDevice7::DrawPrimitive および IDirect3DDevice7::DrawIndexedPrimitive
頂点バッファ レンダリング
IDirect3DDevice7::DrawPrimitiveVB および IDirect3DDevice7::DrawIndexedPrimitiveVB
ストライド頂点
IDirect3DDevice7::DrawPrimitiveStrided および IDirect3DDevice7::DrawIndexedPrimitiveStrided.頂点バッファは、ストライド頂点のレンダリングに使用できるが、頂点の処理には IDirect3DVertexBuffer7::ProcessVerticesStrided メソッドを使用する必要がある。

プリミティブをレンダリングするとき、対応するメソッドは、レンダリングするプリミティブの種類 (三角形ストリップ、三角形リストなど)、頂点フォーマット、レンダリング方法を定義するフラグ、および頂点に関する情報を示すパラメータを受け取る。これらのフラグとエフェクトについては、レンダリング メソッドの説明に記述されている。

メソッドに指定する頂点の数は、レンダリングするプリミティブの種類によって異なるため注意すること。たとえば、線リストをレンダリングする場合、1 本のラインを定義する少なくとも 2 つの頂点が必要で、頂点の総数は偶数でなければならない。三角形リストの場合も同様、少なくとも 3 つの頂点が必要で、頂点の総数は 3 の倍数でなければならない。その他の種類のプリミティブの頂点数については、「プリミティブの種類」および「D3DPRIMITIVETYPE」を参照すること。

頂点バッファ、およびレンダリングに頂点バッファを使用するメソッドにより、パフォーマンスと使いやすさが向上し、独自のデータ構造による頂点のレンダリングが改善される。詳細については、「頂点バッファ」を参照すること。

[Visual Basic]

Direct3D には、Visual Basic アプリケーションで 1 回の呼び出しでプリミティブをレンダリングできるいくつかのメソッドがある。Direct3DDevice7 クラスにあるすべてのレンダリング メソッドは、アプリケーションで使用する頂点の種類を記述する柔軟な頂点フォーマット フラグの組み合わせを受け取る。このフラグはシステムが適用するジオメトリ パイプラインの部分も決定する。これらの詳細については、「頂点フォーマット」を参照すること。

DrawPrimitive ファミリのレンダリング メソッドには、以下のようにグループ分けできるレンダリング メソッドがある。

基本的なレンダリング
Direct3DDevice7.DrawPrimitive および Direct3DDevice7.DrawIndexedPrimitive
頂点バッファ レンダリング
Direct3DDevice7.DrawPrimitiveVB および Direct3DDevice7.DrawIndexedPrimitiveVB

プリミティブをレンダリングするとき、対応するメソッドは、レンダリングするプリミティブの種類 (三角形ストリップ、三角形リストなど)、頂点フォーマット、レンダリング方法を定義するフラグ、および頂点に関する情報を示すパラメータを受け取る。これらのフラグとエフェクトについては、レンダリング メソッドの説明に記述されている。

メソッドに指定する頂点の数は、レンダリングするプリミティブの種類によって異なるため注意すること。たとえば、線リストをレンダリングする場合、1 本のラインを定義する少なくとも 2 つの頂点が必要で、頂点の総数は偶数でなければならない。三角形リストの場合も同様、少なくとも 3 つの頂点が必要で、頂点の総数は 3 の倍数でなければならない。その他の種類のプリミティブの頂点数については、「プリミティブの種類」および「CONST_D3DPRIMITIVETYPE」を参照すること。

頂点バッファ、およびレンダリングに頂点バッファを使用するメソッドにより、パフォーマンスと使いやすさが向上し、独自のデータ構造による頂点のレンダリングが改善される。詳細については、「頂点バッファ」を参照すること。

 :  DirectX for Visual Basic では、ストライド頂点のレンダリングはサポートしていない。