DrawIndexedPrimitiveについて †
プリミティブ(基本的な図形)を描画する為のコマンドにはDrawPrimitiveとDrawIndexedPrimitiveの二種類があります。(更にそれぞれのコマンドの派生としてDrawPrimitiveUpとDrawIndexedPrimitiveUpというのもありますが、ここでは省略します。)
DrawIndexedPrimitiveは頂点バッファの他に頂点インデックスバッファも指定する必要がありますが、同じ頂点を共有する複数のプリミティブを描画する場合にメモリ使用の効率が良くなります。
実際のコード †
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| |
struct d3dvtx_s {
D3DXVECTOR3 pnt; D3DCOLOR clr; D3DXVECTOR2 tx1; };
lpD3Ddev->SetIndecs(&VIdxSet); lpD3Ddev->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1); lpD3Ddev->SetStreamSource(0, VtxSet, 0, sizeof(d3dvtx_s));
lpD3Ddev->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 1, 7, 3, 1);
|
ページ情報 |
- カテゴリ : DirectX
- 作成日 : 2006-07-09 (日) 22:38:46
- 作成者 : rakuppe?
- 最終編集日 : 2006-07-09 (日) 23:51:50
- 最終編集者 : rakuppe?
|