Platform SDK: DirectX |
頂点バッファとは、IDirect3DVertexBuffer7 インターフェイスで表される、頂点データを含む単なるメモリ バッファである。頂点バッファは、トランスフォーム済みの頂点、未トランスフォームの頂点、ライティング済みの頂点、未ライティングの頂点など、IDirect3DDevice7 インターフェイスの頂点バッファ レンダリング メソッドでレンダリング可能なあらゆる種類の頂点を含むことができる。頂点バッファ内の頂点を処理して、トランスフォーム、ライティング、クリッピング フラグの生成などの処理を実行できる (トランスフォームは常に実行される)。
頂点バッファとは、Direct3DVertexBuffer7 クラスで表される、頂点データを含む単なるメモリ バッファである。頂点バッファは、トランスフォーム済みの頂点、未トランスフォームの頂点、ライティング済みの頂点、未ライティングの頂点など、Direct3DDevice7 クラスの頂点バッファ レンダリング メソッドでレンダリング可能なあらゆる種類の頂点を含むことができる。頂点バッファ内の頂点を処理して、トランスフォーム、ライティング、クリッピング フラグの生成などの処理を実行できる (トランスフォームは常に実行される)。
頂点バッファは柔軟なので、トランスフォームされたジオメトリを再使用するための理想的なステージ ポイントとなる。単一の頂点バッファを作成して、頂点をトランスフォーム、ライティングを適用、およびその頂点バッファに頂点を切り取り、たとえインタリーブされたレンダリング ステートが変化した場合でも、シーンのモデルを何度も再トランスフォームせずにレンダリングできる。これは、マルチ テクスチャを使用するモデルのレンダリングにおいて非常に有用である。ジオメトリを一度トランスフォームすれば、要求されたテクスチャの変更に合わせてインタリーブして、必要に応じてその一部をレンダリングできる。頂点を処理した後で変更したレンダリング ステートは、次に頂点を処理するときに有効になる。詳細については、「頂点の処理」を参照すること。
頂点バッファのジオメトリを最適化すれば、頂点操作とレンダリングについて最高のパフォーマンスを得ることができる。詳細については、「頂点バッファの最適化」を参照すること。
注 : 内部的には、頂点バッファは、DirectDrawSurface オブジェクトをメモリ管理サービスに使用する。その結果、頂点バッファ メモリにアクセスするセマンティクスは、DirectDrawSurface オブジェクトのセマンティクスに類似する。実際、IDirect3DVertexBuffer7::Lock メソッドは、IDirectDrawSurface7::Lock メソッドと同じフラグを受け取る。詳細については、「頂点バッファの内容へのアクセス」を参照すること。
注 : 内部的には、頂点バッファは、DirectDrawSurface オブジェクトをメモリ管理サービスに使用する。その結果、頂点バッファ メモリにアクセスするセマンティクスは、DirectDrawSurface オブジェクトのセマンティクスに類似する。実際、Direct3DVertexBuffer7.Lock メソッドは、DirectDrawSurface7.Lock メソッドと同じフラグを受け取る。詳細については、「頂点バッファの内容へのアクセス」を参照すること。