DoboWiki
Top
> DrawIndexedPrimitiveについて をテンプレートにして作成
DrawIndexedPrimitiveについて をテンプレートにして作成
開始行:
*DrawIndexedPrimitiveについて [#ddb3e7e3]
プリミティブ(基本的な図形)を描画する為のコマンドにはDrawP...
DrawIndexedPrimitiveを呼び出す時は頂点データが入っている...
(下のコード例では頂点バッファに入る頂点データは1頂点あた...
ただDrawIndexedPrimitiveの引数はヘルプを見てもわかりにく...
**実際のコード [#sb36e1a1]
#code(c){{
/*== 宣言部 ==*/
/* 頂点バッファの型 */
struct d3dvtx_s {
D3DXVECTOR3 pnt; // 位置
D3DCOLOR clr; // 色
D3DXVECTOR2 tx1; // テクスチャ
};
/*== 実際のコード ==*/
/* ここでは頂点バッファ(VtxSet)に
VtxSet[0] = {0.0f, 0.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[1] = {1.0f, 0.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[2] = {2.0f, 0.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[3] = {0.0f, 1.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[4] = {1.0f, 1.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[5] = {2.0f, 1.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[6] = {0.0f, 2.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[7] = {1.0f, 2.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[8] = {2.0f, 2.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
頂点インデックスバッファ(VIdxSet)に
VIdxSet = {0, 3, 1, 1, 3, 7};
とセットされている物とします。
・頂点バッファの値はそれぞれ{X座標, Y座標, Z座標, 色, テ...
・頂点バッファや頂点インデックスバッファの作成、値のセッ...
*/
/* Direct3Dデバイス(のポインタ)をlpD3Ddevとします */
lpD3Ddev->SetIndecs(&VIdxSet); // 頂点インデックスバッフ...
lpD3Ddev->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TE...
lpD3Ddev->SetStreamSource(0, VtxSet, 0, sizeof(d3dvtx_s)...
/* 頂点インデックスバッファの3番目の項目(ただし最初の項...
3項目(つまり{1, 3, 7}を指定)を使い三角形を描画する */
lpD3Ddev->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, // (T...
0, // (BaseVertexIndex)頂点バッファのベースとな...
1, // (MinIndex)頂点バッファの1番目の項目(BaseVe...
7, // (NumVertices)MinIndexで示される頂点番号か...
3, // (StartIndex)頂点インデックスバッファの開始...
1); // (PrimitiveCount)幾つプリミティブを描画す...
/* 注.NumVerticesに設定する値は、プリミティブを書くのに...
つまり上の例ではプリミティブを構成する最小の頂点番号が1...
}}
//これより下は編集しないでください
#pageinfo([[:Category/DirectX]],2006-07-09 (日) 22:38:46,...
終了行:
*DrawIndexedPrimitiveについて [#ddb3e7e3]
プリミティブ(基本的な図形)を描画する為のコマンドにはDrawP...
DrawIndexedPrimitiveを呼び出す時は頂点データが入っている...
(下のコード例では頂点バッファに入る頂点データは1頂点あた...
ただDrawIndexedPrimitiveの引数はヘルプを見てもわかりにく...
**実際のコード [#sb36e1a1]
#code(c){{
/*== 宣言部 ==*/
/* 頂点バッファの型 */
struct d3dvtx_s {
D3DXVECTOR3 pnt; // 位置
D3DCOLOR clr; // 色
D3DXVECTOR2 tx1; // テクスチャ
};
/*== 実際のコード ==*/
/* ここでは頂点バッファ(VtxSet)に
VtxSet[0] = {0.0f, 0.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[1] = {1.0f, 0.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[2] = {2.0f, 0.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[3] = {0.0f, 1.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[4] = {1.0f, 1.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[5] = {2.0f, 1.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[6] = {0.0f, 2.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[7] = {1.0f, 2.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
VtxSet[8] = {2.0f, 2.0f, 0.0f, 0xFF00, 0.0f, 0.0f};
頂点インデックスバッファ(VIdxSet)に
VIdxSet = {0, 3, 1, 1, 3, 7};
とセットされている物とします。
・頂点バッファの値はそれぞれ{X座標, Y座標, Z座標, 色, テ...
・頂点バッファや頂点インデックスバッファの作成、値のセッ...
*/
/* Direct3Dデバイス(のポインタ)をlpD3Ddevとします */
lpD3Ddev->SetIndecs(&VIdxSet); // 頂点インデックスバッフ...
lpD3Ddev->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TE...
lpD3Ddev->SetStreamSource(0, VtxSet, 0, sizeof(d3dvtx_s)...
/* 頂点インデックスバッファの3番目の項目(ただし最初の項...
3項目(つまり{1, 3, 7}を指定)を使い三角形を描画する */
lpD3Ddev->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, // (T...
0, // (BaseVertexIndex)頂点バッファのベースとな...
1, // (MinIndex)頂点バッファの1番目の項目(BaseVe...
7, // (NumVertices)MinIndexで示される頂点番号か...
3, // (StartIndex)頂点インデックスバッファの開始...
1); // (PrimitiveCount)幾つプリミティブを描画す...
/* 注.NumVerticesに設定する値は、プリミティブを書くのに...
つまり上の例ではプリミティブを構成する最小の頂点番号が1...
}}
//これより下は編集しないでください
#pageinfo([[:Category/DirectX]],2006-07-09 (日) 22:38:46,...
ページ名:
▲
▼
[
トップ
] [
新規
|
子ページ作成
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]