頂点バッファの作成*1 †
頂点インデックスバッファに関してもここで記述します。
頂点バッファを作成する手順は以下の様になります。
- 頂点のフォーマットを決定する。
- 前項で決めた頂点フォーマットに対しCreateVertexBufferを使い、必要な頂点数の分だけ頂点バッファの為にメモリを確保する。
- 確保したバッファにデータを送り込む。
また、頂点インデックスバッファの作成も似た様な手順になります。
- 2バイト整数を使用するか4バイト整数を試用するかを決める。*2
- CreateIndexBufferを使い、必要な分だけ頂点インデックスバッファの為にメモリを確保する。
- 確保したバッファにデータを送り込む。
GPUによっては最大65535までしか利用できない場合があります。その場合は4バイト整数を利用しようとしても意味がないばかりか、表示がおかしくなる場合があります。その場合には2バイト整数を使用する事になります。GPUがどれだけ確保できるかはGetDeviceCapsでMaxIndexBufferの値を調べると良いでしょう。
実際のコード †
1
2
3
4
5
6
7
8
9
10
11
| |
struct d3dvtx_s {
D3DXVECTOR3 pnt; D3DCOLOR clr; D3DXVECTOR2 tx1; };
const int FVFVTX1_X = (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1);
|
ページ情報 |
- カテゴリ : DirectX
- 作成日 : 2006-08-05 (土) 00:04:59
- 作成者 : rakuppe?
- 最終編集日 : 2006-08-05 (土) 00:04:59
- 最終編集者 : rakuppe?
|